首页 > 乐器声学 专利正文
选择性地激活设备上语音识别并且在选择性地激活设备上的NLU和/或设备上履行中使用识别的文本的制作方法

时间:2022-02-18 阅读: 作者:专利查询

选择性地激活设备上语音识别并且在选择性地激活设备上的NLU和/或设备上履行中使用识别的文本的制作方法
选择性地激活设备上语音识别并且在选择性地激活设备上的nlu和/或设备上履行中使用识别的文本


背景技术:

1.人类可以使用在本文被称为“自动化助理”(也称为“数字代理”、“交互式个人助理”、“智能个人助理”、“助理应用”、“对话代理”等)的交互式软件应用进行人机对话。例如,人类(当他们与自动化助理交互时可以被称为“用户”)可以使用口头自然语言输入(即话语),该口头自然语言输入在某些情况下可以被转换成文本然后被处理,和/或通过提供文本(例如,键入的)自然语言输入向自动化助理提供命令和/或请求。自动化助理通过提供响应用户界面输出来响应请求,该用户界面输出可以包括听觉和/或视觉用户界面输出。
2.如上所述,许多自动化助理被配置为经由口头话语进行交互。为了保护用户隐私和/或节省资源,用户必须经常在自动化助理完全处理口头话语之前显式地调用自动化助理。自动化助理的显式调用通常响应于在客户端设备处接收到某些用户界面输入而发生。客户端设备包括助理界面,该助理界面向客户端设备的用户提供用于与自动化助理交互的界面(例如,从用户接收输入,并提供听觉和/或图形响应),并且该助理界面与实现自动化助理的一个或多个附加组件(例如,处理用户输入并且生成适当响应的设备上组件和/或远程服务器设备)对接。
3.可以经由客户端设备调用自动化助理的一些用户界面输入包括在客户端设备处用于调用自动化助理的硬件和/或虚拟按钮(例如,硬件按钮的轻敲、客户端设备显示的图形界面元素的选择)。响应于一个或多个特定口语调用短语(也称为“热词/短语”或“触发词/短语”),可以附加地或替代地调用许多自动化助理。例如,可以说出诸如“嘿助理”、“ok助理”和/或“助理”之类的特定口语调用短语来调用自动化助理。当使用此类用户界面输入调用自动化助理时,检测到的音频数据通常从客户端设备流传输到远程自动化助理组件,这些组件通常不加选择地执行每个语音识别、自然语言理解和履行(或至少尝试履行)。


技术实现要素:

4.本文公开的各种实现可以用于减少从自动化助理获得响应/履行所需的时间。这尤其是因为这样的实现可以避免在说出命令或查询之前,用户向自动化助理提供显式调用的需要(诸如通过说出热词/短语或执行特定用户输入)。此外,在某些实现中,自动化助理可以在不与服务器通信的情况下接收、理解并且在一些情况下响应/履行命令或查询,从而进一步减少响应/履行能够被提供的时间。
5.本文公开的实现针对包括至少一个或多个麦克风和自动化助理应用的客户端设备(例如,智能电话和/或其他客户端设备)。自动化助理应用可以安装在客户端设备的操作系统“之上”和/或自身可以形成客户端设备的操作系统的一部分(或全部)。自动化助理应用包括和/或可以访问设备上的语音识别、设备上的自然语言理解和设备上的履行。例如,可以使用设备上的语音识别模块来执行设备上的语音识别,该设备上的语音识别模块使用在客户端设备处本地存储的端到端语音识别机器学习模型来处理音频数据(由麦克风检测到的)。设备上的语音识别为音频数据中存在的口头话语(如果有)生成识别的文本。可选
地,设备上的语音识别可以验证识别的文本对应于客户端设备的当前活动的(或唯一的)配置文件(例如,使用下面描述的文本无关的说话者标识/识别)。此外,例如,可以使用设备上的nlu模块来执行设备上的自然语言理解(nlu),该设备上的nlu模块处理由使用设备上的语音识别生成的识别的文本和可选的上下文数据,以生成nlu数据。nlu数据可以包括对应于口头话语的意图和可选地意图的参数(例如,槽值)。可以使用设备上的履行模块(该设备上的履行模块利用nlu数据(来自设备上的nlu)和可选的其他本地数据)来执行设备上的履行,以确定要采取来解析口头话语(以及可选地意图的参数)的动作。这可以包括确定对口头话语的本地和/或远程响应(例如,应答)、用于基于口头话语执行的与本地安装的应用的交互、基于口头话语发送到物联网(iot)设备(直接地或经由相应的远程系统)的命令,和/或基于口头话语执行的其他解析动作。然后,设备上的履行可以发起所确定的动作的本地和/或远程实施/执行以解析口头话语。
6.在各种实现中,可以至少选择性地利用远程语音处理、远程nlu和/或远程履行。例如,识别的文本可以至少选择性地被传输到远程自动化助理组件以用于远程nlu和/或远程履行。例如,可以可选地传输识别的文本以用于与设备上的性能并行的远程性能,或者响应设备上的nlu和/或设备上的履行的故障。然而,设备上的语音处理、设备上的nlu、设备上的履行和/或设备上执行可以被优先考虑,至少因为它们在解析口头话语时提供了延迟减少(由于没有解析口头话语所需的客户端

服务器往返)。此外,在没有网络连接或网络连接受限的情况下,设备上的功能可能是唯一可用的功能。
7.尽管设备上的语音识别、设备上的nlu和设备上的履行提供了优势,但是客户端设备的资源持续地执行所有设备上的处理是负担很重的,和/或这种连续执行可能会损害用户数据的安全/隐私。例如,它可以增加连续地运行所有设备上的处理的处理器资源和电源资源(例如,当客户端设备由电池供电时的电池)的负担。此外,如果对来自所有检测到的口头话语中的识别的文本不加选择地执行nlu和/或履行,则尽管没有用户意图让自动化助理为那些口头话语执行任何响应动作,但对于某些口头话语的履行(和由此产生的执行)可能会无意中发生。除了潜在地危及用户数据的安全性之外,这种无意的履行和由此产生的执行还可能导致各种客户端设备资源的过度消耗。
8.鉴于这些和/或其他考虑,本文公开的实现仅选择性地启动设备上的语音识别。例如,各种实现仅响应于确定一个或多个条件被满足而启动设备上的语音识别。此外,在那些实现中的一些实现中,设备上的nlu、设备上的履行(和/或由此产生的执行)仅响应于基于来自设备上的语音识别的识别的文本确定应该发生这样的进一步处理而发生。因此,通过设备上的语音处理的选择性激活和/或设备上的nlu和/或设备上的履行的进一步选择性激活,各种客户端设备资源得到保存和/或用户数据的安全性得到维护。
9.在各种实现中,响应于检测到显式助理调用提示的发生,激活设备上的语音识别。显式调用提示是这样一种提示,当其被单独检测到时将总是使得至少设备上的语音识别被激活。显式调用提示的一些非限制性示例包括检测具有至少阈值置信度的口头热词、显式助理界面元素(例如,触摸屏显示器上的硬件按钮或图形按钮)的启动、具有至少阈值强度(例如,由移动电话边框中的传感器检测到的)的“电话挤压”、和/或其他显式调用提示。
10.然而,其他提示是隐含的,因为设备上的语音识别将仅响应于那些提示的某些出现(诸如在某些上下文中的出现(例如,跟随或结合其他隐含提示的出现))而被激活。例如,
设备上的语音识别可以可选地不响应于检测到单独的话音活动而被激活,但可以响应于检测到话音活动以及在客户端设备处检测到用户存在和/或在客户端设备处检测到用户在阈值距离内存在而被激活。可以可选地使用一个或多个非麦克风传感器(诸如被动红外(pir)传感器和/或基于激光的传感器)来确定用户的存在和/或用户的距离。此外,例如,来自非麦克风传感器(例如陀螺仪、加速度计、磁力计和/或其他传感器)的传感器数据(表明用户已拿起客户端设备和/或当前正持有客户端设备)可以可选地不单独激活设备上的语音识别。然而,可以响应于这样的指示以及检测到无热词音频数据中的话音活动和/或定向语音(本文更详细地描述)来激活设备上的语音识别。无热词音频数据是缺少包括热词的任何口头话语的音频数据,该热词是明确的助理调用提示。作为又一示例,具有小于阈值强度的“电话挤压”可以可选地不足以单独激活设备上的语音识别。然而,设备上的语音识别可以响应于这种低强度的“电话挤压”以及检测到无热词音频数据中的话音活动和/或定向语音而被激活。作为又一示例,设备上的语音识别可以可选地不响应于检测到单独的话音活动而被激活,但是可以响应于检测到话音活动以及与文本无关的说话者标识/识别(也在下文中描述)而被激活。作为又一示例,设备上的语音识别可以可选地不响应于检测到单独的定向凝视(如下所述)而被激活,但是可以响应于检测到定向凝视以及话音活动、定向语音和/或与文本无关的说话者标识/识别而被激活。作为又一示例,设备上的语音识别可以可选地响应于检测到少于阈值数量(和/或百分比)的连续图像帧(即,瞬时定向凝视)的定向凝视而不被激活,但是可以响应于检测到至少阈值数量和/或百分比的连续图像帧的定向凝视(即,持久定向凝视)而被激活。尽管上面提供了几个示例,但可以提供附加的和/或替代的隐式调用提示。此外,在各种实现中,上述一个或多个隐式提示可以可选地或者是显式调用提示。例如,在一些实现中,来自非麦克风传感器(诸如陀螺仪、磁力计和/或加速度计)的传感器数据(表明用户已拿起客户端设备和/或当前正手持客户端设备)可以可选地单独激活设备上的语音识别
11.本文公开的一些实现涉及基于一个或多个隐式提示(诸如上述那些提示)来确定是否激活设备上的语音识别。在这些实现中的一些实现中,基于无热词音频数据和/或附加传感器数据的设备上处理做出确定,所述附加传感器数据基于来自客户端设备的一个或多个非麦克风传感器的输出。那些实现使得用户与自动化助理的交互能够被启动和/或被引导,而用户无需以热词的话语和/或以其他显式调用提示来开始这种交互。这使得用户提供的用户输入减少(至少由于热词或其他显式调用提示的省略),这直接减少了交互的持续时间,从而可以减少履行时间并节省本应在长时间交互中以其他方式使用的各种本地处理资源。
12.在确定是否激活设备上的语音识别时对无热词音频数据执行的设备上处理可以包括例如话音活动处理、定向语音处理和/或与文本无关的说话者标识。
13.话音活动处理处理音频数据(例如,原始音频数据或梅尔频率倒谱系数(mfcc)或音频数据的其他表示)以监视任何人类语音的发生并且可以输出指示是否存在话音活动的话音活动度量。话音活动度量可以是二进制度量,或者可以是音频数据中存在人类语音的概率。
14.定向语音处理可以利用经过训练的声学模型,该声学模型被训练以区分被定向到客户端设备的口头话语和不被定向到客户端设备的口头话语。例如,用户向自动化助理说
话的实例可以用第一个标签(例如“1”)来标记,而用户向其他人类说话的实例可以用第二个标签(例如“0”)来标记。这是有效的,因为音频数据本身可以指示输入是否旨在作为助理输入,因为与向另一个人类交谈时的那些话音属性相比,用户在向助理设备交谈时经常使用不同的话音属性(例如,音调变化、音色、节奏)进行交谈。因此,除了区分人类语音和非人类语音之外,定向语音处理寻求区分被定向到客户端设备的人类语音和不被定向到客户端设备的人类语音(例如,针对另一个人类的人类语音、从电视或其他来源发出的人类语音)。使用声学模型的定向语音处理可以导致指示是否检测到人类语音的定向语音度量,该度量被定向到客户端设备并且可以是二进制度量或概率。
15.与文本无关的说话者标识/识别(ti

sid)使用ti

