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

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


背景技术:

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


技术实现要素:

[0005]
本文描述了用于使自动助理能够使用“动态”热词的技术。在各种情况下,配置有本公开的所选方面的自动助理可以更智能地收听场境特定热词,有时体现在本文中称为“增强”的热词集中。在各种实施方式中,补充或代替用于调用自动助理的默认热词,自动助理可以收听这些场境特定热词。换句话说,在各种实施方式中,配置有本公开的所选方面的自动助理可以在某些情况下至少暂时地扩展或改变其热词词汇。
[0006]
在各种实施方式中,可以在各种不同的情况下选择性地启用动态热词,诸如用户足够接近助理设备,或者基于用户的外观、语音和/或其它识别特性来识别用户。这些其它识别特性可能包括,例如,rfid徽章、视觉标记、制服、才华(a piece of flair)、用户的身材(这可能指示用户是成年人)、可能影响用户口头交流和/或经由常规用户输入(例如,鼠标、触摸屏等)交流的能力的身体障碍等等。
[0007]
作为示例,在一些实施方式中,如果通过接近传感器检测到用户,例如,在能够用于与自动助理接洽的计算设备的预定接近度内,则可以激活一个或多个附加的热词以使邻近的用户能够更轻松地调用自动助理。在一些实施方式中,用户越靠近助理设备,就可以激活越多的动态热词。例如,在助理设备的三米之内检测到的用户可以激活第一动态热词集。如果在例如一米之内的更近接近度检测到用户,则可以激活附加或替代的热词。
[0008]
作为另一示例,在一些实施方式中,可以下载和/或“激活”与用户相关联(例如,定制给用户)的一个或多个动态热词,诸如用户手动选择或输入的热词。然后,用户可以说出这些自定义热词中的一个或多个热词来调用自动助理,而无需说出人们通常可以用来调用自动助理的默认的热词集。
[0009]
在一些实施方式中,可以基于接近度和识别的一些组合来激活动态热词。这在嘈杂和/或拥挤的环境中可能特别有益。例如,在这样的环境中,任何数量的其它人也可能正在试图使用可能相对标准化的默认热词与自动助理进行交互。为了避免其它人意外激活自动助理,当用户足够靠近自动助理时(例如,握住她的智能手机或戴上她的智能手表,例如,可能会检测到接合的卡扣或紧固件并触发增强的热词集的激活)并且识别时,自动助理可以停止收听标准或默认的热词,并且可以改为收听针对特定用户量身定制的自定义热词。或者,在可替代的方案中,自动助理可以继续收听默认热词,但是可以提升基于这些默认热词的调用所需的置信度阈值,同时激活或降低与自定义热词相关联的阈值。
[0010]
作为另一示例,在一些实施方式中,动态热词可以与一群人(例如,雇员、性别、年龄范围、共享视觉特性等)相关联,并且在检测到和/或识别出这些人中的一个或多个人的情况下,可以激活该动态热词。例如,一群人可以共享视觉特性。在一些实施方式中,当助理设备的一个或多个硬件传感器检测到这些视觉特性中的一个或多个视觉特性时,可以激活一个或多个动态热词,否则该一个或多个动态热词对于非群组成员是不可用的。
[0011]
可以由自动助理或代表自动助理以各种方式来检测热词。在一些实施方式中,可以训练机器学习模型(诸如神经网络),以检测音频数据流中一个或多个热词的有序或无序序列。在一些这样的实施方式中,可以针对每个适用的热词(或包含多个热词的“热短语”)来训练单独的机器学习模型。
[0012]
在一些实施方式中,可以根据需要下载经训练以检测这些动态热词的机器学习模型。例如,假设例如基于对捕获的用户的一个或多个图像执行的面部识别处理或对于根据用户语音而生成的音频数据执行的语音识别处理来识别特定用户。如果这些模型在设备上尚不可用,则可以基于用户的在线个人资料从云中下载这些模型。
[0013]
在一些实施方式中,为了改善用户体验并减少延迟,可以将当检测到场境特定热词时意欲由自动助理执行的响应动作被预先缓存在用户与自动助理接洽的设备上。这样,一旦检测到场境特定热词,自动助理便可以采取立即动作。这与自动助理首先可能与一个或多个计算系统(例如,云)进行往返网络通信以满足用户的请求的情况形成对比。
[0014]
本文描述的技术引起多种技术优势。扩展或者变更在某些情况下(至少暂时)可用于调用自动助理的词汇可以减少在使自动助理执行一些场境相关的操作(例如停止计时器、暂停音乐等)之前首先调用自动助理的需要。一些现有的助理设备通过允许用户通过简单地点击设备表面的活动部分(例如,电容式触摸板或显示器),从而使暂停媒体播放或停止计时器变得容易,而无需必须首先调用自动助理。但是,肢体残疾的用户和/或被其它事务(例如,做饭、开车等)占用的用户可能无法轻松触摸设备。因此,本文描述的技术使那些用户能够更容易和快速地使自动助理执行一些响应动作,例如停止计时器,而无需首先调用它。
[0015]
另外,如本文所述,在一些实施方式中,自动助理可以主动下载响应于场境特定热词的内容。例如,假设用户倾向于重复特定的请求,诸如“what

s the weather forecast today?(今天的天气预报是什么?)”,“what

