大規(guī)模 GUI的機器學習
學費10000-25000元,平均每堂課200-300元,為每個學生提供經濟實惠的編程教育。互聯(lián)網上對學校學術實力的好評如潮,機構介紹清晰透明,師資團隊備受認可,多元化教學項目滿足不同學生需求,以學生成績和學習效果為導向,獲得學員家長高度評價。
想象一下,如果您可以對 ChatGPT 說:“嘗試一下我的應用程序 5 分鐘,然后讓我知道您對入門體驗的看法。” 或者,如果您可以提出諸如...我的 iOS 應用程序的 GUI 遵循常見做法嗎?可以訪問嗎?在同一屏幕上使用這些特定 UI 控件的應用程序示例有哪些?
如果我們擁有豐富的應用程序 GUI 數(shù)據庫和正確的 ML 模型,那么我們就可以回答這些問題并構建一個“理解”GUI 的視覺和交互設計的副駕駛工具,而不僅僅是代碼!
人們曾多次嘗試建立 GUI 數(shù)據庫。不過,他們中的大多數(shù)人都是通過分析應用程序的源代碼或字節(jié)碼靜態(tài)地完成此操作的。這有各種各樣的限制:需要代碼,只能分析視圖層次結構,并忽略運行時生成的復雜 UI(例如在畫布上繪圖)的任何內容。許多還需要人工貼標簽。
UIST'17 上有一篇論文在此類數(shù)據庫方面取得了巨大進展: Rico: Deka 等人的用于構建數(shù)據驅動設計應用程序的移動應用程序數(shù)據集。(ACM)。
他們的系統(tǒng)自動運行許多很多 Android 應用程序,并引發(fā)眾包工作者的互動。他們從 9,700 個應用程序中收集了 72,000 個界面。然后,他們使用這些數(shù)據來訓練編碼模型,以學習 UI 布局的嵌入。它可用于搜索 UI:
然后在 FSE'21 上,Frontmatter:大規(guī)模挖掘 Android 用戶界面,作者:Kuznetsov 等人。(ACM)使該研究領域向前邁出了一大步。他們貢獻了一個 GUI 數(shù)據的公共數(shù)據集,該數(shù)據集是從 160,000 個 Android 應用程序中進行靜態(tài)分析的,人工標記。
較近,Wu 等人提出了“永無止境的用戶界面學習” 。( ACM ) 發(fā)表于 UIST'23。他們設計了一個應用程序爬蟲,可以從 Apple 應用商店安裝真實的應用程序,并對其進行爬行以了解 UI。它使用不同的啟發(fā)式方法與 UI 元素交互,以在爬行時更新其機器學習模型。
例如,它截取屏幕截圖,使用現(xiàn)有模型來識別 UI 元素,然后點擊或拖動它認為可以與之交互的元素,并根據效果更新模型以了解該元素是可點擊的或可拖動。到目前為止,他們已經使用一組 iPhone 對 6,000 個應用程序執(zhí)行了超過 500,000 次操作。
通過這樣的研究,我們已經接近擁有可以像人類一樣測試應用程序的人工智能。仍然需要一個決策層來模擬與哪個 UI 元素進行交互。這樣它就可以測試特定的任務,而不是隨機地進行測試。
幾十年前,Chi 等人。使用信息搜尋理論來準確預測用戶將如何瀏覽網頁(請參閱他們的 CHI'01論文)。這種方法應用于這些應用程序收集的標準用戶數(shù)據(即查看的屏幕和單擊的帶有時間戳的按鈕),可用于訓練 GUI 的決策模型。
那么,誰來構建一個支持 GUI 實時推理和交互的副駕駛呢?