文 / 研究员 Yang Li,Google Research

移动设备为日常活动的完成提供了无限可能,它提供了多种功能来协助或简化我们的日常操作。

但是,对于很多用户来说,其中的大部分功能很难轻松发现或直接上手。这使得用户不得不靠搜索来了解如何执行特定任务。例如,‘如何在地图中打开交通模式’ 或 ‘怎么更改 YouTube 中的通知设置’。

在网络上搜索到这些问题的详细说明很容易,但是用户仍然需要按照这些说明逐步操作,并通过很小的手机触摸屏实现这些繁琐又耗时的操作。这会极大地降低无障碍功能体验。如果可以设计一个计算智能体程序来将这些语言说明转换为各种动作并帮用户自动执行,将会怎样

在 ACL 2020 上发布的Mapping Natural Language Instructions to Mobile UI Action Sequences中,我们提出了解决 自动动作序列映射 (Automatic Action Sequence Mapping) 问题的第一步,同时创建了三个新数据集,用于训练将自然语言说明定位到可执行移动界面操作的深度学习模型。

  • Mapping Natural Language Instructions to Mobile UI Action Sequences
    https://arxiv.org/abs/2005.03776

这项工作为移动端任务自动化奠定了技术基础,从而减轻了通过界面细节进行操作的需求。并且,它对于存在视觉或情境障碍的用户可能特别有用。我们还通过 GitHub 代码库将我们的模型代码和数据流水线开源,以促进这项工作在研究界中的进一步发展。

  • GitHub 代码库
    https://github.com/google-research/google-research/tree/master/seq2act

构建语言定位模型

人们经常相互提供说明建议、彼此协调、共同努力来完成涉及复杂动作序列的任务,例如,按照食谱来烘烤蛋糕,或者让朋友指导建立家庭网络。建立能够帮助进行类似交互的计算智能体是一个重要目标,它需要在动作发生的环境中提供真正的 语言定位 (Symbol Language Grounding)。

此处解决的学习任务包括:在给定一组说明的情况下预测移动平台的动作序列、系统从一个屏幕切换到另一个时生成的屏幕序列以及这些屏幕上的一组交互元素。端到端地训练这种模型需要成对的语言-动作数据,而这难以大规模获取。

我们将问题解构为两个连续的步骤:动作短语提取 (Action Phrase-extraction) 步骤和 定位 (Grounding) 步骤。

将语言说明定位到可执行动作的工作流

动作短语提取步骤使用支持区域注意力的 Transformer 模型来表示每个描述短语,从多步说明中识别操作、对象和参数描述。借助区域注意力 (Area attention),模型可以从整体上关注说明中的一组相邻单词(跨度,Span),对描述进行解码。

动作短语提取模型录入自然语言说明的单词序列,并输出一系列跨度(Span,用红色框表示),跨度描述了任务中每个动作的操作、对象和参数的短语

接下来,定位步骤将提取的操作和对象描述与屏幕上的 UI 对象进行匹配。我们仍然使用 Transformer 模型,但在这种情况下,它可以在上下文中表示 UI 对象,并将对象描述定位到这些对象。

假设执行过程中的每个步骤都有 UI 屏幕,定位模型将提取的跨度作为输入,将其定位到可执行动作(包括施加动作的目标对象)

研究结果

为了研究这项任务的可行性和我们方法的有效性,我们构建了三个新数据集来训练和评估模型。第一个数据集包含用于操作 Pixel 手机完成其相应动作屏幕序列的 187 条多步英语说明,并且能够根据用于测试端到端定位质量的自然发生说明评估整个任务的性能。对于动作短语提取训练和评估,我们获得了可从网络上找到的大量英语“操作方法 (How-to)”说明,并注解了描述每个动作的短语。为了训练定位模型,我们综合生成了 29.5 万个界面动作单步命令,涵盖了公共 Android UI 语料库中 2.5 万个移动 UI 屏幕上的 17.8 万个不同的 UI 对象。

  • 公共 Android UI 语料库
    https://dl.acm.org/doi/10.1145/3126594.3126651

支持区域注意力的 Transformer 在预测与定位实况完全匹配的跨度序列时可以获得 85.56% 的准确率。在将语言说明端到端映射到可执行操作这一更具挑战性的任务中,短语提取器和定位模型在匹配定位实况动作序列方面一起获得了 89.21% 的局部准确率和 70.59% 的完全准确率。

我们还评估了 UI 对象的替代方法和表示,例如使用图卷积网络 (GCN) 或前馈网络,并发现当屏幕中对象表示有上下文时能够提高定位准确率。

在解决将自然语言说明定位到移动设备界面动作这一颇具挑战性的难题方面,这些新数据集、模型和结果迈出了重要的第一步。

结论

总的来说,这项研究以及语言定位是在图形用户界面将多步骤说明转换为操作的重要一步。将任务自动化成功应用于 UI 领域能显著提升无障碍功能服务,其中语言界面可以帮助存在视觉障碍的用户使用基于视觉预测的界面来执行任务。在用户因手头任务影响而无法轻松访问设备的情境障碍下,这也十分重要。

通过将问题分解为动作短语进行提取语言定位,在这两个方面的进展都可以提升任务的整体性能,并降低对难以大规模收集的成对语言-动作数据集的需求。例如,动作跨度提取与语义角色标注和从文本中提取多个事实相关,并且可以从跨度识别和多任务学习的创新中受益。在之前的定位工作中应用的强化学习可能有助于改善 UI 中定位的样本外预测,并通过隐藏状态表示改善直接定位。尽管我们的数据集基于 Android 界面,但我们的方法通常可以应用于在其他界面平台上定位的说明。

