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

使用模型提供的候选动作训练模型

文献发布时间:2023-06-19 16:08:01



背景技术

可以训练利用机器学习或其他人工智能技术的对话式计算系统以响应不同类型的用户话语,例如通过执行计算机操作并基于计算机操作的结果生成描述性内容(例如,输出响应话语和/或呈现图形用户界面内容)。例如,可以训练对话式计算系统以通过向网络可访问的天气服务查询明天的天气报告,并基于天气报告输出响应话语来对用户说“天气会怎么样?”进行响应。

这种对话式计算系统的训练可能是耗时且具有挑战性的。这种训练通常需要由人类标注者标记数千个不同的训练示例。一些训练系统要求人类标注者具有高技能,并且能够使用具有严格语法的标签来标记训练数据。

发明内容

提供本发明内容以便以简化的形式对下面在具体实施方式中进一步描述的设计构思的选择进行介绍。本发明内容并不旨在标识要求保护的主题的关键特征或重要特征,也不旨在用于限制要求保护的主题的范围。另外,要求保护的主题不局限于解决本公开内容的任何部分中指出的任何或所有缺点的实现。

一种用于训练对话式计算系统的方法包括:向机器学习模型提供初始查询,所述机器学习模型先前被训练以生成用于响应查询的动作。基于所述初始查询,多个候选动作从所述机器学习模型被接收到并经由训练接口被呈现。基于由人类标注者提供的输入,所选择的候选动作被识别并在经标记的数据示例中与所述初始查询相关联。

附图说明

图1示意性地描绘了用于训练对话式计算系统的示例环境。

图2示出了用于训练对话式计算系统的示例方法。

图3A和图3B描绘了示例训练接口。

图4示意性地描绘了经标记的训练示例,该示例包括初始查询和所选择的候选动作。

图5示意性地描绘了经不同标记的训练示例,该示例包括经转述的查询和所选择的候选动作。

图6示意性地示出了使用多个经标记的训练示例重新训练机器学习模型。

图7示意性地示出了示例计算系统。

具体实施方式

对话式计算系统使人类用户能够以更自然的方式与计算机交互。经过适当训练的对话式计算系统能够处理自然的用户交互,例如口头用户话语或书面用户命令,而不需要用户使用由计算机定义的特定语法。这允许人类用户在对计算机进行寻址时使用自然语言。

例如,用户可以通过让计算机回答问题或通过向计算机发出命令来使用自然语言进行交互。作为响应,对话式计算系统被训练为自动执行动作,例如回答问题或以其他方式协助用户(例如,报告今天的天气预报以响应人类的口述或键入“天气怎么样?”)。对话式计算系统可以用任何合适的计算机操作来响应用户请求,例如经由扬声器输出合成语音,和/或经由应用编程接口(API)与其他计算机技术交互以查找搜索结果、进行购买和/或安排预约。

这在图1中进行了说明,其示意性地示出了实现机器学习模型102的示例对话式计算系统100。对话式计算系统可以具有任何合适的硬件配置和形状因数。例如,对话式计算系统可以是膝上型计算机、桌面式计算机、智能手机、平板电脑、媒体中心、智能扬声器设备、智能手表、混合现实设备或物联网(IoT)设备(例如,智能恒温器、光控制器、监视器)。在一些示例中,对话式计算系统可以被实现为下文针对图7描述的计算系统700。

对话式计算系统可以被配置为响应各种用户交互事件。在图1的示例中,人类用户104提供用户查询106:“安排明天上午8点锻炼”。事件的示例包括语音和/或文本形式的用户话语、按钮按下、网络通信事件(例如,接收API调用的结果)和/或手势输入。更一般地,事件包括可以与用户交互相关并且可由对话式计算系统检测到的任何发生的事,例如经由输入硬件(例如,麦克风、相机、键盘和/或触摸屏)、通信硬件,等等。这样的事件可以以计算机可读格式表示,例如由语音到文本解释器生成的文本串或与触摸输入相关联的屏幕坐标值。

对话式计算系统可以被配置为执行任何合适的动作来帮助用户。再次使用图1的示例,在人类用户104提供查询106之后,对话式计算系统生成响应108:“好的,我把您的锻炼安排在明天上午8点”。动作的示例包括执行计算、控制其他计算机和/或硬件设备(例如,通过调用API)、通过网络进行通信(例如,以调用API)、接收用户输入(例如,以任何可检测事件的形式)),和/或提供输出(例如,以显示的文本和/或合成语音的形式)。更一般地,动作可以包括计算机系统被配置执行的任何行为。动作的其他非限制性示例包括:控制电子设备(例如,打开/关闭用户家中的灯、调节恒温器和/或经由显示器/扬声器播放多媒体内容),与商业和/或其他服务交互(例如,调用API以经由叫车服务安排乘车和/或经由送货服务订购食物/包裹),和/或与其他计算机系统交互(例如,访问网站或数据库中的信息、发送电子邮件和/或访问用户在日历程序中的日程安排)。

