Simple Science

Ciência de ponta explicada de forma simples

# Informática# Interação Homem-Computador

Aprendizado Automático para Melhores Interfaces de Usuário

Um sistema que aprende com as interações reais dos aplicativos pra melhorar a compreensão da interface do usuário.

― 7 min ler


Aprendendo UIs comAprendendo UIs comAutomaçãopra melhorar interfaces de usuário.Um sistema que aprende com aplicativos
Índice

Os apps móveis dependem muito de interfaces de usuário (UIs) pra oferecer uma experiência tranquila. Mas, fazer essas UIs fáceis de usar e acessíveis pra todo mundo pode ser complicado. Novas tecnologias, como aprendizado de máquina, podem ajudar a melhorar como entendemos e interagimos com essas interfaces. Esse artigo fala sobre uma nova abordagem pra aprender automaticamente sobre UIs através de interações com apps de verdade.

O Desafio de Entender UIs

As interfaces de usuário são compostas por vários elementos como botões, deslizadores e caixas de texto. Avaliar a eficácia delas geralmente requer entender suas funções. Tradicionalmente, isso é feito usando imagens estáticas de UIs que as pessoas rotulam manualmente. Esse processo pode ser consistente, mas é muitas vezes demorado e fácil de errar. Por exemplo, quando alguém confere se um botão pode ser tocado, pode apenas chutar baseado no que vê na imagem, que pode não contar toda a história.

Apresentando o Aprendiz de UI Infinito

Pra resolver esses problemas, a gente criou um sistema automatizado chamado Aprendiz de UI Infinito. Esse sistema é um crawler que baixa e explora apps reais das lojas de aplicativos. Em vez de só ver capturas de tela, ele interage com os elementos dessas UIs. Assim, coleta dados e melhora continuamente seu entendimento de como essas interfaces funcionam.

Como Funciona

O Aprendiz de UI Infinito instala apps e interage com eles. Enquanto faz isso, ele tira capturas de tela antes, durante e depois de cada interação. Esses dados ajudam a entender como cada elemento se comporta. O objetivo do sistema é aprender e prever características das UIs, como se os botões são tocáveis ou arrastáveis.

Coletando Dados

Usando o Aprendiz de UI Infinito, coletamos dados de mais de 6.000 apps e fizemos mais de meio milhão de ações. Isso inclui ações onde o crawler tocou em botões ou tentou arrastar elementos. Os dados coletados são não só mais extensos que muitos conjuntos de dados rotulados por humanos, mas também capturam informações em tempo real. Isso significa que ele pode aprender com novas tendências e mudanças nas interfaces de usuário à medida que acontecem.

Aprendendo com Interações Reais

Aprendizado de máquina precisa de dados pra melhorar modelos, e nossa abordagem usa dados gerados a partir de interações reais dos usuários. Assim, não estamos limitados por erros humanos ao rotular imagens estáticas. O sistema continua aprendendo com as ações que realiza e os dados que coleta ao longo do tempo, tornando-se mais inteligente e eficaz em identificar características-chave nas UIs.

Prevendo Tactabilidade

Um aspecto importante que focamos é determinar se um elemento da UI pode ser tocado. A tactabilidade é importante porque afeta diretamente como os usuários interagem com o app. Usando nosso crawler, desenvolvemos um método pra prever a tactabilidade com base nos resultados das ações de toque. Analisando as mudanças na UI antes e depois de um toque, criamos um modelo eficaz que pode ser treinado apenas a partir da nossa coleta de dados automatizada.

Construindo o Modelo de Tactabilidade

Desenvolvemos um modelo que prevê se um elemento é tocável. Ele atribui uma pontuação com base nas ações feitas pelo crawler. Se tocar em um elemento muda a UI de forma significativa, ele é rotulado como tocável. Nosso modelo alcançou uma alta pontuação de precisão, mostrando sua eficácia em comparação com métodos anteriores que dependiam de dados rotulados manualmente.

Entendendo Arrastabilidade

Outra característica importante que exploramos é a arrastabilidade. Isso se refere a elementos que podem ser agarrados e movidos na tela, como deslizadores ou listas que podem ser roladas. Identificar elementos arrastáveis é mais complexo porque muitas vezes eles não têm indicadores visuais claros. Nosso crawler também desenvolveu métodos pra inferir quais elementos são arrastáveis através de suas interações.