sid模型处理音频数据以生成由音频数据捕获的口头话语的嵌入,并且针对在客户端设备上注册的一个或多个用户帐户/配置文件将该嵌入与本地存储的嵌入进行比较。然后,可以基于比较生成ti

sid度量,其中,ti

sid度量指示生成的嵌入是否匹配存储的嵌入之一和/或它们匹配的程度。
16.基于来自客户端设备的一个或多个非麦克风传感器的输出并且在确定是否激活设备上的语音识别时被处理的附加传感器数据可以包括来自陀螺仪、加速度计、基于激光的视觉传感器、相机和/或客户端设备的其他传感器组件的传感器数据。原始传感器数据本身或者原始传感器数据的抽象或其他表示(诸如是由客户端设备的操作系统提供的抽象)可以被处理。例如,可以提供和利用加速度计传感器数据的表示和/或来自操作系统的关于客户端设备已经被拿起的指示(其中,该指示可以由操作系统基于来自一个或多个传感器的传感器数据来确定)。
17.在一些实现中,在确定是否激活设备上的语音识别时,注意力处理器可以处理各种度量(例如,来自无热词音频数据的处理)和/或传感器数据(例如,其表示或抽象)。注意力处理器可以利用一个或多个规则和/或注意力模型来确定是否激活设备上的语音识别。注意力模型可以是例如基于监督和/或半监督的训练示例而训练的机器学习模型。例如,在那些参与用户的许可下,半监督训练示例可以具有基于来自参与用户的实际交互的音频数据和/或附加传感器数据的训练示例输入。此外,在参与用户许可的情况下,响应于检测到定向凝视与此类数据同时发生,半监督训练示例可以被标记为“肯定的”(即,应该发生设备上的语音识别)。在参与用户许可的情况下,响应于检测到定向凝视不与此类数据同时发生,半监督训练示例可以被标记为“否定的”(即,不应发生设备上的语音识别)。定向凝视是基于来自客户端设备的视觉传感器的传感器帧(例如,来自相机的图像帧)确定的针对客户端设备的凝视(例如,针对传感器帧的阈值持续时间和/或至少阈值百分比)。定向凝视的存在不一定指示用户打算与自动化助理交互(例如,用户可能只是打算一般地与客户端设备交互)。然而,使用定向凝视(或其他信号)作为监督信号可以确保充分激活设备上的语音识别以确保识别出口头话语,并且认识到本文描述的其他技术将在不打算与自动化助理交互的情况下,防止设备上的nlu和/或设备上的履行。在这些和其他方式中,通过利用经训练的注意力模型,可以响应于一个或多个隐式调用提示的出现以及响应于显式调用提示的出现而选择性地激活设备上的语音识别。在各种实现中,注意力模型的设备上的训练可以发生以将注意力模型个性化到客户端设备和/或提供梯度(来自训练)用于联合学习(例如,进一步基于来自多个客户端设备的梯度训练注意力模型,并提供进一步的经训练的模型以供使用)。当设备上的训练发生时,定向凝视和/或其他信号可用作训练的监督信号。
18.一旦设备上的语音识别被激活,无论是响应于诸如本文描述的那些隐式还是显式提示,使用设备上的语音识别来处理音频数据以确定由音频数据捕获的口头话语(如果有)中的识别的术语。处理的音频数据可以包括在激活设备上的语音识别之后捕获的音频数据,以及可选地本地缓冲的最近音频数据(例如,本地缓冲的最近音频数据的3秒或其他持续时间)。在一些实现中,当设备上的语音识别被激活时,人类可感知的提示被渲染以通知用户这样的激活已经发生和/或在识别发生时渲染所识别的文本流。人类可感知的提示可以包括例如至少识别的文本流在客户端设备的触摸屏显示器上的视觉渲染(例如,在显示器底部的视觉渲染),其可选地覆盖在任何活动内容上(并且可选地被呈现为半透明)。视觉渲染还可以包括可选择的“取消”元素,当经由在触摸屏显示器上的触摸输入选择该元素时,其停止设备上的语音识别。如本文所述,当设备上的nlu和/或设备上的履行被激活时,和/或响应于履行的执行时,可以可选地进一步调整人类可感知的提示。
19.本文所述的各种实现还涉及确定是否激活设备上的nlu和/或设备上的履行(和/或结果由此产生的执行)。在那些实现中的一些实现中,设备上的nlu和/或设备上的履行仅响应于至少部分地基于来自设备上的语音识别的识别的文本,来确定这样的进一步处理应该发生而发生。通过设备上语音处理的这种选择性的激活、和/或设备上的nlu和/或设备上的履行的进一步选择性的激活,各种客户端设备资源得到保存和/或用户数据的安全性得到维护。
20.在一些实现中,可以基于确定识别的文本是否匹配存储在本地存储的助理语言模型中的一个或多个短语来确定是否激活设备上的nlu和/或设备上的履行。当识别的文本与存储在本地存储的助理语言模型中的短语匹配时,更有可能激活设备上的nlu和/或设备上的履行。可以使用软匹配或精确匹配。本地存储的助理语言模型可以包括多个短语,每个短语都可以由自动化助理解释和操作,并且本地存储的助理语言模型可以排除不能由自动化助理解释和操作的任何短语。如果导致履行的短语不是“未决的(punt)”,诸如“sorry,i can’t help with that(对不起,我无法帮助)”、“error tone(错误语气)”或其他非实质性响应,则该短语可以被自动化助理解释和操作。可以生成助理语言模型以包括先前发布给自动化助理并由自动化助理成功操作的短语。可选地,考虑到客户端设备的存储限制,可以将助理语言模型限制为一定数量的短语,并且可以基于使用频率和/或其他考虑来选择所包含的短语以纳入助理语言模型。
21.在一些实现中,确定是否激活设备上的nlu和/或设备上的履行可以附加地或替代地基于以下部分:基于一个或多个相关动作短语确定一个或多个相关动作短语,每个相关动作短语都具有在客户端设备上和/或经由客户端设备处响应于先前的用户输入而执行的最近动作的定义的对应关系;并确定识别的文本的至少一部分是否与一个或多个相关动作短语中的至少一个相匹配。当识别的文本与相关的动作短语匹配时,设备上的nlu和/或设备上的履行更有可能被激活。可以使用软匹配或精确匹配。举个例子,如果最近的动作是打开智能灯,可以确定相关的动作短语(诸如“dim(昏暗的)”和/或“turn off(关闭)”),从而促进针对无热词的后续口头话语(诸如“dim them to 50%(将它们调暗到50%)”)的设备上的nlu和/或设备上的履行。再举一个例子,如果最近的动作是针对特定时间设置警报,后续动作短语通常可以包括“times(时间)”,从而促进针对无热词的后续口头话语(诸如“actually,make it for 8:05am(实际上,在上午8点05分进行)”)的设备上的nlu和/或设
备上的履行。
22.在一些实现中,可以附加地或替代地基于确定识别的文本的至少一部分是否符合在口头话语期间在客户端设备处渲染的内容来确定是否激活设备上的nlu和/或设备上的履行。例如,如果“turn up the volume(调高音量)”的建议的自动化助理动作在口头话语期间被视觉显示,则可以确定包括“turn up(调高)”和/或“volume(音量)”的识别的文本符合视觉渲染的内容,并且设备上的nlu和/或设备上的履行更有可能被激活。作为另一个示例,如果正在渲染给定实体的图像和/或文本描述,则可以确定识别的文本(其包括给定实体的别名、给定实体的属性和/或与给定实体相关的附加实体的属性)符合视觉渲染的内容。例如,如果正在渲染与特定网络路由器有关的内容,则可以确定识别的文本(包括路由器的别名(例如,品牌和/或型号)、路由器的属性(例如,符合802.11ac)和/或相关实体(例如,调制解调器)的属性)符合视觉渲染的内容。
23.在一些实现中,可以附加地或替代地基于确定识别的文本的至少一部分是否符合在口头话语期间执行的非自动化助理应用来确定是否激活设备上的nlu和/或设备上的履行。例如,如果识别的文本符合适用于在口头话语期间在客户端设备的前台执行的应用的动作,则设备上的nlu和/或设备上的履行更有可能被激活。例如,如果消息传递应用在前台执行,则可以认为包括“reply with(回复)”、“send(发送)”和/或与消息传递应用相关的其他文本的识别的文本符合由非自动化助理应用可执行的动作。可选地,当多个动作可由非自动化助理应用执行,但在非自动化助理应用的当前状态下只有这些动作的一个子集可以执行时,该子集可以是所考虑的唯一动作或可以在该确定中被更重地加权(比不在子集中的动作)。如本文所述,在识别的文本与正在执行的非自动化助理应用相关的一些实现中,基于口头话语确定的履行可以是包括自动化助理应用的履行,该自动化助理应用(直接或经由操作系统)与非自动化助理应用对接以使非自动化助理应用执行符合口头话语的动作。例如,“reply with sounds great(具有听起来很棒的回复)”的口头话语可以导致自动化助理向消息传递应用(可选地经由操作系统)发送一个命令,该命令使消息传递应用回复最近的和/或当前地具有“sound great(听起来很棒)”的渲染消息。
24.在一些实现中,可以附加地和/或替代地基于使用设备上的语义模型处理识别的文本以确定识别的文本是否被定向到自动化助理的概率来确定是否激活设备上的nlu和/或设备上的履行。当该概率更表明识别的文本被定向到自动化助理时,设备上的nlu和/或设备上的履行更有可能被激活。可以训练语义模型以区分被定向到自动化助理的文本和不被定向到自动化助理的文本(例如,而是定向到另一个人类和/或来自电视或其他来源)。语义模型可用于逐个标记地处理文本,或者可以选择性地处理识别的文本的嵌入,诸如生成的word2vec嵌入或其他语义嵌入。
25.在一些实现中,可以附加地和/或替代地基于ti