如本文所使用的,计算机可执行计划是用于实现对话式计算系统的动作的非限制性示例。“计划”在本文中用于指代计算机可以采取以执行相应动作的步骤的任何适当表示。例如,计算机可执行计划可以包括被配置为使计算机执行计算步骤以执行相应动作的计算机可执行代码。作为非限制性示例,计算机可执行计划可以包括使用数据流编程语言(例如,以对话式计算系统100使用的数据流编程语言或以任何其他合适的编程语言)的计算机可执行字节代码。替代地或附加地,计算机可执行计划可以包括用于表示计算步骤和与计算步骤相关的数据流和/或控制流的任何其它合适的数据,例如任何合适的计算机功能和/或操作,以任何合适的顺序、树、图形和/或超图排列。制定计划(例如,通过生成和/或至少部分执行计划)的对话式计算系统可能能够响应于输入事件而自动采用复杂的对话式方法。例如,该计划可以使对话式计算系统能够主动有效地处理输入事件、向用户询问适当的问题(例如,如果存在歧义则寻求澄清,和/或在自动做出决策之前寻求确认),描述制定计划的结果,和/或描述获得结果的过程(例如,描述计划本身的步骤)。

因此,通过识别各种事件并进行响应、执行相关动作,对话式计算系统使得用户能够使用会话、手势和其他表达模式来控制计算机执行任何合适的任务。

本公开内容包括用于对话式计算系统中的语言生成的技术。可以训练机器学习模型以通过生成一个或多个候选动作来响应特定输入话语,其中每个候选动作与计算机可执行计划相关联。例如,可以从可能对机器学习模型具有广泛知识的人类工程师和/或从可以执行与机器学习模型相关的一个或多个标注任务(例如,对候选动作和/或响应进行排名,和/或提供示例性动作和/或响应)的技能较少的人类标注者处获得数据。

这也在图1中示意性地示出。如所示的,对话式计算系统100与网络110通信耦合,网络110可以是任何合适的计算机网络,包括互联网。标注计算系统112也耦合至网络110,该标注计算系统112被配置为实现可用于训练如上所述的机器学习模型的训练接口114。具体而言,人类标注者116经由训练接口114向标注计算系统112提供标注。例如,如示意性示出的,训练接口可以呈现输入用户话语120,并且人类标注者可以提供包括响应话语、选择的候选动作、计算机可执行计划或其他合适指令的标注122。然后可以将输入的用户话语和标注存储为经标记的数据示例,并用于重新训练机器学习模型。在一些情况下,标注计算系统还可以实现机器学习模型,使得标注计算系统可以响应于经由训练接口输入的查询而动态地生成计算机可执行计划。

值得注意的是,在该示例中,训练接口是经由标注计算系统112呈现的。训练接口因此可以由标注计算系统执行的软件应用来呈现。或者,训练接口可以通过由不同计算设备(例如服务器124)执行的软件应用生成,并且由标注计算系统访问,例如,经由web接口或API。例如,标注计算系统可以包括通信子系统,并且训练接口可以由服务器经由通信子系统向标注计算系统提供计算机可执行接口代码来呈现。然后可以经由标注计算系统的显示子系统视觉地呈现训练接口。

类似地,在图1中,对话式计算系统与人类用户104处于同一本地环境中。换言之,同一计算系统记录用户话语,经由机器学习模型处理话语,并执行计算机可执行计划。然而,在其他示例中,对话式计算系统可以远离人类用户,例如,实现为服务器124。因此,人类用户的本地环境中的设备可以记录用户的话语并通过网络将话语发送到服务器124,服务器124然后可以将话语提供给在服务器上执行的机器学习模型102的实例。然后可以将由机器学习模型生成的计算机可执行计划发送到用户的本地环境(例如,计算系统100)中的设备并由其执行。

对话式计算系统和标注计算系统不需要是网络连接的。例如,经由训练接口对机器学习模型的训练可以离线完成。一旦模型经过充分训练,就可以将其复制到不同的系统,例如,个人助理计算系统或网络可访问的服务器。