s on my schedule?(我的日程安排是什么?)”等。响应于这些请求的信息可以抢先下载并缓存在内存中,并且这些命令(或其部分)可用于激活特定的动态热词。因此,与自动助理必须首先执行通过一个或多个网络对一个或多个远程资源进行联系以获得响应信息的情况相比,当说出该一个或多个热词时,自动助理能够更快地提供响应信息。当助理设备在可能驶入/驶出其中可用数据网络的区域的车辆中时,这也可能是有益的。通过(例如当车辆处于数据覆盖区域中时)抢先下载和缓存响应于某些场境特定热词的内容,,则如果用户在数据覆盖区域之外旅行时请求该数据,该数据可用。
[0016]
作为又一个示例,本文描述的技术可以使用户能够触发响应动作而无需全面的语音到文本(“stt”)处理。例如,当某些场境调用模型被激活并检测场境特定热词时,可以基于这些模型的输出来触发响应动作,而无需使用stt处理将用户的话语转换为文本。这可以节省客户端设备上的计算资源,和/或可以避免与云基础设施的往返通信以进行用户话语的stt和/或语义处理,这节省了网络资源。而且,避免往返传输可以改善延迟并且避免向云基础设施发送至少一些数据,这从用户隐私的角度来看可能是有利的和/或期望的。
[0017]
在一些实施方式中,提供了一种由一个或多个处理器执行的方法,该方法包括:在默认收听状态下执行自动助理,其中该自动助理至少部分地在由用户操作的一个或多个计算设备上执行;当在默认收听状态下时,对由一个或多个麦克风捕获的音频数据监视一个或多个热词的默认集中的一个或多个热词,其中,检测到默认集中的一个或多个热词将触发自动助理从默认收听状态转换到语音识别状态;检测由与一个或多个计算设备集成的一个或多个硬件传感器生成的一个或多个传感器信号;分析该一个或多个传感器信号以确定用户的属性;基于以上分析,将自动助理从默认收听状态转换到增强收听状态;以及当处于增强收听状态时,对由一个或多个麦克风捕获的音频数据监视一个或多个热词的增强集中的一个或多个热词,其中到检测到增强集中的一个或多个热词将触发自动助理以执行响应动作而无需检测到默认集合中的一个或多个热词,并且其中增强集中的一个或多个热词不在默认集中。
[0018]
本文公开的技术的这些和其它实施方式可以可选地包括以下特征中的一个或多个。
[0019]
在各种实施方式中,所述一个或多个硬件传感器可以包括接近传感器,并且用户的属性可以包括:通过接近传感器检测到用户,或者通过接近传感器检测到用户在该一个
或多个计算设备的预定距离内。
[0020]
在各种实施方式中,所述一个或多个硬件传感器可以包括相机。在各种实施方式中,用户的属性可以包括:通过相机检测到用户、或者通过相机检测到用户在一个或多个计算设备的预定距离内。在各种实施方式中,分析可以包括面部识别处理。在各种实施方式中,用户的属性可以包括用户的身份。在各种实施方式中,用户的属性可以包括用户在群组中的成员资格。
[0021]
在各种实施方式中,所述一个或多个硬件传感器可以包括一个或多个麦克风。在各种实施方式中,一个或多个属性可以包括基于由一个或多个麦克风生成的音频数据而在听觉上检测到用户。在各种实施方式中,分析可以包括语音识别处理。在各种实施方式中,用户的属性可以包括用户的身份。在各种实施方式中,用户的属性可以包括用户在群组中的成员资格。
[0022]
在各种实施方式中,响应动作可以包括将自动助理转换到语音识别状态。在各种实施方式中,响应动作可以包括自动助理执行由用户使用增强集中的一个或多个热词所请求的任务。
[0023]
另外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中,该一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中,所述指令被配置成引起前述任何一个方法的执行。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,该一个或多个非暂时性计算机可读存储介质存储能够由一个或多个处理器执行以执行任何前述方法的计算机指令。
[0024]
应当理解的是,本文中更详细描述的前述概念和附加概念的所有组合被认为是本文公开的主题的一部分。例如,出现在本公开的开头处的要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
[0025]
图1是其中可以实施本文公开的实施方式的示例环境的框图。
[0026]
图2描绘了根据各种实施方式的状态机的示例,该状态机可以由配置有本公开的所选方面的自动助理来实施。
[0027]
图3a、图3b、图4a、图4b和图5描绘了其中可以采用公开的技术的另外的示例情况。
[0028]
图6描绘了图示根据本文公开的实施方式的示例方法的流程图。
[0029]
图7描绘了图示根据本文公开的实施方式的示例方法的流程图。
[0030]
图8示出了计算设备的示例架构。
具体实施方式
[0031]
现在转到图1,示出了其中可以实施本文公开的技术的示例环境。该示例环境包括一个或多个客户端计算设备106。每个客户端设备106可以执行自动助理客户端108的相应实例,该自动助理客户端108在本文中也可以被称为自动助理的“客户端部分”。可以在一个或多个计算系统(统称为“云”计算系统)上实施一个或多个基于云的自动助理部件119(在本文中也可以统称为自动助理的“服务器部分”),其中该一个或多个计算系统经由通常以114指示的一个或多个局域网和/或广域网(例如,因特网)通信地耦合到客户端设备106。
[0032]
在各种实施方式中,自动助理客户端108的实例通过其与一个或多个基于云的自动助理部件119的交互的方式可以形成从用户的角度看似乎是自动助理120的逻辑实例的内容,用户可以参与和自动助理120的人机对话。这种自动助理120的一个实例在图1中以虚线示出。因此,应该理解的是,与在客户端设备106上执行的自动助理客户端108进行接洽的每个用户实际上可以与他或她自己的自动助理120的逻辑实例进行接洽。为了简洁和简单起见,本文中用作“服务”特定用户的“自动助理(术语)”将指在由用户操作的客户端设备106上执行的自动助理客户端108和一个或多个基于云的自动助理部件119(该一个或多个基于云的自动助理部件119可以在多个自动助理客户端108之间共享)的组合。还应该理解的是,在一些实施方式中,自动助理120可以响应于来自任何用户的请求,而不管该用户是否由该自动助理120的特定实例来“服务”。
[0033]
所述一个或多个客户端设备106可以包括例如以下的一个或多个:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立的交互式扬声器(在某些情况下可能包括视觉传感器)、诸如智能电视的智能设备(或配备有具有自动助理功能的网络加密狗的标准电视)和/或包括计算设备(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)的用户可穿戴装置。可以提供附加的和/或可替代的客户端计算设备。一些客户端设备106,例如独立的交互式扬声器(或“智能扬声器”),可以采取助理设备的形式,其主要被设计为促进用户和自动助理120之间的对话。一些这样的助理设备可以采取独立的带显示器的交互式扬声器的形式,该显示器可能是触摸屏也可能不是触摸屏。
[0034]
在一些实施方式中,客户端设备106可以配备有具有一个或多个视野的一个或多个视觉传感器107,但这不是必需的。一个或多个视觉传感器107可以采用各种形式,例如数字相机、无源红外(“pir”)传感器、立体相机、rgbd相机等。该一个或多个视觉传感器107可以例如通过图像捕获模块111来用于捕获其中部署了客户端设备106的环境的图像帧(静止图像或视频)。然后可以例如通过视觉提示模块1121来分析这些图像帧,以检测图像帧中包含的用户提供的视觉提示。这些视觉提示可以包括但不限于手势、对特定参考点的凝视、面部表情、用户的预定义运动等。这些检测到的视觉提示可以用于各种目的,例如调用自动助理120和/或使自动助理120采取各种动作。
[0035]
附加地或可替代地,在一些实施方式中,客户端设备106可以包括一个或多个接近传感器105。一个或多个接近传感器可以采用各种形式,诸如无源红外(“pir”)传感器、射频识别(“rfid”)、接收从另一个附近电子部件发射的信号的部件(例如,来自附近用户的客户端设备的蓝牙信号、从设备发射的高频或低频声音等)等等。附加地或可替代地,视觉传感器107和/或麦克风109还可以例如通过视觉和/或听觉地检测到用户接近来用作接近传感器。
[0036]
如本文中更详细描述的,自动助理120经由一个或多个客户端设备106的用户界面输入和输出设备参与和一个或多个用户的人机对话会话。在一些实施方式中,自动助理120可以响应于用户经由客户端设备106中的一个客户端设备的一个或多个用户界面输入设备提供的用户界面输入而参与和用户的人机对话会话。在那些实施方式中的一些中,用户界面输入是明确地指向自动助理120。例如,用户可以口头提供(例如,键入、说出)预定调用短语,例如“ok,assistant(ok,助理)”或“hey,assistant(嘿,助理)”,以使自动助理120主动
开始收听或监视键入的文本。附加地或可替代地,在一些实施方式中,可以基于一个或多个检测到的视觉提示,单独地或与口头调用短语相结合地调用自动助理120。
[0037]
在一些实施方式中,即使当用户界面输入没有明确地指向自动助理120时,自动助理120也可以响应于用户界面输入而参与人机对话会话。例如,自动助理120可以检查用户界面输入的内容并响应于用户界面输入中存在某些术语和/或基于其它提示而参与对话会话。在许多实施方式中,自动助理120可以利用语音识别来将来自用户的话语转换为文本,并且因此例如通过提供搜索结果、一般信息和/或采取一种或多种响应动作(例如,播放媒体、启动游戏、点菜等)来对该文本做出响应。在一些实施方式中,自动助理120可以附加地或可替代地对话语做出响应而无需将话语转换为文本。例如,自动助理120可以将语音输入转换为嵌入、转换为实体表示(指示语音输入中存在的一个或多个实体)和/或其它“非文本”表示,并对这样的非文本表示进行操作。因此,本文描述为基于从语音输入转换的文本来进行操作的实施方式可以附加地和/或可替代地直接对语音输入和/或语音输入的其它非文本表示进行操作。
[0038]
客户端计算设备106和操作基于云的自动助理部件119的计算设备中的每一个可以包括一个或多个用于存储数据和软件应用的存储器、一个或多个用于访问数据并执行应用的处理器以及其它有助于通过网络进行通信的部件。由客户端计算设备106和/或自动助理120执行的操作可以分布在多个计算机系统上。自动助理120可以被实施为例如在通过网络彼此耦合的一个或多个位置中的一台或多台计算机上运行的计算机程序。
[0039]
如上所述,在各种实施方式中,客户端计算设备106可以操作自动助理客户端108或自动助理120的“客户端部分”。在各种实施方式中,自动助理客户端108可以包括语音捕获模块110、上述图像捕获模块111、视觉提示模块1121和/或调用模块113。在其它实施方式中,语音捕获模块110、图像捕获模块111、视觉提示模块112和/或调用模块113的一个或多个方面可以例如通过一个或多个基于云的自动助理部件119与自动助理客户端108分开地实施。例如,在图1中,还存在可以检测图像数据中的视觉提示的基于云的视觉提示模块1122。
[0040]
在各种实施方式中,可以使用硬件和软件的任何组合来实施的语音捕获模块110可以与诸如麦克风109或其它压力传感器之类的硬件介接以捕获用户话语的音频记录。出于各种目的,可以对于此音频记录执行各种类型的处理。在一些实施方式中,可以使用硬件或软件的任何组合来实施的图像捕获模块111可以被配置成与相机107介接以捕获与视觉传感器107的视野相对应的一个或多个图像帧(例如,数字照片)。
[0041]
在各种实施方式中,视觉提示模块1121(和/或基于云的视觉提示模块1122)可以使用硬件或软件的任何组合来实施,并且可以被配置成分析由图像捕获模块111提供的一个或多个图像帧,以检测在该一个或多个图像帧中和/或跨该一个或多个图像帧捕获的一个或多个视觉提示。视觉提示模块1121可以采用多种技术来检测视觉提示。例如,视觉提示模块1122可以使用一个或多个人工智能(或机器学习)模型,该一个或多个人工智能模型被训练成生成指示图像帧中检测到的用户提供的视觉提示的输出。
[0042]
语音捕获模块110可以被配置成例如经由麦克风109捕获用户的语音,如前所述的那样。附加地或可替代地,在一些实施方式中,语音捕获模块110可以进一步被配置成例如使用语音到文本(“stt”)处理技术将捕获的音频转换为文本和/或其它表示或嵌入。附加地
或可替代地,在一些实施方式中,语音捕获模块110可以被配置成例如使用一个或多个语音合成器将文本转换为计算机合成的语音。但是,在某些情况下,由于客户端设备106可能在计算资源(例如处理器周期、内存、电池等)方面受到相对限制,因此客户端设备106本地的语音捕获模块110可以配置成将有限数量不同的口头短语(尤其是调用自动助理120的短语)转换为文本(或其它形式,例如较低维度的嵌入)。其它语音输入可以被发送到基于云的自动助理部件119,该基于云的自动助理部件可以包括基于云的文本语音转换(“tts”)模块116和/或基于云的stt模块117。
[0043]
在各种实施方式中,调用模块113可以被配置成例如基于由语音捕获模块110和/或视觉提示模块1121(该语音捕获模块110和/或视觉提示模块1121在一些实施方式中可以与图像捕获模块111组合在单个模块中)提供的输出来确定是否调用自动助理120。例如,调用模块113可以确定用户的话语是否符合作为应当发起与自动助理120的人机对话会话的调用短语。在一些实施方式中,调用模块113可以单独或与视觉提示模块1121检测到的一个或多个视觉提示相结合来分析指示用户的话语的数据,用户的话语例如是音频记录或从音频记录提取的特征矢量(例如,嵌入)。在一些实施方式中,由调用模块113采用的用于确定是否响应于有声话语来调用自动助理120的阈值可以在还检测到特定视觉提示时被降低。因此,即使在用户提供与正确的调用短语“ok assistant”不同但在语音上一定程度相似的有声话语时,该话语在结合视觉提示(例如,说话者挥手、说话者直接注视视觉传感器107等)的情况下被检测到时可以仍然被接受为正确的调用短语。
[0044]
在一些实施方式中,调用模块113可以使用例如存储在设备上模型数据库114中的一个或多个设备上调用模型来确定话语和/或视觉提示是否符合作为调用。可以训练这样的设备上调用模型以检测调用短语/手势的变化。例如,在一些实施方式中,可以使用训练示例来训练设备上调用模型(例如,一个或多个神经网络),每个训练示例包括来自用户的话语的音频记录(或提取的特征向量)以及指示一个或多个图像帧和/或与该话语同时捕获的检测到的视觉提示的数据。
[0045]
在图1中,设备上模型数据库114可以存储一个或多个设备上调用模型114
1-114
n
。在一些实施方式中,可以训练默认设备上调用模型1141以在音频记录或指示其的其它数据中检测一个或多个默认调用短语或者热词,例如先前提到的那些短语(例如,“ok,assistant”、“hey,assistant”等)。在一些这样的实施方式中,这些模型可以总是可用的并且可用于将自动助理120转换到一般收听状态,其中在该收听状态下,可以使用自动助理120的如下所述的(例如,在客户端设备106上或通过一个或多个基于云的自动助理部件119)其它部件来处理由语音捕获模块110(至少在调用之后的一段时间内)捕获的任何音频记录。
[0046]
另外,在一些实施方式中,设备上模型数据库114可以至少临时地存储一个或多个附加“场境调用模型”114
2-114
n
。这些场境调用模型114
2-114
n
可以在特定场境中由调用模块113使用和/或可用(例如,激活)。场境调用模型114
2-114
n
可以被训练成例如在音频记录或指示其的其它数据中检测一个或多个场境特定热词。在一些实施方式中,场境调用模型114
2-114
n
可以根据需要从例如形成基于云的自动助理部件119的一部分的动态热词引擎128中选择性地下载,这将在下面更详细地描述。
[0047]
在各种实施方式中,当调用模块113使用场境调用模型114
2-114
n
检测到各种动态
热词时,它可以将自动助理120转换到前面所述的一般收听状态。附加地或可替代地,调用模块113可以将自动助理120转换到场境特定的状态,其中,在将或不将自动助理120转换到一般收听状态的情况下执行一个或多个场境特定的响应动作。在许多情况下,触发将自动助理120转换到场境特定的状态的音频数据可能不会传送到云。相反,可以完全在客户端设备106上执行一个或多个场境特定的响应动作,这可以减少响应时间和传送到云的信息量,这从隐私的角度来看可能是有益的。
[0048]
基于云的tts模块116可以被配置成利用云的实际上无限的资源将文本数据(例如,由自动助理120制定的自然语言响应)转换为计算机生成的语音输出。在一些实施方式中,tts模块116可以将计算机生成的语音输出提供给客户端设备106以例如使用一个或多个扬声器直接输出。在其它实施方式中,可以将由自动助理120生成的文本数据(例如,自然语言响应)提供给语音捕获模块110,语音捕获模块110然后可以将文本数据转换为本地输出的计算机生成的语音。
[0049]
基于云的stt模块117可配置成利用云的实际上无限的资源将语音捕获模块110捕获的音频数据转换为文本,然后可将其提供给意图匹配器135。在一些实施方式中,基于云的stt的模块117可以将语音的音频记录转换为一个或多个音素,然后将该一个或多个音素转换为文本。附加地或可替代地,在一些实施方式中,stt模块117可以采用状态解码图。在一些实施方式中,stt模块117可以生成用户话语的多个候选文本解释。在一些实施方式中,stt模块117可以取决于是否存在同时检测到的视觉提示来使特定候选文本解释加权或偏置得比其它候选文本解释高。
[0050]
自动助理120(特别是基于云的自动助理部件119)可以包括意图匹配器135、前述tts模块116、前述stt模块117以及下面更详细描述的其它部件。在一些实施方式中,可以在与自动助理120分开的部件中省略、组合和/或实施自动助理120的一个或多个模块和/或模块。在一些实施方式中,为了保护隐私,自动助理120的一个或多个部件(诸如自然语言处理器122、tts模块116、stt模块117等)可以至少部分地在客户端设备106上实施(例如,排除在云之外)。
[0051]
在一些实施方式中,自动助理120响应于在与自动助理120的人机对话会话期间由客户端设备106中的一个客户端设备的用户生成的各种输入来生成响应内容。自动助理120可以(例如,与用户的客户端设备分开时通过一个或多个网络)提供响应内容以作为对话会话的一部分呈现给用户。例如,自动助理120可以响应于经由客户端设备106提供的自由形式的自然语言输入来生成响应内容。如本文所使用的,自由形式的输入是由用户制定的并且不限于呈现给用户进行选择的一组选项的输入。
[0052]
如本文中所使用的,“对话会话”可以包括在用户与自动助理120之间(在某些情况下,与其它人类参与者之间)的一个或多个消息的逻辑上自洽的对话。自动助理120可以基于各种信号来在与用户的多个对话会话之间进行区分,该各种信号例如是在会话之间的时间流逝、会话之间的用户场境(例如,位置、预定会议之前/之中/之后等)的改变、检测到用户与客户端设备之间的除了用户和自动助理之间的对话之外的一个或多个介入交互(intervening interactions)(例如,用户切换应用一段时间,用户离开、然后稍后返回到独立的语音激活的产品)、客户端设备的在会话之间的锁定/休眠以及用于与自动助理120的一个或多个实例介接的客户端设备的改变等。
[0053]
意图匹配器135可被配置成基于用户提供的输入(例如,有声话语、视觉提示等)和/或基于其它信号(例如,传感器信号和在线信号(例如,从web服务获得的数据)等等)来确定用户的意图。在一些实施方式中,意图匹配器135可以包括自然语言处理器122和上述基于云的视觉提示模块1122。在各种实施方式中,除了基于云的视觉提示模块1122可以拥有更多资源以供支配以外,该基于云的视觉提示模块1122可以类似于视觉提示模块1121来操作。特别地,基于云的视觉提示模块1122可以检测可以由意图匹配器135单独或与其它信号结合使用的视觉提示以确定用户的意图。
[0054]
自然语言处理器122可以被配置成处理由用户通过客户端设备106生成的自然语言输入,并且可以生成注释输出(例如,以文本形式)以供自动助理120的一个或多个其它部件使用。例如,自然语言处理器122可以处理由用户经由客户端设备106的一个或多个用户界面输入设备所生成的自然语言自由格式输入。所生成的注释输出包括自然语言输入的一种或多种注释和/或自然语言输入中的一个或多个(例如,全部)词语。
[0055]
在一些实施方式中,自然语言处理器122被配置成识别和注释自然语言输入中的各种类型的语法信息。例如,自然语言处理器122可以包括形态学模块,该形态学模块可以将各个单词分成词素和/或例如以词素的类别来注释这些词素。自然语言处理器122还可以包括词性标记器,该词性标记器(speech tagger)被配置成用词语的语法角色来注释词语。例如,词性标记器可以用词语的词性(诸如“名词”、“动词”、“形容词”、“代词”等)来标记每个词语。此外,例如,在一些实施方式中,自然语言处理器122可以附加地和/或可替代地包括被配置成确定自然语言输入中的词语之间的句法关系的依赖性解析器(未示出)。例如,依赖性解析器可以确定哪些词语修改了其它词语以及句子的主语和动词等等(例如,解析树),并且可以对这种依赖性进行注释。
[0056]
在一些实施方式中,自然语言处理器122可以附加地和/或可替代地包括实体标记器(未示出),该实体标记器被配置成在一个或多个段中注释实体引用,诸如对人(包括例如文学人物、名人、公众人物等)、组织和位置(真实的和虚构的)等等的引用。在一些实施方式中,关于实体的数据可以存储在一个或多个数据库中,例如知识图(未示出)中。在一些实施方式中,知识图可以包括代表已知实体的节点(在某些情况下,实体属性)以及连接节点并代表实体之间关系的边。例如,“banana(香蕉)”节点可(例如,作为孩子)连接到“fruit(水果)”节点,“fruit”节点可以(例如,作为孩子)继而连接到“produce(农产品)”和/或“food(食物)”节点。作为另一示例,被称为“hypothetical caf
é
(假想咖啡馆)”的餐厅可以由还包括诸如其地址、所供应食物的类型、时间、联系信息等的属性的节点表示。在一些实施方式中,可以将“hypothetical caf
é”
节点通过边(例如,代表孩子与父母的关系)连接到一个或多个其它节点(例如“restaurant(餐厅)”节点、“business(商业)”节点和代表该餐厅所在城市和/或州的节点等等)。
[0057]
自然语言处理器122的实体标记器可以以较高的粒度级别(例如,以使得能够识别对实体类别(诸如人)的所有引用)和/或较低的粒度级别(例如,以使得能够识别对特定实体(例如特定人员)的所有引用)来注释对实体的引用。实体标记器可以依赖于自然语言输入的内容来解析特定实体和/或可以可选地与知识图或其它实体数据库进行通信以解析特定实体。
[0058]
在一些实施方式中,自然语言处理器122可以附加地和/或可替代地包括共指解析
器(coreference resolver)(未示出),该共指解析器被配置成基于一个或多个场境提示来对同一实体的引用进行分组或“聚类”。例如,可以使用共指解析器在自然语言输入“i liked hypothetical caf
é
last time we ate there(我上次在假想咖啡馆用餐时喜欢那里)”中将术语“there(那里)”解析为“hypothetical caf
é”