sid(如上所述)、定向语音(如上所述)和/或其他考虑来确定是否激活设备上的nlu和/或设备上的履行。例如,如果定向语音被检测到和/或以更高的概率被确定,则设备上的nlu和/或设备上的履行更有可能被激活。此外,例如,如果ti

sid指示口头话语来自客户端设备的当前活动的配置文件,则设备上的nlu和/或设备上的履行更有可能被激活。
26.在一些实现中,在确定是否激活设备上的nlu和/或设备上的履行时,可以由查询分类器处理上述考虑中的一个或多个。查询分类器可以利用一个或多个规则和/或查询模
型来确定是否激活设备上的nlu和/或设备上的履行。例如,规则可以规定,如果条件单独存在或与其他特定条件组合存在,则应激活设备上的nlu和/或设备上的履行。例如,如果识别的文本与助理语言模型中的短语匹配并且匹配当前渲染的内容,则规则可以规定应激活设备上的nlu和设备上的履行。在使用查询模型的实现中,它可以是例如基于监督和/或半监督训练示例训练的机器学习模型。例如,在参与用户的许可下,训练示例可以具有来自那些参与用户的实际交互的基于上述各种确定的训练示例输入。此外,响应于相应用户与结果响应进行交互和/或向询问口头话语是否意图作为助理请求的提示提供积极反馈,可以将训练示例标记为“肯定的”(即,口头话语意图作为助理请求)。响应于相应的用户快速驳回结果响应(例如,在它被完全渲染之前和/或在它可以被完全解释之前))和/或向询问口头话语是否意图作为助理请求的提示提供负面反馈,可以将监督的训练示例标记为“否定的”(即口头话语意图作为助理请求)。
27.注意到,与在训练注意力模型(如上所述)中使用的监督信号或显式标签相反,在训练查询模型中使用的监督信号或显式标签寻求确保用户打算与自动化助理进行交互。因此,虽然可以训练注意力模型以有目的地导致设备上的语音识别的某些“过度触发”,但是训练查询模型以减少触发设备上的nlu和/或设备上的履行的误报发生。在这些和其他方式中,通过协同使用在本文公开的设备上的语音识别激活技术和设备上的nlu和/或履行激活技术,当意图用于自动化助理时,无热词口头话语被完全处理并操作,同时减少了触发不足的情况。这可以减少用户需要再次提供口头话语情况的发生,其可选地在显式调用队列之前,该显式调用队列可以延长用户与自动化助理的交互并导致资源的过度消耗。在各种实现中,查询模型的设备上的训练可以发生以将注意力模型个性化到客户端设备和/或提供梯度(来自训练)以用于联合学习(例如,进一步基于来自多个客户端设备的梯度训练查询模型,并且提供进一步经训练的模型以供使用)。当设备上的训练发生时,诸如但不限于上述那些的信号可以用作训练的监督信号。
28.当设备上的nlu被激活时,对识别的文本执行设备上的自然语言理解以生成自然语言理解数据。此外,当设备上的履行被激活时,使用自然语言理解数据确定设备上的履行。如本文所述,可以使用设备上的履行模块来执行设备上的履行,该设备上的履行模块利用nlu数据(来自设备上的nlu)和可选的其他本地数据,以确定要采取来解析口头话语的意图(以及可选的意图参数)的动作。这可以包括确定对口头话语的本地和/或远程响应(例如,应答)、与本地安装的应用的交互以基于口头话语执行、基于口头话语发送到物联网(iot)设备的命令(直接地或经由相应的远程系统)、和/或基于口头话语执行的其他解析动作。然后,设备上的履行可以发起所确定的动作的本地和/或远程实施/执行以解析口头话语。
29.本文公开的一些实现包括一个或多个计算设备,这些计算设备包括一个或多个处理器,例如中央处理单元(cpu)、图形处理单元(gpu)、数字信号处理器(dsp)和/或张量处理单元(tpu)。一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且这些指令被配置为执行本文描述的任何方法。计算设备可以包括例如具有麦克风、至少一个显示器和/或其他传感器组件的客户端助理设备。一些实现还包括一个或多个非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以实施本文描述的方法中的任一个的计算机指令。
附图说明
30.图1a描绘了根据各种实现的展示本公开的各个方面的示例过程流程。
31.图1b是包括来自图1a的各种组件并且可以在其中实施本文公开的实现的示例环境的框图。
32.图2描绘了图示根据本文公开的实现的示例方法的流程图。
33.图3a描绘了客户端设备、提供无热词口头话语的用户和被激活的设备上的语音识别的示例,该被激活的设备上的语音识别使口头话语的流式转录被渲染在客户端设备的显示器上。
34.图3b描绘了在已经提供图3a的口头话语之后、在设备上的nlu和设备上的履行已经被激活并且实施了履行的相应执行之后的客户端设备的示例。
35.图4a描绘了客户端设备的示例,其中,在前台具有消息传递应用,用户提供无热词口头话语,并且被激活的设备上的语音识别使口头话语的流式转录被渲染在客户端设备的显示器上。
36.图4b描绘了在已经提供了图4a的口头话语之后,并且在设备上的nlu和设备上的履行已经被激活,并且实施了履行的对应的设备上执行以使消息传递应用基于图4a的口头话语发送回复之后的客户端设备的示例。
37.图5a描绘了客户端设备的示例,其中,在前台具有照明控制应用,用户提供无热词口头话语,并且被激活的设备上的语音识别使口头话语的流式转录被渲染在客户端设备的显示器上。
38.图5b描绘了在已经提供了图5a的口头话语之后,并且在确定不激活设备上的nlu和/或设备上的履行之后的客户端设备的示例。
39.图6图示了计算设备的示例架构。
具体实施方式
40.首先转向图1a,示出了根据各种实现的展示本公开的各个方面的示例过程流程。图1a中所示的组件可以在客户端设备160(图1b)上实现。在图1a中,注意力处理器115接收经由客户端设备160的一个或多个麦克风(165,图1b)检测到的音频数据110和/或来自客户端设备160的一个或多个非麦克风传感器105的传感器数据。如本文所述,由注意力处理器115接收和/或利用的音频数据110可以包括原始音频数据和/或其表示。当检测到新的音频数据时,可以以流方式提供音频数据110。此外,从非麦克风传感器105接收的传感器数据可以是原始传感器数据和/或其表示和/或抽象(例如,由客户端设备160的操作系统提供的抽象)。当检测到新的传感器数据时,同样可以以流方式提供传感器数据。非麦克风传感器105可以包括例如陀螺仪、加速度计、基于激光的视觉传感器、相机和/或客户端设备的其他传感器组件。
41.注意力处理器115处理音频数据110和/或来自非麦克风传感器105的传感器数据以确定是否激活设备上的语音识别引擎120。除了响应于检测到一个或多个显式调用提示而激活设备上的语音识别引擎120之外,在各种实现中,注意力处理器115可以响应于各种隐式提示附加地或替代地激活设备上的语音识别引擎120。这使得用户提供的用户输入减少(至少由于省略了热词或其他显式调用提示),这直接减少了交互的持续时间,从而节省
了本来会在长时间交互中以其他方式使用的各种本地处理资源。
42.注意力处理器115处理各种度量(例如,来自音频数据110)和/或传感器数据(例如,其表示或抽象)以确定是否激活设备上的语音识别引擎120。注意力处理器115可以利用一个或多个规则和/或注意力模型1151来确定是否激活设备上的语音识别引擎120。注意力模型1151可以是例如基于监督和/或半监督训练示例的经训练的机器学习模型。
43.在一些实现中,注意力处理器115包括ti