然而,对于人类标注者来说,有效地提供标注可能很困难且容易出错,通常需要在创建计算机可执行计划方面进行专门培训。例如,通常可能要求人类标注者在具有严格格式和语法要求的数据流编程语言方面具有广泛的知识。这可能会在模型训练过程中呈现一个重大瓶颈,因为它可能需要大量资源来招募和训练足够多的人类标注者来训练机器学习模型,尤其是考虑到可能需要数千个经标记的训练示例来充分训练一个模型。

因此,本公开内容涉及通过利用部分训练的模型来训练对话式计算系统,以帮助人类标注者将训练标签应用于新的训练示例。具体而言,经由训练接口,可以向机器学习模型提供初始查询,例如,用户话语。值得注意的是,已经基于先前的示例至少部分地对机器学习模型进行了训练。因此,基于初始查询,机器学习模型生成初始的多个候选动作,这些候选动作经由训练接口被呈现给人类标注者。这些候选动作可以包括例如对初始查询的响应话语、由机器学习模型生成的计算机可执行计划,或者机器学习模型可以基于先前训练响应于初始查询而生成的其他合适的动作。然而,该初始的多个候选动作可能不一定包括在给定初始查询的条件下人类标注者认为合适的任何候选动作,例如,因为初始查询使用了针对机器学习模型尚未被训练的词汇、语法或缩写词。然后可以经由训练接口选择多个候选动作之一,并在经标记的数据示例中将其与初始查询相关联,这可以用于进一步训练机器学习模型。以这种方式,机器学习模型可以更高效地针对各种各样的初始查询进行训练,同时减少人类标注者手动编写计算机可执行计划的需要。在一些示例中,人类标注者可以转述初始查询,并且该经转述的查询可以被提供给机器学习模型以给出经更新的多个候选动作,人类标注者可以从中选择候选动作。这样,所选择的候选动作可以与原始话语短语表述和由人类标注者提供的转述相关联,从而使经训练的模型更加健壮。在一些示例中,可能没有一个候选计划是合适的,并且人类标注者可以在选择之前编辑候选计划。可认为的是,与必须从头开始编写计划相比,向人类标注者提供候选计划以进行编辑可以减少训练负担。

图2示出了用于训练对话式计算系统的示例方法200。方法200可以在具有合适的硬件配置和形状因数的任何合适的计算设备上实现。在一些示例中,方法200可以由下文针对图7描述的计算系统700来实现。

在202处,方法200包括:向机器学习模型提供初始查询,所述机器学习模型先前被训练以生成用于响应查询的动作。在一些情况下,可以经由训练接口从人类标注者接收初始查询。图3A中描绘了示例训练接口300,包括初始查询302。换言之,人类标注者可以手动编写和输入初始查询——例如,通过打字、大声说话或使用计算设备的另一个合适的输入接口。然而,在其他示例中,初始查询可以是来自人类用户的历史交互的示例性查询。因此,初始查询可以从人类用户提供的查询数据库中检索,或者存储在呈现训练接口的设备(例如,标注计算系统112)上,或者从远程设备(例如,服务器124)中检索。

此外,在一些情况下,可以将初始查询提供给由呈现训练接口的同一设备执行的机器学习模型。换言之,使用图1的示例,标注计算系统112可以既呈现训练接口114又执行机器学习模型102,可以向机器学习模型102提供初始查询。或者,可以将经由训练接口114提供的初始查询发送到由远程设备(例如服务器124)实现的机器学习模型。

返回图2,在204处,方法200包括:基于初始查询从机器学习模型接收初始的多个候选动作。在一些示例中,候选动作采取具有数据流程序语法的计算机可执行计划的形式。初始的多个候选动作可以表示该模型到目前为止所训练的排名最高的n个候选动作(例如,1、2、3、4、5或任何其他数量的候选动作)。

在206处,方法200包括经由训练接口呈现初始的多个候选动作。这在图3A中示出。具体而言,训练接口300包括初始的多个候选动作304,包括候选动作306和308。候选动作306和308中的每个候选动作由机器学习模型生成作为对初始查询302的潜在响应。在该示例中,这些候选动作中的每个候选动作都是计算机可执行计划,其定义了对话式计算系统的操作序列,对话式计算系统将响应于在真实世界使用中的人类查询而执行计算机可执行计划。此外,在该示例中,计算机可执行计划采用对话式计算系统的数据流编程语言。然而,在其他示例中,计算机可执行计划可以以另一种合适的方式来表达。

