掌桥专利:专业的专利平台
掌桥专利
首页

用于用户界面预测和生成的经机器学习的模型

文献发布时间:2024-04-18 19:58:21


用于用户界面预测和生成的经机器学习的模型

技术领域

本公开总体上涉及用户界面理解。更具体地,本公开涉及训练和利用经机器学习的模型进行用户界面预测和/或生成。

背景技术

为了提高智能设备的可访问性并且简化其使用,构建能够辅助用户完成其任务的直观、有效率的用户界面至关重要。然而,特定于界面的特性常规上使机器学习技术难以应用。例如,常规的机器学习技术难以有效地利用涉及图像、文本和/或结构元数据的多模态界面特征。针对另一示例,当高质量的标记数据不可用时,经机器学习的模型常规上很难实现强大的性能,这在用户界面中很常见。因此,强烈期望能够进行有效率和准确的用户界面预测和/或生成的经机器学习的模型。

发明内容

本公开的实施例的各方面和优点将在以下描述中部分地阐述,或者能够通过描述来学习,或者能够通过实施例的实践来学习。

本公开的一个示例方面涉及一种用于训练和利用经机器学习的模型进行用户界面预测的计算机实施的方法。方法包括:由包括一个或多个计算设备的计算系统,获得描述包括多个界面元素的单个用户界面的界面数据,其中,界面数据包括描绘单个用户界面的一个或多个界面图像。方法包括:由计算系统,至少部分地基于一个或多个界面图像或者一个或多个界面图像中描绘的文本内容中的一个或多个来确定多个中间嵌入。方法包括:由计算系统,使用经机器学习的界面预测模型来处理多个中间嵌入以获得一个或多个用户界面嵌入。方法包括:由计算系统,至少部分地基于一个或多个用户界面嵌入来执行预训练任务以获得预训练输出。

本公开的另一示例方面涉及一种计算系统,该计算系统包括一个或多个处理器和存储计算机可读指令的一个或多个有形非暂时性计算机可读介质,该一个或多个有形非暂时性计算机可读介质存储被配置为生成用户界面的经学习的表示的经机器学习的界面预测模型。经机器学习的界面预测模型已经通过执行操作来被训练。操作包括:获得描绘包括多个界面元素的单个用户界面的界面数据,其中,界面数据包括描绘单个用户界面的界面图像。操作包括:至少部分地基于一个或多个界面图像或者一个或多个界面图像中描绘的文本内容中的一个或多个来确定多个中间嵌入。操作包括:使用经机器学习的界面预测模型来处理多个中间嵌入以获得一个或多个用户界面嵌入。操作包括:至少部分地基于一个或多个用户界面嵌入来执行预训练任务以获得预训练输出。

本公开的另一示例方面涉及存储计算机可读指令的一个或多个有形非暂时性计算机可读介质,该计算机可读指令在由一个或多个处理器施行时使得一个或多个处理器执行操作。操作包括:获得描绘包括多个界面元素的单个用户界面的界面数据,其中,界面数据包括结构数据和描绘单个用户界面的界面图像,其中,结构数据指示多个界面元素中的一个或多个相应界面元素的一个或多个位置。操作包括:至少部分地基于结构数据、一个或多个界面图像、或者一个或多个界面图像中描绘的文本内容中的一个或多个来确定多个中间嵌入。操作包括:使用经机器学习的界面预测模型来处理多个中间嵌入以获得一个或多个用户界面嵌入。操作包括:至少部分地基于一个或多个用户界面嵌入来执行预训练任务以获得预训练输出。

本公开的其他方面涉及各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。

本公开的各种实施例的这些和其他特征、方面和优点参照以下描述和所附权利要求书将变得更好理解。被并入到本说明书中并且构成本说明书的一部分的附图图示了本公开的示例实施例,并且连同描述一起用于解释相关原理。

附图说明

参照所附附图在本说明书中阐述针对本领域的普通技术人员对实施例的详细讨论,其中:

图1A描绘了根据本公开的示例实施例的、执行经机器学习的界面预测模型的训练和利用的示例计算系统的框图。

图1B描绘了根据本公开的示例实施例的、执行经机器学习的界面预测模型的预训练的示例计算设备的框图。

图1C描绘了根据本公开的示例实施例的、使用经机器学习的界面预测模型来执行界面预测的示例计算设备的框图。

图2描绘了根据本公开的示例实施例的示例经机器学习的界面预测模型的框图。

图3描绘了根据本公开的示例实施例的示例经机器学习的界面预测模型的框图。

图4描绘了根据本公开的示例实施例的用户界面的示例图。

图5描绘了用于使用经机器学习的界面预测模型来执行预训练任务的数据流程图。

图6描绘了根据本公开的示例实施例的、执行经机器学习的界面预测模型的预训练的示例方法的流程图。

在多个附图上重复的附图标记旨在标识各种实施方式中的相同特征。

具体实施方式

概述

总体上,本公开涉及用户界面理解。更具体地,本公开涉及训练和利用经机器学习的模型进行用户界面预测和/或生成。作为示例,能够获得描述用户界面(例如,由应用和/或操作系统呈现的用户界面等)的界面数据。用户界面能够包括多个用户界面元素(例如图标、可交互按钮、图像、文本内容等)。界面数据能够包括结构数据(例如指示界面元素的位置的元数据等)和描绘用户界面的界面图像。能够基于结构数据、一个或多个界面图像、和/或一个或多个界面图像中描绘的文本内容(例如使用文本识别模型(OCR)等)来确定多个中间嵌入。能够利用经机器学习的界面预测模型来处理这些中间嵌入以获得一个或多个用户界面嵌入。基于一个或多个用户界面嵌入,能够执行预训练任务以获得预训练输出。通过这种方式,能够使用各种预训练任务来预训练经机器学习的界面预测模型以用于最终的下游任务训练和利用(例如界面预测、界面生成等)。

