Apprendimento automatico per interfacce utente migliori
Un sistema che impara dalle vere interazioni delle app per migliorare la comprensione dell'interfaccia utente.
― 6 leggere min
Indice
Le app mobili si basano molto sulle interfacce utente (UI) per offrire un'esperienza utente fluida. Però, rendere queste UI facili da usare e accessibili a tutti può essere una sfida. Nuove tecnologie, come il machine learning, possono aiutare a migliorare come comprendiamo e interagiamo con queste interfacce. Questo articolo parla di un nuovo approccio per imparare automaticamente sulle UI attraverso interazioni con app reali.
La Sfida di Comprendere le UI
Le interfacce utente sono composte da vari elementi come pulsanti, cursori e caselle di testo. Valutare la loro efficacia richiede solitamente di capire le loro funzioni. Tradizionalmente, questo è stato fatto utilizzando immagini statiche delle UI etichettate a mano. Questo processo può essere coerente, ma è spesso lungo e soggetto a errori. Per esempio, quando qualcuno controlla se un pulsante può essere premuto, potrebbe solo indovinare in base a ciò che vede nell'immagine, che potrebbe non raccontare tutta la storia.
Presentando il Never-ending UI Learner
Per affrontare questi problemi, abbiamo progettato un sistema automatizzato chiamato Never-ending UI Learner. Questo sistema è un crawler che scarica ed esplora app reali dagli app store. Invece di limitarsi a visualizzare screenshot, interagisce con gli elementi in queste UI. Facendo così, raccoglie dati e migliora continuamente la sua comprensione di come funzionano queste interfacce.
Come Funziona
Il Never-ending UI Learner installa app e si impegna con esse. Durante questo processo, scatta screenshot prima, durante e dopo ogni interazione. Questi dati lo aiutano a capire come si comporta ogni elemento. L'obiettivo del sistema è imparare e prevedere le caratteristiche delle UI, come se i pulsanti siano premibili o trascinabili.
Raccolta Dati
Utilizzando il Never-ending UI Learner, abbiamo raccolto dati da oltre 6.000 app e svolto più di mezzo milione di azioni. Questo include azioni in cui il crawler ha premuto pulsanti o ha provato a trascinare elementi. I dati raccolti sono non solo più ampi di molti set di dati etichettati da umani, ma catturano anche informazioni in tempo reale. Questo significa che può imparare dalle nuove tendenze e cambiamenti nelle interfacce utente man mano che accadono.
Imparare dalle Interazioni Reali
Il machine learning ha bisogno di dati per migliorare i modelli, e il nostro approccio utilizza dati generati da interazioni reali degli utenti. In questo modo, non siamo limitati dall'errore umano nell'etichettare immagini statiche. Il sistema continua a imparare dalle azioni che compie e dai dati che raccoglie nel tempo, diventando più intelligente e più efficace nell'identificare caratteristiche chiave nelle UI.
Prevedere la Premiabilità
Un aspetto importante su cui ci siamo concentrati è determinare se un elemento della UI può essere premuto. La premiabilità è importante perché influisce direttamente su come gli utenti interagiscono con l'app. Utilizzando il nostro crawler, abbiamo sviluppato un metodo per prevedere la premiabilità in base ai risultati delle azioni di pressione. Analizzando i cambiamenti nella UI prima e dopo una pressione, abbiamo creato un modello efficace che può essere addestrato solo dai nostri dati automatizzati.
Costruire il Modello di Premiabilità
Abbiamo progettato un modello che prevede se un elemento è premibile. Assegna un punteggio basato sulle azioni intraprese dal crawler. Se premere un elemento cambia in modo significativo la UI, viene etichettato come premibile. Il nostro modello ha raggiunto un punteggio di alta accuratezza, dimostrando la sua efficacia rispetto ai metodi precedenti che si basavano su dati etichettati manualmente.
Comprendere la Trasportabilità
Un'altra caratteristica importante che abbiamo esplorato è la trasportabilità. Questo si riferisce agli elementi che possono essere afferrati e spostati sullo schermo, come cursori o elenchi che possono essere scorsi. Identificare elementi trascinabili è più complesso perché spesso mancano indicatori visivi chiari. Il nostro crawler ha anche sviluppato metodi per dedurre quali elementi sono trascinabili attraverso le sue interazioni.
Creare il Modello di Trasportabilità
Il modello di trasportabilità è stato addestrato utilizzando interazioni in cui gli elementi venivano trascinati. Il crawler ha scattato screenshot prima e dopo le azioni di trascinamento per valutare se qualche elemento si muoveva con il trascinamento. Questo approccio ha permesso di identificare correttamente gli elementi trascinabili, raggiungendo un livello di accuratezza significativo.
Valutare la Somiglianza degli Schermi
La somiglianza degli schermi è un altro aspetto cruciale per comprendere le UI. Si tratta di sapere se due screenshot appartengono allo stesso schermo. Una somiglianza accurata degli schermi aiuta il crawler a essere efficiente ed evitare azioni ripetitive. Utilizzando dati raccolti durante i controlli di premiabilità e trasportabilità, abbiamo migliorato la nostra capacità di valutare se gli screenshot sono variazioni della stessa UI.
Migliorare il Modello di Somiglianza degli Schermi
Abbiamo preso coppie di screenshot raccolti dalle nostre interazioni e li abbiamo utilizzati per ottimizzare il nostro modello di somiglianza degli schermi esistente. Ciò significava che quando il crawler incontrava schermi simili durante la sua esplorazione, poteva riconoscerli in modo più accurato, portando a una maggiore efficienza nelle future esplorazioni.
Automazione
Vantaggi dell'Il vantaggio del nostro approccio risiede nella sua automazione. Il Never-ending UI Learner può funzionare per un lungo periodo con poca o nessuna supervisione umana. Questo gli consente di raccogliere continuamente dati, migliorare i suoi modelli e stare al passo con le evoluzioni del design delle UI.
Apprendimento Continuo
Mentre il sistema funziona, impara dai dati più recenti che raccoglie, aiutandolo ad adattarsi a eventuali cambiamenti nelle interazioni degli utenti o nelle tendenze di design nel tempo. Questa capacità di apprendere continuamente lo rende uno strumento potente per comprendere le UI mobili.
Valutazione delle Prestazioni
Nei nostri test, il Never-ending UI Learner è stato eseguito per un periodo di circa cinque settimane. Durante questo tempo, ha raccolto dati da varie app e migliorato la sua comprensione delle UI. I risultati mostrano che i modelli del crawler sono migliorati significativamente con ogni ciclo di raccolta dei dati, specialmente nella loro capacità di prevedere la premiabilità e la trasportabilità.
Direzioni Future
Anche se abbiamo fatto progressi significativi, c'è ancora molto da esplorare. Il Never-ending UI Learner può essere ampliato per includere più caratteristiche e elementi delle UI. Ad esempio, comprendere come funzionano insieme certi elementi può portare a intuizioni più profonde sulle interazioni degli utenti.
Ampliare l'Impatto
Vogliamo applicare questo approccio a più piattaforme, come Android, così come alle applicazioni web. Comprendendo come funzionano diversi ecosistemi, possiamo sviluppare modelli che siano più versatili e applicabili attraverso varie interfacce.
Apprendimento Personalizzato
Un'altra direzione promettente è quella di permettere al crawler di imparare dalle interazioni singole degli utenti nel tempo. Questo potrebbe comportare lo sviluppo di modelli personalizzati che si adattano specificamente a come una persona utilizza un'app, migliorando la loro esperienza mentre si mantiene la privacy.
Conclusione
Comprendere le interfacce utente è fondamentale per sviluppare app mobili migliori. I metodi tradizionali di raccolta dati possono essere lenti e soggetti a errori. Il Never-ending UI Learner offre un approccio innovativo per imparare continuamente dalle interazioni reali degli utenti con le app. Sfruttando l'automazione e il machine learning, possiamo identificare attributi chiave nelle UI, come la premiabilità, la trasportabilità e la somiglianza degli schermi, rendendo più facile migliorare l'accessibilità e la usabilità delle app.
Con l'avanzare della tecnologia, questo approccio promette di giocare un ruolo significativo nel modo in cui comprendiamo e progettiamo le interfacce utente, aprendo la strada a esperienze mobili più intuitive e user-friendly.
Titolo: Never-ending Learning of User Interfaces
Estratto: Machine learning models have been trained to predict semantic information about user interfaces (UIs) to make apps more accessible, easier to test, and to automate. Currently, most models rely on datasets that are collected and labeled by human crowd-workers, a process that is costly and surprisingly error-prone for certain tasks. For example, it is possible to guess if a UI element is "tappable" from a screenshot (i.e., based on visual signifiers) or from potentially unreliable metadata (e.g., a view hierarchy), but one way to know for certain is to programmatically tap the UI element and observe the effects. We built the Never-ending UI Learner, an app crawler that automatically installs real apps from a mobile app store and crawls them to discover new and challenging training examples to learn from. The Never-ending UI Learner has crawled for more than 5,000 device-hours, performing over half a million actions on 6,000 apps to train three computer vision models for i) tappability prediction, ii) draggability prediction, and iii) screen similarity.
Autori: Jason Wu, Rebecca Krosnick, Eldon Schoop, Amanda Swearngin, Jeffrey P. Bigham, Jeffrey Nichols
Ultimo aggiornamento: 2023-08-16 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2308.08726
Fonte PDF: https://arxiv.org/pdf/2308.08726
Licenza: https://creativecommons.org/licenses/by/4.0/
Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.
Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.