在图3A中,在初始的多个候选动作304中仅示出了两个候选动作。然而,在其他示例中,机器学习模型可以响应于初始查询生成任意数量的候选动作,并且可以在训练接口中呈现任意数量的这种候选动作。换言之,在其他示例中,响应于初始查询,可以在训练接口中呈现多于两个或少于两个的候选动作。

此外,可选地呈现候选动作的顺序可以基于机器学习模型输出的候选动作的基础排名或置信度。换言之,机器学习模型可以被配置为对候选动作进行排名,并且初始的多个候选动作可以是针对初始查询的多个排名靠前的候选动作。可以根据任何合适的标准对候选动作进行排名。在一些示例中,机器学习模型可以被配置为评估候选动作的置信度值,并且训练接口可以被配置为呈现初始的多个候选动作中的每个候选动作的置信度值。这在图3A中示出,其中候选动作306具有相应的置信度值307,而候选动作308具有置信度值309,其中更多的负值对应于较低的置信度。在其他示例中,置信度值可以具有另一合适的格式或比例。

然而,如上所讨论的,初始的多个候选动作可能不一定包括适合初始查询的任何候选动作。在图3A的示例中,候选动作308将使对话式计算系统创建具有主题“workouttmr”的事件,因此无法识别单词“tomorrow”的缩写,并且无法确定查询指的是当前日期的后一天。此外,候选动作306和308都将使对话式计算系统创建具有“下一个上午8点”的开始时间的事件,而理想的候选动作将具有“明天上午8点”的开始时间,以避免在上午8点之前提供初始查询的情况下可能出现的歧义。

因此,简要地返回图2,在208处,方法200可选地包括基于由人类标注者经由训练接口提供的输入来识别经转述的查询。这在图3B中显示,其中经转述的查询310连同初始查询302一起显示。换言之,基于识别初始的多个候选动作中没有一个对于初始查询是理想的,人类标注者提供了初始查询的转述版本,该版本可能与机器学习模型之前针对其训练的其他查询更加一致。具体来说,经转述的查询替换了初始查询中存在的缩写,以及为了清楚起见添加了冠词“a”。提供这样的转述可能比编辑候选动作更容易,因为转述不需要遵守任何严格的语法。

再次返回图2,在210处,方法200可选地包括将经转述的查询提供给机器学习模型。在212处,方法200可选地包括:基于经转述的查询从机器学习模型接收经更新的多个候选动作。在214处,方法200可选地包括:经由训练接口呈现经更新的多个候选动作。这可以基本上如上文针对初始查询和初始候选动作集合所讨论的那样来完成。

这也在图3B中示出,其中在训练接口300中示出了候选动作的经更新集合312。候选动作的经更新集合包括候选动作314和316。与候选动作的初始集合一样,经更新的集合可以包括由机器学习模型响应于经转述的查询而生成的任意数量的候选动作,并且这可以包括多于或少于两个的候选动作。

此外,与候选动作的初始集合一样,可以以任何合适的方式对经更新的集合进行排序或组织。例如,候选动作的经更新的集合可以被排名并且包括机器学习模型输出的排名靠前的候选,因此模型生成的一些候选动作可以从训练接口中显示的集合中省略。在一些情况下,可以根据机器学习模型输出的相应置信度值对候选动作进行排名。

在图3B中,候选动作316是包括自动生成的变量317的计算机可执行计划,该变量表示执行计算机可执行计划中的操作的结果。具体而言,自动生成的变量由[b.18]指示,并表示“明天上午8点”。计算机可执行计划中的其他操作往回参考自动生成的变量。应当理解,自动生成的变量可以针对计算机生成的计划中的任何操作来生成并以任何合适的方式被使用。

短暂地返回图2,在216处,方法200包括:基于由人类标注者经由训练接口提供的输入来识别所选择的候选动作。所选择的候选动作可以来自初始的多个候选动作,和/或在用户提供转述的情况下,来自经更新的多个候选动作。这也在图3B中示出,其中人类标注者已经经由输入320选择了候选动作314作为所选择的候选动作。通常,所选择的候选动作将是人类标注者认为是对初始查询的合适响应的动作。人类标注者可以使用呈现训练接口的计算设备的任何合适的输入模态来选择所选择的候选动作,例如,计算机鼠标、键盘、触摸屏、声音接口或眼睛跟踪接口。

在一些情况下,可以将训练接口配置用于编辑候选动作。例如,在机器学习模型没有输出响应于初始或经转述的查询的任何合适的候选动作的场景中,人类标注者可以编辑与候选动作相关联的计算机可执行计划以更好地适应查询。然后人类标注者可以选择经编辑的候选动作作为所选择的候选动作。再次,计算机可执行计划的编辑可以经由计算设备的任何合适的输入模态来完成。

再次返回图2,在218处,方法200包括:在经标记的数据示例中将所选择的候选动作与初始查询相关联。这在图4中示意性地示出,其示出了经标记的数据示例400。经标记的数据示例400包括初始查询302以及所选择的候选动作314。因此,即使所选择的候选动作是由机器学习模型基于经转述的查询生成的,所选择的候选动作仍然可以与初始查询相关联。

附加地或替代地,所选择的候选动作可以在经标记的数据示例中与经转述的查询相关联。这在图5中示意性地示出,其示出了另一经标记的数据示例500。该经标记的数据示例还包括所选择的候选动作314,但所选择的候选动作与经转述的查询而不是与初始查询相关联。根据实现,在不同的经标记的数据示例中将初始查询和经转述的查询与所选择的候选动作相关联可以是有益的,以便为机器学习模型提供更大且更多样化的训练数据体。或者,在经标记的数据示例中初始查询和经转述的查询中的仅一个或另一个可以与所选择的候选动作相关联。

无论如何,作为人类标注者与训练接口交互的结果而产生的经标记的数据示例可以被提供用于重新训练机器学习模型。经标记的数据示例将所选择的候选动作指示为响应于经标记的数据示例中包括的查询(初始查询或经转述的查询)的示例性动作。在图6中示意性地示出了重新训练,其示出了一组三个经标记的数据示例600A-600C。每个经标记的数据示例包括用户查询602和所选择的候选动作604。可以理解,任何数量的经标记的数据示例都可以用于重新训练,包括三个以上的。基于经标记的数据示例,机器学习模型606可以被重新训练以便在未来更高效地响应用户查询。所使用的特定训练过程将根据所使用的特定ML或NLP模型而有所不同,如将在下文更详细地描述的。

本文中描述的方法和过程可以绑定到一个或多个计算设备的计算系统。具体而言,这些方法和过程可以被实现为可执行计算机应用程序、网络可访问计算服务、应用编程接口(API)、库,或者上述各项的组合和/或其他计算资源。

图7示意性地示出了计算系统700的简化表示,该系统被配置为提供本文所述的任何至所有计算功能。计算系统700可以采取以下形式:一个或多个个人计算机、网络可访问的服务器计算机、平板计算机、家庭娱乐计算机、游戏设备、移动计算设备、移动通信设备(例如,智能电话)、虚拟/增强/混合现实计算设备、可穿戴计算设备、物联网(IoT)设备、嵌入式计算设备和/或其他计算设备。

计算系统700包括逻辑子系统702和存储子系统704。计算系统700可以可选地包括显示子系统706、输入子系统708、通信子系统710和/或图7中未示出的其他子系统。

逻辑子系统702包括被配置为执行指令的一个或多个物理设备。例如,逻辑子系统可以被配置为:执行是一个或多个应用、服务或其他逻辑构造的部分的指令。逻辑子系统可以包括被配置为执行软件指令的一个或多个硬件处理器。另外或替代地,逻辑子系统可以包括被配置为执行硬件或固件指令的一个或多个硬件或固件设备。逻辑子系统的处理器可以是单核或多核的,并且在其上执行的指令可以被配置用于顺序、并行和/或分布式处理。逻辑子系统的各个组件可选地可以分布在两个或更多个单独的设备中,这些设备可以被远程放置和/或被配置用于协同处理。逻辑子系统的一些方面可以被虚拟化,并且由在云计算配置中配置的可远程访问的联网计算设备执行。

存储子系统704包括一个或多个物理设备,其被配置为暂时地和/或永久地持有计算机信息,例如逻辑子系统可执行的数据和指令。当存储子系统包括两个或更多设备时,可以将设备共置和/或远程放置。存储子系统704可以包括易失性、非易失性、动态、静态、读/写、只读、随机访问、顺序访问、位置可寻址、文件可寻址和/或内容可寻址设备。存储子系统704可以包括可移除和/或内置设备。当逻辑子系统执行指令时,存储子系统704的状态可以变换—例如,变换成持有不同的数据。

逻辑子系统702和存储子系统704的方面可以一起集成到一个或多个硬件逻辑组件中。例如,这样的硬件逻辑组件可以包括程序专用和应用专用集成电路(PASIC/ASIC)、程序专用和应用专用标准产品(PSSP/ASSP)、片上系统(SoC)以及复杂可编程逻辑器件(CPLD)。