更具体地,能够获得描述用户界面的界面数据。用户界面能够是与计算设备的应用和/或操作系统相关联的用户界面。作为示例,用户界面可以是用于食品递送应用的主菜单界面。作为另一示例,用户界面可以是用于智能电话设备的锁屏界面。作为又一示例,用户界面可以是用于虚拟助理设备或视频游戏控制台的主屏幕界面。因此,应该广泛理解,用户界面可以是用于任何种类的设备和/或应用的任何类型的界面。

用户界面能够包括多个界面元素。界面元素能够包括图标、可交互元素(例如按钮等)、指示符等。作为示例,界面元素能够是或以其他方式包括当用户选择时(例如使用触摸屏设备上的触摸手势等)导航到第二用户界面的可交互元素。作为另一示例,界面元素能够是或以其他方式包括被配置为接受用户输入(例如经由虚拟屏幕键盘等)的输入域(inputfield)。作为又一示例,界面元素能够是或以其他形式包括描述显示用户界面的智能电话设备的功能的图标(例如连接性指示图标、电池寿命图标等)。因此,应该广泛理解,多个界面元素能够包括用户界面的任何离散功能单元或部分。

界面数据能够包括结构数据。结构数据能够指示多个界面元素中的一个或多个界面元素的一个或多个位置。作为示例,当呈现时,结构数据能够指示图标界面元素在用户界面内的大小和位置。作为另一示例,结构数据能够指示或以其他方式规定输入域界面元素的各种特性(例如字体、文本大小、域大小、域位置、反馈特性(例如在接收来自用户的输入时发起力反馈动作,在接收来自用户的输入时播放声音等)、其他应用之间的功能性(例如允许使用虚拟键盘应用等)等)。

在一些实施方式中,结构数据能够是或以其他方式包括视图层次数据。如本文使用的,术语“视图层次数据”能够指描述视图层次的数据和/或描述文档对象模型的数据。视图层次数据能够包括UI元素的树表示。树的每个节点能够描述界面元素的某些属性(例如边界框位置、功能等)。作为示例,结构数据的视图层次树能够包括与用户界面中所包括的文本界面元素的可见文本相关联的文本内容数据。作为另一示例,结构数据的视图层次树能够包括内容描述符和/或能够描述通常不被提供给用户的功能性(例如界面导航路径、共享功能性等)的资源id。作为另一示例,结构数据的视图层次树能够包括描述与对应界面元素的实施方式相关联的应用编程接口和/或软件工具的功能类的类名称数据。作为另一示例,边界数据能够表示在用户界面内的界面元素的边界框地点。应该注意的是,在一些实施方式中,在视图层次数据内各种类型的数据(例如文本内容数据等)能够是空的。

更具体地,在一些实施方式中,结构数据能够是或以其他方式包括视图层次树数据的视图层次叶节点。针对每个叶节点,节点的文本字段的内容能够被编码为特征向量(例如文本、内容描述符、资源ID、类名称等)。在一些实施方式中,作为预处理步骤,类名称数据的内容能够通过启发法被归一化为离散数量的类中的一个类。附加地或者可替选地,在一些实施方式中,作为预处理步骤,资源ID数据的内容能够通过下划线(underscore)和驼峰式命名(camel case)进行拆分。归一化的类名称数据能够被编码为独热嵌入,而其他字段的内容能够被处理以获得它们的句子级嵌入。

附加地,界面数据能够包括描绘用户界面的界面图像。例如,一个或多个界面图像能够是当用户界面被显示在显示设备上时捕获的图像(例如使用相机设备、屏幕捕获应用等进行捕获)。附加地,一个或多个界面图像能够描绘文本内容。作为示例,用户界面能够是具有包括文本的文本内容的智能电话设备的主屏幕界面。能够识别文本(例如使用光学字符识别模型等)以获得文本内容。

在一些实施方式中,界面数据能够仅描述单个用户界面(例如与诸如用户界面序列的多个用户界面相反)。通过仅从单个用户界面提供数据,本文描述的模型能够被迫学习静态性质的用户界面的表示(例如在没有用户界面之间的变化(例如视觉变化)的益处或上下文的情况下)。这能够产生更强大的模型,其能够简单地通过查看来自单个实例或图像的数据来理解用户界面的功能性,因此不需要经由不同的界面迭代来展示功能性的多个实例或图像。

至少部分地基于结构数据、一个或多个界面图像、和/或一个或多个界面图像中描绘的文本内容,能够确定多个中间嵌入。在一些实施方式中,中间嵌入能够是或以其他方式包括一个或多个图像嵌入、一个或多个文本嵌入、一个或多个位置嵌入、和/或一个或多个内容嵌入。作为示例,,从界面数据中提取的特征能够被线性投影以获得多个中间嵌入

更具体地,在一些实施方式中,能够通过结构数据来确定一个或多个位置嵌入。一个或多个位置嵌入能够对应于一个或多个相应界面元素的一个或多个位置。作为示例,每个界面元素的地点特征能够使用其边界框来编码(例如,如结构数据等所描述的),该边界框能够包括边界框的归一化左上点坐标、右下点坐标、宽度、高度和/或面积。例如,线性层可以被用于将地点特征投影到位置嵌入

