Rico:用于构建数据驱动设计应用的移动应用数据集外文翻译资料

 2022-08-07 10:44:45

英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料


Rico:用于构建数据驱动设计应用的移动应用数据集

Rico:A Mobile App Dataset

for Building Data-Driven Design Applications

Biplab Deka,Zifeng Huang,Chad Franzen,Joshua Hibschman,Daniel Afergan,Yang Li,Jeffery Nichols and Ranjitha Kumar

摘要

数据驱动模型能够帮助移动应用设计人员了解最佳的实践和趋势,并可用于预测设计性能并支持自适应UI的创建。本文介绍了迄今为止最大的移动应用程序设计资源库Rico,它支持五类数据驱动的应用程序:设计搜索,UI 布局生成,UI 代码生成,用户交互建模和用户感知预测。为了创建 Rico,我们构建了一个将众包和自动化技术相结合的系统,以便在运行时可伸缩地挖掘来自 Android 应用程序的设计和交互数据。Rico 数据集包含来自 9700个Android 应用程序的设计数据,涵盖27个类别。它展示了超过7.2万个独特UI屏幕的视觉、文本、结构和交互式设计特性。为了演示 Rico 支持的应用程序类型,我们展示了一个针对 UI 布局相似性训练自动编码器的结果,该编码器支持对 UI 的按示例查询。

ACM分类关键字

D.2.2 软件工程:设计工具和技术。

作者关键字

移动应用设计;设计挖掘;设计搜索;应用程序数据集。

介绍

数据驱动设计模型可以支撑移动应用程序的创建。访问相关示例有助于设计师了解最佳实践和趋势[13, 14, 23]。在未来,数据驱动模型将使系统能够预测一个设计在被部署到数以百万计的人之前是否能实现其指定的目标,并扩展可自适应不同用户和环境的个性化设计的创建。为了构建这些模型,研究人员需要设计数据集来大规模展示移动应用程序设计的详细信息。

图 1:Rico是一个通过人工和自动探索相结合,从9.7万个免费Android应用程序中挖掘出来7.2万个UI的设计数据集。该数据集可以支持许多设计应用程序,包括那些需要训练最先进的机器学习模型的应用程序。

本文介绍了迄今为止最大的移动应用程序设计资源库Rico[1],其中包括 UI 的视觉、文本、结构和交互式特性。这些属性可以通过不同的方式组合起来以支持设计搜索、UI 布局生成、UI 代码生成、用户交互建模和用户感知预测这五类数据驱动应用程序。

Rico 是通过人力和程序在其运行时去挖掘 Android 应用程序构建的(图 1)。像其前身ERICA [11]一样,Rico的应用程序挖掘基础架构不需要访问或修改应用程序的源代码。应用程序是从 Google应用商店下载的,并通过网络界面提供给众多工作人员。当工作人员使用应用程序时,系统会记录用户交互踪迹,以捕获用户访问过的UI以及在这些UI上执行的交互。然后,自动化代理会重播跟踪以预热该应用程序的新副本,并以编程方式继续进行探索。通过将众包和自动化相结合,Rico可以实现比单独的任何一种爬虫策略更高的应用程序UI状态覆盖率。

Rico数据集包含来自9772个应用程序的72219个UI的设计和交互数据,涵盖了27个Google应用类别。对于每个应用程序,Rico都提供了一组单个用户交互跟踪的集合,以及通过一种新的内容不可知的相似启发法确定的独特UI的集合。此外,由于 Rico 数据集足够大,可以支持深度学习应用程序,因此每个 UI都使用一个低维向量进行注释,该向量是通过训练一个 UI 布局相似性自动编码器而产生的,该向量可用于聚类和从不同应用程序检索相似的UI。

android 应用数据集

现有的Android 应用程序数据集会公开各种信息:Google应用商店元数据(例如评论,评分)[2, 16]、软件工程和安全相关信息[38, 15]、设计数据[33, 4, 11]。Rico同时捕获设计数据和Google应用商店元数据。

图 2:Rico与其他流行应用程序数据集的比较。

移动应用程序设计由几个不同的组件组成,包括用户交互流(例如:搜索、登录)、UI 布局、可视化样式和动作细节。可以通过挖掘和组合不同类型的应用程序数据来计算这些组件。例如,结合 UI 的结构化表示,Android 视图层次结构[3],通过这些 UI 的可视化实现,屏幕截图可以帮助阐明应用程序布局及其视觉样式。类似地,将用户交互详细信息与视图层次结构和屏幕截图结合起来,可以帮助识别应用程序要支持的用户流。

图 2将Rico与其他展示应用程序设计信息的流行数据集进行了比较。通过静态挖掘应用程序包创建的设计数据集包含视图层次结构,但无法捕获在运行时创建的数据,例如屏幕截图或交互详细信息[33, 4]。另一方面,ERICA的数据集是通过动态挖掘应用程序创建的,并捕获视图层次结构,屏幕截图和用户交互[11]。

与ERICA数据集一样,Rico也是通过在运行时从应用程序中挖掘设计和交互数据来创建的。Rico比ERICA数据集大四倍,并提供了其设计信息的超集。Rico 还暴露了另一种观点关于每一个应用程序的设计数据:尽管ERICA 提供了一组应用程序的单个用户交互跟踪的集合,而Rico还提供了通过汇总用户交互跟踪并基于相似性度量合并UI而发现的独特的UI列表。此表示形式对于在不依赖于被看到顺序的UI上训练机器学习模型非常有用。最后,Rico使用低维向量表示法对每个UI进行注释,该向量表示法根据文本和图像的分布对布局进行编码,可用于对不同应用程序的相似UI进行聚类和检索。

数据驱动的设计应用

Rico旨在支持用于移动应用程序设计的各种数据驱动的应用程序。Rico公开的数据和表示是由五类设计应用程序驱动的,这五类设计应用程序已在多个领域进行了研究(图 3)。

图 3:Rico支持的五类设计应用程序与打算支持它们的数据集的各个部分相关联

设计检索

设计师使用示例来启发和理解可能的解决方案。现有的设计检索系统涵盖包括网页设计[32, 19]、移动应用流[11]、3D建模[17]、室内设计[7]、时尚[22]和编程[10]在内的各个领域。这些系统通常支持关键字搜索或按示例查询,并返回可视化结果库,设计师可以轻松查看这些结果。

为了使移动应用设计支持关键字搜索,Rico公开了来自Google应用商店中的应用程序级元数据和Android 视图层次结构中包含的元素级元数据。对于每个UI元素,视图层次结构公开元素中包含的文本,以及应用程序创建者指定的类名和资源ID属性。这些文本数据通常提供有关元素功能的语义线索(例如,搜索图标,登录按钮),这些功能可以为移动应用程序设计的分类管理部分提供弱监督。Yi等人利用类似形式的弱监督(场景图中包含的设计师注释)来标记3D模型[39]的语义部分。设计人员可以对这些功能性语义类执行关键字搜索,以在用户交互跟踪中找到相关的元素或屏幕。为了方便按示例查询,Rico为每个编码布局的UI公开了一个矢量表示。Rico为搜索引擎提供了几种可以作为结果使用的可视化表示形式:UI屏幕截图,流和动画。

UI 布局生成

设计数据集对于训练设计生成模型也很有用。先前的工作已经学习了在平面设计[30]和3D建模[35]等领域编排设计元素和定义其属性的生成模型。研究人员同样可以使用Rico数据集来训练UI布局的概率生成模型。Android视图层次结构公开了组成UI屏幕的所有元素,它们的属性(例如位置、尺寸)以及它们之间的结构关系。通过组合屏幕截图和视图层次结构,研究人员可以计算出可视化特征,例如嵌套元素之间的颜色对比度。此外,可以利用应用商店元数据来创建专门的训练集。例如,应用程序评级和下载指标可以用作设计质量的标准,以便可以优化模型以模拟“良好”的布局。同样,可以针对不同的应用类别训练不同的模型。