逻辑子系统和存储子系统可以协作以实例化一个或多个逻辑机。如本文使用的,术语“机器”用于统称硬件、固件、软件、指令和/或协作以提供计算机功能的任何其他组件的组合。换句话说,“机器”从来都不是抽象的思想,而总是具有实体形式。机器可以由单个计算设备实例化,或者机器可以包括由两个或更多不同的计算设备实例化的两个或更多子组件。在一些实施方式中,机器包括与远程组件(例如,由服务器计算机网络提供的云计算服务)协作的本地组件(例如,由计算机处理器执行的软件应用)。赋予特定机器其功能的软件和/或其他指令可以可选地作为一个或多个未执行的模块保存在一个或多个合适的存储设备上。

可以使用最新技术和/或未来机器学习(ML)、人工智能(AI)和/或自然语言处理(NLP)技术的任何合适组合来实现机器。可以并入一个或多个机器的实施方式中的技术的非限制性示例包括支持向量机、多层神经网络、卷积神经网络(例如,包括用于处理图像和/或视频的空间卷积网络、用于处理音频信号和/或自然语言句子的时间卷积神经网络,和/或被配置为跨一个或多个时间和/或空间维度对特征进行卷积和池化的任何其他合适的卷积神经网络)、循环神经网络(例如,长短期记忆网络)、联想记忆(例如,查找表、哈希表、布隆(Bloom)过滤器、神经图灵机和/或神经随机存取存储器)、词嵌入模型(例如,GloVe或Word2Vec)、无监督空间和/或聚类方法(例如,最近邻算法、拓扑数据分析和/或k均值聚类)、图形模型(例如,(隐)马尔可夫模型、马尔可夫随机场、(隐)条件随机场和/或人工智能知识库),和/或自然语言处理技术(例如,标记化、词干提取、选区和/或依赖性解析,和/或意图识别、分段模型和/或超分段模型(例如,隐动态模型))。

在一些示例中,可使用一个或多个可微函数来实现本文描述的方法和过程,其中可以针对可微函数的输入和/或输出来计算和/或估计可微函数的梯度(例如,针对训练数据和/或针对目标函数)。这样的方法和过程可以至少部分由一组可训练参数确定。因此,可以通过任何合适的训练过程来调整用于特定方法或过程的可训练参数,以便持续改善该方法或过程的功能。

用于调整可训练参数的训练过程的非限制性示例包括受监督训练(例如,使用梯度下降或任何其他合适的优化方法)、零样本、少样本、无监督学习方法(例如,基于无监督聚类方法得出的类别的分类)、强化学习(例如,基于反馈的深度Q学习),和/或生成式对抗神经网络训练方法、信念传播、RANSAC(随机样本共识)、上下文匪方法、最大似然法和/或期望最大化。在一些示例中,可以针对测量多个组件的集体功能(例如,针对增强反馈和/或针对标记的训练数据)的性能的客观功能来同时训练本文描述的系统的多种方法、过程和/或组件。同时训练多种方法、过程和/或组件可以改善这种集体功能。在一些示例中,可以独立于其他组件来训练一种或多种方法、过程和/或组件(例如,对于历史数据的离线训练)。

语言模型可以利用词汇特征来指导采样/搜索词语以识别语音。例如,语言模型可以至少部分由词语或其他词汇特征的统计分布来定义。例如,可以通过n元语法的统计分布来定义语言模型,该n元语法根据词汇统计来定义候选词之间的转移概率。语言模型还可以基于任何其他适当的统计特征和/或使用一个或多个机器学习和/或统计算法处理统计特征的结果(例如,由这种处理产生的置信度值)。在一些示例中,统计模型可以限制哪些词语可以被识别用于音频信号,例如,基于以下假设:音频信号中的词语来自特定词汇。

替代地或附加地,语言模型可以基于一个或多个神经网络,该神经网络先前被训练以表示共享的潜在空间中的音频输入和词语,例如,由一个或多个音频和/或词语模型学习的向量空间(例如,wav21etter和/或word2vec)。因此,找到候选词可以包括基于由音频模型编码的向量针对音频输入来搜索共享的潜在空间,以便找到候选词向量以用词语模型来进行解码。共享的潜在空间可以用于针对一个或多个候选词语评估该候选词语在语音音频中起重要作用的置信度。