在一些实施方式中,能够通过一个或多个界面图像来确定一个或多个图像嵌入。一个或多个图像嵌入能够分别与多个界面元素中的至少一个界面元素相关联。作为示例,一个或多个界面图像的一个或多个部分能够通过一个或多个界面图像(例如,基于由结构数据描述的边界框等)来确定。经机器学习的模型(例如,经机器学习的界面预测模型等)能够处理一个或多个界面图像的部分以获得相应的一个或多个图像嵌入(例如使用最后的空间平均池化层等)。

在一些实施方式中,多个中间嵌入能够包括一个或多个类型嵌入。一个或多个类型嵌入能够分别指示多个中间嵌入中的其他嵌入中的每个嵌入的嵌入类型。作为示例,为了区分界面数据的各个部分,能够利用六种类型的词元:IMG、OCR、VH、CLS、SEP和MASK。在一些实施方式中,MASK词元能够是用于提高经机器学习的界面预测模型的预训练准确性的类型的词元。例如,能够使用随后是线性投影的独热编码来获得类型嵌入

在一些实施方式中,多个中间嵌入能够通过使用经机器学习的界面预测模型的嵌入部分来处理结构数据、一个或多个界面图像、和/或一个或多个界面图像中描绘的文本内容以获得多个中间嵌入而确定。例如,界面数据(例如结构数据、一个或多个界面图像等)能够被输入到嵌入部分以获得中间嵌入,然后能够使用经机器学习的界面预测模型的单独部分(例如变换器(transformer)部分等)来处理该中间嵌入以获得一个或多个用户界面嵌入。

能够使用经机器学习的界面预测模型来处理多个中间嵌入以获得一个或多个用户界面嵌入。更具体地,中间嵌入类型中的每种类型能够被求和,并且能够由经机器学习的界面预测模型来处理。在一些实施方式中,经机器学习的界面预测模型的变换器部分能够处理中间嵌入以获得一个或多个用户界面嵌入。例如,经机器学习的界面预测模型(例如,经机器学习的界面预测模型的变换器部分等)能够处理被求和的中间嵌入以获得一个或多个用户界面嵌入

U=TransformerEncoder(T+P+C),(1)

其中,

至少部分地基于一个或多个用户界面嵌入,能够执行预训练任务。在一些实施方式中,损失函数能够被评估,该损失函数评估真实值数据和预训练输出之间的差异。作为示例,真实值数据能够描述基于经机器学习的界面预测模型的掩蔽输入的最优预测。在一些实施方式中,能够至少部分地基于损失函数来调整经机器学习的界面预测模型的一个或多个参数(例如,模型的嵌入部分和/或变换器函数的参数)。通过这种方式,预训练任务能够用于训练经机器学习的界面预测以为给定的输入界面数据提供更好或更有用的表示(例如用户界面嵌入)。

在一些实施方式中,预训练任务能够是或以其他方式包括界面预测任务。例如,在确定多个中间嵌入之前,多个界面元素中的一个或多个能够使用不同于用户界面的第二用户界面的一个或多个相应的第二界面元素来替换。更具体地,作为示例,给定原始界面A,能够通过使用来自界面B的组件替换界面A的20%的界面元素来生成“伪”版本的界面A’,该界面B能够是从一批训练数据中所包括的多个用户界面中随机选择的界面。在一些实施方式中,针对每个界面,能够随机地选择要替换的输入(例如,一个或多个界面图像、结构数据、来自一个或多个界面图像的文本内容等)。作为示例,来自界面A的一个或多个界面图像的两个部分能够由来自界面B的界面图像的两个部分替换以获得“伪”界面A’。应该注意的是,在该示例中,结构数据和文本内容在被输入到经机器学习的界面预测模型的变换器部分之前没有被替换以最小化原始界面A和“伪”界面A’之间的差异,从而增加了任务的难度。

为了遵循先前示例,可以使用经机器学习的界面预测模型来执行界面预测任务以获得预训练输出。预训练输出能够被配置为指示用户界面A和A’是否是真实的界面。例如,预训练输出能够通过最小化交叉熵(CE)目标来预测每个界面是否真实:

其中,y是UI x的二进制标签(如果x是真实的,则y=1),并且

在一些实施方式中,预训练输出能够被进一步配置为指示多个界面元素中的每个界面元素是否是未修改的界面元素。作为示例,预训练输出能够被配置为针对每个“假”界面来预测界面的界面元素是否是相应界面的“真实”元素。为了遵循先前示例,针对“伪”界面A’,一个或多个界面图像的两个部分能够使用来自界面B的一个或多个界面图像的一部分来替换,而结构数据与原始界面A保持相同。直观地,“伪”界面元素的内容不会与其余界面元素对准。因此,经机器学习的界面预测模型只需要从上下文中学习就可以做出正确的预测。例如,预训练任务的目标能够是伪UI中的所有UI分量的加权交叉熵损失的总和:

其中,y

在一些实施方式中,预训练任务能够是图像预测任务。作为示例,在确定多个中间嵌入之前,能够掩蔽一个或多个界面图像的一个或多个部分。能够通过使用经机器学习的界面预测模型或单独的预训练预测头来处理一个或多个用户界面嵌入来执行预训练任务以获得预训练输出,该预训练输出能够包括一个或多个界面图像的一个或多个部分的预测。单独的预训练预测头能够是小的预测组件,诸如线性模型、多层感知器或类似物。