sid模块115a、定向语音模块115b和/或话音活动检测(vad)模块115c,它们各自用于处理音频数据并且向注意力处理器115提供一个或多个度量。注意力处理器115利用所提供的度量来确定是否激活设备上的语音识别120。
44.ti

sid模块115a使用ti

sid模型115a1处理音频数据110以生成用于由音频数据捕获的口头话语的全部或部分的嵌入。ti

sid模型115a1可以是例如循环神经网络模型和/或其他模型,该其他模型被训练用于处理音频数据序列以生成针对与文本无关的语音的音频数据的丰富嵌入。ti

sid模型与依赖于文本的说话者识别模型形成对比,后者只能用于非常有限的一组词(例如,热词)。
45.ti

sid模块115a将生成的嵌入与本地存储的用于向客户端设备160注册的一个或多个用户账户/配置文件的嵌入(例如,用于向客户端设备160注册的唯一和/或主要用户的嵌入)进行比较。然后,可以基于该比较来生成ti

sid模块115a,其中,ti

sid度量指示生成的嵌入是否匹配所存储的嵌入之一和/或它们匹配的程度。在一些实现或情况中,注意力处理器115可以仅在ti

sid度量指示匹配时(即,阈值之间的距离满足嵌入)可选地激活设备上的语音识别引擎120。例如,注意力处理器115可以总是要求ti

sid度量指示匹配以激活设备上的语音识别引擎120。作为另一个示例,当ti

sid度量是唯一可依赖的度量和/或仅在与一个或多个隐式调用提示进行组合而可依赖时(即,当没有检测到显式提示时),注意力处理器115可以要求ti

sid度量指示匹配以激活设备上的语音识别引擎120。
46.定向语音模块115b可以利用经训练的声学模型115b1,该声学模型115b1被训练以区分被定向到客户端设备的口头话语与不被定向到客户端设备的口头话语。除了区分人类语音与非人类语音之外,定向语音处理模块115b寻求区分被定向到客户端设备的人类语音和不被定向到客户端设备的人类语音(例如,被定向到另一个人的人类语音、从电视或其他来源发出的人类语音)。定向语音处理模块115b通过使用声学模型115b1处理音频数据110,可以生成指示是否检测到人类语音的定向语音度量,该定向语音度量被定向到客户端设备并且可以是二进制度量或概率。在一些实现或情形中,注意力处理器115可以仅在定向语音模块115b指示定向语音(例如,满足阈值的定向语音度量)时可选地激活设备上的语音识别引擎120。例如,注意力处理器115可以总是要求定向语音模块115b指示定向语音以激活设备上的语音识别引擎120。作为另一示例,当定向语音是唯一可依赖的度量和/或仅在与一个或多个隐式调用提示进行组合而可依赖时(即,当没有检测到显式提示时),注意力处理器115可以要求定向语音模块115b指示定向语音以激活设备上的语音识别引擎120。
47.vad模块115c处理音频数据110以监视任何人类语音的发生,并且可以输出指示是否存在话音活动的话音活动度量。话音活动度量可以是二进制度量,或者可以是音频数据中存在人类语音的概率。vad模块115c可以可选地利用vad模型115b1来处理音频数据并且确定是否存在话音活动。vad模型115b1可以是机器学习模型,该机器学习模型被训练成使
得能够区分没有任何人类话语的音频数据和具有人类话语的音频数据。在一些实现或情形中,注意力处理器115可以仅在vad模块115c指示话音活动时可选地激活设备上的语音识别引擎120。例如,注意力处理器115可以总是要求vad模块115c指示匹配以激活设备上的语音识别引擎120。作为另一个例子,当vad模块115c是唯一可依赖的度量和/或仅在与一个或多个隐式调用提示进行组合而可依赖时(即,当没有检测到显式提示时),注意力处理器115可以要求vad模块115c指示匹配以激活设备上的语音识别引擎120。在一些实现中,ti