该语言模型可以与声学模型结合使用,该声学模型被配置为针对候选词和音频信号,基于该词语的声学特征(例如,梅尔频率倒谱系数、共振峰等),评估该候选词语包括在音频信号中的语音音频中的置信度。可选地,在一些示例中,语言模型可以并入声学模型(例如,语言模型的评估和/或训练可以基于声学模型)。声学模型例如基于标记的语音音频,定义了声学信号与诸如音素之类的基本声音单元之间的映射。声学模型可以基于最先进的技术或未来机器学习(ML)和/或人工智能(AI)模型的任何适当组合,例如:深度神经网络(例如,长短期记忆、时间卷积神经网络、受限玻尔兹曼机、深度信念网络)、隐马尔可夫模型(HMM)、条件随机场(CRF)和/或马尔可夫随机场、高斯混合模型和/或其他图形模型(例如深贝叶斯网络)。可以用任何合适的方式对要用声学模型处理的音频信号进行预处理,例如,以任何合适的采样率进行编码、傅立叶变换、带通滤波器等。可以训练声学模型,以基于利用经标记的音频数据的训练来识别声学信号和声音单元之间的映射。例如,可以基于包括语音音频的经标记的音频数据和经校正的文本来训练声学模型,以便学习语音音频信号和由经校正的文本表示的声音单元之间的映射。因此,可以持续改进声学模型以改进其正确识别语音音频的效用。

在一些示例中,除了统计模型、神经网络和/或声学模型之外,语言模型还可以并入任何合适的图形模型,例如,隐马尔可夫模型(HMM)或条件随机场(CRF)。给定到目前为止识别出的语音音频和/或其他词语,图形模型可以利用统计特征(例如,转移概率)和/或置信度值来确定识别词语的可能性。因此,图形模型可以利用统计特征、先前训练的机器学习模型和/或声学模型来定义图形模型中表示的状态之间的转移概率。

当包括时,显示子系统706可用于呈现由存储子系统704持有的数据的视觉表示。该视觉表示可以采取图形用户界面(GUI)的形式。显示子系统706可以包括使用几乎任何类型的技术的一个或多个显示设备。在一些实现中,显示子系统706可以包括一个或多个虚拟现实显示器、增强现实显示器或混合现实显示器。

当包括时,输入子系统708可以包括一个或多个输入设备或与之对接。输入设备可以包括传感器设备或用户输入设备。用户输入设备的示例包括键盘、鼠标、触摸屏或游戏控制器。在一些实施例中,输入子系统可以包括所选择的自然用户输入(NUI)元件部分或与之对接。这样的元件部分可以是集成或外围的,并且输入动作的转换和/或处理可以是在板或离板处理的。示例NUI元件部分可以包括:用于语音和/或声音识别的麦克风;用于机器视觉和/或姿势识别的红外、彩色、立体和/或深度摄像头;头部跟踪器、眼部跟踪器、加速计、和/或用于运动检测和/或意图识别的回转仪。

当包括时,通信子系统710可以被配置为:将计算系统700通信地与一个或多个其他计算设备耦合。通信子系统710可以包括可与一种或多种不同通信协议兼容的有线和/或无线通信设备。通信子系统可以被配置用于经由个域网、局域网和/或广域网的通信。

本公开内容以示例的方式并参考相关的附图来呈现。在一幅或多幅图中可能基本相同的组件、过程步骤和其他元素被协调地标识并且以最少的重复进行描述。然而,应当注意,协调地标识的元素也可能在某种程度上有所不同。还应注意,一些图可能是示意性的而不是按比例绘制的。可能会对图中所示的各种绘图比例、纵横比和组件数量进行故意扭曲以使某些特征或关系更容易被看到。

在一个示例中,一种用于训练对话式计算系统的方法,包括:向机器学习模型提供初始查询,所述机器学习模型先前被训练以生成用于响应查询的动作;基于所述初始查询从机器学习模型接收初始的多个候选动作;经由训练接口呈现初始的多个候选动作;基于由人类标注者经由所述训练接口提供的输入,识别经转述的查询;向所述机器学习模型提供所述经转述的查询;基于所述经转述的查询从所述机器学习模型接收经更新的多个候选动作;经由所述训练接口呈现所述经更新的多个候选动作;基于由所述人类标注者经由所述训练接口提供的输入,识别所述经更新的多个候选动作中的所选择的候选动作;以及在经标记的数据示例中将所选择的候选动作与所述初始查询相关联。在该示例或任何其他示例中,所选择的候选动作包括定义所述对话式计算系统的操作序列的计算机可执行计划。在该示例或任何其他示例中,所述计算机可执行计划采用所述对话式计算系统的数据流编程语言。在该示例或任何其他示例中,所述训练接口被配置用于编辑所述计算机可执行计划。在该示例或任何其他示例中,计算机可执行计划包括自动生成的变量,所述变量表示执行所述计算机可执行计划中的操作的结果,其中,所述计算机可执行计算计划中的其他操作可以涉及自动生成的变量。在该示例或任何其他示例中,所述方法还包括:提供用于重新训练所述机器学习模型的经标记的数据示例,其中,所述经标记的数据示例指示所选择的候选动作作为对所述初始查询的示例性响应。在该示例或任何其他示例中,所述方法还包括:在另一个经标记的数据示例中将所选择的候选动作与所述经转述的查询相关联。在该示例或任何其他示例中,所述初始查询是经由所述训练接口从所述人类标注者接收的。在该示例或任何其他示例中,所述初始查询是来自与人类用户的历史交互的示例性查询。在该示例或任何其他示例中,所述机器学习模型被配置为对候选动作进行排名,其中,所述初始的多个候选动作是针对所述初始查询的多个排名靠前的候选动作,并且所述经更新的多个候选动作是针对所述经转述的查询的多个排名靠前的候选动作。在该示例或任何其他示例中,所述机器学习模型被配置为评估候选动作的置信度值,其中,所述训练接口被配置为呈现针对所述初始的多个候选动作中的每个候选动作和所述经更新的多个候选动作中的每个候选动作的置信度值。