[0059]
在一些实施方式中,自然语言处理器122的一个或多个部件可以依赖于来自自然语言处理器122的一个或多个其它部件的注释。例如,在一些实施方式中,命名实体标记器可以依赖于来自共指解析器和/或依赖解析器的注释来对特定实体的所有提及进行注释。同样,例如,在一些实施方式中,共指解析器可能依赖于来自依赖解析器的注释将对于同一实体的引用聚类。在一些实施方式中,在处理特定自然语言输入时,自然语言处理器122的一个或多个部件可以使用相关的先前输入和/或特定自然语言输入之外的其它相关数据来确定一个或多个注释。
[0060]
意图匹配器135可以例如基于来自自然语言处理器122的输出(该输出可以包括自然语言输入的注释和词语)和/或基于来自视觉提示模块(例如1121和/或1122)的输出,使用各种技术来确定用户的意图。在一些实施方式中,意图匹配器135可以访问一个或多个数据库(未示出),该一个或多个数据库包括例如语法、视觉提示和响应动作(或更一般地,意图)之间的多个映射。在许多情况下,这些语法可能会随着时间的流逝而被选择和/或学习,并且可能代表用户的最常见意图。例如,一个语法“play<artist>(播放<艺术家>)”可以被映射到一种意图,该意图调用以下响应动作,该响应动作使得该<artist>(<艺术家>)的音乐在用户操作的客户端设备106上播放。另一个语法“[weather|forecast]today([天气|天气预报]今天)”可以与用户查询相匹配,例如是“what

s the weather today(今天的天气如何)”和“what

s the forecast for today?(今天的天气预报是什么?)”[0061]
除了或代替语法,在一些实施方式中,意图匹配器135可单独地或与一个或多个语法和/或视觉提示相结合地采用一个或多个经训练的机器学习模型。这些经训练的机器学习模型也可以存储在一个或多个数据库中,并且可以通过下述方式被训练以识别意图:例如,通过将指示用户话语和/或任何检测到的用户提供的视觉提示的数据嵌入到降维空间中,然后例如使用诸如欧几里得距离、余弦相似度等技术,确定哪些其它嵌入(以及因此,意图)最接近。
[0062]
如在“play<artist>”示例语法中所见,一些语法具有可以用槽位值(或“parameters(参数)”)填充的槽(例如,<artist>)。可以以各种方式确定槽值。用户通常会主动提供槽值。例如,对于语法“order me a<topping>pizza(为我订购<topping>披萨)”,用户可能会说“order me a sausage pizza(为我订购香肠披萨)”这句话,在这种情况下,自动填充槽<topping>。附加地或可替代地,如果用户调用包括要用槽值填充的槽的语法,而无需用户主动提供槽值,则自动助理120可以向用户请求这些槽值(例如,“what type of crust do you want on your pizza?(您想要何种硬皮在你的披萨上?)”)。在一些实施方式中,可以基于视觉提示模块112
1-2
检测到的视觉提示,用槽值填充槽。例如,用户可以在向客户端设备106的视觉传感器107举起三个手指的同时说出“order me this many cat bowls(为我订购这么多的猫碗)”之类的话。或者,用户在拿着特定电影的dvd盒的同时可以说出“find me more movies like this(给我找更多像这样的电影)”之类的话。
[0063]
在一些实施方式中,自动助理120可以充当用户与一个或多个第三方计算服务130
(或“third party agent(第三方代理)”或“agents(代理)”)之间的中介。这些第三方计算服务130可以是接收输入并提供响应输出的独立软件过程。一些第三方计算服务可以采取第三方应用的形式,该第三方应用可以或可以不在与诸如基于云的自动助理部件119的运行的计算系统分开的计算系统上运行。意图匹配器135可以识别的一种用户意图是与第三方计算服务130接洽。例如,自动助理120可以向用于控制智能设备的服务提供对应用程序编程接口(“api”)的访问。用户可以调用自动助理120并提供诸如“i

d like to turn the heating on(我想打开暖气)”的命令。意向匹配器135可以将此命令映射到一个语法,该语法触发自动助理120与第三方服务进行接洽,从而使用户的暖气打开。第三方服务130可以向自动助理120提供需要填充的最小槽列表,以实施(或“解决”)打开暖气的命令。在该示例中,槽可以包括暖气将被设定到的温度以及暖气将被接通的持续时间。自动助理120可以生成自然语言输出并(通过客户端设备106)将其提供给用户,该自然语言输出请求槽的参数。
[0064]
履行模块124可以被配置成接收由意图匹配器135输出的预测/估计的意图以及相关联的槽值(无论是由用户主动提供还是从用户那里请求的)并履行(或“解决”)该意图。在各种实施方式中,用户意图的履行(或“解决”)可以例如通过履行模块124来生成/获得各种履行信息(也称为“响应”信息或“解决信息”)。如下面所描述的,在一些实施方式中,可以将履行信息提供给自然语言生成器(在一些附图中显示为“nlg”)126,该自然语言生成器可以基于履行信息来生成自然语言输出。
[0065]
履行(或“解决”)信息可以采取各种形式,因为可以以多种方式履行(或“解决”)意图。假设用户要求提供纯粹的信息,例如“where were the outdoor shots of

the shining

filmed?(“闪灵”的户外镜头是在哪里拍摄的?)”可以例如通过意图匹配器135将用户的意图确定为搜索查询。可以将搜索查询的意图和内容提供给履行模块124,如图1中所示,该履行模块可以与一个或多个被配置成搜索文档和/或其它数据源(例如知识图等)的语料库的搜索模块150通信,以获取响应信息。履行模块124可以向搜索模块150提供指示搜索查询的数据(例如,查询的文本、降维嵌入等)。搜索模块150可以提供:响应信息,例如gps坐标;或其它更明确的信息,例如“timberline lodge,mt.hood,oregon(山林小屋,胡德山,俄勒冈州)。”该响应信息可以形成由履行模块124生成的履行信息的一部分。
[0066]
附加地或可替代地,履行模块124可以被配置成例如从意图匹配器135接收用户的意图以及由用户提供的或使用其它方式确定的任何槽值(例如,用户的gps坐标、用户偏好等等)并触发响应动作。响应动作可以包括例如订购商品/服务、启动计时器、设置提醒、发起电话呼叫、播放媒体、发送消息等。在一些这样的实施方式中,履行信息可以包括与履行、确认响应(在某些情况下该确认响应可以从预定响应中选择)等相关联的槽值。
[0067]
自然语言生成器126可以被配置成基于从各种来源获得的数据来生成和/或选择自然语言输出(例如,被设计为模仿人类语音的单词/短语)。在一些实施方式中,自然语言生成器126可以被配置成接收与意图的履行相关联的履行信息来作为输入,并基于该履行信息生成自然语言输出。附加地或可替代地,自然语言生成器126可以从诸如第三方应用之类的其它源接收信息(例如,所需的槽),这些信息可以用来为用户编写自然语言输出。
[0068]
图2示意性地描绘了根据各种实施方式的示例状态机,该示例状态机可以由配置有本公开的所选方面的自动助理(例如120)和/或助理设备(例如106)来实施。左上方是“default inactive state(默认的非活动状态)”,当不被用户接洽时,自动助理120可能驻
留在其中。在默认的非活动状态下,可以激活一个或多个客户端设备(106)的一个或多个麦克风,并且可以使用本文描述的技术来分析其捕获的音频数据。响应于例如由调用模块113和/或视觉提示模块112基于默认调用模型1141检测到一个或多个默认调用词(图2中的“diw”,在本文中也称为“热词”)(例如“ok,assistant”或“hey,assistant”),自动助理120可以转换到“general listening state(一般收听状态)”。除了默认热词以外的话语(例如,环境对话等)可以被忽略并且不会被处理。
[0069]
在一般收听状态下,自动助理120可以捕获默认调用词之后说出的音频数据,并转换到“general processing(一般处理)”状态。在一般处理状态下,自动助理120可以处理指示音频输入的数据,如先前参考图1所述,包括stt处理、自然语言处理、意图匹配、履行等。一旦处理完成,自动助理120可能会转换回到默认的非活动状态。如果在检测到默认调用词之后未接收到音频输入,则超时(图2中的“to”)可以将自动助理120从一般收听状态转换回到默认的非活动状态,例如,使得不意图用于由自动助理进行处理的后续话语不会被捕获或处理。
[0070]
如前所述,本文描述的技术促进场境特定热词(该场境特定热词可以激活和检测)将自动助理120转换到各种不同的状态,例如一般收听状态,或其中自动助理120执行各种动作的其它场境特定的状态。在一些实施方式中,在某些情况下,可以被说出以将自动助理120从默认的非活动状态转换到一般收听状态的调用词的词汇可以被至少暂时地(例如,在有限的时间量内、直到场境不再适用等)扩展。
[0071]
例如,在图2中,第一场境特定的信号cs1可以将自动助理120从默认的非活动状态转换到第一场境特定的收听状态“csls1”。在csls1中,自动助理120可以收听默认调用词(“diw”)和第一场境特定热词(“c1热词”)。如果检测到任何一个,则自动助理120可以如上所述转换到一般收听状态。因此,在第一场境特定的收听状态中,将自动助理120转换到一般收听状态的热词词汇被扩展为包括默认调用词和第一场境特定热词。而且,在一些实施方式中,如果在自动助理120处于第一场境特定的收听状态的情况下经过了足够的时间量而没有检测到激活的热词,则超时(“to”)可以将自动助理120转换回到默认的非活动状态。
[0072]
附加地或可替代地,在一些实施方式中,在某些场境下,自动助理120可以例如使用热词的扩展词汇而能够转换到一般收听状态,或能够转换到其中一个或多个场境特定的动作可以被执行的场境特定的状态。例如,在图2中,响应于第二场境信号(“cs
2”),自动助理120可以从默认的非活动状态转换到第二场境特定的收听状态“csls2”。在该第二场境特定的收听状态中,自动助理120可以例如通过检测一个或多个默认调用词和/或在某些情况下检测一个或多个第二场境特定热词(“c2hotword(s)
a
(c2热词
a
)”)来转换到一般收听状态,其中该一个或多个第二场境特定热词有效地扩展能够将自动助理120转换到一般收听状态的词汇。
[0073]
附加地或可替代地,自动助理120可以从第二场境特定的状态(“csls2”)转换成一个或多个状态,在该一个或多个状态中,例如,响应于一个或多个另外的第二场境特定热词(“c2hotword(s)
b
(c2热词
b
)”)来执行一个或多个第二场境特定的响应动作(“2
nd context-specific resp.act.(第二场境特定的响应动作)”)。下面将描述示例响应动作。在一些实施方式中,特定的第二场境特定热词可以被映射到特定的第二场境特定的响应动作,但这不是必需的。尽管为了清楚起见未在图2中示出,但是在一些实施方式中,在执行了这些一
个或多个第二场境特定的响应动作之后,自动助理120可以转换回到默认的非活动状态。
[0074]
在一些实施方式中,在某些场境下,自动助理120可能不再收听默认的热词。相反,自动助理120可能仅收听场境特定热词并执行响应动作。例如,在图2中,响应于第m场境信号(“cs
m”),自动助理120可以从默认的非活动状态转换到第m场境特定的收听状态(m为正整数)“cslsm”。在这种状态下,自动助理120可以收听第m场境特定热词(“c
m
热词”)。响应于检测到一个或多个第m场境特定热词,自动助理120可执行一个或多个第m场境特定的响应动作(“mth context-specific resp.act.(第m场境特定的响应动作)”)。
[0075]
在各种实施方式中,自动助理120可以以各种方式激活场境特定热词。例如,并且参考图1和图2两者,在一些实施方式中,在转换到特定场境中时,自动助理120可以例如从动态热词引擎128下载一个或多个场境特定的机器学习模型或分类器(例如1142、1143、...、114
n
),例如神经网络、隐马尔可夫模型(hidden markov models)等,它们经过预训练以检测要在该特定场境中激活的热词。例如,假设在特定场境中,将自动助理120从默认的非活动状态转换到一般收听状态的词汇被扩展为包括单词“howdy”。在各种实施方式中,自动助理120可以例如从动态热词引擎128可用的数据库129中获得分类器,该分类器被训练以生成指示是否检测到单词“howdy”的输出。在各种实施方式中,该分类器可以是二进制的(例如,如果检测到热词,则输出“1”,否则,输出“0”),或者可以生成概率。如果概率满足某个置信度阈值,则可以检测到热词。
[0076]
附加地或可替代地,在一些实施方式中,一个或多个设备上模型114可以采取动态热词分类器/机器学习模型(例如,神经网络、隐马尔可夫模型等)的形式,其能够动态地调整从而为一个或多个预定音素生成一个输出,并为其它音素生成另一输出。假设要激活热词“howdy”。在各种实施方式中,可以例如通过改变一个或多个参数和/或在随音频数据或嵌入音频数据来提供动态输入从而来调整动态热词分类器,以“收听”音素“how”和“dee”。当在音频输入中检测到那些音素时,动态热词分类器可以生成触发自动助理120采取响应动作(例如是转换到一般收听状态、执行某些场境特定的响应动作等)的输出。其它音素可以生成被忽略或略去的输出。附加地或可替代地,可以由动态热词分类器仅响应于激活的音素而生成输出,而其它音素可能根本不生成输出。
[0077]
图3a和图3b示出了根据本文描述的实施方式的、如何可以在用户101与自动助理实例(图3a至图b中未示出)之间经由客户端计算设备306的麦克风和扬声器(被描绘为独立的交互式扬声器,但这并不意味着是限制性的)发生人机对话会话的一个示例。可以在计算设备306上和/或与在与计算设备306进行网络通信的一个或多个计算设备上实施自动助理120的一个或多个方面。客户端设备306包括如上所述的接近传感器305,该接近传感器305可以采用相机、麦克风、pir传感器、无线通信部件等的形式。
[0078]
在图3a中,客户端设备306可以基于接近传感器305生成的信号来确定用户101位于离客户端设备306的距离为d1。距离d1可以大于预定距离(例如,阈值)。因此,自动助理120可以保持在默认收听状态,在该默认状态下,只能使用默认的热词集中的一个或多个热词来调用(至少口头)。在图3a中,例如,用户101提供自然语言输入“hey assistant,set a timer for five minutes(嘿助理,将计时器设定为五分钟)”。“hey assistant”可以包括一个或多个默认热词,该一个或多个默认热词一起形成可用于调用自动助理120的有效“调用短语”。因此,自动助理120回答“ok.timer starting

now(ok。计时器现在开始

)”并启
动五分钟计时器。
[0079]
相反,在图3b中,客户端设备306可以例如基于接近传感器305生成的信号来检测用户101现在离客户端设备的距离为d2。距离d2可以小于预定距离(或阈值)。因此,自动助理120可以从图3a的默认收听状态转换到增强收听状态。换句话说,确定出用户101的距离为d2可以构成场境信号(例如,图2中的“cs1”),该场境信号使自动助理120转换到场境特定状态,在该状态下激活并可用另外或可替代的热词,以将自动助理120从默认收听状态转换到增强收听状态。
[0080]
当在增强的收听状态下时,除了或代替默认的热词集之外,用户101还能够使用来自增强的热词集的一个或多个热词来调用自动助理120。例如,在图3b中,用户101不需要以“hey assistant”开始他的话语。相反,用户只是说出“set a timer for five minutes”。诸如“set(设定)”的单词或诸如“set a timer for(设定定时器)”的短语可以包括热词,这些热词现在是能够用于调用自动助理120的增强的热词集中的一部分。因此,自动助理120回答“ok.timer starting

now”并启动五分钟计时器。
[0081]
在此示例中,自动助理120从默认收听状态转换到一个场境特定的状态,在该状态下,可以使用附加的/可替代热词来调用自动助理120。但是,响应于这样的事件,自动助理120可以转换成附加或可替代状态。例如,在一些实施方式中,当检测到用户101足够靠近助理设备(例如,d2)时,自动助理120可以转换到另一场境特定的状态。例如,自动助理120可以转换到场境特定的状态,在该状态下,全面的语音识别不可用(至少不首先使用默认的热词来调用自动助理120),而在该状态下,其它场境特定的命令是可用的。
[0082]
例如,假设用户101根据通过至少部分地在客户端设备306处操作的自动助理120已经访问的在线食谱正在厨房准备晚餐。进一步假设客户端设备306坐落于烹饪区域中,使得用户101在客户端设备306的d2内执行食谱的步骤。在一些实施方式中,已经通过在客户端设备306的d2内检测到用户101的事实可以使自动助理120转换到场境特定的状态,其中至少一些命令是可用的,而无需先使用默认热词来调用自动助理120。例如,用户101可以说出“next(下一步)”以进入菜谱的下一步,或者说“back(返回)”或“repeat last step(重复最后一步)”以听取上一步,“start a timer(启动计时器)”、“stop a timer(停止计时器)”等。
[0083]
在一些实施方式中,在此场境下其它动作也可能是可用的。例如,在一些实施方式中,部署在住户周围的多个助理设备(例如,形成客户端设备的协调的生态系统)可以分别与特定房间相关联。当有人足够靠近某个设备时,与特定房间的关联可能会导致不同的动态热词变成激活。例如,当用户101首先在厨房中设置客户端设备306时,用户101可以例如通过在菜单上选择厨房来将客户端设备306指定为位于厨房中。这可以激活自动助理120的厨房特定的状态机,该厨房特定的状态机在用户足够接近客户端设备时激活某些以厨房为中心的热词。因此,当用户101在厨房中的客户端设备306的d2内时,某些与厨房有关的命令,诸如“set a timer”、“go to the next step”、用于操作智能厨房电器的命令等,可能会变为活动的,而无需用户101首先必须使用默认热词调用自动助理120。
[0084]
在该接近度示例中,必须在客户端设备306的d2内检测到用户101,但这并不意味着限制。在各种实施方式中,仅由接近传感器305检测到用户101可能就足够了。例如,pir传感器可以仅在用户相对靠近时才检测到用户的存在。
[0085]
除了接近度之外或代替接近度,在一些实施方式中,可以确定出用户的身份和/或群组中的成员资格并将其用于激活一个或多个动态热词。图4a至图b描绘了一个这样的示例。用户(图4a中的101a,图4b中的101b)再次与至少部分在客户端设备406上运行的自动助理120进行接洽。客户端设备406包括传感器470,该传感器470生成可用于确定用户身份的信号。因此,传感器470可以是一个或多个相机,该一个或多个相机被配置成生成视觉数据,其中这些视觉数据可以使用面部识别处理,或者甚至是使用能够识别视觉特征(诸如制服,视觉标记(例如,徽章或衬衫上的qr码))的物体识别过程来分析以识别用户(或用户是群组的成员)。附加地或可替代地,传感器470可以是一个或多个麦克风,该一个或多个麦克风被配置成对用户101的一个或多个话语执行语音识别(有时称为“speaker recognition(讲话者识别)”)。作为又一种选择,传感器470可以是无线接收器(例如,蓝牙、wi-fi、紫蜂、z波、超声波、rfid等),该无线接收器从用户携带的设备(未描绘)接收无线信号并分析该无线信号以确定用户的身份。
[0086]
在图4a中,用户101a是不可识别的。因此,要求用户101a使用一个或多个默认热词来调用自动助理120。在图4a中,用户101a说出“hey assistant,play

we wish you a merry christmas(嘿助手,播放
“”
我们祝你圣诞快乐”)”。响应于“hey assistant”,自动助理120被调用。使用前面描述的管线来处理其余的话语,以使自动助理120在客户端设备406上发起歌曲的回放。
[0087]
相反,在图4b中,例如基于传感器470生成的信号已经识别了用户101b。识别用户101b的动作可以构成场境信号(例如,图2中的“cs1”),该场境信号使自动助理转换到场境特定的状态,在该状态下,附加或可替代的热词被激活并且可用于使自动助理120从默认收听状态转换到增强收听状态。例如,如图4b中所示,用户101b可以在不首先调用自动助理120的情况下说出诸如“play

we wish you a merry christmas(播放“我们祝你圣诞快乐”)”的内容。尽管如此,自动助理120仍发起歌曲的回放。在这种场境下可能是活动的其它热词包括但不限于“fast forward(快进)”、“skip ahead<number seconds>“向前跳过<数秒>
””
、“stop(停止)”、“pause(暂停)”、“rewind<time increment>(倒带<时间增量>)”、“turn up/down the volume(调高/调低音量)”等等。
[0088]
附加地或可替代地,可能不必检测用户101b的特定身份。在一些实施方式中,识别用户的一些视觉属性可能就足以激活某些动态热词。例如,在图4b中,用户101b是穿着通常由医生穿着的衣服的医生。可以检测该衣服(或具有标记、rfid等的徽章),并用于确定用户101b是应激活某些热词的群组(例如,医务人员)的成员。
[0089]
图5描绘了可以使用接近度和/或身份的情况。在图5中,持有客户端设备506的用户501(白色阴影)处于与多个其它人(灰色阴影)拥挤在一起的区域中。假设其它人也具有能够用于与自动助理120进行接洽的客户端设备(未被描绘)。如果附近的其它人说出默认热词来调用其自动助理,则可能会无意中调用客户端设备506上的自动助理120。类似地,如果用户501说出默认热词来调用客户端设备506上的自动助理120,则可能会无意调用其它人携带的其它设备上的自动助理。
[0090]
因此,在一些实施方式中,自动助理120可以检测用户501的身份和/或用户501在预定接近度内,并激活调用自动助理120所需的定制的动态热词集。例如,图5中,如果用户501在客户端设备506的第一接近度515a内(并且在一些情况下被识别),则可以激活对用户
501唯一的第一定制的热词集(例如,由用户501手动选择)。这样,用户501可以说出这些自定义热词,而不必担心会意外地在其它人的设备上调用自动助理。在一些实施方式中,不同的接近度范围可以引起不同的动态热词被激活。例如,在图5中,如果在接近度范围515a之外但在另一接近度范围515b内检测到用户501,则可以激活附加/可替代热词。对于第三接近度范围515c或任何数量的接近度范围也是如此。在一些实施方式中,如果用户501在接近度范围515c之外,则可以仅激活默认热词,或者不激活任何热词。
[0091]
在可替代方案中,在一些实施方案中,在识别用户501的身份时,自动助理120可以实施讲话者识别以仅响应于用户501的语音,而忽略其它用户的语音。
[0092]
尽管本文描述的实施方式已经聚焦于使自动助理120响应于场境特定热词而采取各种动作(例如,搜索信息、控制媒体回放、停止计时器等),但这并不意味着受到限制。本文描述的技术可以扩展到其它使用例。例如,当用户希望在例如搜索网页上填写表格字段时,本文描述的技术可以适用。在一些实施方式中,当网页中存在搜索栏或其它类似的文本输入元素时,可以激活一个或多个附加的场境特定热词。例如,当用户将启用了助理的设备导航到具有搜索栏的网页时,可以激活热词“search for(搜索)”,例如,使得用户可以简单地说“search for<desired topic>(搜索<期望的主题>)”,然后用户在“search for”之后的话语可以自动转录到搜索栏中,而无需用户首先调用自动助理120。
[0093]
在各种实施方式中,除了一个或多个场境特定热词之外或代替一个或多个场境特定热词,计算设备到特定场境的转换可以激活一个或多个场境特定手势。例如,假设通过助理设备的特定接近度检测到用户。在一些实施方式中,可以激活一个或多个场境特定手势。例如通过调用模块113对那些手势的检测可以触发自动助理120到一般收听状态的转换和/或使自动助理120执行一些场境特定的响应动作。
[0094]
图6是示出根据本文公开的实施方式的示例方法600的流程图。为了方便起见,参照执行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种部件,例如自动助理120的一个或多个部件。此外,尽管以特定顺序示出了方法600的操作,但这并不意味着限制。一项或多项操作可能会重新排序、省略或添加。
[0095]
在框602处,系统可以至少部分在计算设备(例如,客户端设备106、306、406、506)上操作自动助理120。例如,并且如上所述,在许多情况下,自动助理120可以部分地在客户端设备106上并且部分地在云(例如,基于云的自动助理部件119)上实施。在框604处,系统可以对由麦克风(例如109)所捕获的音频数据监视一个或多个默认热词。例如,音频数据(或指示其的其它数据,例如嵌入)可以被用作跨一个或多个当前活动的调用模型114的输入,以生成输出。该输出可以指示检测到(框606)一个或多个默认热词。在框608处,系统可以将自动助理120从有限的热词收听状态(例如,图2中的默认的非活动状态)转换到语音识别状态(例如,图2中的一般收听状态)。
[0096]
在一些实施方式中,与框604至608的操作平行(或与之串联),在框610处,系统可以监视客户端设备的状态。例如,系统可以监视一个或多个场境信号,诸如检测到的用户存在、检测到的用户身份、检测到用户在群组中的成员身份、检测到视觉属性等。
[0097]
如果在框612处,系统检测到场境信号,则在框614处,系统可以将计算设备转换到给定状态。例如,系统可以检测到场境信号,诸如用户足够接近客户端设备、用户的身份等等。在框614的转换之后,在框616处,系统可以针对除了或代替在框604处监视的一个或多
个默认热词之外,对由麦克风捕获的音频数据监视一个或多个场境特定热词。
[0098]
如前所述,在一些场境中,一些热词可以将自动助理120转换到一般收听状态,而其它热词可以使自动助理120执行场境特定的响应动作(例如,停止计时器、暂停媒体回放等)。因此,在框618处,如果系统检测到第一一个或多个场境热词(例如,意图使自动助理120执行场境特定任务的热词),则在框620处,系统可以执行或引起自动助理120执行一个或多个场境特定的响应动作。另一方面,如果在框618处未检测到第一一个或多个场境热词,而是在框622处检测到了第二一个或多个场境热词(例如,通常意图简单地调用自动助理120的热词),则方法600可以返回到框606,在此,自动助理120处于一般收听状态。
[0099]
在一些实施方式中,如果不请求场境特定的动作,则可以采用一个或多个超时以确保自动助理120返回到稳定或默认值。例如,如果在框618处和框622处分别没有检测到第一场境特定热词或第二场境特定热词,则在框624处,可以确定是否超时(例如,十秒、三十秒、一分钟等等)期满。如果在框624处的答案为是,则方法600可以转换回到框604,在框604处,自动助理120被转换到默认的非活动状态。但是,如果在框624处的答案为否,则在一些实施方式中,方法600可以返回到框616,在该点处,系统可以监视场境特定热词。
[0100]
图7描绘了根据各种实施例的用于实践本公开的所选方面的与方法600类似的示例方法700。为了方便起见,参考执行该流程图的系统来描述该流程图的操作。该系统可以包括各种计算机系统的各种部件。此外,尽管以特定顺序示出方法700的操作,但这并不意味着是限制性的。一项或多项操作可能会重新排序、省略或添加。
[0101]
在框702处,系统可以在默认收听状态下执行自动助理。当处于默认收听状态时,在框704处,系统可以对由一个或多个麦克风捕获的音频数据监视一个或多个默认热词集中的一个或多个热词。对默认集的一个或多个热词的检测可以触发自动助理从默认收听状态转换到语音识别状态(例如,图6的框608)。
[0102]
在框706处,系统可以检测由与一个或多个计算设备集成在一起的一个或多个硬件传感器(诸如麦克风、相机、pir传感器、无线部件等)生成的一个或多个传感器信号。在块708处,系统可以分析该一个或多个传感器信号以确定用户的属性。用户的这一属性可以是例如关于用户本身的存在性属性,或者是用户与一个或多个助理设备的物理接近度。可以在框708处确定的属性的非限制性示例包括但不限于用户在助理设备的预定接近度内、用户的身份、用户在群组中的成员身份、通过接近传感器检测到用户(在可能不考虑距离的情况下)、用户的视觉属性(诸如制服、徽章、小装饰品等)等等。
[0103]
在框710处,系统可以基于该分析将自动助理从默认收听状态转换到增强收听状态。当处于增强收听状态时,在框712处,系统可以对由一个或多个麦克风捕获的音频数据监视一个或多个热词的增强集中的一个或多个热词。对增强集中的一个或多个热词的检测可以触发自动助理执行响应动作,而无需检测默认集中的一个或多个热词。增强集中的一个或多个热词可能不在默认集中。
[0104]
在这里讨论的某些实施方式可能收集或使用关于用户的个人信息(例如,从其它电子通信中提取的用户数据、关于用户的社交网络的信息、用户的位置、用户的时间、用户的生物特征信息、以及用户的活动和人口统计信息、用户之间的关系等)的情况下,向用户提供一个或多个机会来控制是否收集信息、是否存储个人信息、是否使用个人信息以及有关用户的信息将如何收集、存储和使用。即,仅在从相关用户接收到明确的授权后,本文讨
论的系统和方法才收集、存储和/或使用用户的个人信息。
[0105]
例如,向用户提供对程序或特征是否收集关于该特定用户或与程序或特征相关的其它用户的用户信息的控制。向要收集其个人信息的每个用户呈现一个或多个选项,以允许控制与该用户有关的信息收集,提供关于是否收集信息以及信息的哪些部分被收集的许可或授权。例如,可以通过通信网络向用户提供一个或多个这样的控制选项。另外,在存储或使用某些数据之前,可能会以一种或多种方式处理这些数据,从而删除个人可识别信息。作为一个示例,可以处理用户的身份,从而无法确定个人可识别信息。作为另一个示例,可以将用户的地理位置概括到更大的区域,从而无法确定用户的特定位置。
[0106]
图8是示例计算设备810的框图,该示例计算设备810可以可选地用于执行本文所述的技术的一个或多个方面。在一些实施方式中,客户端计算设备、用户控制的资源引擎134和/或其它部件中的一个或多个可以包括示例计算设备810的一个或多个部件。
[0107]
计算设备810通常包括至少一个处理器814,该处理器814通过总线子系统812与多个外围设备进行通信。这些外围设备可以包括:存储子系统824,该存储子系统824例如包括存储器子系统825和文件存储子系统826;用户界面输出设备820;用户界面输入设备822;以及,网络接口子系统816。输入和输出设备允许用户与计算设备810进行交互。网络接口子系统816提供到外部网络的接口并耦合到其它计算设备中的对应的接口设备。
[0108]
用户界面输入设备822可以包括:键盘;指点设备(诸如鼠标、轨迹球、触摸板或图形输入板);扫描仪;结合到显示器中的触摸屏;音频输入设备(诸如语音识别系统、麦克风);和/或其它类型的输入设备。通常,术语“输入设备”的使用意图包括将信息输入到计算设备810中或输入到通信网络上的所有可能类型的设备和方式。
[0109]
用户界面输出设备820可以包括显示子系统、打印机、传真机或非视觉显示器(诸如音频输出设备)。显示子系统可以包括:阴极射线管(crt);平板设备(诸如液晶显示器(lcd));投影设备;或某个其它用于创建可见图像的机制。显示子系统还可以例如经由音频输出设备来提供非视觉显示。通常,术语“输出设备”的使用意图包括用于将信息从计算设备810输出到用户或输出到另一机器或计算设备的所有可能类型的设备以及方式。
[0110]
存储子系统824存储提供本文所述的一些或所有模块的功能的程序和数据构造。例如,存储子系统824可以包括执行图6至图7的方法的所选方面以及实施图1中描绘的各种部件的逻辑。
[0111]
这些软件模块通常由处理器814单独或与其它处理器结合执行。存储子系统824中使用的存储器825可以包括多个存储器,该多个存储器包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)830以及在其中存储固定指令的只读存储器(rom)832。文件存储子系统826可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移除介质、cd-rom驱动器、光盘驱动器或可移除介质盒。实施某些实施方式的功能的模块可以由文件存储子系统826存储在存储子系统824中,或者存储在能够由处理器814访问的其它机器中。
[0112]
总线子系统812提供了一种机制,该机制使计算设备810的各个部件和子系统按预期彼此通信。尽管总线子系统812被示意性地示出为单条总线,但是总线子系统的替代实施方式可以使用多条总线。
[0113]
计算设备810可以是各种类型的,包括工作站、服务器、计算集群、刀片服务器、服
务器场或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,出于说明一些实施方式的目的,图8中描绘的对计算设备810的描述仅意图作为特定示例。计算设备810的许多其它配置可能具有比图8所示的计算设备更多或更少的部件。
[0114]
尽管本文已经描述和示出了若干种实施方式,但是可以利用用于执行功能和/或获得结果的多种其它手段和/或结构和/或本文描述的优点中的一个或多个,并且每个这样的变化和/或修改被认为在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和构造均意味着是示例性的,并且实际参数、尺寸、材料和/或构造将取决于本教导所用于的具体应用。仅使用常规实验,本领域技术人员将认识到或能够确定本文所述的具体实施方式的许多等同形式。因此,应当理解的是,前述实施方式仅以示例的方式给出,并且在所附权利要求及其等同物的范围内,可以以不同于具体描述和要求保护的方式来实施实施方式。本公开的实施方式针对本文所述的每个单独的特征、系统、物品、材料、套件和/或方法。另外,如果这样的特征、系统、物品、材料、套件和/或方法不是相互矛盾的,则本公开的范围包括两个或更多个这样的特征、系统、物品、材料、套件和/或方法的任何组合。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1