sid模块115a和/或定向语音模块115b可以可选地仅在vad模块115c检测到话音活动时被激活,尽管一旦被激活它们就可以可选地处理缓冲的音频数据。
48.在一些实现或情形中,注意力处理器115可以基于对音频数据110的单独处理来激活设备上的语音识别引擎120。然而,在其他实现或情形中,注意力处理器115可以附加地或替代地基于对来自非麦克风传感器105的传感器数据的处理来激活设备上的语音识别引擎120。原始传感器数据本身或者原始传感器数据的抽象或其他表示(诸如客户端设备的操作系统提供的抽象)可以被处理。例如,可以利用来自加速度计、陀螺仪、相机和/或基于激光的视觉传感器的传感器数据的表示。此外,例如,和/或基于原始传感器数据的来自操作系统和/或另一组件的指示可以被利用并且可以指示客户端设备是否已经被拿起、当前正在被持有、处于用户的口袋里和/或处于另一种状态。注意力处理器115可以可选地防止设备上的语音识别引擎120响应于某些传感器数据(例如,指示客户端设备160在用户的口袋或其他存放位置中的抽象)被激活和/或可以在激活设备上的语音识别引擎120之前要求某些传感器数据。
49.如本文所述,注意力处理器115可以可选地利用注意力模型1151(单独或与一个或多个规则组合)来确定是否激活设备上的语音识别引擎120。注意力模型1151可以是例如基于监督和/或半监督训练示例经训练的机器学习模型。例如,在那些参与用户的许可下,半监督训练示例可以具有基于来自参与用户的实际交互的音频数据和/或附加传感器数据的训练示例输入。此外,可以基于定向凝视检测和/或其他半监督(或者甚至监督)技术将半监督训练示例标记为“肯定的”或“否定的”。还如本文中所描述的,标记可以确保设备上的语音识别引擎120的充分激活以确保口头话语被识别,并且认识到本文中描述的附加技术将在不打算与自动化助理交互的情况下防止设备上的nlu和/或设备上的履行。
50.一旦注意力处理器115激活设备上的语音识别引擎120,设备上的语音识别引擎120就使用设备上的语音识别模型(为了简单起见未在图1a中示出)处理音频数据110以确定在由音频数据110捕获的口头话语(如果有的话)中的识别的文本125。设备上的语音识别模型可以可选地是端到端模型,并且可以可选地由一种或多种寻求生成附加的识别的文本假设的技术来补充,并且使用各种考虑来选择最佳假设。经处理的音频数据110可以包括在激活设备上的语音识别之后捕获的音频数据,以及可选地本地缓冲的最近音频数据(例如,在激活设备上的语音识别引擎120之前由注意力处理器115处理的至少一些)。在一些实现中,当设备上的语音识别引擎120被激活时,人类可感知的提示被渲染以通知用户这样的激活已经发生和/或在识别正在发生时渲染识别的文本125的流。视觉渲染还可以包括可选择的“取消”元素,当经由在触摸屏显示器处的触摸输入选择该元素时,其停止设备上的语音识别引擎120。如本文所用,激活语音识别引擎120或其他组件意味着至少使其执行的处理超出了它在激活之前先前执行的处理。这可能意味着从完全休眠状态来激活它。
51.查询分类器135基于识别的文本125和可选的上下文数据130来确定是否激活设备上的nlu引擎140和/或设备上的履行引擎145(和/或基于来自履行引擎145的输出导致由此产生的执行150)。查询分类器135可以仅响应于使用本文描述的一种或多种技术确定应该发生这种进一步处理来激活设备上的nlu引擎140和/或设备上的履行引擎145。在许多实现中,由查询分类器135执行的处理比通过设备上的nlu引擎140、设备上的履行引擎145和/或任何生成的履行的执行发生的处理在计算上更有效。通过设备上的语音处理的这种选择性激活和/或设备上的nlu和/或设备上的履行的进一步选择性激活,客户端设备160的各种资源得到保存和/或用户数据的安全性得到维护。
52.在一些实现中,查询分类器135包括助理语言模型(lm)模块135a、语义模块135b、最近动作模块135c、渲染的内容模块135d、应用模块135e和/或实体匹配器135f。每个模块利用识别的文本125和可选的上下文数据130和/或相关联的模型来向查询分类器135提供一个或多个度量。查询分类器135利用提供的度量来确定是否激活设备上的nlu引擎140和/或设备上的履行引擎145。
53.助理语言模型(lm)模块135a可以确定识别的文本(其全部或部分)是否与本地存储的助理lm模块135a1中的一个或多个短语匹配。当识别的文本与存储在本地存储的助理lm模块135a1中的短语匹配时,查询分类器135更有可能激活设备上的nlu引擎140和/或设备上的履行引擎145。本地存储的助理lm模块135a1可以包括多个短语,每个短语都可以由自动化助理解释和操作,并且本地存储的助理lm模块135a1可以排除任何不能由自动化助理解释和操作的短语。可选地,鉴于客户端设备的存储限制,可以将助理lm模块135a1限制为一定数量的短语,并且可以基于诸如使用频率(例如,全局地、在客户端设备160处和/或由客户端设备160的用户可选地跨多个客户端设备)的考虑来选择所包含的短语以纳入助理lm模块135a1。
54.语义模块135b使用语义模型135b1处理识别的文本125以确定识别的文本被定向到自动化助理的概率。语义模型135b1可以被训练以区分被定向到自动化助理的文本和不被定向到自动化助理的文本(例如,而是被定向到另一个人和/或来自电视或其他来源)。语义模型135b1可以用于逐个标记地处理文本(例如,它可以是循环神经网络模型),或者可以可选地处理识别的文本的嵌入,诸如生成的word2vec嵌入或其他语义嵌入。当语义模块135b指示识别的文本被定向到自动化助理时,查询分类器135更有可能激活设备上的nlu引擎140和/或设备上的履行引擎145。
55.最近动作模块135c可以可选地参考相关动作模型135c1,基于一个或多个相关动作短语来确定一个或多个相关动作短语,每个相关动作短语都具有与最近动作的定义的对应关系。最近动作是响应于先前的用户输入(即,在当前口头话语之前)在客户端设备160处和/或经由客户端设备160执行的动作。例如,最近动作模块135c可以从上下文数据130确定最近动作。此外,最近动作模块135c可以使用相关动作模型135c1(其可以包括多个动作中的每一个动作之间的映射)以及与每个动作相关的相关动作短语来确定相关动作。最近动作模块135c可以进一步确定识别的文本125的至少一部分是否与一个或多个相关动作短语中的至少一个匹配。当识别的文本125与相关的动作短语匹配时,查询分类器135更有可能激活设备上的nlu引擎140和/或设备上的履行引擎145。
56.渲染内容模块135d可以可选地参考渲染内容模型135dl来确定识别的文本125的
至少一部分是否符合在口头话语期间在客户端设备160处被渲染的内容。在客户端设备处被渲染的内容可以从上下文数据130确定,并且可以可选地使用渲染内容模型135d1补充有“相关”内容。例如,如果建议的自动化助理动作“show me weather for[city](给我显示[城市]的天气)”在口头话语期间被视觉显示,则可以确定包括“show me weather(给我显示天气)”和/或城市名称的识别的文本符合被视觉渲染的内容。城市的名称(由建议中的占位符[城市]指示)可以参考渲染内容模型135d1来确定。作为另一示例,在客户端设备160处被可听地渲染的内容也可以被渲染内容模块135d考虑。当识别的文本125符合正在被渲染的内容时,查询分类器135更有可能激活设备上的nlu引擎140和/或设备上的履行引擎145。
[0057]
app模块135e确定识别的文本125的至少一部分是否符合在口头话语期间执行的非自动化助理应用。例如,如果照明控制应用正在前台执行,则可以认为包括“turn on(打开)”、“adjust(调整)”、“light(灯光)”和/或与照明控制应用相关的其他文本的识别的文本符合可以由非自动化助理应用执行的动作。可选地,可以主动地请求前台应用和/或最近前台应用,以确定与应用的相应当前状态和/或应用总体相关的动作和/或文本。这种请求可以可选地经由客户端设备160的操作系统发生。当识别的文本125符合客户端设备160上的应用(诸如在前台执行和/或最近在前台执行的应用)时,查询分类器135更有可能激活设备上的nlu引擎140和/或设备上的履行引擎145。
[0058]
实体匹配器135f可以基于被确定为客户端设备160的用户感兴趣来确定识别的文本125是否符合由客户端设备160渲染的实体和/或本地存储的本地存储实体。实体匹配器135f可以利用实体数据库135f1,实体数据库135f1可以包括响应于基于在客户端设备160处的过去交互(助理或以其他方式)、客户端设备160的地理位置和/或其他考虑被确定为相关而本地存储的全局实体的子集。如果识别的文本125匹配例如实体的别名、实体的属性和/或与实体相关的附加实体的属性(即,具有相关的至少阈值程度),可以被确定为符合被视觉渲染的内容,则实体匹配器135f可以确定识别的文本125符合任何这样的实体。例如,如果特定运动队被存储在实体数据库135f1中,则可以确定包括运动队别名的识别的文本符合该实体。当识别的文本125符合正在被渲染的和/或在实体数据库135f1中的实体时,查询分类器135更有可能激活设备上的nlu引擎140和/或设备上的履行引擎145。
[0059]
在一些实现中,在确定是否激活设备上的nlu和/或设备上的履行时,可以由查询分类器135处理上述考虑中的一个或多个。查询分类器135可以利用一个或多个规则和/或查询模型135b1来确定是否激活设备上的nlu和/或设备上的履行。例如,规则可以规定,如果条件单独存在或与其他特定条件组合存在,则应该(或不应该)激活设备上的nlu和/或设备上的履行。例如,规则可以规定仅当识别的文本与助理语言模型中的短语匹配或与当前被渲染的内容匹配时,才应该激活设备上的nlu和设备上的履行。在其中使用查询模型135b1的实现中,它可以是例如基于监督和/或半监督训练示例的经训练的机器学习模型。例如,在那些参与用户的许可下,训练示例可以具有基于参与用户的实际交互的训练示例输入。值得注意的是,与训练注意力模型(如上所述)中使用的监督信号或显式标签相比,训练查询模型中使用的监督信号或显式标签寻求确保用户打算与自动化助理进行交互。
[0060]
当设备上的nlu引擎140被激活时,设备上的nlu引擎140对识别的文本125执行设备上的自然语言理解以生成nlu数据141。nlu引擎140可以可选地利用一个或多个设备上的nlu模型(为简单起见未在图1a中示出)生成nlu数据141。nlu数据141可以包括例如对应于
口头话语的意图和可选的用于意图的参数(例如,槽值)。
[0061]
此外,当设备上的履行引擎145被激活时,设备上的履行引擎145使用自然语言理解数据生成履行数据146。履行引擎145可以可选地利用一个或多个设备上的履行模型(为了简单起见未在图1a中示出)来生成履行数据146。该履行数据146可以定义对口头话语的本地和/或远程响应(例如,应答)、基于口头话语与本地安装的应用执行的交互、基于口头话语传输到物联网(iot)设备的命令(直接或经由相应的远程系统)、和/或基于口头话语执行的其他解析动作。然后,提供履行数据146用于本地和/或远程实施/执行确定的动作以解析口头话语。执行可以包括例如渲染本地和/或远程响应(例如,视觉地和/或听觉地渲染(可选地利用本地的文本到语音模块))、与本地安装的应用交互、向物联网设备传输命令和/或其他动作。
[0062]
现在转向图1b,图示了包括来自图1a的各种组件并且可以在其中实施本文公开的实现的示例环境的框图。客户端设备160至少选择性地执行自动化助理客户端170。术语“助理设备”在本文中还用于指代至少选择性地执行自动化助理客户端170的客户端设备160。自动化助理客户端170在图1b的示例中包括上面关于图1a描述的注意力处理器115、设备上的语音识别引擎120、查询分类器135、设备上的nlu引擎140和设备上的履行引擎145。自动化助理客户端170还包括下面更详细地描述的语音捕获引擎172和视觉捕获引擎174。
[0063]
一个或多个基于云的自动化助理组件180可以可选地在一个或多个计算系统(统称为“云”计算系统)上实现,这些一个或多个计算系统经由通常以190指示的一个或多个局域网和/或广域网(例如,互联网)通信地耦合到客户端设备160。基于云的自动化助理组件180可以例如经由高性能服务器的集群来实现。
[0064]
在各种实现中,通过其与一个或多个基于云的自动化助理组件180的交互,自动化助理客户端170的实例可以形成从用户的角度看来似乎是自动化助理195的逻辑实例,用户可以用它进行人机交互(例如,口头交互、基于手势的交互和/或基于触摸的交互)。
[0065]
一个或多个客户端设备160可以包括例如以下中的一个或多个:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立的交互式扬声器、智能家电(诸如智能电视(或配备具有自动化助理能力的联网加密狗的标准电视))、和/或用户的可穿戴装置(其包括计算设备(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)。可以提供附加的和/或替代的客户端计算设备。
[0066]
客户端设备160可以可选地配备有具有一个或多个视场的一个或多个视觉组件163。视觉组件163可以采用各种形式,诸如单像相机、立体相机、lidar组件(或其他基于激光的组件)、雷达组件等。可以例如通过视觉捕获引擎174使用一个或多个视觉组件163以捕获其中部署了客户端设备160的环境的视觉帧(例如,图像帧、基于激光的视觉帧)。在一些实现中,可以利用这样的视觉帧来确定用户是否存在于客户端设备160附近和/或用户(例如,用户的面部)相对于客户端设备的距离。注意力处理器115可以利用这种确定来确定是否激活设备上的语音识别引擎120,和/或查询分类器135可以利用这种确定来确定是否激活设备上的nlu引擎140和/或设备上的履行发动机145。
[0067]
客户端设备160还可以配备一个或多个麦克风165。语音捕获引擎172可以被配置为捕获用户的语音和/或经由麦克风165捕获的其他音频数据。如本文所述,这样的音频数
据可以由注意力处理器115和/或设备上的语音识别引擎120使用。
[0068]
客户端设备160还可以包括一个或多个存在传感器167和/或一个或多个显示器169(例如,触敏显示器)。显示器169可以用于渲染来自设备上的语音识别引擎120的流式文本转录和/或可以用于渲染在执行来自设备上的履行引擎145的一些履行时生成的助理响应。显示器103还可以是用户界面输出组件之一,通过其渲染来自自动化助理客户端110的响应的可视部分。存在传感器167可以包括例如pir和/或其他无源存在传感器。在各种实现中,自动化助理客户端170的一个或多个组件和/或功能可以响应于基于来自存在传感器167的输出的人类存在的检测而启动。例如,注意力处理器115、视觉捕获引擎174和/或语音捕获引擎172可以可选地仅响应于检测到人类存在而被激活。此外,例如,那些和/或其他组件(例如,设备上的语音识别引擎120、设备上的nlu引擎140和/或设备上的履行引擎145)可以可选地响应于不再检测人类存在而被停用。在其中自动化助理客户端170的启动组件和/或功能取决于首先检测到一个或多个用户的存在的实现中,可以节省电力资源。
[0069]
在一些实现中,基于云的自动化助理组件180可以包括执行语音识别的远程asr引擎182、执行自然语言理解的远程nlu引擎183和/或生成履行的远程履行引擎184。还可以可选地包括远程执行模块,其基于本地或远程确定的履行数据实行远程执行。可以包括附加的和/或替代的远程引擎。如本文所述,在各种实现中,设备上语音处理、设备上的nlu、设备上的履行和/或设备上的执行可以至少由于它们在解析口头话语时提供的延迟和/或网络使用减少而被优先化(由于不需要客户端

服务器往返来解析口头话语)。然而,可以至少选择性地利用一个或多个基于云的自动化助理组件180。例如,此类组件可与设备上的组件并行使用,并且在本地组件发生故障时可以使用此类组件的输出。例如,设备上的履行引擎145可能在某些情况下失败(例如,由于客户端设备160的相对有限的资源),并且在这种情况下远程履行引擎184可以利用云的更鲁棒的资源生成履行数据。远程履行引擎184可以与设备上的履行引擎145并行操作并且在设备上的履行失败时利用其结果,或者可以响应于确定设备上的履行失败而调用远程履行引擎184。
[0070]
在各种实现中,nlu引擎(设备上的和/或远程的)可以生成带注释的输出,该带注释的输出包括识别的文本的一个或多个注释和自然语言输入的一个或多个(例如,所有)术语。在一些实现中,nlu引擎被配置为识别和注释自然语言输入中的各种类型的语法信息。例如,nlu引擎可以包括可以将单个单词分成语素和/或例如用它们的类来注释语素的词素模块。nlu引擎还可以包括语音标注器的一部分,该语音标注器被配置为用它们的语法角色来注释术语。此外,例如,在一些实现中,nlu引擎可以附加地和/或替代地包括被配置为确定自然语言输入中的术语之间的句法关系的依赖解析器。
[0071]
在一些实现中,nlu引擎可以附加地和/或替代地包括实体标记器,该实体标记器被配置为注释一个或多个片段中的实体引用,诸如对人的引用(包括例如文学角色、名人、公众人物等.)、组织、地点(真实的和想象的)等等。在一些实现中,nlu引擎可以附加地和/或替代地包括被配置为基于一个或多个上下文提示对同一实体的引用进行分组或“聚类”的共引用解析器(未描绘)。在一些实现中,nlu引擎的一个或多个组件可以依赖于来自nlu引擎的一个或多个其他组件的注释。
[0072]
nlu引擎还可以包括被配置为确定参与与自动化助理195的交互的用户的意图的意图匹配器。意图匹配器可以使用各种技术来确定用户的意图。在一些实现中,意图匹配器
可以访问一个或多个本地和/或远程数据结构,这些远程数据结构包括例如语法与响应意图之间的多个映射。例如,包含在映射中的语法可以随着时间的推移被选择和/或被学习,并且可以表示用户的共同意图。例如,一种语法“play<artist>”可以被映射到调用响应动作的意图,该响应动作使<artist>的音乐在客户端设备160上播放。另一种语法“[weather|forecast]today”可能能够与用户查询相匹配,例如“what’s the weather today(今天的天气如何)”和“what’s the forecast for today?(今天的预报是什么?)”。除了语法之外或代替语法,在一些实现中,意图匹配器可以单独或与一种或多种语法结合使用一种或多种经训练的机器学习模型。可以例如通过以下方式训练这些经训练的机器学习模型来识别意图:将来自口头话语的识别的文本嵌入到降维空间中,然后,例如使用诸如欧几里得距离、余弦相似度等的技术来确定哪些其他嵌入(以及因此意图)最接近。如上面的“play<artist>”示例语法所示,一些语法具有可以被填充槽值(或“参数”)的槽(例如,<artist>)。可以以各种方式确定槽值。通常用户会主动提供槽值。例如,对于语法“order me a<topping>pizza”,用户可能会说出短语“order me a sausage pizza(请给我点一份香肠披萨)”,在这种情况下,会自动填充槽<topping>。可以基于例如用户位置、当前被渲染的内容、用户偏好和/或其他提示来推断其他槽值。
[0073]
履行引擎(本地的和/或远程的)可以被配置为接收由nlu引擎输出的预测/估计的意图以及任何相关联的槽值并且履行(或“解析”)该意图。在各种实现中,用户意图的履行(或“解析”)可以导致例如由履行引擎生成的/获得的各种履行信息(也被称为履行数据)。这可以包括确定对口头话语的本地和/或远程响应(例如,应答)用于基于口头话语执行的与本地安装的应用的交互、基于口头话语传输到物联网(iot)设备(直接地或经由相应的远程系统)的命令、和/或基于口头话语执行的其他解析动作。然后,设备上的履行可以发起所确定的动作的本地和/或远程实施/执行以解析口头话语。
[0074]
在一些实现中,设备上的履行引擎145可以利用各种本地数据来确定履行信息,诸如用于各种意图的本地预缓存履行、从本地安装的应用本地获得的信息和/或其他本地数据。例如,设备上的履行引擎145(或其他组件)可以维持本地缓存,该缓存包括各种意图(以及可选的槽值)与相关联的履行数据之间的映射。响应于在客户端设备160处无法由设备上的履行引擎145在本地履行先前请求,基于先前已经从基于云的自动化助理组件180向助理应用提供的履行数据,至少一些本地缓存可以被填充有履行数据。履行数据可以被映射到请求的意图(和可选的槽值),和/或被映射到关于生成意图(和可选的槽值)的识别的文本。例如,先前的请求可以是“what is the default ip address for hypothetical router(假设路由器的默认ip地址是什么)”,并且“192.168.1.1”的响应(文本和/或声音)可能先前已响应于不能被设备上的履行引擎145本地实现而从基于云的自动化助理组件180中检索到。然后,该响应可以可选地响应于在响应中它是静态的指示而在本地缓存,并且被映射到先前响应的识别的文本和/或相应的nlu数据。此后,当响应仍然在本地缓存时,后续的“假设路由器的默认ip地址是什么”的请求可以通过使用缓存(即通过使用“192.168.1.1”的缓存响应)在本地履行。作为另一个示例,一些履行数据和映射的nlu数据(和/或相应的查询)可以被主动推送到自动化助理客户端170,尽管响应先前没有被自动化助理客户端170渲染和/或相应的查询先前没有在自动化助理客户端170处提交。例如,可以主动推送今天的天气预报和/或明天的天气预报以及到相应意图(例如,“weather request(天气请
求)”)和槽值(例如,分别为“today(今天)”、“tomorrow(明天)”)的映射,尽管先前没有在自动化助理客户端170处渲染那些预测(虽然可能已经响应于相关请求渲染了前一天的预报)。虽然响应仍然在本地缓存,但“what is today’s weather(今天的天气是什么)”或“what is tomorrow’s weather(明天的天气是什么)”的请求可以通过使用缓存在本地履行。
[0075]
图2描绘了图示根据本文公开的实现的示例方法200的流程图。为方便起见,参照执行操作的系统来描述方法200的操作。该系统可以包括各种计算机系统的各种组件,诸如客户端设备(例如,图1的客户端设备160)的一个或多个组件。此外,虽然以特定顺序示出了方法200的操作,但这并不意味着是限制性的。可以重新排序、省略或添加一个或多个操作。可以理解的是,图2中所示的操作可以对应于本文描述的各种操作(例如,发明内容中描述的操作以及图1a、1b、3a、3b、4a、4b、5a和5b)。
[0076]
在块252处,系统处理音频数据和/或附加传感器数据。音频数据由客户端设备的一个或多个麦克风检测。附加传感器数据可以来自客户端设备的一个或多个非麦克风传感器。如本文所述,处理音频数据和/或附加传感器数据可以包括处理原始音频数据和/或原始附加传感器数据、和/或其表示和/或抽象。
[0077]
在块254处,系统基于块252的处理来确定是否激活设备上的语音识别。如果在块254处的确定为否,则系统继续在块252处处理音频数据和/或附加传感器数据。
[0078]
如果块254处的决定为是,则系统进行到块256并且使用现在被激活的设备上的语音识别来生成识别的文本。可以基于缓冲的音频数据(例如,在块252的处理期间缓冲)和/或随后接收的音频数据生成识别的文本。可选地,在块256a处,系统还经由客户端设备的显示器提供识别的文本的流式转录,因为它正被激活的设备上的语音识别所识别。
[0079]
在块258处,系统处理识别的文本(在块256处生成)和/或其他数据。在一些实现中,块258可以响应于使用终结点和/或其他技术检测到口头话语的结束而开始。在一些其他实现中,块258可以在生成识别的文本时或以其他方式在终结点之前开始,以减少延迟。
[0080]
在块260处,系统可选地基于块258的处理来确定是否激活设备上的nlu。
[0081]
如果块260的决定为否,则系统进行到块262并且确定是否停止设备上的语音识别。在一些实现中,确定是否停止设备上的语音识别可以包括在没有检测到话音活动、定向语音、任何识别的文本和/或其他考虑的情况下来确定阈值量的时间是否已经过去。
[0082]
如果块262的决定为是,则系统进行到块262a并且停止设备上的语音识别,然后返回到块252。
[0083]
如果块262的决定为否,则系统进行到块256并且继续使用设备上的语音识别针对新音频数据中的任何口头话语来识别文本。
[0084]
如果块260的决定为是,则系统进行到块264并且使用设备上的nlu并基于识别的文本来生成nlu输出。
[0085]
在框266处,系统使用设备上的履行引擎来确定是否生成履行数据。在一些实现中,如果系统在块264处生成nlu输出,则系统确定生成履行数据。在一些实现中,系统基于块258的处理来确定生成履行数据。如本文所述,在一些实现中,块266可以进一步包括,如果设备上的履行不成功,则确定利用来自远程履行引擎的远程履行数据。nlu数据和/或识别的文本可以被提供给远程履行引擎以获得远程履行数据。这种数据的提供可以响应于确
定设备上的履行不成功而发生,或者如果设备上的履行不成功,则可以抢先发生以减少接收远程履行数据的延迟。
[0086]
如果在框266处的决定为否,则系统进行到框262。如果框266处的确定为是,则系统进行到框268并执行根据框266处生成的履行数据的履行。履行的执行可以在设备上和/或远程发生。
[0087]
图3a描绘了客户端设备360的示例,用户302提供“turn on light1(打开灯1)”的无热词口头话语302a,并且被激活的设备上的语音识别导致口头话语302a的流式转录362被渲染在客户端设备360的显示器369上。还示出了取消按钮364,当被选择时,取消按钮364使设备上的语音识别被取消,并且防止对于口头话语发生设备上的nlu和设备上的履行。注意,流式转录362和可选的取消按钮364在显示器369上占据非常少(即,小于5%)的空间,以便最低限度地遮挡很多当前被渲染的内容,并且减轻转移(和潜在地延长)用户与客户端设备360的任何当前触摸交互的风险。流式转录362和可选的取消按钮364可以可选地覆盖在任何当前被渲染的内容之上,并且可以可选地被半透明地渲染。此外,至少流式转录362可以可选地仅包括没有任何背景元素的文本。这样的可选特征可以进一步减轻转移(并且潜在地延长)用户与客户端设备360的任何当前触摸交互的风险。
[0088]
如本文所述,在确定激活设备上的语音识别时可以考虑各种考虑因素。例如,可以基于指示用户302正拿着客户端设备360和/或已经拿起客户端设备360的非麦克风传感器信号来激活设备上的语音识别。此外,例如,可以附加地或替代地基于指示话音活动、定向语音和/或被识别为属于用户302的配置文件的语音的存在的音频数据(来自客户端设备360的麦克风)来激活设备上的语音识别。
[0089]
图3b描绘了在已经提供了图3a的口头话语302a之后,并且在设备上的nlu和设备上的履行已经被激活并且实行了履行的相应执行之后的客户端设备360的示例。例如,如本文所述,可以响应于基于识别的文本和/或上下文数据的各种考虑来激活设备上的nlu和/或设备上的履行。此外,可以利用设备上的nlu来处理识别的文本并生成nlu数据,并且可以利用设备上的履行来基于nlu数据生成履行数据。在图3a和3b的例子中,履行数据定义了命令应该被(直接或间接)发送到“灯1”以使其打开,并且图形界面363应该被渲染。履行的执行可以通过设备上的组件和/或远程组件。图形界面363既通知用户“灯1”已经打开,又向用户302提供与调光元件触摸交互以调节“灯1”的亮度的能力。注意,图形界面363在显示器369上占用相对较少(即,小于25%)的空间,以便最小程度地遮挡当前被渲染的内容并降低转移(并且潜在地延长)用户与客户端设备360的任何当前触摸交互的风险。图形界面363可以可选地覆盖在任何当前被渲染的内容之上并且可以可选地被半透明地渲染。
[0090]
图4a描绘了在前台具有消息传递应用408的客户端设备460的示例,用户402提供“reply to it,

sounds good’(回复它,'听起来不错')”的无热词口语话语402a,并且被激活的设备上的语音识别使口头话语462a的流式转录462被显示在客户端设备460的显示器上。还示出了取消按钮464,其在被选择时使设备上的语音识别被取消,并且防止对于口头话语发生设备上的nlu和设备上的履行。注意,流式转录462和可选的取消按钮464在显示器469上占据非常少(即,小于3%)的空间,以便最低限度地遮挡许多当前被渲染的内容,并且减轻转移(和潜在地延长)用户与被渲染在客户端设备460的前台中的消息传递应用408的任何当前交互(例如,从“bob”读取消息408a)。进一步注意,流式转录462和取消按钮464由
与消息传递应用408分开的助理应用渲染。如本文所述,在确定激活设备上的语音识别时可以考虑各种考虑因素。
[0091]
图4b描绘了在已经提供了图4a的口头话语402a之后,并且在设备上的nlu和设备上的履行已经被激活,并且实现了对应的履行的设备上执行使消息传递应用480基于图4a的口头话语发送回复之后的客户端设备460的示例。例如,可以至少部分地基于确定识别的文本符合消息传递应用408来激活设备上的nlu和/或设备上的履行。例如,确定识别的文本符合由消息传递应用408执行的动作。在一些情况下,这可以进一步基于消息传递应用408在前台,和/或可在消息传递应用408的当前状态下执行的识别的文本符合的动作。
[0092]
可以利用设备上的nlu来处理识别的文本并生成nlu数据,并且可以利用设备上的履行来基于nlu数据生成履行数据。在图4a和4b的示例中,履行数据定义了助理应用应该(直接或经由操作系统)向消息传递应用408发送命令以使“听起来不错”的回复408b(图4b)被生成并且被发送为当前渲染线程中的回复。履行的执行可以通过发送这样的命令来发生。
[0093]
图5a描绘了客户端设备560的示例,其中,在前台具有照明控制应用510,用户502提供意图给另一个用户504的无热词口语话语502a(例如,话语502a可以响应于询问“what should i say in response to jane’s email?(我应该对jane的电子邮件说些什么?)”的另一个用户504),并且激活的设备上的语音识别使口头话语的流式转录562被渲染在客户端设备560的显示器569上。如本文所述,在确定激活设备上的语音识别时可以考虑各种考虑因素。尽管图5a中示出了设备上的语音识别,但是在各种实现中,它可以可选地不被激活和/或不生成流式转录562。确定不激活设备上的语音识别可以基于一种或多种考虑。例如,由于用户502实际上向另一个用户504提供话语502a,所以它不能至少部分地基于确定定向语音没有发生(例如,没有以至少阈值概率发生)而被激活。作为另一个示例,不能附加地或替代地至少部分地基于确定两个或更多用户正在使用ti

sid和/或说话者分类技术彼此交谈而激活它。作为另一示例,不能附加地或替代地至少部分地基于照明应用510在前台和/或最近没有通知被接收到和/或在通知栏中来激活它。
[0094]
图5b描绘了在已经提供了图5a的口头话语502a之后和在已经确定不激活设备上的nlu和/或设备上的履行之后的客户端设备560的示例。作为确定不激活设备上的nlu和/或设备上的履行的结果,不执行履行并且从显示器569移除流式转录。注意,话语502a与图4a的话语402a相同。然而,不像图4b,在图5b的示例中不执行(或甚至生成)履行。这可以至少部分地基于确定识别的文本不符合正在执行的照明应用510(而它确实符合图4a和4b中的消息传递应用408)。例如,确定识别的文本未能符合可由照明应用510执行的动作。在一些情况下,这可以进一步基于照明应用510处于前台和/或消息传递应用408(或其他消息传递应用)未执行和/或最近被访问。
[0095]
图6是可以可选地用于执行这里描述的技术的一个或多个方面的示例计算设备610的框图。在一些实现中,客户端设备、基于云的自动化助理组件和/或其他组件中的一个或多个可以包括示例计算设备610的一个或多个组件。
[0096]
计算设备610通常包括至少一个处理器614,其经由总线子系统612与多个外围设备通信。这些外围设备可以包括:存储子系统624,包括例如存储器子系统625和文件存储子系统626;用户界面输出设备620;用户界面输入设备622;和网络接口子系统616。输入和输
出设备允许用户与计算设备610交互。网络接口子系统616提供到外部网络的接口并耦合到其他计算设备中的相应的接口设备。
[0097]
用户界面输入设备622可以包括:键盘;诸如鼠标、轨迹球、触摸板或图形输入板之类的定点设备;扫描仪;并入显示器中的触摸屏;诸如话音识别系统、麦克风之类的音频输入设备;以及/或者其他类型的输入设备。一般而言,术语“输入设备”的使用旨在包括所有可能类型的设备以及将信息输入到计算设备610或通信网络上的方式。
[0098]
用户界面输出设备620可以包括显示子系统、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(crt)、诸如液晶显示器(lcd)的平板设备、投影设备或用于创建可见图像的一些其他机构。显示子系统还可以诸如经由音频输出设备提供非视觉显示器。一般而言,术语“输出设备”的使用旨在包括所有可能类型的设备以及将信息从计算设备610输出到用户或另一机器或计算设备的方式。
[0099]
存储子系统624存储提供本文描述的一些或所有模块的功能的编程和数据构造。例如,存储子系统624可以包括用于执行图2的方法的选定方面以及实现在图1a、1b、2a、2b、3a、3b、4a和4b中描绘的各种组件的逻辑。
[0100]
这些软件模块通常由处理器614单独或与其他处理器组合执行。存储子系统624中使用的存储器625可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)630和其中存储固定指令的只读存储器(rom)632。文件存储子系统626可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、cd