在一个示例中,一种计算系统包括:逻辑子系统;以及存储子系统,其保存可由所述逻辑子系统执行用于进行以下操作的指令:经由先前训练的机器学习模型,识别用于响应初始查询的初始的多个候选动作;经由训练接口呈现所述初始的多个候选动作;经由所述训练接口从人类标注者接收经转述的查询;经由所述先前训练的机器学习模型,识别用于响应所述经转述的查询的经更新的多个候选动作;经由所述训练接口呈现所述经更新的多个候选动作;经由所述训练接口从所述人类标注者接收所述经更新的多个候选动作中的选择的候选动作;以及在经标记的数据示例中将所述选择的候选动作与所述初始查询相关联。在该示例或任何其他示例中,所述指令还可执行以使用所述经标记的数据示例重新训练所述先前训练的机器学习模型。在该示例或任何其他示例中,所述指令还可执行以在所述存储子系统中存储将所述选择的候选动作与所述经转述的查询相关联的进一步标记的数据示例。在该示例或任何其他示例中,所述选择的候选动作包括定义计算系统的一系列操作的计算机可执行计划,并且所述计算机可执行计划采用了所述计算系统的数据流编程语言。在该示例或任何其他示例中,所述训练接口被配置用于编辑所述计算机可执行计划。在该示例或任何其他示例中,所述机器学习模型被配置为评估候选动作的置信度值,其中,所述训练接口被配置为呈现针对所述初始的多个候选动作中的每个候选动作和所述经更新的多个候选动作中的每个候选动作的置信度值。在该示例或任何其他示例中,所述先前训练的机器学习模型被配置为对候选动作进行排名,其中,所述初始的多个候选动作是针对所述初始查询的多个排名靠前的候选动作,并且所述经更新的多个候选动作是针对所述经转述的查询的多个排名靠前的候选操作。

在一个示例中,一种用于训练对话式计算系统的方法,包括:向机器学习模型提供查询,所述机器学习模型先前被训练以生成用于响应查询的动作;基于所述查询从所述机器学习模型接收多个候选动作,所述多个候选动作中的每个候选动作包括计算机可执行计划,其以所述对话式计算系统的数据流编程语言定义了所述对话式计算系统的操作序列;经由训练接口呈现所述多个候选动作;基于由所述人类标注者经由所述训练接口提供的输入,识别所述多个候选动作中的选择的候选动作;基于由所述人类标注者经由所述训练接口提供的输入,识别对所选择的候选动作的编辑;以及在经标记的数据示例中将经编辑的所选择的候选动作与所述初始查询相关联。在该示例或任何其他示例中,所述机器学习模型被配置为对候选动作进行排名,并且所述多个候选动作是针对所述查询的多个排名靠前的候选动作。

将理解的是:本文中描述的配置和/或方法在性质上是示例性的,并且这些具体实施例或示例不应该被考虑为是限制性的意义,因为许多变体是可能的。本文中描述的具体例程或方法可以表示任意数量的处理策略中的一种或多种。因此,说明和/或描述的各个动作可以用说明和/或描述的顺序、用其他顺序、平行地来执行或被省略。同样地,上述过程的顺序可以改变。

本公开内容的主题包括各个过程、系统和配置的所有新颖和非显而易见的组合和子组合,以及本文中公开的其他特征、功能、动作和/或属性及它们的任何和所有等价物。

技术分类

06120114712773