更具体地,作为示例,一个或多个界面图像的一部分(例如图像的15%等)能够被掩蔽(例如用0替换相关联的中间嵌入并且用MASK替换其类型特征等)。预训练任务能够被配置为从用户界面的周围输入来推断一个或多个界面图像的掩蔽部分。常规上,界面图像预测的方法依赖于预测掩蔽图像部分的对象类(例如树、天空、汽车等)或对象特征,这能够通过预训练的对象检测器获得。然而,这种方法高度依赖于预训练的对象检测器的准确性,因此不适合于经机器学习的界面预测模型的训练。因此,本公开的系统和方法作为替代致力于以对比学习的方式来预测掩蔽图像部分。例如,给定一个或多个界面图像部分的嵌入以及从同一用户界面采样的一些负图像部分(例如不同部分等)的附加嵌入,能够预期经掩蔽的正例的输出嵌入在其余弦相似性分数方面最接近其嵌入。例如,令

其中,

在一些实施方式中,在确定多个中间嵌入之前,能够掩蔽一个或多个界面图像中描绘的文本内容的一个或多个部分。附加地,在一些实施方式中,执行预训练任务能够包括使用经机器学习的界面预测模型或单独的预训练预测头来处理一个或多个用户界面嵌入以获得预训练输出。作为更具体的示例,当掩蔽文本内容的一个或多个部分时,由于每个OCR分量是单词序列,所以掩蔽的文本内容的预测能够被拟定为生成问题。例如,1层GRU解码器能够获得与掩蔽文本内容部分相关联的用户界面嵌入作为输入以生成文本内容的未掩蔽部分的预测。由于预训练任务的目标是学习强大的界面嵌入,因此在一些实施方式中,能够利用简单的解码器模型或模型部分。

附加地或者可替选地,在一些实施方式中,由于可能很难生成整个序列,因此能够以一定的概率(例如15%的机会等)来掩蔽与文本内容的掩蔽部分相关联的词元。例如,当完整的文本内容包括词语“restaurants for families(适于家庭的餐厅)”时,只有包括词语“restaurants”的文本内容的一部分可以被掩蔽。作为示例,标示

其中,

在一些实施方式中,在确定多个中间嵌入之前,能够掩蔽结构数据的一个或多个部分。作为示例,可以掩蔽与界面元素相关联的结构数据中所包括的内容描述字段。作为另一示例,可以掩蔽与界面元素相关联的结构数据中所包括的类名称字段。

在一些实施方式中,被掩蔽的结构数据的一个或多个部分能够描述一个或多个相应界面元素的一个或多个类标签。执行预训练任务能够包括使用经机器学习的界面预测模型或单独的预训练预测头来处理一个或多个用户界面嵌入以获得预训练输出。预训练输出能够包括一个或多个相应类界面的一个或多个预测类标签。

可替选地或附加地,在一些实施方式中,结构数据的一个或多个掩蔽部分能够进一步包括多个界面元素中的一个或多个相应界面元素的一个或多个内容描述符。执行预训练任务能够包括使用经机器学习的界面预测模型或单独的预训练预测头来处理一个或多个用户界面嵌入以获得预训练输出。预训练输出能够包括一个或多个相应界面元素的一个或多个预测内容描述符。

作为更具体的示例,针对结构数据的部分(例如视图层次数据等),通常观察到对内容描述符和类标签的掩蔽能够特别有效。针对包括内容描述符的结构数据的每个掩蔽部分,能够使用简单解码器来生成预测的内容描述符。附加地,针对包括类标签的结构数据的每个掩蔽部分,预测的类标签能够使用具有softmax激活的全连接层来预测。例如:

其中,

L=L

其中,1

在一些实施方式中,能够至少部分地基于一个或多个用户界面嵌入使用经机器学习的界面预测模型来执行一个或多个预测任务以获得一个或多个相应的界面预测输出。在一些实施方式中,一个或多个预测任务能够包括搜索任务,并且一个或多个预测输出能够包括描述与多个界面元素中的查询界面元素类似的一个或多个检索到的界面元素的搜索检索输出。作为示例,给定用户界面和用户界面的作为查询的界面组件以及具有候选界面元素集合的单独的搜索用户界面,最接近查询界面元素的一个或多个检索到的元素能够基于界面元素的各种特性(例如位置、功能性、类标签、内容描述符、外观、维数等)来选择。

在一些实施方式中,一个或多个预测任务能够包括关系预测任务,并且对应的预测输出能够指示结构数据的一部分和多个界面元素中的界面元素之间的关系。作为示例,给定结构数据的一部分(例如,可呈现给用户的描述界面元素的功能性的描述性文本等)和一个或多个界面图像(例如,和/或与一个或多个界面图像相关联的嵌入等),能够获得预测输出,该预测输出指示结构数据的部分与多个界面元素中的界面元素之间的关系。作为示例,结构数据的该部分可以包括用于呈现给用户的描述性文本,该描述性文本包括词语“click this button to go back(点击此按钮以返回)”,并且界面元素能够是常规的“返回”箭头。预测元素能够使用经机器学习的界面预测模型来获得。例如,结构数据的该部分能够被处理为OCR分量(例如识别的文本内容等),并且多个候选界面元素能够被处理为经机器学习的界面预测模型能够作为输入的图像部分。结构数据的该部分的输出嵌入与候选界面元素的输出嵌入的点积能够被计算为它们的相似性分数,以获得指示结构数据的该部分与图像数据的该部分之间的关系的预测输出。