Criando o Modelo de Arrastabilidade

O modelo de arrastabilidade foi treinado usando interações onde os elementos foram arrastados. O crawler tirou capturas de tela antes e depois das ações de arrastar pra avaliar se algum elemento se moveu com o arrasto. Essa abordagem permitiu que ele identificasse corretamente elementos arrastáveis, alcançando um nível significativo de precisão.

Avaliando Similaridade de Tela

A similaridade de tela é outro aspecto crucial pra entender UIs. Isso é sobre saber se duas capturas de tela pertencem à mesma tela. Uma similaridade de tela precisa ajuda o crawler a ser eficiente e evitar ações repetitivas. Usando dados coletados durante checagens de tactabilidade e arrastabilidade, melhoramos nossa capacidade de avaliar se as capturas de tela são variações da mesma UI.

Melhorando o Modelo de Similaridade de Tela

Pegamos pares de capturas de tela coletadas durante nossas interações e usamos elas pra ajustar nosso modelo de similaridade de tela existente. Isso significou que quando o crawler encontrou telas semelhantes durante sua exploração, ele podia reconhecê-las de forma mais precisa, levando a uma melhor eficiência em futuras raspagens.

Benefícios da Automação

A vantagem da nossa abordagem está na automação. O Aprendiz de UI Infinito pode rodar por um longo período com pouca ou nenhuma supervisão humana. Isso permite que ele colete dados continuamente, melhore seus modelos e acompanhe os designs de UI em evolução.

Aprendizado Contínuo

À medida que o sistema roda, ele aprende com os dados mais recentes que coleta, ajudando a se adaptar a quaisquer mudanças nas interações dos usuários ou tendências de design ao longo do tempo. Essa habilidade de aprender continuamente faz dele uma ferramenta poderosa pra entender UIs móveis.

Avaliação de Desempenho

Nosso teste do Aprendiz de UI Infinito durou cerca de cinco semanas. Durante esse tempo, ele coletou dados de vários apps e melhorou seu entendimento sobre UIs. Os resultados mostram que os modelos do crawler melhoraram significativamente a cada ciclo de coleta de dados, especialmente na capacidade de prever tactabilidade e arrastabilidade.

Direções Futuras

Enquanto fizemos progressos significativos, ainda há muito a explorar. O Aprendiz de UI Infinito pode ser expandido pra incluir mais recursos e elementos de UI. Por exemplo, entender como certos elementos funcionam juntos pode levar a insights mais profundos sobre as interações dos usuários.

Ampliando o Escopo

Queremos aplicar essa abordagem a mais plataformas, como Android, assim como aplicações web. Ao entender como diferentes ecossistemas funcionam, podemos desenvolver modelos que sejam mais versáteis e aplicáveis em várias interfaces.

Aprendizado Personalizado

Outra direção promissora é permitir que o crawler aprenda com interações individuais dos usuários ao longo do tempo. Isso poderia envolver o desenvolvimento de modelos personalizados que se adaptem especificamente a como uma pessoa usa um app, melhorando sua experiência enquanto mantém a privacidade.

Conclusão

Entender interfaces de usuário é crucial pra desenvolver melhores apps móveis. Métodos tradicionais de coleta de dados podem ser lentos e propensos a erros. O Aprendiz de UI Infinito oferece uma abordagem inovadora pra aprender continuamente a partir de interações reais de usuários com apps. Aproveitando a automação e o aprendizado de máquina, podemos identificar atributos-chave nas UIs, como tactabilidade, arrastabilidade e similaridade de tela, facilitando a melhoria da acessibilidade e usabilidade dos apps.

À medida que a tecnologia avança, essa abordagem promete desempenhar um papel significativo em como entendemos e projetamos interfaces de usuário, abrindo caminho pra experiências móveis mais intuitivas e amigáveis.

Fonte original

Título: Never-ending Learning of User Interfaces

Resumo: 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.

Autores: Jason Wu, Rebecca Krosnick, Eldon Schoop, Amanda Swearngin, Jeffrey P. Bigham, Jeffrey Nichols

Última atualização: 2023-08-16 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2308.08726

Fonte PDF: https://arxiv.org/pdf/2308.08726

Licença: https://creativecommons.org/licenses/by/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes