Question

Je travaille actuellement sur un prototype d'une application qui devrait être en mesure d'interagir avec les interfaces utilisateur.

Maintenant, chaque interface utilisateur a des éléments communs, comme des boutons, des barres de défilement, les champs d'entrée etc.

Je voudrais utiliser l'apprentissage machine à « interpréter » ces interfaces utilisateur d'une manière, dans laquelle je entrée plus tard d'établir une interface utilisateur sous forme d'image, par exemple, et que le prototype puis « essayer » l'interface, ce qui signifie, en cliquant sur les boutons, en utilisant des barres de défilement du texte dans entrer des champs de saisie, etc.

Je sais que cela devrait être fait en utilisant la reconnaissance d'image, car il y a beaucoup de différents UIs.

Je suis particulièrement intéressé dans les sites Web, Adobe Reader avec un PDF ouvert (qui à son tour peut être une forme, etc.) et Word avec un document ouvert (encore une fois, cela peut contenir des formes, etc.).

Ma question principale est de savoir s'il y a déjà des recherches en cours dans ce domaine que je peux utiliser, ou même un outil existant pour certaines parties du processus.

Toute aide est appréciée:)

Était-ce utile?

La solution

Je voudrais essayer d'expérimenter avec les réseaux de neurones récurrents: http: // Karpathy. github.io/2015/05/21/rnn-effectiveness/. les réseaux de neurones récurrents peuvent séquences de sortie de longueur variable donnée des entrées de longueur variable. Dans votre cas, une sortie de puissance de réseau de neurones récurrents une séquence comme suit lorsque donné une interface utilisateur: cliquer sur un bouton, sélectionnez un champ, tapez un texte, appuyez sur Entrée. Pour une autre interface, la sortie de puissance réseau uniquement: cliquez sur un bouton, cliquez sur un autre bouton, et voilà. Ce serait utile pour vous parce que la séquence et la longueur des actions d'une interface à peut changer beaucoup.

Vous pouvez aussi expérimenter l'apprentissage de renforcement et de construire un algorithme qui a un objectif (atteindre une dernière page que quelques actions possibles). L'algorithme commencerait par faire des choses au hasard (comme en cliquant sur le même bouton un tas de fois), puis progressivement apprendre au fil du temps à prendre des mesures appropriées. Si vous choisissez cette voie, vous pouvez utiliser l'apprentissage en profondeur et Monte Carlo Arbre Recherche (SCTM) comme ce que Alpha Go fait.

Dans les deux cas, vous allez avoir besoin d'un cadre qui peut former un algorithme rapidement parce que vous êtes susceptible d'avoir à passer par un grand nombre d'itérations. Tensorflow ( https://www.tensorflow.org/ ) est une option (j'ai commencé à l'utiliser récemment , et je l'aime beaucoup en raison de sa facilité d'utilisation). Tensorflow est capable de construire les réseaux de neurones récurrents et les réseaux de neurones profonds.

Licencié sous: CC-BY-SA avec attribution
scroll top