用于调用自动助理的动态的和/或特定于场境的热词的制作方法

文档序号:23725821发布日期:2021-01-26 16:05阅读:122来源:国知局
用于调用自动助理的动态的和/或特定于场境的热词的制作方法
用于调用自动助理的动态的和/或特定于场境的热词


背景技术:

[0001]
人们可以参与与在此称为“自动助理”(也称为“聊天机器人”、“虚拟助理”、“交互式个人助理”、“智能个人助理”、“个人语音助理”、“会话代理”等)的人机对话。例如,人类(其当他们与自动助理交互时可以称为“用户”)可以使用自由形式的自然语言输入来提供命令、查询和/或请求,自由形式的自然语言输入可以包括被转换成文本然后被处理的有声话语和/或键入的自由形式的自然语言输入。
[0002]
在许多情况下,在自动助理可以解释并响应用户的请求之前,它必须首先例如使用通常被称为“热词”或“唤醒单词”的预定义口头调用短语而被“调用”。因此,许多自动助理在本文中称为“有限的热词收听状态”或“默认非活动状态”下操作,在该状态下,它们总是“收听”麦克风针对有限(或受限)的一组热词采样的音频数据。音频数据中捕获的任何话语(除了有限的一组热词以外)都将被忽略。一旦用有限的一组热词中的一个或多个调用了自动助理,它就可以在此处称为“语音识别状态”或“一般收听状态”的状态下操作,在该状态下它对麦克风采样的音频数据进行语音到文本(“stt”)处理以生成文本输入,然后对文本输入进行语义处理以确定用户的意图(并实现该意图)。
[0003]
在默认的非活动状态下操作自动助理提供了多种好处,在该默认状态下,它仅收听有限数量的热词。限制被“收听”的热词的数量可以节省功率和/或计算资源。例如,可以训练设备上机器学习模型以生成指示何时检测到一个或多个热词的输出。实现这样的模型可能仅需要最少的计算资源和/或功率。在客户端设备上本地存储这样的训练模型还提供了与隐私有关的优点。例如,大多数用户不希望在运行自动助理的计算设备的能力范围内对他们说的一切执行stt处理。另外,设备上模型还防止将指示不打算由自动助理处理的用户话语的数据提供给通常至少部分在云上运行的语义处理器。
[0004]
除了这些优点之外,在有限的热词收听状态下操作自动助理也带来了各种挑战。为了避免无意中调用自动助理,通常将热词选择为在日常对话中不经常说出的单词或短语(例如“长尾”单词或短语)。但是,存在其中要求用户在调用自动助理执行某些操作之前说出长尾热词可能会很麻烦的各种情况。
[0005]
例如,用户经常要求自动助理设置计时器或警报。当这些计时器和警报到期和/或关闭时,用户必须先说出一些长尾热词来唤醒自动助理(即,将自动助理转换为语音识别模式),然后用户才能通过说“停止计时器”之类的内容对于计时器或闹钟采取行动。用户通常会要求自动助理播放媒体(例如音乐、视频),但是一旦进行媒体播放,用户必须先使用热词唤醒自动助理,然后再发出命令,诸如“暂停”、“快进、”、“倒带”、“向前跳”和“转到下一首歌”等等。
[0006]
一些自动助理可以在用户说出命令之后提供用于“连续收听”模式的手动选项,从而用户在执行后续命令之前不需要用热词“重新唤醒”自动助理。但是,手动将自动助理转换为连续收听模式意味着自动助理可能正在执行用于更多话语的更多stt处理,从而可能浪费功率和/或计算资源。另外,并且如上所述,大多数用户更喜欢仅在明确调用自动助理后才进行stt处理。


技术实现要素:

[0007]
本文描述了用于使自动助理能够使用“动态”和/或“特定于场境的”热词的技术。在各种情况下,配置有本公开的所选方面的自动助理可以更智能地收听对于当前情况(或“场境”)相关的特定于场境的热词。在各种实现中,补充或代替用于调用自动助理的默认热词,自动助理可以收听这些特定于场境的热词。换句话说,在各种实现中,配置有本公开的所选方面的自动助理可以在某些情况下至少暂时地扩展或改变其热词词汇。
[0008]
在各种实现中,可以在各种不同的情况下选择性地启用动态热词,诸如用于与自动助理接洽的计算设备向特定状态的转变。作为示例,在一些实现中,当由自动助理触发的用户请求的计时器或警报在计算设备处到期时,可以检测计算设备的状态。响应于检测到该状态,补充或代替始终可用以调用自动助理的默认热词,可以启用一个或多个特定于计时器/警报场境的热词。因此,例如,在计时器到期之前,自动助理可能只收听它总是在收听的默认热词;一旦计时器到期并且在输出声音警报时,自动助理可能会收听其他热词,例如“停止计时器”、“取消计时器”等。当检测到这些其他热词时,它们可能会触发自动助理执行响应操作,在这种情况下将停止计时器。
[0009]
作为另一个示例,自动助理通常用于回放媒体,例如音乐或视频。在回放由自动助理(通过用户请求)触发的媒体时,自动助理可以收听其他特定于场境的热词,例如“停止”、“暂停”、“播放”、“下一个”和“最后”等等。更一般地,在各种实现中,由自动助理触发的各种应用可以具有与之相关联的各种特定于应用的热词。当那些应用程序处于活动状态(例如,在前台运行,尚未完成)时,可以收听那些特定于应用的热词并在检测到它们时对于其采取行动。
[0010]
作为另一个示例,在一些实现中,由用户用来与自动助理接洽的助理设备可以包括显示器。除了在口头人机对话中与用户接洽之外,自动助理还可以在显示器上显示与人机对话有关的内容或其他内容(例如天气、日程、待进行清单等)。在一些实现中,该显示的内容可以用于激活在继续显示该内容的同时将收听的动态热词。
[0011]
可以由自动助理或代表自动助理以各种方式来检测热词。在一些实现中,可以训练机器学习模型,例如神经网络、隐马尔可夫模型等,以检测音频数据流中一个或多个热词和/或音素的有序或无序序列。在一些这样的实现中,可以针对每个适用的热词(或包含多个热词的“热门短语”)训练单独的机器学习模型。
[0012]
在一些实现中,可以根据需要下载训练为检测这些动态热词的机器学习模型。例如,在计时器示例中,当用户设置计时器时(并且在计时器到期之前),自动助理可以将已经训练的神经网络下载到本地设备以检测(无需先检测默认热词的调用)各种特定于计时器的热词(例如,“停止”、取消计时器等)。
[0013]
附加地或替代地,在一些实现中,为了改善用户体验并减少等待时间,可以在检测到特定于场境的热词时意欲由自动助理执行的响应动作可以被预先缓存在设备上,在该设备,用户与自动助理接洽。这样,一旦检测到特定于场境的热词,自动助理便可以采取立即措施。这与自动助理首先可能需要连接一个或多个计算系统(例如云)以满足用户的请求的情况形成对比。
[0014]
作为示例,假设具有显示器的辅助设备包括与当前活动的特定于场境的热词相对应的一个或多个“卡”。假设其中一张卡显示“今天的天气”,并且该卡的显示导致特定于场
境的热词“今天的天气”(或“今日的天气”等)处于活动,从而允许用户说“今天的天气”以获取今天的天气,而无需先调用自动助理。因为显示了此卡(更重要的是,特定于场境的热词处于活动),所以可以提前执行向远程天气服务请求今天天气的响应动作(无需用户特别要求),并且响应数据可能会本地缓存。因此,当用户确实说“今天的天气”时,已经检索到表示今天天气预报的数据,并且自动助理可以快速组合自然语言响应,而不会因与远程天气服务进行实时通信而造成延迟。
[0015]
本文描述的技术引起多种技术优势。扩展在某些情况下(至少暂时)可用于调用自动助理的词汇可以改善用户与自动助理的接洽。例如,它可以减少在使自动助理执行一些场境相关的操作(例如停止计时器、暂停音乐等)之前首先调用自动助理的需要。一些现有的助理设备通过允许用户简单地点击设备表面的活动部分(例如,电容式触摸板或显示器),从而使暂停媒体播放或停止计时器变得容易,而无需先调用自动助理。但是,肢体残疾的用户和/或其他(例如,做饭、开车等)被占用的用户可能无法轻松触摸设备。因此,本文描述的技术使那些用户能够更容易和快速地使自动助理执行一些响应性动作,例如停止计时器,而无需首先调用它。
[0016]
另外,如本文所述,在一些实现中,自动助理可以主动下载响应于特定于场境的热词的内容。例如,当自动助理转换到其中显示一个或多个带有热词的卡的特定内容(例如天气、交通、日程等)时,可以抢先下载响应于这些热词的信息并将其缓存在内存中。因此,当说出一个或多个热词时,与自动助理必须首先通过一个或多个网络对一个或多个远程资源进行联系以获得响应信息的情况相比,自动助理能够更快地提供响应信息。当辅助设备在可能驶入/驶出其中可用数据网络的区域的车辆中时,这也可能是有益的。通过响应于某些特定于场境的热词,例如在车辆处于数据覆盖区域中时抢先下载和缓存内容,如果用户在数据覆盖区域之外旅行时请求该数据,则该数据可用。
[0017]
作为又一个示例,本文描述的技术可以使用户能够触发响应动作而无需全面的语音到文本(“stt”)处理。例如,当某些场境调用模型被激活并检测特定于场境的热词时,可以基于这些模型的输出来触发响应动作,而无需使用stt处理将用户的话语转换为文本。这可以节省客户端设备上的计算资源,和/或可以避免与云基础结构的往返通信以进行用户话语的stt和/或语义处理,其节省了网络资源。而且,避免往返传输可以改善等待时间并且避免向云基础设施发送至少一些数据,这从用户隐私的角度来看可能是有利的和/或期望的。
[0018]
在一些实现中,提供了一种由一个或多个处理器执行的方法,该方法包括:至少部分地在计算设备上操作自动助理;在由麦克风捕获的音频数据中监视一个或多个默认热词,其中,检测到一个或多个默认热词触发自动助理从有限的热词收听状态转换为语音识别状态;检测计算设备向给定状态的转变;以及,响应于该检测,除了一个或多个默认热词之外,在由麦克风捕获的音频数据中监视一个或多个特定于场境的热词,其中,检测到一个或多个特定于场境的热词触发自动助理执行与给定状态相关联的响应动作,而无需检测一个或多个默认热词或将自动助理转换为语音识别状态。
[0019]
本文公开的技术的这些和其他实现可以可选地包括以下特征中的一个或多个。
[0020]
在各种实现中,给定状态可以包括由自动助理设置的计时器期满,并且其中,检测到一个或多个特定于场境的热词触发自动助理取消计时器。在各种实现中,给定状态可以
包括经由自动助理触发的媒体回放,并且检测到一个或多个特定于场境的热词可以使自动助理改变媒体回放。在各种实现中,媒体回放的改变可以包括暂停、播放、快进、倒带或改变音量中的一种或多种。
[0021]
在各种实现中,检测可以包括确定内容已经被渲染在计算设备的显示器上。在各种实现中,该方法可以进一步包括基于在显示器上渲染的内容来识别一个或多个特定于场境的热词。在各种实现中,基于在显示器上渲染的内容来识别一个或多个特定于场境的热词可以包括基于在显示器上渲染的内容来确定一个或多个音素。在各种实现中,一个或多个识别的音素可以用于调整经训练的机器学习模型以接受一个或多个音素并拒绝一个或多个其他音素。
[0022]
另外,一些实现包括一个或多个计算设备的一个或多个处理器,其中,一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中,所述指令被配置为引起前述任何一个方法的执行。一些实现还包括一个或多个非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行任何前述方法的计算机指令。
[0023]
应当理解,本文中更详细描述的前述概念和附加概念的所有组合被认为是本文公开的主题的一部分。例如,出现在本公开的开头处的要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
[0024]
图1是其中可以实现本文公开的实现的示例环境的框图。
[0025]
图2描绘了根据各种实现的状态机的示例,该状态机可以由配置有本公开的所选方面的自动助理来实现。
[0026]
图3a、3b、4a、4b、5a、5b和6是其中可以采用公开的技术的另外的示例场景。
[0027]
图7描绘了示出根据本文公开的实现的示例方法的流程图。
[0028]
图8示出了计算设备的示例架构。
具体实施方式
[0029]
现在转到图1,示出了其中可以实现本文公开的技术的示例环境。该示例环境包括一个或多个客户端计算设备106。每个客户端设备106可以执行自动助理客户端108的相应实例,自动助理客户端108在本文中也可以被称为自动助理的“客户端部分”。可以在一个或多个计算系统(统称为“云”计算系统)上实现一个或多个基于云的自动助理组件119(在本文中也可以统称为自动助理的“服务器部分”),该一个或多个计算系统经由通常以114指示的一个或多个局域网和/或广域网(例如,因特网)通信地耦合到客户端设备106。
[0030]
在各种实现中,自动助理客户端108的实例通过其与一个或多个基于云的自动助理组件119的交互的方式可以形成从用户的角度看似乎是自动助理120的逻辑实例的内容,用户可以参与与自动助理120的人机对话。这种自动助理120的一个实例在图1中以虚线示出。因此,应该理解,与在客户端设备106上执行的自动助理客户端108进行接洽的每个用户实际上可以与他或她自己的自动助理120的逻辑实例进行接洽。为了简洁和简单起见,本文中用作“服务”特定用户的术语“自动助理”将指在由用户操作的客户端设备106上执行的自动助理客户端108和一个或多个基于云的自动助理组件119(其可以在多个自动助理客户端
108之间共享)的组合。还应该理解,在一些实现中,自动助理120可以响应于来自任何用户的请求,而不管该自动助理120的特定实例是否实际上“服务”了该用户。
[0031]
一个或多个客户端设备106可以包括例如以下的一个或多个:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立的交互式扬声器(在某些情况下可能包括视觉传感器)、诸如智能电视的智能设备(或配备有具有自动助理功能的网络加密狗的标准电视)和/或包括计算设备(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)的用户可穿戴装置。可以提供附加的和/或替代的客户端计算设备。一些客户端设备106,例如独立的交互式扬声器(或“智能扬声器”),可以采取辅助设备的形式,其主要被设计为促进用户和自动助理120之间的对话。一些这样的辅助设备可以采取独立的带显示器的交互式扬声器的形式,显示器可能是也可能不是触摸屏。
[0032]
在一些实现中,客户端设备106可以配备有具有一个或多个视野的一个或多个视觉传感器107,尽管这不是必需的。视觉传感器107可以采用各种形式,例如数字相机、无源红外(“pir”)传感器、立体相机、rgbd相机等。一个或多个视觉传感器107可以例如通过图像捕获模块111来用于捕获其中部署了客户端设备106的环境的图像帧(静止图像或视频)。然后可以例如通过视觉提示模块1121来分析这些图像帧,以检测图像帧中包含的用户提供的视觉提示。这些视觉提示可以包括但不限于手势、对特定参考点的凝视、面部表情、用户的预定义运动等。这些检测到的视觉提示可以用于各种目的,例如调用自动助理120和/或导致自动助理120采取各种动作。
[0033]
如本文中更详细描述的,自动助理120经由一个或多个客户端设备106的用户界面输入和输出设备参与与一个或多个用户的人机对话会话。在一些实现中,自动助理120可以响应于用户经由客户端设备106之一的一个或多个用户界面输入设备提供的用户界面输入而参与与用户的人机对话会话。在那些实现中的一些中,用户界面输入是明确地指向自动助理120。例如,用户可以口头提供(例如,键入、说出)预定的调用短语,例如“好,助理”或“嘿,助理”,以使自动助理120主动开始收听或监视键入的文本。附加地或可替代地,在一些实现中,可以基于一个或多个检测到的视觉提示,单独地或与口头调用短语结合地调用自动助理120。
[0034]
在一些实现中,即使当用户界面输入没有明确地指向自动助理120时,自动助理120也可以响应于用户界面输入而参与人机对话会话。例如,自动助理120可以检查用户界面输入的内容并响应于用户界面输入中存在某些术语和/或基于其他提示而参与对话会话。在许多实现中,自动助理120可以利用语音识别来将来自用户的话语转换为文本,并且因此例如通过提供搜索结果、一般信息和/或采取一种或多种响应动作(例如,播放媒体、启动游戏、点菜等)来对文本做出响应。在一些实现中,自动助理120可以附加地或替代地对话语做出响应而无需将话语转换为文本。例如,自动助理120可以将语音输入转换为嵌入、实体表示(指示语音输入中存在的实体)和/或其他“非文本”表示,并对这样的非文字表示进行操作。因此,本文描述为基于从语音输入转换的文本进行操作的实现可以附加地和/或替代地直接对语音输入和/或语音输入的其他非文本表示进行操作。
[0035]
客户端计算设备106和操作基于云的自动助理组件119的计算设备中的每一个可以包括一个或多个用于存储数据和软件应用的存储器、一个或多个用于访问数据并执行应
用的处理器以及其他有助于通过网络进行通信的组件。由客户端计算设备106和/或自动助理120执行的操作可以分布在多个计算机系统上。自动助理120可以被实现为例如在通过网络彼此耦合的一个或多个位置中的一台或多台计算机上运行的计算机程序。
[0036]
如上所述,在各种实现中,客户端计算设备106可以操作自动助理客户端108或自动助理120的“客户端部分”。在各种实现中,自动助理客户端108可以包括语音捕获模块110、上述图像捕获模块111、视觉提示模块1121和/或调用模块113。在其他实现中,语音捕获模块110、图像捕获模块111、视觉提示模块112和/或调用模块113的一个或多个方面可以例如通过一个或多个基于云的自动助理组件119与自动助理客户端108分开地实现。例如,在图1中,还存在可以检测图像数据中的视觉提示的基于云的视觉提示模块1122。
[0037]
在各种实现中,可以使用硬件和软件的任何组合来实现的语音捕获模块110可以与诸如麦克风109或其他压力传感器之类的硬件对接以捕获用户话语的音频记录。出于各种目的,可以对于此音频记录执行各种类型的处理。在一些实现中,可以使用硬件或软件的任何组合来实现的图像捕获模块111可以被配置为与相机107对接以捕获与视觉传感器107的视野相对应的一个或多个图像帧(例如,数字照片)。
[0038]
在各种实现中,视觉提示模块1121(和/或基于云的视觉提示模块1122)可以使用硬件或软件的任何组合来实现,并且可以被配置为分析由图像捕获模块111提供的一个或多个图像帧,以检测在一个或多个图像帧中和/或跨一个或多个图像帧捕获的一个或多个视觉提示。视觉提示模块1121可以采用多种技术来检测视觉提示。例如,视觉提示模块1122可以使用被训练以生成指示图像帧中检测到的用户提供的视觉提示的输出的一个或多个人工智能(或机器学习)模型。
[0039]
语音捕获模块110可以被配置为例如经由麦克风109捕获用户的语音,如前所述。附加地或替代地,在一些实现中,语音捕获模块110可以进一步被配置为例如使用语音到文本(“stt”)处理技术将捕获的音频转换为文本和/或其他表示或嵌入。附加地或替代地,在一些实现中,语音捕获模块110可以被配置为例如使用一个或多个语音合成器将文本转换为计算机合成的语音。但是,在某些情况下,由于客户端设备106可能在计算资源(例如处理器周期、内存、电池等)方面受到相对限制,因此客户端设备106本地的语音捕获模块110可以配置为将有限数量不同的口头短语(尤其是调用自动助理120的短语)转换为文本(或其他形式,例如较低维度的嵌入)。其他语音输入可以被发送到基于云的自动助理组件119,其可以包括基于云的文本语音转换(“tts”)模块116和/或基于云的stt模块117。
[0040]
在各种实现中,调用模块113可以被配置为例如基于语音捕获模块110和/或视觉提示模块1121(其在一些实现中可以与图像捕获模块111组合在单个模块中)提供的输出来确定是否调用自动助理120。例如,调用模块113可以确定用户的话语是否符合作为应当发起与自动助理120的人机对话会话的调用短语。在一些实现中,调用模块113可以单独或与视觉提示模块1121检测到的一个或多个视觉提示结合分析指示用户的话语的数据,用户的话语例如是音频记录或从音频记录提取的特征矢量(例如,嵌入)。在一些实现中,由调用模块113用于确定响应于有声话语而是否调用自动助理120的阈值可以当还检测到特定视觉提示时被降低。因此,即使在用户提供与正确的调用短语“ok助理”不同但在语音上一定程度相似的有声话语时,该话语当结合视觉提示(例如,说话者挥手致意、说话者直接注视视觉传感器107等)被检测到时可以仍然被接受为正确的调用短语。
[0041]
在一些实现中,调用模块113可以使用例如存储在设备上模型数据库114中的一个或多个设备上调用模型来确定话语和/或视觉提示是否符合作为调用。可以训练这样的设备上调用模型以检测调用短语/手势的变化。例如,在一些实现中,可以使用训练示例来训练设备上调用模型(例如,一个或多个神经网络),每个训练示例包括来自用户的话语的音频记录(或提取的特征向量)以及指示一个或多个图像帧和/或与话语同时捕获的检测到的视觉提示的数据。
[0042]
在图1中,设备上模型数据库114可以存储一个或多个设备上调用模型114
1-114
n
。在一些实现中,可以训练默认设备上调用模型1141以在音频记录或指示其的其他数据中检测一个或多个默认调用短语,例如先前提到的那些短语(例如,“好,助理”,“嘿,助理”等)。在一些这样的实现中,这些模型可以总是可获得并且可用于将自动助理120转换为一般收听状态,其中,可以如下所述(例如,在客户端设备106上或通过一个或多个基于云的自动助理组件119)使用自动助理120的其他组件处理由语音捕获模块110(至少在调用之后的一段时间内)捕获的任何音频记录。
[0043]
另外,在一些实现中,设备上模型数据库114可以至少临时地存储一个或多个附加“场境调用模型”114
2-114
n
。这些场境调用模型114
2-114
n
可以在特定场境中由调用模块113使用和/或可供它们使用。场境调用模型114
2-114
n
可以被训练以例如在音频记录或指示其的其他数据中检测一个或多个特定于场境的热词。在一些实现中,场境调用模型114
2-114
n
可以根据需要从例如形成基于云的自动助理组件119的一部分的动态热词引擎128中有选择地下载,这将在下面更详细地描述。
[0044]
在各种实现中,当调用模块113使用场境调用模型114
2-114
n
检测到各种动态热词时,它可以将自动助理120转换为前面所述的一般收听状态。附加地或替代地,调用模块113可以将自动助理120转换为特定于场境的状态,其中,在将或不将自动助理120转换为一般收听状态的情况下执行一个或多个特定于场境的响应动作。在许多情况下,触发自动助理120转换为特定于场境的状态的音频数据可能不会传送到云。替代地,可以在客户端设备106上完全执行一个或多个特定于场境的响应动作,这可以减少响应时间和传送到云的信息量,这从隐私的角度来看可能是有益的。
[0045]
基于云的tts模块116可以被配置为利用云的实际上无限的资源将文本数据(例如,由自动助理120制定的自然语言响应)转换为计算机生成的语音输出。在一些实现中,tts模块116可以将计算机生成的语音输出提供给客户端设备106以例如使用一个或多个扬声器直接输出。在其他实现中,可以将由自动助理120生成的文本数据(例如,自然语言响应)提供给语音捕获模块110,语音捕获模块110然后可以将文本数据转换为本地输出的计算机生成的语音。
[0046]
基于云的stt模块117可配置为利用云的实际上无限的资源将语音捕获模块110捕获的音频数据转换为文本,然后可将其提供给意图匹配器135。在一些实现中,基于云的stt的模块117可以将语音的音频记录转换为一个或多个音素,然后将一个或多个音素转换为文本。附加地或替代地,在一些实现中,stt模块117可以采用状态解码图。在一些实现中,stt模块117可以生成用户话语的多个候选文本解释。在一些实现中,stt模块117可以取决于是否存在同时检测到的视觉提示来使特定候选文本解释加权或偏置得比其他候选文本解释更高。
[0047]
自动助理120(特别是基于云的自动助理组件119)可以包括意图匹配器135、前述tts模块116、前述stt模块117以及下面更详细描述的其他组件。在一些实现中,可以在与自动助理120分离的组件中省略、组合和/或实现自动助理120的一个或多个模块和/或模块。在一些实现中,为了保护隐私,诸如自然语言处理器122、tts模块116、stt模块117等的自动助理120的一个或多个组件可以至少部分地在客户端设备106上实现(例如,排除在云之外)。
[0048]
在一些实现中,自动助理120响应于在与自动助理120的人机对话会话期间由客户端设备106之一的用户生成的各种输入来生成响应内容。自动助理120可以(例如,与用户的客户端设备分开时通过一个或多个网络)提供响应内容作为对话会话的一部分呈现给用户。例如,自动助理120可以响应于经由客户端设备106提供的自由形式的自然语言输入而生成响应内容。如本文所使用的,自由形式的输入是由用户制定的并且不限于呈现给用户进行选择的一组选项的输入。
[0049]
如本文中所使用的,“对话会话”可以包括在用户与自动助理120(在某些情况下,其他人类参与者)之间的一个或多个消息的逻辑上独立的交换。自动助理120可以基于各种信号来在与用户的多个对话会话之间区分,该各种信号例如是在会话之间的时间流逝、会话之间的用户场境(例如,位置、预定会议之前/之中/之后等)的改变、与用户和自动助理之间的对话之外的用户与客户端设备之间的一个或多个中间交互的检测(例如,用户切换应用一段时间,用户离开、然后稍后返回到独立的语音激活产品)、会话之间的客户端设备的锁定/休眠以及用于与自动助理120的一个或多个实例对接的客户端设备的改变等。
[0050]
意图匹配器135可被配置为基于用户提供的输入(例如,有声话语、视觉提示等)和/或基于其他信号(例如,传感器信号和在线信号(例如,从web服务获得的数据)等等)来确定用户的意图。在一些实现中,意图匹配器135可以包括自然语言处理器122和上述基于云的视觉提示模块1122。在各种实现中,基于云的视觉提示模块1122可以类似于视觉提示模块1121来操作,除了基于云的视觉提示模块1122可以拥有更多资源自行支配。特别地,基于云的视觉提示模块1122可以检测可以由意图匹配器135单独或与其他信号结合使用的视觉提示以确定用户的意图。
[0051]
自然语言处理器122可以被配置为处理由用户通过客户端设备106生成的自然语言输入,并且可以生成注释输出(例如,以文本形式)以供自动助理120的一个或多个其他组件使用。例如,自然语言处理器122可以处理由用户经由客户端设备106的一个或多个用户界面输入设备生成的自然语言自由格式输入。所生成的注释输出包括自然语言输入的一种或多种注释和/或自然语言输入中的一个或多个(例如,全部)术语。
[0052]
在一些实现中,自然语言处理器122被配置为识别和注释自然语言输入中的各种类型的语法信息。例如,自然语言处理器122可以包括形态学模块,该形态学模块可以将各个单词分成词素和/或例如以词素的类别来注释这些词素。自然语言处理器122还可以包括词性标记器,该词性标记器被配置为用其语法角色来注释术语。例如,词性标记器可以用其词性(诸如“名词”、“动词”、“形容词”、“代词”等)来标记每个术语。此外,例如,在一些实现中,自然语言处理器122可以附加地和/或可替换地包括被配置为确定自然语言输入中的术语之间的句法关系的依赖性解析器(未示出)。例如,依赖性解析器可以确定哪些术语修改了其他术语以及句子的主语和动词等等(例如,解析树),并且可以对这种依赖性进行注释。
[0053]
在一些实现中,自然语言处理器122可以附加地和/或可选地包括实体标记器(未示出),该实体标记器被配置为在一个或多个段中注释实体引用,诸如对人(包括例如文学人物、名人、公众人物等)、组织和位置(真实的和虚构的)等等的引用。在一些实现中,关于实体的数据可以存储在一个或多个数据库中,例如知识图(未示出)中。在一些实现中,知识图可以包括代表已知实体的节点(在某些情况下,实体属性)以及连接节点并代表实体之间关系的边。例如,“香蕉”节点可(例如,作为孩子)连接到“水果”节点,“水果”节点可以(例如,作为孩子)继而连接到“产品”和/或“食物”节点。作为另一示例,被称为“假想咖啡馆”的餐厅可以由还包括诸如其地址、所供应食物的类型、时间、联系信息等的属性的节点表示。在一些实现中,可以将“假想咖啡馆”节点通过边(例如,代表孩子与父母的关系)连接到一个或多个其他节点(例如“餐厅”节点、“企业”节点和代表餐厅所在城市和/或州的节点等等)。
[0054]
自然语言处理器122的实体标记器可以以较高的粒度级别(例如,以使得能够识别对诸如人的实体类别的所有引用)和/或较低的粒度级别(例如,以使得能够识别对特定实体(例如特定人员)的所有引用)来注释对实体的引用。实体标记器可以依赖于自然语言输入的内容来解析特定实体和/或可以可选地与知识图或其他实体数据库进行通信以解析特定实体。
[0055]
在一些实现中,自然语言处理器122可以附加地和/或可替换地包括被配置为基于一个或多个场境提示来对同一实体的引用进行分组或“聚类”的共指解析器(未示出)。例如,可以使用共指解析器在自然语言输入“我上次在这里用餐时喜欢假想咖啡馆”中将术语“这里”解析为“假想咖啡馆”。
[0056]
在一些实现中,自然语言处理器122的一个或多个组件可以依赖于来自自然语言处理器122的一个或多个其他组件的注释。例如,在一些实现中,命名实体标记器可以依赖于来自共指解析器和/或依赖解析器的注释来对特定实体的所有提及进行注释。同样,例如,在一些实现中,共指解析器可能依赖于来自依赖解析器的注释将对于同一实体的引用聚类。在一些实现中,在处理特定自然语言输入时,自然语言处理器122的一个或多个组件可以使用相关的先前输入和/或特定自然语言输入之外的其他相关数据来确定一个或多个注释。
[0057]
意图匹配器135可以例如基于来自自然语言处理器122的输出(可以包括自然语言输入的注释和术语)和/或基于来自视觉提示模块(例如1121和/或1122)的输出,使用各种技术来确定用户的意图。在一些实现中,意图匹配器135可以访问一个或多个数据库(未示出),该数据库包括例如语法、视觉提示和响应动作(或更一般地,意图)之间的多个映射。在许多情况下,这些语法可能会随着时间的流逝而被选择和/或学习,并且可能代表用户的最常见意图。例如,一个语法“播放<艺术家>”可以被映射到一种意图,该意图调用响应动作,该响应动作使得<艺术家>的音乐在用户操作的客户端设备106上播放。另一个语法“[天气|天气预报]今天”可以与用户查询相匹配,用户查询例如是“今天的天气如何”和“今天的天气预报是什么?”[0058]
除了或代替语法,在一些实现中,意图匹配器135可单独地或与一个或多个语法和/或视觉提示结合地采用一个或多个经训练的机器学习模型。这些经训练的机器学习模型也可以存储在一个或多个数据库中,并且可以通过下述方式被训练以识别意图:例如,通
过将指示用户话语和/或任何检测到的用户提供的视觉提示的数据嵌入到降维空间中,然后例如使用诸如欧几里得距离、余弦相似度等技术,确定哪些其他嵌入(以及因此,意图)最接近。
[0059]
如在“播放<艺术家>”示例语法中所见,一些语法具有可以用槽位值(或“参数”)填充的槽(例如,<艺术家>)。可以以各种方式确定槽值。用户通常会主动提供槽值。例如,对于语法“为我订购<topping>披萨”,用户可能会说“为我订购香肠披萨”这句话,在这种情况下,自动填充槽<topping>。附加地或替代地,如果用户调用包括要用槽值填充的槽的语法,而无需用户主动提供槽值,则自动助理120可以向用户请求这些槽值(例如,“您要使用哪种类型的硬皮在你的披萨上吗?”)。在一些实现中,可以基于视觉提示模块112
1-2
检测到的视觉提示,用槽值填充槽。例如,用户可以在举起三个手指到客户端设备106的视觉传感器107的同时说出“为我订购这么多的猫碗”之类的东西。或者,用户在拿着特定电影的dvd盒的同时可以说出“给我看更多这样的电影”之类的东西。
[0060]
在一些实现中,自动助理120可以充当用户与一个或多个第三方计算服务130(或“第三方代理”或“代理”)之间的中介。这些第三方计算服务130可以是接收输入并提供响应输出的独立软件过程。一些第三方计算服务可以采取第三方应用的形式,该第三方应用可以或可以不在与诸如基于云的自动助理组件119的运行的计算系统分开的计算系统上运行。意图匹配器135可以识别的一种用户意图是与第三方计算服务130接洽。例如,自动助理120可以向用于控制智能设备的服务提供对应用程序编程接口(“api”)的访问。用户可以调用自动助理120并提供诸如“我想打开暖气”的命令。意向匹配器135可以将此命令映射到一个语法,该语法触发自动助理120与第三方服务进行接洽,从而使用户的供暖打开。第三方服务130可以向自动助理120提供需要填充的最小槽列表,以实现(或“解决”)打开供暖的命令。在该示例中,槽可以包括供暖将被设定到的温度以及供暖将被接通的持续时间。自动助理120可以生成自然语言输出并(通过客户端设备106)将其提供给用户,该自然语言输出请求槽的参数。
[0061]
履行模块124可以被配置为接收由意图匹配器135输出的预测/估计的意图以及相关联的槽值(无论是由用户主动提供还是从用户那里请求的)并履行(或“解决”)意图。在各种实现中,用户意图的履行(或“解决”)可以例如通过履行模块124来生成/获得各种履行信息(也称为“响应”信息或“解决信息”)。如下面所描述的,在一些实现中,可以将履行信息提供给自然语言生成器(在一些附图中为“nlg”)126,其可以基于履行信息来生成自然语言输出。
[0062]
履行(或“解决”)信息可以采取各种形式,因为可以以多种方式履行(或“解决”)意图。假设用户要求提供纯粹的信息,例如
““
光辉”的户外镜头在哪里拍摄?”可以例如通过意图匹配器135将用户的意图确定为搜索查询。可以将搜索查询的意图和内容提供给履行模块124,如图1所示,该模块可以与一个或多个被配置为搜索文档和/或其他数据源(例如知识图等)的语料库的搜索模块150通信,以获取响应信息。履行模块124可以向搜索模块150提供指示搜索查询的数据(例如,查询的文本、降维嵌入等)。搜索模块150可以提供:响应信息,例如gps坐标;或其他更明确的信息,例如“山林小屋,胡德,俄勒冈州。”该响应信息可以形成由履行模块124生成的履行信息的一部分。
[0063]
附加地或替代地,履行模块124可以被配置为例如从意图匹配器135接收用户的意
图以及由用户提供或使用其他方式确定的任何槽值(例如,用户的gps坐标、用户偏好等等)并触发响应操作。响应动作可以包括例如订购商品/服务、启动计时器、设置提醒、发起电话呼叫、播放媒体、发送消息等。在一些这样的实现中,履行信息可以包括与履行、确认响应(在某些情况下可以从预定响应中选择)等相关联的槽值。
[0064]
自然语言生成器126可以被配置为基于从各种来源获得的数据来生成和/或选择自然语言输出(例如,被设计为模仿人类语音的单词/短语)。在一些实现中,自然语言生成器126可以被配置为接收与意图的履行相关联的履行信息作为输入,并基于履行信息生成自然语言输出。附加地或替代地,自然语言生成器126可以从诸如第三方应用之类的其他源接收信息(例如,所需的槽),其可以用来为用户编写自然语言输出。
[0065]
图2示意性地描绘了根据各种实现的示例状态机,其可以由配置有本公开的所选方面的自动助理(例如120)和/或助理设备(例如106)来实现。左上方是“默认的非活动状态”,当用户不参与时,自动助理120可能驻留在其中。在默认的非活动状态下,可以激活一个或多个客户端设备(106)的一个或多个麦克风,并且可以使用本文描述的技术来分析其捕获的音频数据。响应于例如由调用模块113和/或视觉提示模块112基于默认调用模型1141检测到一个或多个默认调用词(图2中的“diw”,在本文中也称为“热词”)(例如“好,助理”或“嘿,助理”),自动助理120可以转变为“一般收听状态”。除了默认热词以外的话语(例如,环境对话等)可能会被忽略并且不会被处理。
[0066]
在一般收听状态下,自动助理120可以捕获默认调用词之后说出的音频数据,并转换为“一般处理”状态。在一般处理状态下,自动助理120可以处理指示音频输入的数据,如先前参考图1所述,包括stt处理、自然语言处理、意图匹配、履行等。一旦处理完成,自动助理120可能会转换回默认的非活动状态。如果在检测到默认调用词之后未接收到音频输入,则超时(图2中的“to”)可以将自动助理120从一般收听状态转换回默认的非活动状态,例如,使得不旨在用于由自动助理进行处理的后续话语不会被捕获或处理。
[0067]
如前所述,本文描述的技术促进可以激活和检测以将自动助理120转换为各种不同的状态(例如一般收听状态)或其中自动助理120执行各种动作的其他特定于场境的状态的特定于场境的热词。在一些实现中,在某些情况下,可以被说出以将自动助理120从默认的非活动状态转变为一般收听状态的调用词的词汇表可以被至少暂时地(例如,在有限的时间量内、直到场境不再适用等)扩展。
[0068]
例如,在图2中,第一特定于场境的信号cs1可以将自动助理120从默认的非活动状态转换为第一特定于场境的收听状态“csls1”。在csls1中,自动助理120可以收听默认调用词(“diw”)和第一特定于场境的热词(“c1热词”)。如果检测到任何一个,则自动助理120可以如上所述转换到一般收听状态。因此,在第一特定于场境的收听状态中,将自动助理120转换为一般收听状态的热词词汇被扩展为包括默认调用词和第一特定于场境的热词。而且,在一些实现中,如果在自动助理120处于第一特定于场境的收听状态的情况下经过了足够的时间量而没有检测到激活的热词,则超时(“to”)可以将自动助理120转换回默认的非活动状态。
[0069]
附加地或替代地,在一些实现中,在某些场境下,自动助理120可以例如使用热词的扩展词汇表转换到一般收听状态,或转换到其中一个或多个特定于场境的动作可以被执行的特定于场境的状态。例如,在图2中,响应于第二场境信号(“cs
2”),自动助理120可以从
默认的非活动状态转变为第二特定于场境的收听状态“csls2”。在该第二特定于场境的收听状态中例如通过检测一个或多个默认调用词和/或在某些情况下检测一个或多个第二特定于场境的热词(“c2热词
a”),自动助理120可以转换为一般收听状态,一个或多个第二特定于场境的热词有效地扩展不能将自动助理120转换为一般收听状态的词汇表。
[0070]
附加地或替代地,自动助理120可以从第二特定于场境的状态(“csls2”)转换成一个或多个状态,在该状态中,例如,响应于一个或多个另外的第二特定于场境的热词(“c2热词
b”)来执行一个或多个第二特定于场境的响应动作(“第二特定于场境的响应动作”)。下面将描述示例响应动作。在一些实现中,特定的第二特定于场境的热词可以被映射到特定的第二特定于场境的响应动作,尽管这不是必需的。尽管为了清楚起见未在图2中示出,但是在一些实现中,在执行这些一个或多个第二特定于场境的响应动作之后,自动助理120可以转换回到默认的非活动状态。
[0071]
在一些实现中,在某些场境下,自动助理120可能不再收听默认的热词。相反,自动助理120可能仅收听特定于场境的热词并执行响应动作。例如,在图2中,响应于第m场境信号(“cs
m”),自动助理120可以从默认的非活动状态转变为第m特定于场境的收听状态(m为正整数)“cslsm”。在这种状态下,自动助理120可以收听第m特定于场境的热词(“c
m
热词”)。响应于检测到一个或多个第m特定于场境的热词,自动助理120可执行一个或多个第m特定于场境的响应动作(“第m特定于场境的响应动作”)。
[0072]
在各种实现中,自动助理120可以以各种方式激活特定于场境的热词。例如,并且参考图1和图2,在一些实现中,在转换到特定场境中时,自动助理120可以例如从动态热词引擎128下载一个或多个特定于场境的机器学习模型或分类器(例如1142、1143、...、114
n
),例如神经网络、隐马尔可夫模型等,它们经过预训练以检测要在该特定场境中激活的热词。例如,假设在特定场境中,将自动助理120从默认的非活动状态转换为一般收听状态的词汇表被扩展为包括单词“howdy”。在各种实现中,自动助理120可以例如从动态热词引擎128获得分类器,其被训练以生成指示是否检测到单词“howdy”的输出。在各种实现中,该分类器可以是二进制的(例如,如果检测到热词,则输出“1”,否则,输出“0”),或者可以生成概率。如果概率满足某个置信度阈值,则可以检测到热词。
[0073]
附加地或替代地,在一些实现中,一个或多个设备上模型114可以采取动态热词分类器/机器学习模型(例如,神经网络、隐马尔可夫模型等)的形式,其动态地可调整以为一个或多个预定音素生成一个输出,并为其他音素生成另一输出。假设要激活热词“howdy”。在各种实现中,可以例如通过改变一个或多个参数和/或在音频数据旁边或嵌入音频数据来提供动态输入来调整动态热词分类器,以“收听”音素“how”和“dee”。当在音频输入中检测到那些音素时,动态热词分类器可以生成触发自动助理120采取响应动作的输出,响应动作例如是转变为一般收听状态、执行某些特定于场境的响应动作等。其他音素可以生成被忽略或略去的输出。附加地或可替代地,可以由动态热词分类器仅响应于激活的音素而生成输出,而其他音素可能根本不生成输出。
[0074]
图3a和3b示出了根据本文描述的实现的、如何经由客户端计算设备306的麦克风和扬声器(被描绘为独立的交互式扬声器,但这并不意味着是限制性的)出现在用户101与自动助理实例(图3a-b中未示出)之间的人机对话会话的一个示例。可以在计算设备306上和/或与计算设备306进行网络通信的一个或多个计算设备上实现自动助理120的一个或多
个方面。
[0075]
在图3a中,用户101(“dave(戴维)”)在用户101与自动助理120之间的人机对话会话中提供自然语言输入“嘿,助理,将计时器设置为五分钟”。自动助理120回答:“好,计时器现在开始
…”
并启动五分钟的计时器。在一些实现中,计时器被设置(并且尚未到期)的事实可以足以作为场境信号(例如,图2中的“cs2”),其将自动助理转变为与计时器有关的特定于场境的状态。在这种状态下,用户101仍然可以使用一个或多个默认调用词来调用自动助理120。然而,用户101现在也可能能够触发特定于场境的响应动作:例如,例如通过说出一个或多个扩展的特定于场境的热词来停止计时器,一个或多个扩展的特定于场境的热词例如是“停止计时器”、“取消计时器”或简单的“停止”。
[0076]
附加地或可替代地,在一些实现中,当计时器递减计数时,自动助理120可以保持在默认的非活动状态,因此可以仅响应于默认的热词。但是,一旦计时器到期,如图3b所示(“beeep!!!beeep!!!beeep!!!”(蜂鸣声)),自动助理120可以转换为特定于场境的状态,其中,用户101无需先将自动助理120从默认的非活动状态转换为一般收听状态,就说出一个或多个特定于场境的热词以停止计时器(例如,作为特定于场境的响应动作)。例如,在图3b中,用户101说出短语“停止计时器”而无需首先将自动助理120调用到一般收听状态。但是,自动助理120停止计时器。
[0077]
图4a-b描绘了其中可以实现本文描述的技术的另一示例。用户101再次与至少部分在客户端设备306上操作的自动助理120进行接洽。在图4a中,用户101说出“嘿,助理,播放“我们祝您圣诞快乐
””
。作为响应,自动助理120在客户端设备306上开始回放歌曲,并(至少在播放歌曲的同时)转换到音乐播放场境。换句话说,音乐的回放构成场境信号(图2中的“cs”),该场境信号将自动助理120转换为音乐回放场境。
[0078]
在音乐回放场境中,用户101可能能够说出一个或多个特定于场境的热词,其在转换到音乐回放场境中时被激活,例如以控制音乐回放。例如,如图4b所示,用户101可以说出诸如“快进三十秒”之类的内容,而无需首先调用自动助理120。然而,作为响应,自动助理120可以向前跳过三十秒。在这种场境下可能活动的其他热词包括但不限于“停止”、“暂停”、“倒带<时间增量>”、“调高/调低音量”等。
[0079]
图5a-b描绘了其中可以例如以类似于图4a-b的方式采用本文描述的技术的另一示例场景。这次用户101与配置有本公开的选定方面的第一客户端设备506a(采用独立交互式扬声器的形式)进行接洽,以控制第二客户端设备506b(采用智能电视或配备了遥控钥匙或其他支持助理功能的设备的“哑剧”电视的形式)上的电影回放。在图5a中,用户101说:“嘿,助理,播放“公民凯恩”。”自动助理120通过在第二客户端设备506b上开始所请求的电影的回放来做出响应。
[0080]
在图5b中,用户101询问“谁是导演?”,而不先调用自动助理120。然而,自动助理120可以处于电影回放状态,在该电影回放状态中,包括“导演”在内的各种特定于场境的热词是活动的,以引起自动助理120执行响应动作。在该示例中,自动助理120例如通过第一客户端设备506a的音频输出来做出响应,音频输出是“奥森
·
威尔斯(orsonwelles)在1941年较好地执导了《公民凯恩》。”然后,在图5b中,用户101再次说“暂停”,而无需首先调用自动助理120,并且自动助理120暂停回放。在这种场境下可能活动的其他热词包括但不限于“快进<时间段>”、“重新开始”、“倒带”等。
[0081]
在一些实现中,场境可以改变(引起对激活的特定于场境的热词的相应改变),而用户101消费视频回放(或在其他实现中的音频回放)。例如,假设用户101正在观看游戏节目而不是电影。在游戏节目的不同阶段期间,可以例如基于游戏节目的内容来激活不同的热词,从而用户101能够一起玩。假设在游戏节目期间,向参赛者提出有关历史事件、科学事实等的问题。在一些实现中,自动助理120可以在幕后执行网络搜索以确定对该问题的可能答案,然后可能会激活一个或多个与答案相关的热词。如果用户101说出了这些热词中的一个或多个,即使没有调用自动助理120,自动助理120也会提供反馈(例如“正确”、“不正确”、“我无法找出答案、让我们看看会发生什么”等等。
[0082]
图6描绘了基于场境动态激活热词的另一个示例。在图6中,用户101与以包括麦克风(未示出)、扬声器611和显示器613的独立助理设备的形式的客户端设备606进行接洽。在各种实现中,显示器613可以是或可以不是触摸屏显示器,其渲染有助于和/或增强与自动助理120的接洽的图形元素(例如卡)。例如,在图6中,显示器613渲染一系列可选卡:“天气”、“股票”、“体育
””
、“交通”、“日程”和“购物清单”。这些并不意味着是限制性的,并且可以添加或省略一些,以例如有利于图6中未示出的其他。此外,在一些实现中,可以例如通过用户本身或基于其他信号(例如,搜索历史记录、与自动助理120的先前接洽等)为特定用户定制卡。。
[0083]
在各种实现中,用户可以例如通过在显示器613上触摸给定卡和/或通过说出例如被渲染为卡的一部分的一个或多个热词来选择给定卡。例如,在图6中,用户101可以说出“天气预报是什么?”这一短语,而无需先调用自动助理120。自动助理120会响应:“将为晴天,摄氏25度高。”因为标题为“天气”的卡已经在显示器613上呈现,所以热词“天气”可能已经被激活,从而使得用户101可以说出包含单词“天气”的短语以使自动助理120执行特定于场境的任务(报告天气预报)。
[0084]
在一些实现中,自动助理120可以在转换成特定场境之前或之后抢先下载和缓存响应内容。例如,在图6中,自动助理120可以例如与在显示器613上渲染卡同时从各种远程和/或本地源主动地(即,无需人工干预)下载响应内容,用于与天气、股票、体育、交通、日程(这可以是包括从用户101的个人资源获取数据)和购物清单有关的一般查询。这种抢先下载可以使自动助理120更快地响应来自用户101的话语,包括一个或多个与一张或多张卡相对应的动态热词。这在其中数据连接可能丢失的情况下(例如,如果客户端设备正被携带在移动的汽车中)可能特别有利。
[0085]
在一些实现中,其中自动助理120的场境取决于显示器上渲染的内容,如图6的情况一样,可能有必要快速调整自动助理120以收听任何数量的新单词或词组。不一定有针对所有潜在单词/短语有预训练模型可用的情况。此外,即使在动态热词索引129处有一些预训练模型可用,客户端设备106仍可能缺少数据连接,通过该数据连接,客户端设备106可以在特定场境中下载其所需的模型。因此,在各种实现中,可以动态地调谐以为一个或多个预定音素生成一个输出并为其他音素生成另一输出的上述动态热词分类器/机器学习模型(例如,神经网络)可以被激活以触发自动助理120的调用。
[0086]
如图6所示,补充或代替动态地收听有限数量的卡的内容,这样的动态热词分类器/机器学习模型可以用于收听范围广泛的潜在热词。例如,假设用户101操作图6中的客户端设备606以导航到特定的网页或第三方应用(例如,以订购披萨)。或者,用户101可以将他
的电话(未显示)或其他客户端设备导航到该网站。在任一情况下,可以分析所显示的网页的内容以确定在显示网页的同时应当激活的各种热词。可以例如从html标签(例如,标题、链接文本等)和页面上的单词/术语频率等等以各种方式来选择这些热词。可以动态调整动态热词分类器/机器学习模型,以收听来自这些所选单词的音素,而忽略其他音素。以这种方式,可以在任何数量的变化的场境中动态地激活热词。附加地或可替代地,在一些实现中,诸如voicexml的技术可以用来动态地激活特定语法。
[0087]
尽管本文描述的实现已经聚焦于使自动助理120响应于特定于场境的热词而采取各种动作(例如,搜索信息、控制媒体回放、停止计时器等),但这并不意味着受到限制。本文描述的技术可以扩展到其他用例。例如,当用户希望在例如搜索网页上填写表格字段时,本文描述的技术可以适用。在一些实现中,当网页中存在搜索栏或其他类似的文本输入元素时,可以激活一个或多个附加的特定于场境的热词。例如,当用户将启用了助理的设备导航到具有搜索栏的网页时,可以激活热词“搜索”,例如,以便用户可以简单地说“搜索<所需主题>”,然后用户在“搜索”之后的话语可以自动转录到搜索栏中,而无需用户首先调用自动助理120。
[0088]
作为用例的另一种类别,回想起用户可以与自动助理120接洽以与一个或多个第三方应用130对接,例如以订购商品或服务。在一些实现中,第三方应用130可以具有其自己的特定于场境的热词,每当自动助理120连接到第三方应用130时,它们便被激活。这些特定于场境的热词可以使自动助理120转变为一般收听状态,和/或可以调用特定于第三方应用130的一个或多个特定于场境的动作。
[0089]
作为示例,假设用户与自动助理120接洽以在第三方乘车共享服务上订购乘车(例如,“好,助理,为我预订去机场的乘车”。)。当自动助理120与促进乘车共享服务的第三方应用130接洽时,第三方应用130可以识别上述动态热词分类器/机器学习模型应“收听”的一个或多个热词。附加地或替代地,第三方应用130可以向自动助理120提供一个或多个预训练的模型。当与乘车共享应用的交易是活动时,例如,直到车辆到达,或者直到车辆在所请求的位置使得用户下车,自动助理120可以至少临时激活这些模型。因此,例如,当用户等待他或她的乘车到达时,他或她可能会说出诸如“我的乘车到达这里要多久?或“eta?”之类的东西,而无需首先调用自动助理120。自动助理120可以调用一个或多个特定于场境的响应动作,以响应用户的请求,该动作可以与第三方应用130相关联。
[0090]
在各种实现中,补充或替代一个或多个特定于场境的热词,计算设备到特定场境的转换可以激活一个或多个特定于场境的手势。例如,假设正在显示器613上查看的网页包括一个或多个示出的手势。在各种实现中,可以下载和/或激活经训练以检测例如由图1中的图像捕获模块111捕获的视觉数据中的这些手势的机器学习模型。在激活之后的至少一段时间内,用户可能能够做出一个或多个手势。例如通过调用模块113对那些手势的检测可以触发自动助理120到一般收听状态的转变和/或使自动助理120执行一些特定于场境的响应动作。
[0091]
补充或代替本文所述的特定场境和/或场境信号示例,可以将其他场境和/或场境信号用于本文描述的技术。在一些实现中,场境可以包括时间段或时间间隔,并且场境信号可以包括时间到那个时间间隔的转换。例如,在一些实现中,特定场境可以在晚上的特定时间点(例如当用户通常上床睡觉时)变得活动的。用户可以在不说出一个或多个默认热词的
情况下发出诸如“晚安”或“我要睡觉”之类的命令。这些命令可以包括在该时间间隔(例如就寝时间)期间激活的热词。在一些这样的实现中,这些时间特定的场境命令可以触发一个或多个例程,例如,关闭多个智能设备(例如,智能灯)、将恒温器设置为特定温度、打开/关闭一个或多个风扇、激活安全系统和/或一个或多个相机等。
[0092]
作为另一示例,在一些实现中,设备自身上的硬件可以是可操纵的以激活一个或多个特定于场境的热词。例如,当用户接洽启用了助理的智能手表的紧固件或按扣时,其可能补充或替代在接洽之前可能或可以无法获得的一个或多个默认热词,会触发导致一个或多个自定义热门字词被激活的硬件信号(例如,闭合电路、磁信号等)。作为另一示例,戴着一副智能眼镜的用户可以触发硬件信号,该硬件信号导致激活一个或多个动态热词。作为又一个示例,基于车辆的助理设备可以转变为下述状态,其中,基于来自车辆的信号(例如,车辆被打开、乘客坐在座位上(例如,通过重量传感器检测到)、车辆以特定速度或速度范围运行和正在运行或正在使用地图应用(例如,如果驾驶员遇到交通问题,驾驶员可以说出“查找替代路线”而无需使用默认的热门字词)等等)来激活附加或替代热词。
[0093]
图7是示出根据本文公开的实现的示例方法700的流程图。为了方便起见,参照执行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件,例如自动助理120的一个或多个组件。此外,尽管以特定顺序示出了方法700的操作,但这并不意味着限制。一项或多项操作可能会重新排序、省略或添加。
[0094]
在框702处,系统可以至少部分在计算设备(例如,客户端设备106、306、506、606)上操作自动助理120。例如,并且如上所述,在许多情况下,自动助理120可以部分地在客户端设备106上并且部分地在云(例如,基于云的自动助理组件119)上实现。在框704处,系统可以在由麦克风(例如109)所捕获的音频数据中监视一个或多个默认热词。例如,音频数据(或指示其的其他数据,例如嵌入)可以被用作跨一个或多个当前活动的调用模型114的输入,以生成输出。输出可以指示检测到(方框706)一个或多个默认热词。在框708,系统可以将自动助理120从有限的热词收听状态(例如,图2中的默认的非活动状态)转变为语音识别状态(例如,图2中的一般收听状态)。
[0095]
在一些实现中,与框704-708的操作平行(或与之串联),在框710,系统可以监视客户端设备的状态。例如,系统可以监视一个或多个场境信号,例如计时器的设置/期满、媒体回放的启动、自动助理120与第三方应用130之间的交互、一天中的时间和检测到的用户存在等等。
[0096]
如果在框712,系统检测到场境信号,则在框714,系统可以将计算设备转换到给定状态。例如,系统可以检测场境信号,例如定时器关闭(或被设置)、音乐回放、在显示器上渲染的内容等。在框714转换之后,在框716,除了或代替在框704监视的一个或多个默认热词之外,系统可以在由麦克风捕获的音频数据中监视一个或多个特定于场境的热词。
[0097]
如前所述,在一些场境中,一些热词可以将自动助理120转换为一般收听状态,而其他热词可以使自动助理120执行特定于场境的响应动作(例如,停止计时器、暂停媒体回放等)。因此,在框718,如果系统检测到第一一个或多个场境热词(例如,旨在使自动助理120执行特定于场境的任务的热词),则在框720,系统可以执行或引起自动助理120执行一个或多个特定于场境的响应动作。另一方面,如果在框718处未检测到第一一个或多个场境热词,而是在框722处检测了第二一个或多个场境热词(例如,通常旨在简单地调用自动助
理120的热词),然后,方法700可以返回到框706,在此,自动助理120处于一般收听状态。
[0098]
在一些实现中,如果不请求特定于场境的动作,则可以采用一个或多个超时以确保自动助理120返回稳定或默认值。例如,如果在框718和722分别没有检测到第一或第二特定于场境的热词,则在框724,可以确定是否超时(例如,十秒、三十秒、一分钟等等)期满。如果在框724处的答案为是,则方法700可以转换回到框704,在框704处,自动助理120被转换到默认的非活动状态。然而,如果在框724处的答案为否,则在一些实现中,方法700可以返回至框716,在该点处,系统可以监视特定于场境的热词。
[0099]
图8是示例计算设备810的框图,该示例计算设备可以可选地用于执行本文所述的技术的一个或多个方面。在一些实现中,客户端计算设备、用户控制的资源引擎134和/或其他组件中的一个或多个可以包括示例计算设备810的一个或多个组件。
[0100]
计算设备810通常包括至少一个处理器814,该处理器814通过总线子系统812与多个外围设备进行通信。这些外围设备可以包括:存储子系统824,该存储子系统824例如包括存储器子系统825和文件存储子系统826;用户界面输出设备820;用户界面输入设备822;以及,网络接口子系统816。输入和输出设备允许用户与计算设备810进行交互。网络接口子系统816提供到外部网络的接口并耦合到其他计算设备中的相应的接口设备。
[0101]
用户界面输入设备822可以包括:键盘;诸如鼠标、轨迹球、触摸板或图形输入板之类的指向设备;扫描仪;结合在显示器中的触摸屏;诸如语音识别系统、麦克风之类的音频输入设备;和/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备810或通信网络中的所有可能类型的设备和方式。
[0102]
用户界面输出设备820可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可以包括:阴极射线管(crt);诸如液晶显示器(lcd)的平板设备;投影设备;或某个其他用于创建可见图像的机制。显示子系统还可以例如经由音频输出设备来提供非视觉显示。通常,术语“输出设备”的使用旨在包括用于将信息从计算设备810输出到用户或另一机器或计算设备的所有可能类型的设备以及方式。
[0103]
存储子系统824存储提供本文所述的一些或所有模块的功能的程序和数据构造。例如,存储子系统824可以包括执行图7的方法的所选方面以及实现图1中描绘的各种组件的逻辑。
[0104]
这些软件模块通常由处理器814单独或与其他处理器结合执行。存储子系统824中使用的存储器825可以包括多个存储器,其包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)830以及其中存储固定指令的只读存储器(rom)832。文件存储子系统826可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、cd-rom驱动器、光盘驱动器或可移动介质盒。实施某些实现的功能的模块可以由文件存储子系统826存储在存储子系统824中,或者存储在处理器814可访问的其他机器中。
[0105]
总线子系统812提供了一种机制,该机制使计算设备810的各个组件和子系统按预期彼此通信。尽管总线子系统812被示意性地示出为单条总线,但是总线子系统的替代实现可以使用多条总线。
[0106]
计算设备810可以是各种类型的,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,出于
说明一些实现的目的,图8中描绘的对计算设备810的描述仅旨在作为特定示例。计算设备810的许多其他配置可能具有比图8所示的计算设备更多或更少的组件。
[0107]
在本文讨论的某些实现可以收集或使用关于用户的个人信息(例如,从其他电子通信中提取的用户数据、关于用户的社交网络的信息、用户的位置、用户的时间、用户的生物特征信息以及用户的活动和人口统计信息、用户之间的关系等)的情况下,向用户提供一个或多个机会来控制是否收集信息、是否存储个人信息、是否使用个人信息以及如何收集、存储和使用有关用户的信息。即,仅在从相关用户接收到进行下述行为的明确的授权后,本文讨论的系统和方法才收集、存储和/或使用用户的个人信息。
[0108]
例如,向用户提供对程序或特征是否收集关于该特定用户或与程序或特征相关的其他用户的用户信息的控制。向要收集其个人信息的每个用户提供一个或多个选项,以允许控制与该用户有关的信息收集,提供关于是否收集信息以及信息的哪些部分被收集的许可或授权。例如,可以通过通信网络向用户提供一个或多个这样的控制选项。另外,在存储或使用某些数据之前,可能会以一种或多种方式处理某些数据,以便删除个人身份信息。作为一个示例,可以处理用户的身份,以便无法确定个人身份信息。作为另一个示例,可以将用户的地理位置概括到更大的区域,以便无法确定用户的特定位置。
[0109]
尽管本文已经描述和示出了几种实现,但是可以利用用于执行功能和/或获得结果的多种其他手段和/或结构和/或本文描述的优点中的一个或多个,并且每个这样的变化和/或修改被认为在本文描述的实现的范围内。更一般地,本文描述的所有参数、尺寸、材料和构造均意味着是示例性的,并且实际参数、尺寸、材料和/或构造将取决于教导所用于的具体应用。仅使用常规实验,本领域技术人员将认识到或能够确定本文所述的具体实现的许多等同形式。因此,应当理解,前述实现仅以示例的方式给出,并且在所附权利要求及其等同物的范围内,可以以不同于具体描述和要求保护的方式来实施实现。本公开的实现针对本文所述的每个单独的特征、系统、物品、材料、套件和/或方法。另外,如果这样的特征、系统、物品、材料、套件和/或方法不是相互矛盾的,则本公开的范围包括两个或多个这样的特征、系统、物品、材料、套件和/或方法的任何组合。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1