在一些实施方式中,一个或多个预测任务能够包括结构图像同步预测任务,并且预测输出能够包括结构数据和一个或多个界面图像的对应关系值。作为示例,经机器学习的界面预测模型能够处理一个或多个界面图像和结构数据以获得预测输出。预测输出能够指示结构数据是否与一个或多个界面图像相匹配(例如,结构数据是否描述一个或多个界面图像中所包括的界面元素的位置等)。更具体地,与CLS词元相关联的用户界面嵌入之后能够是一层投影以预测指示用户界面的图像和结构数据是否同步的对应关系值。通过这种方式,在一些实施方式中,该预测任务能够充当预处理步骤以过滤掉不期望的用户界面。

在一些实施方式中,一个或多个预测任务能够包括应用分类任务,并且对应的预测输出能够指示与用户界面相关联的应用的应用类别。作为示例,应用分类任务能够预测用户界面的应用的类别(例如音乐、金融等)。例如,能够有多个候选应用类别可供选择。一层投影层能够被用于将一个或多个用户界面嵌入投影到多个应用类别中的一个应用类别(例如CLS分量的输出和一个或多个用户界面嵌入的连结等)。应该注意的是,由于经机器学习的界面预测模型的变换器部分的注意力机制和如先前描述的那样执行的广泛的预训练,与常规方法相比,应用分类任务的预测能力通常被发现是非常准确的。

在一些实施方式中,一个或多个预测任务能够包括界面元素分类任务,并且对应的界面预测输出能够包括指示多个界面元素中的界面元素(例如导航元素、可交互元素、描述性元素、元素类型等)的界面元素类别的分类输出。作为示例,界面元素分类任务能够标识图标界面元素的类别(例如菜单、向后、搜索等),其能够被用于诸如屏幕阅读器的应用。为了对界面元素的类别进行分类,与界面元素的对应界面图像部分和结构数据部分相关联的用户界面嵌入能够使用全连接层连结和处理。

本公开的系统和方法提供了若干技术效果和益处。作为一个示例技术效果和益处,快速且有效率地导航用户界面的能力对于许多现代计算设备的操作是必要的。然而,有某些残疾(例如视觉障碍、瘫痪等)的用户子集无法常规地导航用户界面,而是依赖于无障碍(accessibility)方案(例如屏幕阅读器等)。常规上,这些无障碍方案缺乏理解用户界面的功能性或以其他方式推断用户界面的功能性的能力。因此,通过训练用于用户界面预测、生成和一般理解的经机器学习的模型,本公开的系统和方法为残疾用户提供了无障碍方案的效率和准确性的显著提高。

现在参照附图,本公开的示例实施例将被进一步详细讨论。

示例设备和系统

图1A描绘了根据本公开的示例实施例的执行经机器学习的界面预测模型的训练和利用的示例计算系统100的框图。系统100包括通过网络180通信耦合的用户计算设备102、服务器计算系统130和训练计算系统150。

用户计算设备102能够是任何类型的计算设备,诸如例如个人计算设备(例如膝上型计算机或台式计算机)、移动计算设备(例如智能电话或平板计算机)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或者任何其他类型的计算设备。