rom驱动器、光驱或可移动介质盒。实现某些实现的功能的模块可以由文件存储子系统626存储在存储子系统624中,或者存储在处理器614可访问的其他机器中。
[0101]
总线子系统612提供一种机制,用于使得计算设备610的各种组件和子系统如预期那样彼此通信。尽管总线子系统612被示意性地示为单条总线,但是总线子系统的替代实现可以使用多条总线。
[0102]
计算设备610可以是各种类型的,包括工作站、服务器、计算集群、刀片服务器、服务器群或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图6中描绘的计算设备610的描述仅旨在作为用于说明一些实现的目的的特定示例。计算设备610的许多其他配置可能具有比图6中描绘的计算设备更多或更少的组件。
[0103]
在本文描述的系统收集或以其他方式监视关于用户的个人信息,或者可能利用个人和/或监视的信息的情况下,可以向用户提供控制程序或特征是否收集用户信息(例如,关于用户社交网络、社交动作或活动、职业、用户偏好或用户当前地理位置的信息),或控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。此外,某些数据可能会在存储或使用之前以一种或多种方式进行处理,以便移除个人身份信息。例如,用户的身份可能会被处理使得无法确定用户的个人身份信息,或者在获取地理位置信息的位置时用户的地理位置可以被一般化(诸如到城市、邮政编码或州级),从而无法确定用户的特定地理位置。因此,用户可以控制如何收集和/或使用关于用户的信息。
[0104]
以上描述被提供作为本公开的一些实现的概述。下面更详细地描述那些实现和其他实现的进一步描述。
[0105]
在一些实现中,提供了一种方法,该方法由客户端设备的自动化助理应用使用客户端设备的一个或多个处理器执行。该方法包括响应于确定一个或多个条件的满足而确定
激活设备上的语音识别。确定一个或多个条件的满足包括基于以下两者的处理来确定满足:由客户端设备的一个或多个麦克风检测到的无热词音频数据;以及基于来自客户端设备的至少一个麦克风传感器的输出的附加传感器数据。该方法还包括:使用设备上的语音识别从由音频数据捕获的和/或由一个或多个麦克风在音频数据之后检测到的附加无热词音频数据捕获的口头话语来生成识别的文本。生成识别的文本包括对音频数据和/或附加音频数据执行设备上的语音识别。该方法还包括基于识别的文本确定是否激活对识别的文本的设备上的自然语言理解和/或激活基于设备上的自然语言理解的设备上的履行。该方法还包括,当确定激活设备上的自然语言理解和/或激活设备上的履行时,执行设备上的自然语言理解和/或启动设备上的履行。此外,该方法包括,当确定不激活设备上的自然语言理解和/或不激活设备上的履行时,停用设备上的语音识别。
[0106]
该技术的这些和其他实现可以包括以下特征中的一个或多个。
[0107]
在一些实现中,附加传感器数据基于的至少一个非麦克风传感器可以包括加速度计、磁力计、陀螺仪和/或基于激光的视觉传感器。
[0108]
在一些实现中,基于处理无热词音频数据来确定一个或多个条件的满足包括:使用声学模型处理无热词音频数据以生成定向语音度量。可以训练声学模型以区分被定向到客户端设备的口头话语和不被定向到客户端设备的口头话语。在那些实现中的一些实现中,基于处理无热词音频数据来确定一个或多个条件的满足可以进一步包括部分地基于定向语音度量来确定一个或多个条件的满足。
[0109]
在一些实现中,基于处理无热词音频数据来确定一个或多个条件的满足可以附加地或替代地包括使用话音活动检测器处理无热词音频数据以检测人类语音的存在,并且部分地基于检测人类语音的存在来确定一个或多个条件的满足。
[0110]
在一些实现中,基于处理无热词音频数据来确定一个或多个条件的满足可以附加地或替代地包括:使用与文本无关的说话者识别模型处理无热词音频数据以生成话音嵌入;将话音嵌入与本地存储在客户端设备上的识别的话音嵌入进行比较;以及部分地基于比较来确定一个或多个条件的满足。
[0111]
在一些实现中,基于识别的文本确定是否激活设备上的自然语言理解和/或激活设备上的履行可以包括:确定文本是否匹配存储在本地存储的助理语言模型中的一个或多个短语。本地存储的助理语言模型可以包括多个短语,每个短语可由自动化助理解释。
[0112]
在一些实现中,基于识别的文本确定是否激活设备上的自然语言理解和/或激活设备上的履行可以附加地或替代地包括确定文本是否符合预定义的助理查询模式.
[0113]
在一些实现中,基于识别的文本确定是否激活设备上的自然语言理解和/或激活设备上的履行可以附加地或替代地包括:基于一个或多个相关动作短语确定一个或多个相关动作短语,每个动作短语都具有与在客户端设备处响应于先前用户输入而执行的最近动作的定义对应关系;并且确定文本的至少一部分是否与一个或多个相关动作短语中的至少一个匹配。
[0114]
在一些实现中,基于识别的文本确定是否激活设备上的自然语言理解和/或激活设备上的履行可以附加地或替代地包括确定识别的文本的至少一部分是否符合在口头话语期间在客户端设备处被渲染的内容。在这些实现中的一些实现中,在客户端设备处被渲染的内容包括被图形渲染的建议自动化助理动作。
[0115]
在一些实现中,基于识别的文本确定是否激活设备上的自然语言理解和/或激活设备上的履行可以附加地或替代地包括确定设备上的履行,并且进一步包括在设备上执行履行。在这些实现中的一些实现中,在设备上的执行履行包括向客户端设备上的单独应用提供命令。
[0116]
在一些实现中,停用设备上的语音识别可以包括:当确定不激活设备上的自然语言理解和/或履行时,并且进一步至少基于在没有进一步话音活动检测和/或进一步的识别的文本的情况下经过的阈值持续时间,停用设备上语言识别。
[0117]
在一些实现中,执行设备上的自然语言理解和/或设备上的履行可以包括:执行设备上的自然语言理解以生成自然语言理解数据;以及使用自然语言理解数据来执行设备上的履行。
[0118]
在一些实现中,该方法还可以包括,在使用设备上的语音识别生成识别的文本期间,使识别的文本的流式转录在客户端设备的显示器处的图形界面中被渲染。在那些实现中的一些实现中,该方法还可以包括在具有流式转录的图形界面中渲染可选的界面元素,当被选择时,可选的界面元素使设备上的语音识别停止。在那些实现中的一些实现中,该方法可以进一步包括当确定激活设备上的自然语言理解和/或激活设备上的履行时改变图形界面。
[0119]
在一些实现中,提供了一种方法,该方法由客户端设备的自动化助理应用使用客户端设备的一个或多个处理器执行的。该方法包括响应于确定一个或多个条件的满足而确定激活设备上的语音识别。确定一个或多个条件的满足包括基于以下处理来确定满足:客户端设备的一个或多个麦克风检测到的无热词音频数据;和/或基于来自客户端设备的至少一个非麦克风传感器的输出的附加传感器数据。该方法还包括:使用设备上的语音识别,从由音频数据捕获的和/或由一个或多个麦克风在音频数据之后检测到的附加无热词音频数据捕获的口头话语来生成识别的文本。生成识别的文本包括对音频数据和/或附加音频数据执行设备上的语音识别。该方法还包括:基于识别的文本,确定激活识别的文本的设备上的自然语言理解;对识别的文本执行激活的设备上的自然语言理解;以及基于设备上的自然语言理解在设备上启动口头话语的履行。
[0120]
该技术的这些和其他实现可以包括以下特征中的一个或多个。
[0121]
在一些实现中,基于识别的文本来确定激活识别的文本的设备上的自然语言理解可以包括:确定识别的文本的至少一部分是否符合在口头话语期间在客户端设备上被渲染的内容,和/或确定文本的至少一部分是否与一个或多个相关动作短语匹配,每个动作短语具有与响应于先前用户输入在客户端设备处执行的最近动作的定义对应关系。
[0122]
其他实现可以包括计算机程序,该计算机程序包括可由一个或多个处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)和/或张量处理单元(tpu))来执行诸如上述和/或本文其他地方描述的一种或多种方法的方法的指令。另外的其他实现可以包括具有至少一个麦克风、至少一个显示器以及一个或多个处理器的客户端设备,该一个或多个处理器可操作以执行存储的指令以执行诸如上文和/或本文其他地方描述的一种或多种方法的方法。
[0123]
应当理解,前述概念和这里更详细描述的附加概念的所有组合都被设想为这里公开的主题的一部分。例如,出现在本公开末尾的要求保护的主题的所有组合都被认为是本
文公开的主题的一部分。