用机器学习解释用户界面

数据挖掘 张量流 图像识别 学习
2022-03-02 07:40:34

我目前正在研究应该能够与用户界面交互的应用程序原型。

现在每个用户界面都有一些共同的元素,如按钮、滚动条、输入字段等。

我想使用机器学习以某种方式“解释”这样的用户界面,例如,我以后可以输入用户界面作为图像,然后让原型“试用”界面,意思是点击按钮,使用滚动条将一些文本输入到输入字段等。

我知道这必须使用图像识别来完成,因为有许多不同的 UI。

我对网站、带有打开的 PDF(又可以是表单等)的 Adob​​e Reader 和带有打开的文档的 Word(同样可以包含表单等)特别感兴趣。

现在我的主要问题是,在这个领域是否已经有一些我可以使用的研究,或者甚至是用于部分过程的现有工具。

任何帮助表示赞赏:)

1个回答

我会尝试使用循环神经网络进行实验:http: //karpathy.github.io/2015/05/21/rnn-effectiveness/给定可变长度的输入,递归神经网络可以输出可变长度的序列。在您的情况下,给定用户界面时,递归神经网络可能会输出如下序列:单击按钮,选择字段,输入一些文本,然后按 Enter。对于另一个接口,网络可能只输出:单击一个按钮,单击另一个按钮,仅此而已。这对您很有用,因为从界面到界面的动作顺序和长度可能会发生很大变化。

您还可以尝试强化学习并构建具有目标的算法(以尽可能少的操作到达最终页面)。该算法会从做一些随机的事情开始(比如多次点击同一个按钮),然后随着时间的推移逐渐学习采取适当的行动。如果你走这条路,你可以像 Alpha Go 那样使用深度学习和蒙特卡洛树搜索 (MCTS)。

无论哪种情况,您都需要一个可以快速训练算法的框架,因为您可能需要进行大量迭代。TensorFlow ( https://www.tensorflow.org/ ) 是一种选择(我最近开始使用它,我非常喜欢它,因为它易于使用)。TensorFlow 能够构建循环神经网络和深度神经网络。