最后,我们的工作为研究基于语言的人机交互中的用户体验提供了技术基础。

致谢

非常感谢我的合著者 Jiacong He、Xin Zhou、Yuan Zhang 和 Jason Baldridge 在 Google Research 的这项工作中做出的贡献。还要感谢为创建开源数据集提供慷慨帮助的 Gang Li,以及在注解方面提供大力帮助的 Ashwin Kakarla、Muqthar Mohammad 和 Mohd Majeed。

更多 AI 相关阅读:

  • 全新上线!TensorFlow 2.3 新功能概览

  • 选择性注意力在强化学习中的应用

  • 推出 AutoML-Zero:不断进化的学习型代码

  • 码上作答第二期(下)丨 TensorFlow 开发者认证的秘密,“考证第一人”为你揭晓!

实现基于自然语言的移动端任务自动化相关推荐

  1. 基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - 关联

    文章目录 关联 (公共变量传递一些值) 基于JAVA实现的WEB端UI自动化 -自动化测试简单介绍 基于JAVA实现的WEB端UI自动化 - WebDriver基础篇 - 实现简单的浏览器操作 基于J ...

  2. 软件机器人从幕后到台前 RPA+Chatbot带来“端到端的自动化”

    作者:胡一川,来也科技CTO 在2019年的世界人工智能大会上,某国内顶级投资机构合伙人曾提到:他们对50家全球财富500强企业CIO进行了调研,发现大家对AI的欢迎程度几乎达到100%.RPA(机器 ...

  3. 自动化测试框架cucumber_基于Cucumber和Testng的WebUI自动化测试方法与流程

    本发明涉及计算机技术领域,具体的说是基于Cucumber和Testng的WebUI自动化测试方法. 背景技术: 行为驱动测试方法已经在敏捷开发模式中普遍使用,通过使用标准化的语言将客户需求人员.开发人 ...

  4. CV方向介绍 | 基于自然语言的跨模态行人ReID的SOTA方法简述(下)

    点击我爱计算机视觉标星,更快获取CVML新技术 本文为52CV群友Jokie对ReID一个新的子方向最新总结,原载于知乎: https://zhuanlan.zhihu.com/p/89730837 ...

  5. CV方向介绍 | 基于自然语言的跨模态行人re-id的SOTA方法简述(上)

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自52CV群友Jokie的知乎 https://zhuanlan.zhihu.com/p/69559437 这是上篇,期待作者早日出下篇- 撒花 ...

  6. Telerik控件2022版,到端测试自动化工具

    Telerik控件2022版,到端测试自动化工具 Telerik Test Studio 是用于 Web 和桌面应用程序的端到端测试自动化工具,支持功能性 UI.RESTful API 和负载/性能测 ...

  7. 中国电信基于Mesos+Docker的运维自动化在CDN中的实践

    本文讲的是中国电信基于Mesos+Docker的运维自动化在CDN中的实践[编者的话]本次分享将讲解容器技术在CDN系统中的应用,包括应用的容器化,使用Mesos.Marathon.ZooKeeper ...

  8. python+pywinauto+lackey实现pc端exe自动化

    python+pywinauto+lackey实现PC端exe自动化 欢迎阅读 框架介绍 环境搭建 Tim自动化 完整代码 写在最后 欢迎阅读 最近一年多一直在从事PC端exe的测试,也是趁着闲余时间 ...

  9. 阿里开源MNNKit:基于MNN的移动端深度学习SDK,支持安卓和iOS

    2020-01-23 09:07:03 机器之心报道 参与:一鸣.Jamin 近来,有越来越多的深度学习框架开始面向移动端进行发展.近日,阿里也基于其 MNN 推理引擎开源了最新的 MNNKit 深度 ...

最新文章

  1. 什么是PyTorch?
  2. 应用maven的感想
  3. 输出两个文件中不同/相同的行
  4. (转)OOP(面向对象编程)的几大原则
  5. qtextedit 默认文案_QT-纯代码控件-QSplitter(分裂器)
  6. 行为型模式:迭代器模式
  7. Java之Normalizer(归一化)
  8. ML Pipeline原理
  9. 了解IHttpModule接口事件执行顺便 获取Session
  10. 猿编程python,python编程猿
  11. bzoj5064 B-number 数位dp
  12. 小型即时通讯软件-C#
  13. 2016红帽年度创新大奖榜单揭晓
  14. 将自家的位置标注到地图上(51ditu.com)
  15. 推动企业上云实施经验总结
  16. 计算1900年1月1日到当前年份的日期之间一共有多少天
  17. 大数据 勾勒中国人“的亲情地图”!
  18. spring-bean生命周期
  19. php漏洞可以过去root,phpdisk 漏洞发布 phpdisk header bypass getShell exp解析
  20. 2022-2028年中国智能硬件行业市场需求分析及投资方向研究报告

热门文章

  1. oracle查找/启动/关闭 archive log以及工作原理
  2. arcgis_nc批量转tif(建模)(亲测适用)
  3. Java中的聚合与组合
  4. 观点 | Keras之父谈人工智能:通用AI不会出现,超人类智能更不存在
  5. JQ和JS基础点击事件
  6. 机器学习(监督,无监督,强化学习及线性回归)
  7. [Phonegap+Sencha Touch] 移动开发12 Sencha Touch打包发布网站的离线缓存版本
  8. iOS读YYModel源码
  9. 你听过哥德巴赫猜想吗?不愧是世界近代三大数学难题之一啊(48)
  10. 【通讯原理】Ch.15 WiFi以外的其他无线网络