UI 代码生成

一旦设计了移动应用程序,在代码中实现其接口和交互可能是一个耗时的过程。因此,先前的工作已经研究了如何在流行的应用程序[33]中使用不同的代码组件来实现UI,并开发模型以从UI设计中自动生成代码[29]。设计系统可以利用Rico对UI进行反向工程。由于Rico的视图层次结构指定了包含UI屏幕的Android组件,因此系统可以利用层次结构和屏幕截图来生成Android源代码,从而重现原始UI中的视觉外观和交互性。

用户交互模型

移动应用程序设计的关键组成部分是各种UI和元素的交互性[11]。对用户如何与不同的UI交互进行建模可以支持更好的应用程序自动化测试以及通过预测用户的下一个操作来预取数据的应用程序优化。与ERICA数据集一样,Rico包含在使用应用程序时捕获的用户交互数据。应用程序的每个用户痕迹都包含每个带有其类型(例如“tap”或“scroll”)注释的用户交互事件以及报告该事件的UI元素。通过在相应的视图层次结构中找到相同的UI元素,模型可以学习基于元素属性和元数据的更丰富的特性集。与预测用户将单击屏幕右上角的元素不同,模型可以预测用户即将推出。

用户感知预测

用户感知模型可帮助设计人员获得有关其设计的早期反馈。先前的工作已经探索了用于预测用户对网页的第一印象[31, 18],手机应用程序屏幕[25, 24],和移动应用程序图标[27]的模型。其他研究则侧重于预测基于动画[36],菜单[21],以及不同屏幕之间的视觉多样性和一致性的长期感知[37, 26]。

为了使用Rico数据集构建移动设计的感知模型,系统可以计算UI屏幕截图和动画上的特性,并将其与应用商店指标关联起来。例如,研究人员可以检查应用程序的调色板与其平均评级之间的关系。将来,研究人员可以利用这些屏幕截图和动画来众包额外的感知注释。

探索应用程序设计

为了创建Rico,我们开发了一个平台,该平台结合了人力资源开发和程序开发,可在运行时从Android 应用程序中挖掘设计数据。人类依靠先验知识和上下文信息轻松地与各种应用程序进行交互。然而,应用程序可以具有数百种不同的UI模式,而人类探索则围绕着共同的使用案例,从而使许多应用的UI状态覆盖率较低[6, 11]。另一方面,自动化代理可用于详尽处理UI屏幕上的交互元素[9, 34]。然而,它们可能会受到需要复杂的交互序列或人工输入的UI的阻碍(图 4) [5]。

图 4:自动化爬虫经常受到需要复杂交互序列的UI的阻碍,例如此处显示的三个。

本文提出了一种用于设计挖掘移动应用程序的混合方法, 该方法结合了人力和程序开发的优势:利用人类来解锁隐藏在复杂UI后面的应用程序状态,并使用自动化代理彻底处理未覆盖屏幕上的交互元素以发现新的状态。自动化代理利用一种新颖的与内容无关的相似性启发法来有效地探索UI状态空间。总之,与单独使用这两种方法相比,这些方法都可以在应用程序的UI 状态上实现更高的覆盖率。

众包探索

这个众包挖掘系统使用了类似于ERICA的基于Web的体系结构[11]。工作人员通过Web应用程序连接到设计挖掘平台,该Web应用程序在工作人员与我们的移动设备场中的手机之间建立专用连接。系统会在手机上加载一个应用程序,并开始不断地将手机屏幕的图像流传输到工作人员的浏览器。当工作人员在其浏览器上与屏幕进行交互时,这些交互被发送回手机,由手机在应用程序上执行交互。

我们扩展了ERICA架构,以支持通过Internet进行大规模众包。我们添加了一个支持短期和长期参与模

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[246481],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。