用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112能够是任何合适的处理设备(例如处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且能够是一个处理器或者被操作地连接的多个处理器。存储器114能够包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器114能够存储数据116和指令118,该数据116和指令118由处理器112施行以使用户计算设备102执行操作。

在一些实施方式中,用户计算设备102能够存储或包括一个或多个经机器学习的界面预测模型120。例如,经机器学习的界面预测模型120能够是或者能够以其他方式包括各种经机器学习的模型,诸如神经网络(例如深度神经网络)或者其他类型的经机器学习的模型,包括非线性模型和/或线性模型。神经网络能够包括前馈神经网络、循环神经网络(例如长短期记忆循环神经网络)、卷积神经网络或者其他形式的神经网络。一些示例经机器学习的模型能够利用注意力机制,诸如自注意力。例如,一些示例经机器学习的模型能够包括多头自注意力模型(例如变换器模型)。参照图2-3和5讨论示例经机器学习的界面预测模型120。

在一些实施方式中,一个或多个经机器学习的界面预测模型120能够通过网络180从服务器计算系统130被接收,存储在用户计算设备存储器114中,然后由一个或多个处理器112使用或以其他方式实施。在一些实施方式中,用户计算设备102能够实施单个经机器学习的界面预测模型120的多个并行实例(例如,以跨经机器学习的界面预测模型的多个实例执行并行界面预测)。

更具体地,能够在用户计算设备102处获得描述用户界面的界面数据(例如,由用户计算设备102的应用和/或操作系统呈现的用户界面等)。用户界面能够包括多个用户界面元素(例如图标、可交互按钮、图像、文本内容等)。界面数据能够包括结构数据(例如指示界面元素的位置的元数据等)和描绘用户界面的界面图像。能够基于结构数据、一个或多个界面图像、和/或一个或多个界面图像中描绘的文本内容(例如使用文本识别模型(OCR)等)来确定多个中间嵌入。能够使用经机器学习的界面预测模型来处理这些中间嵌入以获得一个或多个用户界面嵌入。基于一个或多个用户界面嵌入,预训练任务能够被执行以获得预训练输出。

附加地或可替选地,一个或多个经机器学习的界面预测模型140能够被包括或者以其他方式存储在服务器计算系统130中并且由服务器计算系统130实施,该服务器计算系统130根据客户端服务器关系与用户计算设备102通信。例如,经机器学习的界面预测模型140能够由服务器计算系统130实施为web服务(例如界面预测服务)的一部分。因此,一个或多个模型120能够被存储和实施在用户计算设备102处和/或一个或多个模型140能够被存储和实施在服务器计算系统130处。

用户计算设备102还能够包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122能够是对用户输入对象(例如手指或手写笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件能够用于实施虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或者用户能够提供用户输入的其他装置。

服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132能够是任何合适的处理设备(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且能够是一个处理器或者被操作连接的多个处理器。存储器134能够包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器134能够存储数据136和指令138,该数据136和指令138由处理器132施行以使服务器计算系统130执行操作。

在一些实施方式中,服务器计算系统130包括一个或多个服务器计算设备或者以其他方式由其实施。在服务器计算系统130包括多个服务器计算设备的实例中,这种服务器计算设备能够根据顺序计算架构、并行计算架构或其某种组合来操作。

如上所述,服务器计算系统130能够存储或以其他方式包括一个或多个经机器学习的界面预测模型140。例如,模型140能够是或能够以其他方式包括各种经机器学习的模型。示例经机器学习的模型包括神经网络或者其他多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、循环神经网络和卷积神经网络。一些示例经机器学习的模型能够利用注意力机制,诸如自注意力。例如,一些示例经机器学习的模型能够包括多头自注意力模型(例如变换器模型)。示例模型140参照图2-3和5讨论。

用户计算设备102和/或服务器计算系统130能够经由与训练计算系统150的交互来训练模型120和/或140,该训练计算系统150通过网络180通信耦合。训练计算系统150能够与服务器计算系统130分离,或者能够是服务器计算系统130的一部分。

训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152能够是任何合适的处理设备(例如处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等),并且能够是一个处理器或者被操作连接的多个处理器。存储器154能够包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器154能够存储数据156和指令158,该数据156和指令158由处理器152施行以使训练计算系统150执行操作。在一些实施方式中,训练计算系统150包括一个或多个服务器计算设备或者以其他方式由其实施。

训练计算系统150能够包括模型训练器160,该模型训练器160使用各种训练或学习技术(诸如例如误差反向传播)来训练存储在用户计算设备102和/或服务器计算系统130处的经机器学习的模型120和/或140。例如,损失函数能够通过模型反向传播以更新模型的一个或多个参数(例如基于损失函数的梯度)。能够使用各种损失函数,诸如均方误差、似然损失、交叉熵损失、铰链损失、和/或各种其他损失函数。梯度下降技术能够用于通过若干训练迭代来迭代地更新参数。

在一些实施方式中,执行误差反向传播能够包括随时间执行截断反向传播。模型训练器160能够执行若干泛化技术(例如权重衰减、暂退法(dropout)等)以改进被训练的模型的泛化能力。

具体地,模型训练器160能够基于训练数据162的集合来训练经机器学习的界面预测模型120和/或140。训练数据162能够包括例如多个标记的和/或未标记的用户界面(例如界面数据等)。

在一些实施方式中,如果用户已经提供了同意,则训练示例能够由用户计算设备102提供。因此,在这种实施方式中,提供给用户计算设备102的模型120能够由训练计算系统150在从用户计算设备102接收的用户特定数据上训练。在一些实例中,该过程能够被称为对模型进行个性化。

模型训练器160包括用于提供期望功能性的计算机逻辑。模型训练器160能够实施在控制通用处理器的硬件、固件和/或软件中。例如,在一些实施方式中,模型训练器160包括存储在存储设备上、加载到存储器中并且由一个或多个处理器施行的程序文件。在其他实施方式中,模型训练器160包括被存储在有形计算机可读存储介质(诸如RAM、硬盘或者光学或磁性介质)中的计算机可执行指令的一个或多个集合。

网络180能够是任何类型的通信网络,诸如局域网(例如内联网)、广域网(例如互联网)或其某种组合,并且能够包括任何数量的有线或无线链路。通常,通过网络180的通信能够经由任何类型的有线和/或无线连接,使用各种通信协议(例如TCP/IP、HTTP、SMTP、FTP)、编码或者格式(例如HTML、XML)、和/或保护方案(例如VPN、安全HTTP、SSL)来承载。

图1A图示了能够用于实施本公开的一个示例计算系统。其他计算系统也能够被使用。例如,在一些实施方式中,用户计算设备102能够包括模型训练器160和训练数据162的集合。在这种实施方式中,模型120能够在用户计算设备102处被本地训练和使用。在这种实施方式中的一些实施方式中,用户计算设备102能够实施模型训练器160以基于用户特定数据对模型120进行个性化。

图1B描绘了根据本公开的示例实施例的执行经机器学习的界面预测模型的预训练的示例计算设备10的框图。计算设备10能够是用户计算设备或服务器计算设备。

计算设备10包括若干应用(例如应用1至N)。每个应用都包含自己的机器学习库和经机器学习的模型。例如,每个应用都能够包括经机器学习的模型。示例应用包括文本消息收发应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。

如图1B所图示的,每个应用能够与计算设备的若干其他组件通信,诸如例如一个或多个传感器、上下文管理器、设备状态组件、和/或附加组件。在一些实施方式中,每个应用能够使用API(例如公共API)与每个设备组件通信。在一些实施方式中,由每个应用使用的API都特定于该应用。

图1C描绘了根据本公开的示例实施例的使用经机器学习的界面预测模型执行界面预测的示例计算设备50的框图。计算设备50能够是用户计算设备或服务器计算设备。

计算设备50包括若干应用(例如应用1至N)。每个应用都与中央智能层通信。示例应用包括文本消息收发应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实施方式中,每个应用都能够使用API(例如跨所有应用的公共API)与中央智能层(以及存储在其中的模型)通信。

中央智能层包括若干经机器学习的模型。例如,如图1C所图示的,能够针对每个应用提供相应的经机器学习的模型并且由中央智能层管理相应的经机器学习的模型。在其他实施方式中,两个或多个应用能够共享单个经机器学习的模型。例如,在一些实施方式中,中央智能层能够为所有应用提供单个模型。在一些实施方式中,中央智能层被包括在计算设备50的操作系统内或以其他方式由计算设备50的操作系统实施。

中央智能层能够与中央设备数据层通信。中央设备数据层能够是计算设备50的数据的集中储存库。如图1C所图示的,中央设备数据层能够与计算设备的若干其他组件通信,诸如例如一个或多个传感器、上下文管理器、设备状态组件、和/或附加组件。在一些实施方式中,中央设备数据层能够使用API(例如私有API)与每个设备组件通信。

示例模型布置

图2描绘了根据本公开的示例实施例的示例经机器学习的界面预测模型200的框图。在一些实施方式中,经机器学习的界面预测模型200被训练为接收描述用户界面的输入数据204的集合,并且作为接收输入数据204的结果,提供包括一个或多个界面预测输出的输出数据206。

更具体地,输入数据204能够包括描述用户界面(例如,由应用和/或操作系统呈现的用户界面等)的界面数据。输入数据204能够包括多个用户界面元素(例如图标、可交互按钮、图像、文本内容等)。界面数据能够包括结构数据(例如,指示界面元素的位置的元数据等)和描绘用户界面的界面图像。经机器学习的界面预测模型能够处理输入数据204以获得输出数据206。输出数据206能够包括一个或多个预测输出(例如搜索结果、分类输出等)。

图3描绘了根据本公开的示例实施例的示例经机器学习的界面预测模型300的框图。经机器学习的界面预测模型300类似于图2的经机器学习的界面预测模型200,除了经机器学习的界面预测模型300进一步包括嵌入部分302和变换器部分305。

更具体地,输入数据204能够首先由经机器学习的界面预测模型300的嵌入部分302处理。作为示例,嵌入部分302能够处理输入数据204的界面数据(例如结构数据、一个或多个界面图像等)以获得多个中间嵌入304。多个中间嵌入304能够使用经机器学习的界面预测模型300的变换器部分305来处理以获得输出数据206。例如,多个中间嵌入304能够被求和。能够使用经机器学习的界面预测模型300的变换器部分305来处理经求和的多个中间嵌入304以获得输出数据206,该输出数据206能够包括一个或多个用户界面嵌入

U=TransformerEncoder(T+P+C),(1)

其中,

图4描绘了根据本公开的示例实施例的用户界面的示例图400。更具体地,如所描绘的,用户界面402能够是在显示设备上呈现的应用的用户界面。用户界面能够包括多个界面元素404。界面元素能够包括图标、可交互元素(例如按钮等)、指示符等。例如,多个界面元素404能够包括“返回”导航元素404A。作为另一示例,多个界面元素404能够包括描述性元素404B。作为又一示例,多个界面元素404能够包括输入域元素404C。

用户界面402能够包括结构数据406。结构数据406能够指示界面元素404的位置。作为示例,结构数据406能够指示导航元素404A在所呈现的用户界面402内的大小和位置。作为另一示例,结构数据406能够指示或以其他方式规定输入域界面元素404C的各种特性(例如字体、文本大小、域大小、域位置、反馈特性(例如在接收来自用户的输入时发起力反馈动作,在接收来自用户的输入时播放声音等)、其他应用之间的功能性(例如允许使用虚拟键盘应用等)等)。

在一些实施方式中,结构数据406能够是或以其他方式包括视图层次数据406A。视图层次数据406A能够包括多个界面元素404的树表示。视图层次数据406A的树的每个节点能够描述界面元素404的某些属性(例如边界框位置、功能等)。作为示例,结构数据406的视图层次数据406A能够包括与用户界面402中所包括的输入域元素404C中所包括的可见文本相关联的文本内容数据。作为另一示例,结构数据406的视图层次树406A能够包括能够描述通常不被提供给用户的功能性(例如界面导航路径、共享功能性等)的内容描述符和/或资源id。作为另一示例,结构数据406的视图层次树406A能够包括描述与对应界面元素的实施方式相关联的应用编程接口和/或软件工具的功能类的类名称数据。

用户界面402能够包括描绘用户界面的至少一部分的界面图像408。例如,一个或多个界面图像408能够是当用户界面402被显示在显示设备上时捕获的图像(例如使用相机设备、屏幕捕获应用等进行捕获)。如所描绘的,一个或多个界面图像408能够包括一个或多个界面图像408的多个部分。例如,一个或多个界面图像408能够被分割为与用户界面402的特定界面元素(例如元素402C等)相对应的部分。附加地,一个或多个界面图像408能够附加地描绘文本内容410。能够使用文本识别技术(例如光学字符识别等)从一个或多个界面图像识别文本内容410。

图5描述了使用经机器学习的界面预测模型执行预训练任务的数据流程图。更具体地,能够使用经机器学习的界面预测模型的嵌入部分504来处理用户界面502(例如界面元素、结构数据、界面图像等)以获得中间嵌入506。中间嵌入506能够是或以其他方式包括位置嵌入506A、类型嵌入506B和图像/文本嵌入506C。作为示例,使用经机器学习的界面预测模型的嵌入部分504,能够对从用户界面502中提取的特征进行线性投影以获得多个中间嵌入

更具体地,在一些实施方式中,能够使用经机器学习的界面预测模型的嵌入部分504根据用户界面502的结构数据来确定位置嵌入506A。位置嵌入506A能够对应于用户界面502的一个或多个相应界面元素的一个或多个位置。

能够根据一个或多个界面图像来确定图像/文本嵌入506C。图像/文本嵌入506C嵌入能够分别与多个界面元素中的至少一个界面元素相关联。作为示例,能够根据用户界面502的一个或多个界面图像(例如基于由结构数据描述的边界框等)来确定一个或多个界面图像的一个或多个部分。经机器学习的界面预测模型的嵌入部分504能够处理用户界面502的一个或多个界面图像的部分来获得相应的图像/文本嵌入506C(例如,使用最后的空间平均池化层等)。

多个中间嵌入506能够包括类型嵌入502B。嵌入502B能够分别指示多个中间嵌入506中的其他嵌入中的每个嵌入的嵌入类型。作为示例,为了区分用户界面502的界面数据的各个部分,能够利用六种类型的词元502B:IMG、OCR、VH、CLS、SEP和MASK。在一些实施方式中,MASK词元能够是用于提高经机器学习的界面预测模型的预训练准确性的类型的词元。例如,能够使用随后是线性投影的独热编码来获得类型嵌入502B,

多个中间嵌入506能够被求和,并且能够使用经机器学习的界面预测模型的变换器部分508处理以获得一个或多个用户界面嵌入510。例如,经机器学习的界面预测模型的变换器部分508能够处理经求和的中间嵌入506以获得一个或多个用户界面嵌入510

U=TransformerEncoder(T+P+C),(1)

其中,

至少部分地基于一个或多个用户界面嵌入510,能够使用经机器学习的界面预测模型(例如变换器部分508等)执行一个或多个预训练任务512。作为示例,预训练任务512能够是或以其他方式包括界面预测任务。例如,在确定多个中间嵌入506之前,用户界面502的多个界面元素中的一个或多个能够使用不同于用户界面的第二用户界面的一个或多个相应的第二界面元素来替换。作为另一示例,预训练任务512能够是或以其他方式包括界面元素预测任务。作为另一示例,预训练任务512能够是或以其他方式包括图像预测任务。作为另一示例,预训练任务512能够是或以其他方式包括搜索检索任务。作为另一示例,预训练任务512能够是或以其他方式包括应用类别分类任务。作为另一示例,预训练任务512能够是或以其他方式包括用于确定结构数据与一个或多个界面图像之间的对应关系的对应关系预测任务。作为另一示例,预训练任务512能够是或以其他方式包括用于确定结构数据的一部分与多个界面元素中的界面元素之间的关系的关系预测任务。作为又一示例,预训练任务512能够是或以其他方式包括界面元素类别分类任务。

示例方法

图6描绘了根据本公开的示例实施例的执行经机器学习的界面预测模型的预训练的示例方法的流程图。尽管出于图示和讨论的目的,图6描绘了以特定顺序执行的步骤,但本公开的方法不被限于具体图示的顺序或布置。在不偏离本公开的范围的情况下,方法600的各个步骤能够以各种方式省略、重新布置、组合和/或适应。

在602处,计算系统能够获得界面数据。更具体地,计算系统能够获得描述包括多个界面元素的用户界面的界面数据。界面数据能够包括结构数据和描绘用户界面的界面图像。结构数据能够指示多个界面元素中的一个或多个界面元素的一个或多个位置。

在604处,计算系统能够确定多个中间嵌入。更具体地,计算系统能够至少部分地基于结构数据、一个或多个界面图像、或者一个或多个界面图像中描绘的文本内容中的一个或多个来确定多个中间嵌入。

在606处,计算系统能够处理多个中间嵌入以获得一个或多个用户界面嵌入。更具体地,计算系统能够使用经机器学习的界面预测模型处理多个中间嵌入以获得一个或多个用户界面嵌入。

在608处,计算系统能够执行预训练任务。更具体地,计算系统能够至少部分地基于一个或多个用户界面嵌入来执行预训练任务以获得预训练输出。

在608处,能够执行一个或多个预训练任务。预训练任务能够被并行(即,联合地)或串行执行。

在一些实施方式中,方法能够进一步包括:由计算系统评估损失函数,该损失函数评估真实值数据和预训练输出之间的差异;以及由计算系统至少部分地基于损失函数来调整经机器学习的界面预测模型的一个或多个参数。

附加公开内容

本文讨论的技术参照服务器、数据库、软件应用和其他基于计算机的系统以及采取的动作和发送给这种系统并且从这种系统发送的信息。基于计算机的系统固有的灵活性允许各种可能的配置、组合以及组件之间任务和功能性的划分。例如,本文讨论的过程能够使用单个设备或组件或组合工作的多个设备或组件来实施。数据库和应用能够被实施在单个系统上或者分布在多个系统上。分布式组件能够顺序地操作或者并行操作。

虽然本主题已经相对于其各种具体示例实施例详细描述,但每个示例都是通过解释而不是限制本公开提供的。在实现对前述内容的理解后,本领域技术人员能够容易地产生这种实施例的更改、变化和等效物。因此,本主题公开不排除包括对于本领域的普通技术人员将显而易见的本主题的这种修改、变化和/或添加。例如,作为一个实施例的一部分图示或描述的特征可以与另一实施例一起使用,以产生又一实施例。因此,本公开旨在覆盖这种更改、变化和等效物。

相关技术
  • 二类别分类预测模型的生成方法、用于生成分类预测模型的程序以及二类别分类预测模型的生成装置
  • 使用传感器数据生成血友病相关预测的机器学习模型
技术分类

06120116483420