基于设备特定信号来推断用于助理设备的语义标签的制作方法

文档序号:32951311发布日期:2023-01-14 13:41阅读:24来源:国知局
基于设备特定信号来推断用于助理设备的语义标签的制作方法
基于设备特定信号来推断用于助理设备的语义标签


背景技术:

1.人类能够在人机对话中与在本文中被称为“自动化助理”(也被称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人语音助理”、“对话代理”等)的交互式软件应用互动。例如,人类(其在与自动化助理交互时可以被称为“用户”)可以向自动化助理提供输入(例如,命令、查询和/或请求),该输入能够使得自动化助理生成并且提供响应输出,以控制一个或多个物联网(iot)设备和/或执行一个或多个其它功能。由用户提供的输入能够是,例如,口头自然语言输入(即,口头话语),其在某些情况下可以被转换成文本(或其它语义表示),然后被进一步处理,和/或键入的自然语言输入。
2.在一些情况下,自动化助理可以包括由助理设备在本地执行并且由用户直接互动的自动化助理客户端,以及利用云的几乎无限的资源来帮助自动化助理客户端响应用户的输入的基于云的对应物。例如,自动化助理客户端能够向基于云的对应物提供用户的口头话语的音频记录(或其文本转换),以及可选地提供指示用户的身份的数据(例如,凭证)。基于云的对应物可以对查询执行各种处理,以将结果返回给自动化助理客户端,该自动化助理客户端然后可以向用户提供对应的输出。
3.许多用户可以使用多个助理设备互动自动化助理。例如,一些用户可以拥有能够接收指向自动化助理的用户输入和/或能够由自动化助理控制的助理设备的协调的“生态系统”,助理设备诸如一个或多个智能电话、一个或多个平板计算机、一个或多个车辆计算系统、一个或多个可穿戴计算设备、一个或多个智能电视、一个或多个交互式独立扬声器、和/或一个或多个iot设备以及其它助理设备。用户可以使用这些助理设备(假设安装了自动化助理客户端并且该助理设备能够接收输入)中的任一个在人机对话中与自动化助理互动。在一些情况下,这些助理设备可以分散在用户的主要住宅、次要住宅、工作场所和/或其它结构周围。例如,诸如智能电话、平板电脑、智能手表等的移动助理设备可以在用户的个人身上和/或用户最后放置它们的任何地方。其它助理设备,诸如传统台式计算机、智能电视、交互式独立扬声器和iot设备,可以是更固定的,但是也可以位于用户家中或工作场所内的各种地方(例如房间)。
4.存在使用户(例如,单个用户、家庭中的多个用户、同事、同居者等)能够手动地将标签指派给助理设备的生态系统中的助理设备并且随后利用助理设备中的任一个的自动化助理客户端与助理设备中的任一个交互或控制助理设备中的任一个的技术。例如,用户能够向助理设备的自动化助理客户端发出口头命令“在厨房设备上给我展示一些辣椒食谱”,以使得助理设备(或生态系统中的另一助理设备)检索辣椒食谱的搜索结果并且经由厨房设备向用户呈现搜索结果。然而,这种技术要求用户通过用户可能已经忘记的先前指派的标签(例如,“厨房设备”)来指定特定助理设备,或者要求自动化助理猜测“最佳”设备以提供搜索结果(例如,最接近用户的设备)。此外,如果特定助理设备被新引入生态系统或在生态系统内移动了,则由用户指派给特定助理设备的标签可能并不表示特定助理设备。


技术实现要素:

5.本文描述的实施方式涉及在包括多个助理设备的生态系统的设备拓扑表示中将语义标签指派给相应助理设备。能够基于与相应助理设备相关联的一个或多个设备特定信号来推断指派给相应助理设备的语义标签。一个或多个设备特定信号能够包括,例如,在相应助理设备处先前接收到的一个或多个查询(如果有的话)、在相应助理设备处先前执行的一个或多个命令(如果有的话)、在相应助理设备处(并且可选地仅当语音接收在相应助理设备处活动时)先前检测到的环境噪声的实例、用于在位置上靠近相应助理设备的任何其它助理设备的独特标识符(或标签)和/或与生态系统相关联的用户的用户偏好,这些用户偏好基于与生态系统中的多个助理设备的用户交互来确定。能够处理与相应助理设备相关联的一个或多个设备特定信号中的每一个,以将它们中的每一个分类成来自多个不同语义类别当中的一个或多个语义类别。能够基于设备特定信号中的一个或多个设备特定信号被分类为的语义类别为相应助理设备生成一个或多个候选语义标签。此外,来自一个或多个候选语义标签当中的用于相应助理设备中的给定助理设备的给定语义标签能够在生态系统的设备拓扑表示中被选择并且指派给相应助理设备中的给定助理设备。
6.例如,假设给定助理设备是位于与生态系统相关联的用户的主要住所中的具有显示器的交互式独立扬声器设备。进一步假设已经在给定助理设备处接收并执行了与检索食物食谱相关的多个查询和/或已经在给定助理设备处接收并执行了与设置定时器相关的多个命令,假设已经在客户端设备处检测到环境噪声的实例,假设在给定助理设备处检测到与生态系统中对应于“智能烤箱”的另外助理设备相关联的独特标识符(或标签),并且假设与生态系统相关联的用户的用户偏好指示用户喜欢名叫johnny flay的虚拟厨师。在该示例中,进一步假设与检索食物食谱相关的查询被分类为“食谱”、“厨房”和/或“烹饪”类别,并且与设置定时器相关的命令被分类为“定时”和/或“烹饪”类别,进一步假设环境噪声的实例基于环境噪声捕获烹饪声音(例如,煎锅中的食物咝咝作响、刀切食物、微波炉在使用中等)而被分类为“厨房”和/或“烹饪”类别,进一步假设与另外助理设备相关联的“智能烤箱”的独特标识符(或标签)被分类为“厨房”和/或“烹饪”类别,并且进一步假设虚拟厨师被分类为“烹饪”类别(或“johnny flay”的更具体类别)。因此,能够为具有显示器的交互式独立扬声器设备生成候选语义标签“食谱显示设备”、“厨房显示设备”、“烹饪显示设备”、“定时显示设备”和“johnny flay设备”。此外,来自候选语义标签当中的给定语义标签能够在用户的主要住所的生态系统的设备拓扑表示中被指派给具有显示器的交互式独立扬声器设备。
7.在一些实施方式中,给定语义标签能够在生态系统的设备拓扑表示中被自动地指派给给定助理设备。例如,如果与给定语义标签相关联的置信度水平满足阈值置信度水平,则给定语义标签可以在生态系统的设备拓扑表示中被自动地指派给给定助理设备。在处理与给定助理设备相关联的一个或多个设备特定信号时,能够确定与给定语义标签相关联的置信度水平。例如,与给定助理设备相关联的置信度水平能够是基于被分类为语义类别中的一个或多个语义类别的一个或多个设备特定信号的数量。例如,如果在给定助理设备处已经接收到九个与检索食物食谱相关的查询,并且在给定助理设备处已经接收到仅一个与检索天气信息相关的查询,则能够在生态系统的设备拓扑表示中将语义标签“烹饪显示设备”或“食谱显示设备”自动地指派给给定助理设备(即使给定助理设备不位于用户的厨房
中)。例如,与给定助理设备相关联的置信度水平能够是基于根据使用语义分类器和/或环境噪声检测模型来处理一个或多个设备特定信号而生成的输出来确定的量度。例如,能够使用语义分类器来处理先前接收到的查询或命令(或与其对应的文本),以将查询或命令中的每一个分类为语义类别中的一个或多个语义类别,能够使用环境噪声检测模型来处理环境噪声的实例,以将环境噪声的实例中的每一个分类为语义类别中的一个或多个语义类别,并且能够使用语义分类器来处理独特标识符(或标签),以将独特标识符(或标签)中的每一个连同相应的量度一起分类为语义类别中的一个或多个语义类别。作为另一示例,如果给定语义标签是独特的(相对于在生态系统中在位置上靠近给定助理设备的其它助理设备),则可以在生态系统的设备拓扑表示中将给定语义标签自动地指派给给定助理设备。
8.在一些另外或可替换实施方式中,能够响应于接收到将给定语义标签指派给给定助理设备的用户输入而在生态系统的设备拓扑表示中将给定语义标签指派给给定助理设备。例如,能够生成提示,以请求来自与生态系统相关联的用户的从一个或多个候选语义标签当中对给定语义标签的选择。能够在用户的客户端设备(例如,给定助理设备或用户的另一客户端设备(例如,移动电话))处渲染提示,并且能够响应于接收到对给定语义标签的选择而将给定语义标签指派给给定助理设备。例如,假设一个或多个候选语义标签包括“烹饪显示设备”、“食谱显示设备”和“天气显示设备”。在这种情况下,提示能够包括候选语义标签中的每一个,并且请求用户从这些候选语义标签当中选择应该被指派给给定助理设备(并且可选地替代现有语义标签)的给定语义标签。尽管以上示例关于单个语义标签被指派给给定助理设备来描述,但是应当理解,这出于示例的目的而不意味着是限制性的。例如,本文描述的助理设备能够被指派多个语义标签,使得助理设备中的每一个都与语义标签的列表相关联地被存储。
9.在各种实施方式中,并且在生态系统的设备拓扑表示中将语义标签中的一个或多个语义标签指派给相应助理设备之后,根据本文描述的技术指派给助理设备的语义标签也能够被用于处理在生态系统中的一个或多个助理设备处接收到的口头话语。例如,能够处理与口头话语对应的音频数据,以识别包括在口头话语中的语义属性。此外,能够生成所识别的语义属性的嵌入(例如,word2vec表示),并且将其与被指派给生态系统中的助理设备的相应语义标签的多个嵌入(例如,相应word2vec表示)进行比较。此外,基于该比较,可以确定语义属性与相应语义标签的多个嵌入中的给定嵌入匹配。例如,假设嵌入是word2vec表示。在该示例中,能够确定语义属性的word2vec表示与相应语义标签的word2vec表示中的每一个之间的余弦距离,并且能够利用与满足距离阈值的相应余弦距离相关联的给定语义标签来确定口头话语的语义属性与给定语义标签匹配(例如,精确匹配或软匹配)。因此,可以选择与给定语义标签相关联的给定助理设备来满足口头话语。另外地或可替换地,在选择给定助理设备来满足口头话语时,能够考虑用户与给定助理设备的接近度和/或给定助理设备的设备能力。
10.通过使用本文描述的技术来推断语义标签并且将语义标签指派给生态系统中的助理设备,生态系统的设备拓扑表示能够被保持最新,而不需要多个(或甚至任何)用户接口输入来这样做。此外,被指派给助理设备的语义标签对于用户来说在语义上是有意义的,因为指派给相应助理设备的语义标签是基于相应助理设备的使用和/或相应助理设备位于其中的生态系统的相应部分来选择的。因此,当在生态系统中的助理设备中的一个或多个
助理设备处接收到口头话语时,自动化助理设备能够更稳健地和/或准确地选择最适于满足口头话语的助理设备中的一个或多个助理设备。因此,能够减少由生态系统中的助理设备中的一个或多个助理设备接收到的用户输入的数量和/或持续时间,因为与生态系统相关联的用户不需要指定特定设备来满足口头话语,或者在选择了不正确的设备来满足口头话语的情况下重复口头话语,从而通过减少网络流量来节省在助理设备处的计算资源和/或网络资源。此外,能够减少由生态系统中的助理设备中的一个或多个助理设备接收到的用户输入的数量,因为当助理设备被新添加到生态系统、在生态系统内移动了地点或者位于生态系统的已经被改用的一部分内(例如,用户的主要住所中的房间已经从书房被改为卧室)时,用户不需要经由与生态系统相关联的软件应用手动更新设备拓扑表示。
11.以上描述被提供为本公开的仅一些实施方式的概述。本文更详细地描述这些实施方式和其它实施方式的进一步描述。作为一个非限制性示例,在本文中包括的权利要求中更详细地描述了各种实施方式。
12.此外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中,一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中,指令被配置为使得执行本文所述的任何方法。一些实施方式还包括一个或多个存储计算机指令的非暂时性计算机可读存储介质,计算机指令可由一个或多个处理器执行以执行本文所述的任何方法。
13.应当理解,本文更详细描述的上述概念和另外概念的所有组合被认为是本文公开的主题的一部分。例如,在本公开的末尾出现的所要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
14.图1是可以在其中实现本文公开的实施方式的示例环境的框图。
15.图2a和图2b描绘了根据各种实施方式的与将给定语义标签指派给被新添加到助理设备的生态系统和/或在助理设备的生态系统内移动了的给定助理设备相关联的一些示例。
16.图3是图示根据各种实施方式的将给定语义标签指派给生态系统中的给定助理设备的示例方法的流程图。
17.图4是图示根据各种实施方式的在满足在生态系统中的助理设备处接收到的查询或命令时使用所指派的语义标签的示例方法的流程图。
18.图5描绘了根据各种实施方式的计算设备的示例架构。
具体实施方式
19.存在大量智能的、多感测网络连接设备(在本文中也称为助理设备),如智能电话、平板计算机、车辆计算系统、可穿戴计算设备、智能电视、交互式独立扬声器(例如,具有或不具有显示器)、声音扬声器、家用报警器、门锁、相机、照明系统、跑步机、恒温器、体重秤、智能床、灌溉系统、车库开门器、电器、婴儿监视器、火灾报警器、湿度检测器等。通常,多个助理设备位于诸如家的结构的范围内,或者位于诸如用户的主要住所和用户的次要住所、用户的车辆、和/或用户的工作地点的多个相关结构内。
20.此外,存在大量各自包括能够形成自动化助理(本文中也称为助理输入设备)的逻
辑实例的自动化助理客户端的助理设备。这些助理输入设备能够单独专用于助理功能(例如,仅包括助理客户端和相关联的接口并且单独专用于助理功能的交互式独立扬声器和/或独立音频/视频设备),或者除了其它功能之外还能够执行助理功能(例如,将助理客户端包括为多个应用之一的移动电话或平板电脑)。此外,一些iot设备也能够是助理输入设备。例如,一些iot设备能够包括自动化助理客户端和至少扬声器和/或麦克风,它们(至少部分地)用作自动化助理客户端的助理接口的用户接口输出和/或输入设备。尽管一些助理设备可能不实现自动化助理客户端或具有用于与用户接口交互的装置(例如,扬声器和/或麦克风),但是它们仍然可以由自动化助理控制(在本文中也称为助理非输入设备)。例如,智能灯泡可以不包括自动化助理客户端、扬声器和/或麦克风,但是能够经由自动化助理将命令和/或请求传送到智能灯泡,以控制智能灯的功能(例如,打开/关闭、调暗、改变颜色等)。
21.已经提出了用于在助理设备的生态系统内对助理设备(包括助理输入设备和助理非输入设备两者)进行标记和/或分组的各种技术。例如,在向生态系统添加新助理设备时,与生态系统相关联的用户能够在生态系统的设备拓扑表示中将标签(或独特标识符)手动地指派给新助理设备和/或经由软件应用(例如,经由自动化助理应用、与生态系统相关联的软件应用、与新助理设备相关联的软件应用等)将新助理设备手动地添加到生态系统中的助理设备组。如本文所述,最初指派给助理设备的标签可能被用户忘记,或者可能对于如何利用助理设备或者对于助理设备位于生态系统内何处在语义上不是有意义的。此外,如果助理设备在生态系统内移动了,则可能需要用户手动改变指派给助理设备的标签或/或手动改变助理设备经由软件应用被指派到的组。否则,指派给助理设备的标签和/或助理设备被指派到的组可能不能准确地反映助理设备的地点或使用,和/或可能对于助理设备在语义上不是有意义的。例如,如果标记为“起居室扬声器”的智能扬声器位于用户的主要房屋的起居室中,但是智能扬声器被移动到了用户的主要房屋的厨房,则智能扬声器可能仍然被标记为“起居室扬声器”,即使该标签并不表示助理设备的地点,除非用户手动改变用户的主要房屋的生态系统的设备拓扑表示中的标签。
22.设备拓扑表示能够包括与相应助理设备相关联的标签(或独特标识符)。此外,设备拓扑表示能够指定与相应助理设备相关联的标签(或独特标识符)。给定助理设备的设备属性能够指示例如由相应助理设备支持的一个或多个输入和/或输出模态。例如,独立的仅扬声器助理客户端设备的设备属性能够指示它能够提供可听输出,但是不能提供视觉输出。给定助理设备的设备属性能够另外地或可替换地,例如,识别给定助理设备的能够被控制的一个或多个状态;识别制造、分发和/或创建用于助理设备的固件的一方(例如,第一方(1p)或第三方(3p));和/或识别给定助理设备的独特标识符,诸如1p或3p提供的固定标识符或由用户指派给给定助理设备的标签。根据本文公开的各种实施方式,设备拓扑表示能够可选地进一步指定:哪些智能设备能够由哪些助理设备在本地控制;在本地可控制的助理设备的本地地址(或可直接在本地控制这些助理设备的集线器的本地地址);在相应助理设备当中的本地信号强度和/或其它偏好指示符。此外,根据本文公开的各种实施方式,设备拓扑表示(或其变型)能够在本地存储在多个助理设备中的每一个处,以用于在本地控制标签和/或在本地将标签指派给助理设备。此外,设备拓扑表示能够指定与能够用各种粒度级别定义的相应助理设备相关联的组。例如,能够认为用户的主要房屋的起居室中的多个智能灯属于“起居室灯”组。此外,如果主要房屋的起居室还包括智能扬声器,则位于起居室
中的所有助理设备能够被认为属于“起居室助理设备”组。
23.自动化助理能够基于由助理设备中的一个或多个助理设备生成的一个或多个信号来检测在生态系统中发生的各种事件。例如,自动化助理能够使用事件检测模型或规则来处理信号中的一个或多个信号以检测这些事件。此外,自动化助理能够基于根据在生态系统中发生的事件的信号中的一个或多个信号而生成的输出来使得一个或多个动作被执行。在一些实施方式中,检测到的事件可以是与助理设备(例如,助理输入设备和/或助理非输入设备)中的一个或多个助理设备相关联的设备相关事件。例如,助理设备中的给定助理设备能够基于由助理设备中的给定助理设备生成的一个或多个无线信号(以及可选地,包括在一个或多个无线信号中的与助理设备中的给定助理设备相关联的独特标识符)来检测它何时被新添加到生态系统。作为另一示例,助理设备中的给定助理设备能够基于助理设备中的给定助理设备被先前围绕助理设备中的给定助理设备的(并且可选地基于一个或多个不同的助理设备的相应独特标识符而确定的)一个或多个不同的助理设备围绕来检测它何时在生态系统内移动了。在这些实施方式中,由自动化助理执行的一个或多个动作能够包括,例如,响应于确定助理设备中的给定助理设备被新引入到生态系统或在生态系统内移动了地点,确定用于助理设备中的给定助理设备的语义标签,并且使得语义标签在生态系统的设备拓扑表示中被指派给助理设备中的给定助理设备。
24.在一些另外或可替换的实施方式中,检测到的事件可以是经由一个或多个助理设备的相应麦克风捕获的声学事件。自动化助理能够使得捕获声学事件的音频数据使用声学事件模型来处理。由声学事件模型检测到的声学事件能够包括,例如,使用热词检测模型检测调用包括在口头话语中的自动化助理的热词,使用环境噪声检测模型在生态系统中(并且可选地,当语音接收在助理设备中的给定助理设备处活动时)检测生态系统中的环境噪声。使用声音检测模型在生态系统中检测特定声音(例如,玻璃破碎、狗吠、猫喵喵叫、门铃响起、烟雾报警器响起,或一氧化碳检测器响起),和/或能够使用相应声音事件检测模型而检测到的其它声学相关事件。例如,假设经由助理设备中的至少一个助理设备的相应麦克风检测到音频数据。在该示例中,自动化助理能够使得音频数据由助理设备中的至少一个助理设备的热词检测模型处理,以确定音频数据是否捕获热词来调用自动化助理。此外,自动化助理能够另外地或可替换地使得音频数据由助理设备中的至少一个助理设备的环境噪声检测模型处理,以将在音频数据中捕获的任何环境(或背景)噪声分类为一个或多个不同语义类别的环境噪声(例如,电影或电视声音、烹饪声音和/或其它不同类别的声音)。此外,自动化助理能够另外地或可替换地使得音频数据由助理设备中的至少一个助理设备的声音检测模型处理,以确定在音频数据中是否捕获了任何特定声音。
25.本文描述的实施方式涉及基于由相应设备中的每一个生成的一个或多个信号来推断确定用于助理设备的语义标签。这些实施方式还涉及在生态系统的设备拓扑表示中将语义标签指派给助理设备。语义标签能够被自动地指派给助理设备,或者能够被呈现给与生态系统相关联的用户,以请求对要指派给助理设备的一个或多个语义标签的选择。此外,这些实施方式涉及随后在处理口头话语时使用语义标签来确定口头话语是否包括与任何语义标签匹配的词项或短语,并且当确定口头话语包括与语义标签之一匹配的词项或短语时,使用与语义标签中的匹配语义标签相关联的助理设备来满足口头话语。
26.现在转到图1,图示了可以在其中实现本文公开的技术的示例环境。示例环境包
括:多个助理输入设备106
1-n
(本文也简称为“助理输入设备106”)、一个或多个基于云的自动化助理组件119、一个或多个助理非输入系统180、一个或多个助理非输入设备185
1-n
(本文也简称为“助理非输入设备185”)、设备活动数据库191、机器学习(“ml”)模型数据库和设备拓扑数据库193。图1的助理输入设备106和助理非输入设备185在本文中也可以统称为“助理设备”。
27.一个或多个(例如,所有)助理输入设备106能够执行相应自动化助理客户端118
1-n
的相应实例。然而,在一些实施方式中,一个或多个助理输入设备106能够可选地缺少相应自动化助理客户端118
1-n
的实例,并且仍然包括用于接收和处理指向自动化助理的用户输入的引擎和硬件组件(例如,麦克风、扬声器、语音识别引擎、自然语言处理引擎、语音合成引擎等)。自动化助理客户端118
1-n
的实例能够是与相应助理输入设备106的操作系统分离的应用(例如,安装在操作系统的“顶部”),或者能够可替换地由相应助理输入设备106的操作系统直接实现。如下面进一步描述的,自动化助理客户端118
1-n
的每一个实例能够可选地响应于由相应助理输入设备106中的任何一个的相应用户接口组件107
1-n
提供的各种请求而与一个或多个基于云的自动化助理组件119交互。此外,并且还如下所述,助理输入设备106的其它引擎能够可选地与一个或多个基于云的自动化助理组件119交互。
28.一个或多个基于云的自动化助理组件119能够在一个或多个计算系统(例如,统称为“云”或“远程”计算系统的服务器)上实现,该计算系统经由一个或多个局域网(“lan”,包括wi-fi lan、蓝牙网络、近场通信网络、网状网络等)和/或广域网(“wan”,包括因特网等)通信地耦合到相应助理输入设备106。基于云的自动化助理组件119与助理输入设备106的通信耦合通常由图1的1101指示。此外,在一些实施例中,助理输入设备106可以经由一个或多个网络(例如,lan和/或wan)彼此通信地耦合,通常由图1的1102指示。
29.一个或多个基于云的自动化助理组件119还能够经由一个或多个网络(例如,lan和/或wan)与一个或多个助理非输入系统180通信地耦合。基于云的自动化助理组件119与助理非输入系统180的通信耦合通常由图1的1103指示。此外,助理非输入系统180能够各自经由一个或多个网络(例如,lan和/或wan)通信地耦合到一个或多个助理非输入设备185(例如,组)。例如,第一助理非输入系统180能够与第一组一个或多个助理非输入设备185通信地耦合,并且从第一组一个或多个助理非输入设备185接收数据,第二助理非输入系统180能够与第二组一个或多个助理非输入设备185通信耦合,并且从第二组一个或多个助理非输入设备185接收数据等。助理非输入系统180与助理非输入设备185的通信耦合通常由图1的1104指示。
30.自动化助理客户端118的实例,通过其与一个或多个基于云的自动化助理组件119的交互,可以形成从用户的角度来看似乎是,用户可以在人机对话中与其互动的自动化助理120的逻辑实例。这种自动化助理120的两个实例在图1中描绘。由虚线所包围的第一自动化助理120a包括助理输入设备1061的自动化助理客户端1181和一个或多个基于云的自动化助理组件119。由点划线所包围的第二自动化助理120b包括助理输入设备106n的自动化助理客户端118n和一个或多个基于云的自动化助理组件119。因此,应当理解,与在一个或多个助理输入设备106上执行的自动化助理客户端118互动的每一个用户实际上可以与他或她自己的自动化助理120的逻辑实例(或者在家庭或其他用户组当中共享的自动化助理120的逻辑实例)互动。为了简洁和简单起见,如本文所使用的术语“自动化助理”将指在助理输
入设备106中的相应助理输入设备和基于云的自动化助理组件119(其可以在多个自动化助理客户端118当中共享)中的一个或多个上执行的自动化助理客户端118的组合。尽管在图1中仅图示了多个助理输入设备106,但是应当理解,基于云的自动化助理组件119能够另外地服务于许多另外助理输入设备组。
31.助理输入设备106可以包括例如以下中的一个或多个:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、交互式独立扬声器(例如,具有或不具有显示器)、诸如智能电视的智能电器、用户的包括计算设备的可穿戴设备(例如,用户的具有计算设备的手表、用户的具有计算设备的眼镜、虚拟或增强现实计算设备)和/或能够接收指向自动化助理120的用户输入的任何iot设备。可以提供另外的和/或可替换的助理输入设备。助理非输入设备185可以包括许多与助理输入设备106相同的设备,但是不能够接收指向自动化助理120的用户输入(例如,不包括用户接口输入组件)。尽管助理非输入设备185没有接收指向自动化助理120的用户输入,但是助理非输入设备185仍然可以由自动化助理120控制。
32.在一些实施方式中,多个助理输入设备106和助理非输入设备185能够以各种方式彼此相关联,以便于促进执行本文描述的技术。例如,在一些实施方式中,多个助理输入设备106和助理非输入设备185可以通过经由一个或多个网络(例如,经由图1的网络110)通信地耦合而彼此相关联。例如,这可能是其中多个助理输入设备106和助理非输入设备185跨特定区域或环境(诸如家、建筑物等)被部署的情况。另外地或可替换地,在一些实施方式中,多个助理输入设备106和助理非输入设备185可以通过它们是至少可选择地由一个或多个用户(例如,个人、家庭、组织的雇员、其他预定义的组等)可访问的协调生态系统的成员而彼此相关联。在这些实施方式中的一些实施方式中,多个助理输入设备106和助理非输入设备185的生态系统能够在存储在设备拓扑数据库193中的生态系统的设备拓扑表示中手动和/或自动地彼此相关联。
33.助理非输入系统180能够包括一个或多个第一方(1p)系统和/或一个或多个第三方(3p)系统。1p系统引用由与本文引用的控制自动化助理120的一方相同的一方控制的系统。如本文所用,3p系统引用由与本文引用的控制自动化助理120的一方不同的一方控制的系统。
34.助理非输入系统180能够从助理非输入设备185和/或(例如,经由图1的网络110)与其通信耦合的一个或多个基于云的自动化助理组件119接收数据,并且选择性地向助理非输入设备185和/或一个或多个基于云的自动化助理组件119传送数据(例如,状态、状态改变和/或其它数据)。例如,假设助理非输入设备1851是智能门铃iot设备。响应于个人按下门铃iot设备上的按钮,门铃iot设备能够向助理非输入系统180中的一个(例如,由门铃的制造商管理的助理非输入系统中的一个,其可以是1p系统或3p系统)传送对应的数据。助理非输入系统180中的一个能够基于这样的数据来确定门铃iot设备的状态的改变。例如,助理非输入系统180中的一个能够确定门铃从非活动状态(例如,最近没有按下按钮)到活动状态(最近按下按钮)的改变,并且门铃状态的改变能够(例如,经由图1的网络110)被传送到一个或多个基于云的自动化助理组件119和/或一个或多个助理输入设备106。值得注意的是,尽管在助理非输入设备1851处接收到用户输入(例如,按下门铃上的按钮),但是用户输入并不指向自动化助理120(因此,术语“助理非输入设备”)。作为另一示例,假设助理
非输入设备1851是具有麦克风的智能恒温器iot设备,但是智能恒温器不包括自动化助理客户端118。个人能够与智能恒温器交互(例如,使用触摸输入或口头输入)以改变温度,将特定值设置为用于经由智能恒温器控制hvac系统的设定点等。然而,个人不能经由智能恒温器直接与自动化助理120通信,除非智能恒温器包括自动化助理客户端118。
35.在各种实施方式中,一个或多个基于云的自动化助理组件119可以进一步包括各种引擎。例如,如图1所示,一个或多个基于云的自动化助理组件119可以进一步包括事件检测引擎130、设备识别引擎140、事件处理引擎150、语义标记引擎160和查询/命令处理引擎170。尽管在图1中将这些各种引擎描绘为一个或多个基于云的自动化助理组件119,但是应当理解,这出于示例的目的而不意味着是限制性的。例如,助理输入设备106和/或助理非输入设备185可以包括这些各种引擎中的一个或多个。作为另一示例,这些各种引擎能够跨助理输入设备106分布,助理非输入设备185可以包括这些各种引擎中的一个或多个,和/或一个或多个基于云的自动化助理组件119。
36.在一些实施方式中,事件检测引擎130能够检测在生态系统中发生的各种事件。在这些实施方式的一些版本中,事件检测引擎130能够确定何时助理输入设备106中的给定助理输入设备和/或助理非输入设备185中的给定助理非输入设备(例如,助理设备中的给定助理设备)被新添加到生态系统或在生态系统内移动了地点。例如,事件检测引擎130能够基于通过网络110并且经由设备识别引擎140检测到的一个或多个无线信号来确定何时助理设备中的给定助理设备被新添加到生态系统。例如,当助理设备中的给定助理设备被新连接到一个或多个网络110时,助理设备中的给定助理设备能够广播指示它被新添加到网络110的信号。作为另一示例,事件检测引擎130能够基于通过网络110检测到的一个或多个无线信号来确定何时助理设备中的给定助理设备在生态系统内已经移动了地点。在这些示例中,设备识别引擎140能够处理信号以确定助理设备中的给定助理设备被新添加到网络110和/或确定助理设备中的给定助理设备在生态系统内已经移动了地点。由设备识别引擎140检测到的一个或多个无线信号能够是,例如,网络信号和/或声学信号,其是人类不可感知的,并且可选地包括助理设备中的给定助理设备和/或在位置上靠近助理设备中的给定助理设备的其它助理设备的相应独特标识符。例如,当助理设备中的给定助理设备在生态系统内移动了地点时,设备识别引擎140能够检测到由在位置上靠近助理设备中的给定助理设备的其它助理设备传送的一个或多个无线信号。这些信号能够被处理以确定在位置上靠近助理设备中的给定助理设备的一个或多个其它助理设备与先前在位置上靠近助理设备中的给定助理设备的一个或多个助理设备不同。
37.在这些实施方式的一些其它版本中,自动化助理120能够使得被新添加到生态系统或在生态系统内移动了地点的助理设备中的给定助理设备被指派给助理设备组(例如,在设备拓扑数据库193中存储的生态系统的设备拓扑表示中)。例如,在其中助理设备中的给定助理设备被新添加到生态系统的实施方式中,能够将助理设备中的给定助理设备添加到现有助理设备组中,或者能够创建包括助理设备中的给定助理设备的新助理设备组。例如,如果助理设备中的给定助理设备在位置上靠近属于“厨房”组的多个助理设备(例如,智能烤箱、智能咖啡机、与指示其位于厨房中的独特标识符或标签相关联的交互式独立扬声器、和/或其它辅助设备),则能够将助理设备中的给定助理设备添加到“厨房”组中,或者能够创建新的组。作为另一示例,在其中助理设备中的给定助理设备在生态系统内移动了地
点的实施方式中,能够将助理设备中的给定助理设备添加到现有助理设备组中,或者能够创建包括助理设备中的给定助理设备的新助理设备组。例如,如果助理设备中的给定助理设备在位置上靠近属于上述“厨房”组的多个助理设备,但是现在在位置上靠近属于“车库”组的多个助理设备(例如,智能车库门、智能门锁和/或其它助理设备),则能够将助理设备中的给定助理设备从“厨房”组中移除并且添加到“车库”组中。
38.在这些实施方式的一些另外或可替换版本中,事件检测引擎130能够检测声学事件的发生。能够基于在一个或多个助理输入设备106和/或一个或多个助理非输入设备185(例如,一个或多个助理设备)处接收到的音频数据来检测声学事件的发生。在一个或多个助理设备处接收到的音频数据能够由存储在ml模型数据库192中的事件检测模型来处理。在这些实施方式中,检测声学事件的发生的一个或多个助理设备中的每一个都包括相应麦克风。
39.在这些实施方式的一些其它版本中,声学事件的发生能够包括在一个或多个助理设备处的音频数据中捕获的环境噪声(并且可选地仅包括当语音接收在一个或多个助理设备处活动时检测到的环境噪声的发生)。在一个或多个助理设备中的每一个处检测到的环境噪声能够被存储在设备活动数据库191中。在这些实施方式中,事件处理引擎150能够使用环境噪声检测模型(例如,存储在ml模型数据库192中)来处理在一个或多个助理设备处检测到的环境噪声,这些环境噪声检测模型被训练为基于在使用环境噪声检测模型处理环境噪声时生成的量度将环境噪声分类为多个不同语义类别中的一个或多个语义类别。多个不同类别能够包括,例如,电影或电视声音类别、烹饪声音类别、音乐声音类别、车库或车间声音类别、庭院声音类别、和/或在语义上有意义的其它不同声音类别。例如,如果事件处理引擎150确定使用环境噪声检测模型处理的环境噪声包括对应于微波炉发声、食物在煎锅上发出滋滋声、食物处理器处理食物等的声音,则事件处理引擎150能够将环境噪声分类为烹饪声音类别。作为另一示例,如果事件处理引擎150确定使用环境噪声检测模型处理的环境噪声包括对应于锯子嗡嗡声、锤子敲击声等的声音,则事件处理引擎150能够将环境噪声分类为车库或车间类别。在特定设备处检测到的环境噪声的分类也可以被用作设备特定信号,这些信号被用于推断用于助理设备的语义标签(例如,关于语义标记引擎160描述)。
40.在那些进一步实施方式的一些另外或可替换版本中,声音事件的发生能够包括在一个或多个助理设备处检测到的热词或特定声音。在这些实施方式中,事件处理引擎150能够使用热词检测模型来处理在一个或多个助理设备处检测到的音频数据,该热词检测模型被训练为基于在使用热词检测模型处理音频数据时生成的量度来确定音频数据是否包括调用自动化助理120的特定词或短语。例如,事件处理引擎150能够处理音频数据,以确定音频数据是否捕获用户的口头话语,该口头话语包括“助理(assistant)”、“嘿助理(hey assistant)”、“好的,助理(okay,assistant)”和/或调用自动化助理的任何其它词或短语。此外,使用热词检测模型生成的量度能够包括指示音频数据是否包括调用自动化助理120的词项或短语的相应置信度水平或概率。在这些实施方式的一些版本中,如果量度满足阈值,则事件处理引擎150能够确定音频数据捕获该词项或短语。例如,如果事件处理引擎150生成与捕获调用自动化助理120的词项或短语的音频数据相关联的量度0.70并且阈值是0.65,则事件处理引擎150可以确定音频数据捕获调用自动化助理120的词项或短语。
41.在这些实施方式中,事件处理引擎150能够另外地或可替换地使用声音检测模型
来处理在一个或多个助理设备处检测到的音频数据,该声音检测模型被训练为基于在使用声音检测模型处理音频数据时生成的量度来确定音频数据是否包括特定声音。特定声音能够包括,例如,玻璃破碎、狗吠、猫喵喵叫、门铃响起、烟雾报警器响起,或一氧化碳检测器响起。例如,事件处理引擎150能够处理音频数据以确定音频数据是否捕获这些特定声音中的任何一个。在该示例中,能够训练单个声音检测模型来确定在音频数据中是否捕获了多个特定声音,或者能够训练多个声音检测模型来确定在音频数据中是否捕获了给定特定声音。此外,使用声音检测模型生成的量度能够包括指示音频数据是否包括特定声音的相应置信度水平或概率。在这些实施方式的一些版本中,如果量度满足阈值,则事件处理引擎150能够确定音频数据捕获特定声音。例如,如果事件处理引擎150生成与捕获玻璃破碎声音的音频数据相关联的量度0.70并且阈值是0.65,则事件处理引擎150可以确定音频数据捕获玻璃破碎声音。
42.在各种实施方式中,声学事件的发生可以由生态系统中的多个助理设备捕获。例如,环境中的多个助理设备可以捕获时间上对应的音频数据(例如,时间上对应在于在多个助理设备处同时或在阈值持续时间内检测到相应音频数据)。在这些实施方式中,并且响应于给定助理设备检测到生态系统中的音频数据,设备识别引擎140能够识别一个或多个另外助理设备,这些另外助理设备也应该已经检测到也捕获声学事件的时间上对应的音频数据。例如,设备识别引擎140能够基于在历史上检测到也捕获声学事件的时间上对应的音频数据的一个或多个另外助理设备来识别也应该已经检测到也捕获声学事件的时间上对应的音频数据的一个或多个另外助理设备。换句话说,设备识别引擎140能够预料,一个或多个另外助理设备也应该捕获包括声学事件的音频数据,因为给定助理设备和一个或多个另外助理设备在历史上已经捕获了包括相同声学的时间上对应的音频数据。
43.在各种实施方式中,由相应助理设备生成或检测的一个或多个设备特定信号能够被存储在设备活动数据库191中。在一些实施方式中,设备活动数据库191能够对应于专用于该特定助理设备的设备活动的存储器的一部分。在一些另外或可替换实施方式中,设备活动数据库191能够对应于(例如,经由图1的网络110)与助理设备通信的远程系统的存储器。该设备活动能够用于生成助理设备中的给定助理设备的候选语义标签(例如,关于语义标记引擎160描述的)。设备活动能够包括,例如,在相应助理设备处接收到的查询或请求(和/或与多个查询或请求中的每一个相关联的语义类别)、在相应助理设备处执行的命令(和/或与多个命令中的每一个相关联的语义类别)、在相应助理设备处检测到的环境噪声(和/或与环境噪声的各种实例相关联的语义类别)、在位置上靠近给定助理设备的任何助理设备的独特标识符或标签(例如,经由事件检测引擎140识别)、与生态系统相关联的用户的用户偏好、和/或由相应助理设备接收、生成和/或执行的任何其它数据,这些用户偏好基于与生态系统中的多个助理设备的用户交互(例如,浏览历史、搜索历史、购买历史、音乐历史、电影或电视历史,和/或与多个助理设备相关联的任何其它用户交互)来确定。
44.在一些实施方式中,语义标记引擎160能够处理一个或多个设备特定信号,以基于一个或多个设备特定信号来生成用于助理设备中的给定助理设备(例如,助理输入设备106中的给定助理输入设备和/或助理非输入设备185中的给定助理非输入设备)的候选语义标签。在那些实施方式的一些版本中,能够响应于确定给定助理设备被新添加到生态系统和/或在生态系统内移动了地点而识别为其生成候选语义标签的给定助理设备。在那些实施方
式的一些另外或可替换版本中,能够定期地(例如,每月一次、每六个月一次、每年一次等)识别为其生成候选语义标签的给定助理设备。在那些实施方式的一些另外或可替换版本中,能够响应于确定给定助理设备位于其中的生态系统的部分已经被改用(例如,生态系统的主要住所中的房间已经从书房被改用为卧室)而识别为其生成候选语义标签的给定助理设备。在这些实施方式中,能够利用事件检测引擎130来识别给定助理设备。以这些和其它方式识别给定助理设备将参考图2a和图2b来描述。
45.在一些实施方式中,语义标记引擎160能够基于一个或多个设备特定信号从候选语义标签当中选择用于给定助理设备的给定语义标签。基于一个或多个设备特定标签来生成用于给定助理设备的候选语义标签并且从候选语义标签当中选择给定语义标签在下文中描述(例如,参考图2a和图2b)。
46.在其中基于存储在设备活动数据库191中的查询、请求和/或命令(或与其对应的文本)生成用于给定助理设备的候选语义标签的实施方式中,能够使用语义分类器(例如,存储在ml模型数据库192中)来处理查询、请求和/或命令,以将用于给定助理设备的设备活动索引到对应于不同类型的查询、请求和/或命令的一个或多个不同语义类别中。能够基于查询、命令和/或请求被分类为的语义类别来生成候选语义标签,并且能够基于在给定语义类别中分类的多个查询、请求和/或命令的数量来选择为给定助理设备选择的给定语义标签。例如,假设给定助理设备先前已经接收到九个与获得烹饪食谱相关的查询和两个与控制生态系统中的智能灯相关的命令。在该示例中,候选语义标签能够包括例如第一语义标签“厨房设备”和第二语义标签“控制智能灯设备”。此外,语义标记引擎160能够选择第一语义标签“厨房设备”作为用于给定助理设备的给定语义标签,因为给定助理设备的历史使用指示它主要用于烹饪相关活动。
47.在一些实施方式中,存储在ml模型数据库192中的语义分类器能够是自然语言理解引擎(例如,由下面描述的nlp模块122实现)。能够将基于处理在助理设备处先前接收到的查询、命令和/或请求而确定的意图映射到一个或多个语义类别。值得注意的是,本文描述的多个不同语义类别能够利用各种粒度级别来定义。例如,语义类别能够与智能设备命令的属类别相关联和/或用于该属类的种类别,诸如智能照明命令的类别、智能恒温器命令的类别和/或智能相机命令的类别。换句话说,每一个类别能够具有由语义分类器确定的与该类别相关联的独特意图集合,尽管类别的某些意图也可以与另外类别相关联。在一些另外或可替换的实施方式中,存储在ml模型数据库192中的语义分类器能够用于生成对应于查询、命令和/或请求的文本的文本嵌入(例如,更低维表示,诸如word2vec表示)。这些嵌入能够是嵌入空间内的其中语义上相似的词或短语与该嵌入空间的相同或相似部分相关联的点。此外,嵌入空间的这些部分能够与多个不同语义类别中的一个或多个语义类别相关联,并且如果嵌入中的给定嵌入与嵌入空间的一个或多个部分之间的距离度量满足距离阈值,则能够将嵌入中的给定嵌入分类为语义类别中的给定语义类别。例如,烹饪相关词或短语能够与嵌入空间的与“烹饪”语义标签相关联的第一部分相关联,天气相关词或短语能够与嵌入空间的与“天气”语义标签相关联的第二部分相关联,等等。
48.在其中一个或多个设备特定信号另外地或可替换地包括环境噪声活动的实施方式中,能够使用环境噪声检测模型(例如,存储在ml模型数据库192中)来处理环境噪声的实例,以将用于给定助理设备的设备活动索引到对应于不同类型的环境噪声的一个或多个不
同语义类别中。候选语义标签能够基于环境噪声的实例被分类为的语义类别来生成,并且为给定助理设备选择的给定语义标签能够基于在给定语义类别中分类的环境的实例的数量来选择。例如,假设在给定助理设备处(并且可选地仅当语音识别活动时)检测到的环境噪声主要包括被分类为烹饪声音的环境噪声。在该示例中,语义标记引擎160能够选择语义标签“厨房设备”作为用于给定助理设备的给定语义标签,因为在音频数据中捕获的环境噪声指示该设备靠近烹饪相关的活动定位。
49.在一些实施方式中,能够训练存储在ml模型数据库192中的环境噪声检测模型来检测特定声音,并且能够基于跨环境噪声检测模型生成的输出来确定环境噪声的实例是否包括特定声音。能够使用例如监督学习技术来训练环境噪声检测模型。例如,能够获得多个训练实例。每一个训练实例能够包括:包括环境噪声的训练实例输入,以及包括训练实例输入是否包括环境噪声检测模型正被训练以检测的特定声音的指示的对应训练实例输出。例如,如果环境噪声检测模型正在被训练以检测玻璃破碎声音,则能够向包括玻璃破碎声音的训练实例指派标签(例如,“是”)或值(例如,“1”),并且能够向不包括玻璃破碎声音的训练实例指派不同的标签(例如,“否”)或值(例如,“0”)。在一些另外的或可替换的实施方式中,存储在ml模型数据库192中的环境噪声检测模型能够被用于基于环境噪声的实例(或其声学特征,诸如mel-cepstral频率系数、原始音频波形和/或其它声学特征)来生成音频嵌入(例如,环境噪声的实例的更低维表示)。这些嵌入能够是嵌入空间内的其中类似声音(或捕获声音的声学特征)与嵌入空间的相同或类似部分相关联的点。此外,嵌入空间的这些部分能够与多个不同语义类别中的一个或多个语义类别相关联,并且如果嵌入中的给定嵌入与嵌入空间的一个或多个部分之间的距离度量满足距离阈值,则能够将嵌入中的给定嵌入分类为语义类别中的给定语义类别。例如,玻璃破碎的实例能够与嵌入空间的与“玻璃破碎”声音相关联的第一部分相关联,门铃振铃的实例能够与嵌入空间的与“门铃”声音相关联的第二部分相关联,等等。
50.在其中一个或多个设备特定信号另外地或可替换地包括在位置上靠近给定助理设备的另外助理设备的独特标识符或标签的实施方式中,能够基于那些独特标识符或标签来生成候选语义标签,并且能够基于另外助理设备的一个或多个独特标识符或标签来选择为给定助理设备选择的给定语义标签。例如,假设第一标签“智能烤箱”与在位置上靠近给定助理设备的第一助理设备相关联,并且第二标签“智能咖啡机”与在位置上靠近给定助理设备的第二助理设备相关联。在该示例中,语义标记引擎160能够选择语义标签“厨房设备”作为用于给定助理设备的给定语义标签,因为与在位置上靠近给定助理设备的另外助理设备相关联的标签是烹饪相关的。能够使用存储在ml模型数据库192中的语义分类器以与上述关于处理查询、命令和/或请求相同或类似的方式来处理独特标识符或标签。
51.在其中基于用户偏好来生成用于给定助理设备的候选语义标签的实施方式中,能够使用语义分类器(例如,存储在ml模型数据库192中)来处理用户偏好,以将用户偏好索引到对应于不同类型的用户偏好的一个或多个不同语义类别中。候选语义标签能够基于用户偏好被分类为的语义类别来生成,并且为给定助理设备选择的给定语义标签能够基于用户偏好被分类为的与给定助理设备相关的给定语义类别来选择。例如,假设用户偏好指示与生态系统相关联的用户喜欢烹饪,并且喜欢名叫johnny flay的虚拟厨师。在该示例中,候选语义标签能够包括例如第一语义标签“烹饪设备”和第二候选语义标签“johnny flay设
备”。在这些实施方式的一些版本中,利用用户偏好作为用于生成一个或多个候选语义标签的设备特定信号可以是响应于接收到用户输入以基于用户偏好将语义标签指派给助理设备。
52.在一些实施方式中,语义标记引擎160能够在生态系统的设备拓扑表示(例如,存储在设备拓扑数据库193中)中将给定语义标签自动地指派给给定助理设备。在一些另外或可替换的实施方式中,语义标记引擎160能够使得自动化助理120生成包括候选语义标签的提示。提示能够请求来自与生态系统相关联的用户的对候选标记中的一个作为给定语义标签的选择。此外,能够在助理设备中的给定助理设备(其可以是或可以不是给定语义标签被指派到的给定助理设备)和/或用户的客户端设备(例如,移动设备)处视觉地和/或可听地呈现提示。响应于接收到对候选标签中的一个作为给定语义标签的选择,能够在生态系统的设备拓扑表示中(例如,存储在设备拓扑数据库193中)将选择的给定语义标签指派给给定助理设备。在这些实施方式的一些版本中,能够将指派给给定助理设备的给定语义标签添加到用于给定助理设备的语义标签的列表中。换句话说,多个语义标签能够与给定助理设备相关联。在这些实施方式的其它版本中,指派给给定助理设备的给定语义标签能够取代用于给定助理设备的任何其它语义标签。换句话说,只有单个语义标签可以与给定助理设备相关联。
53.在一些实施方式中,查询/命令处理引擎170能够处理指向自动化助理120并且经由一个或多个助理输入设备106接收到的查询、请求或命令。查询/命令处理引擎170能够处理查询、请求或命令以选择一个或多个助理设备来满足查询或命令。值得注意的是,被选择以满足查询或命令的一个或多个助理设备可以不同于接收查询或命令的一个或多个助理输入设备106。查询/命令处理引擎170能够基于一个或多个标准来选择一个或多个助理设备以满足口头话语。一个或多个标准能够包括,例如,一个或多个设备与提供口头话语的用户的接近度(例如,使用下面描述的存在传感器105确定)、生态系统中的一个或多个设备的设备能力、指派给一个或多个助理设备的语义标签、和/或用于选择助理设备以满足口头话语的其它标准。
54.例如,假设需要显示设备来满足口头话语。在该示例中,在选择给定助理设备以满足口头话语时考虑的候选助理设备可以被限制为包括显示设备的那些。如果生态系统中的多个助理设备包括显示设备,则可以选择包括该显示设备并且最靠近用户的给定助理设备来满足话语。相反,在仅需要扬声器来满足口头话语(例如,不需要显示设备来满足口头话语)的实施方式中,在选择给定助理设备来满足口头话语时考虑的候选助理设备可以包括具有扬声器的那些,而不管它们是否包括显示设备。
55.作为另一示例,假设口头话语包括与指派给给定助理设备的语义标签匹配的语义属性。查询/命令处理引擎170能够通过生成对应于口语话语的一个或多个词项(或与其对应的文本)的第一嵌入和对应于指派给给定助理设备的语义标签的一个或多个词项的第二嵌入并且比较这些嵌入以确定嵌入之间的距离度量是否满足指示嵌入匹配的距离阈值,来确定口语话语的语义属性与指派给给定助理设备的语义标签匹配(例如,它是精确匹配还是软匹配)。在该示例中,查询/命令处理引擎170能够基于口头话语与语义标签匹配(并且可选地,除了向给定助理设备提供口头话语的用户的接近度之外或代替向给定助理设备提供口头话语的用户的接近度)来选择给定助理设备以满足口头话语。以这种方式,能够使对
满足口头话语的助理设备的选择偏向如本文所描述的指派给助理设备的语义标签。
56.在各种实施方式中,一个或多个助理输入设备106可以包括一个或多个相应存在传感器105
1-n
(在本文中也简称为“存在传感器105”),其被配置为在具有来自对应用户的批准的情况下提供指示检测到的存在(尤其是人类存在)的信号。在这些实施方式中的一些中,自动化助理120能够至少部分地基于用户在一个或多个助理输入设备106处的存在来识别一个或多个助理输入设备106以满足来自与生态系统相关联的用户的口头话语。口头话语能够通过在一个或多个助理输入设备106处(例如,可听地和/或视觉地)渲染响应内容,通过使得一个或多个助理输入设备106基于口头话语被控制,和/或通过使得一个或多个助理输入设备106执行任何其它动作以满足口头话语来满足。如本文所述,自动化助理120能够利用基于相应存在传感器105确定的数据来基于用户在何处附近或最近在何处附近来确定那些助理输入设备106,并且仅向那些助理输入设备106提供对应命令。在一些另外或可替换的实施方式中,自动化助理120能够利用基于相应存在传感器105确定的数据来确定任何用户(任何用户或特定用户)当前是否靠近任何助理输入设备106,并且能够基于确定没有用户(任何用户或特定用户)靠近任何助理输入设备106来可选地抑制对命令的提供。
57.相应存在传感器105可以以各种形式出现。一些助理输入设备106可以配备有一个或多个数字相机,其被配置为捕获并且提供指示在它们的视场中检测到的移动的信号。另外地或可替换地,一些助理输入设备106可以配备有其它类型的基于光的存在传感器105,诸如测量从它们的视场内的对象辐射的红外(“ir”)光的无源红外(“pir”)传感器。另外地或可替换地,一些助理输入设备106可以配备有检测声学(或压力)波的存在传感器105,诸如一个或多个麦克风。此外,除了助理输入设备106之外,一个或多个助理非输入设备185能够另外地或可替换地包括本文描述的相应存在传感器105,并且来自这样的传感器的信号能够另外地由自动化助理120用于根据本文描述的实施方式来确定是否和/或如何满足口头话语。
58.另外地或可替换地,在一些实施方式中,存在传感器105可以被配置为检测与生态系统中的人类存在或设备存在相关联的其它现象。例如,在一些实施例中,助理设备中的给定助理设备可以配备有检测通过例如由特定用户携带/操作的其它助理设备(例如,移动设备、可穿戴计算设备等)和/或生态系统中的其它助理设备(例如,关于事件检测引擎130所述)发射的各种类型的无线信号(例如,诸如无线电、超声、电磁等的波)的存在传感器105。例如,一些助理设备可以被配置为发射人类不可感知的波,诸如超声波或红外波,其可以由一个或多个助理输入设备106(例如,经由诸如具有超声波能力的麦克风的超声波/红外接收器)检测。
59.另外地或可替换地,各种助理设备可以发射其它类型的人类不可感知的波,诸如无线电波(例如wi-fi、蓝牙、蜂窝等),其可以通过由特定用户携带/操作的其它助理设备(例如移动设备、可穿戴计算设备等)来检测,并且用于确定操作用户的特定地点。在一些实施方式中,wi-fi三角测量可以用于例如基于去往/来自助理设备的wi-fi信号来检测人的地点。在其它实施方式中,诸如飞行时间、信号强度等的其它无线信号特性可以由各种助理设备单独或共同使用,以基于通过由特定用户携带/操作的其它助理设备发射的信号来确定特定人的地点。
60.另外地或可替换地,在一些实施方式中,一个或多个助理输入设备106可以执行语
音识别以从用户的语音中识别用户。例如,自动化助理120的一些实例可以被配置为将语音与用户的简档匹配,例如用于提供/限制对各种资源的访问的目的。在一些实施方式中,扬声器的移动然后可以例如由助理设备的存在传感器105来确定。在一些实施方式中,基于这种检测到的移动,可以预测用户的地点,并且当至少部分地基于助理设备与用户的地点的接近度而使得任何内容在该助理设备处被渲染时,该地点可以被假设为用户的地点。在一些实施方式中,用户可以被简单地假设为在他或她与自动化助理120互动的最后地点,尤其是如果自上次互动以来没有经过太多时间。
61.助理输入设备106中的每一个进一步包括相应用户接口组件107
1-n
(在本文中也简称为“用户接口组件107”),其每一个都能够包括一个或多个用户接口输入设备(例如,麦克风、触摸屏、键盘)和/或一个或多个用户接口输出设备(例如,显示器、扬声器、投影仪)。作为一个示例,助理输入设备1061的用户接口组件1071能够仅包括扬声器和麦克风,而助理输入设备106n的用户接口组件107n能够包括扬声器、触摸屏和麦克风。另外地或可替换地,在一些实施方式中,助理非输入设备185可以包括用户接口组件107的一个或多个用户接口输入设备和/或一个或多个用户接口输出设备,但是用于助理非输入设备185的用户输入设备(如果有的话)可以不允许用户直接与自动化助理120交互。
62.助理输入设备106中的每一个和/或操作一个或多个基于云的自动化助理组件119的任何其它计算设备可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据和执行应用的一个或多个处理器、以及促进通过网络进行通信的其它组件。由一个或多个助理输入设备106和/或由自动化助理120执行的操作可以跨多个计算机系统分布。自动化助理120可以被实现为例如在通过网络(例如,图1的网络110中的任一个)彼此耦合的一个或多个位置中的一个或多个计算机上运行的计算机程序。
63.如上所述,在各种实施方式中,助理输入设备106中的每一个都可以操作相应自动化助理客户端118。在各种实施例中,每一个自动化助理客户端118可以包括相应语音捕获/文本到语音(tts)/语音到文本(stt)模块114
1-n
(在本文中也简称为“语音捕获/tts/stt模块114”)。在其它实施方式中,可以与相应自动化助理客户端118分开地实现相应语音捕获/tts/stt模块114的一个或多个方面。
64.每一个相应语音捕获/tts/stt模块114可以被配置为执行一个或多个功能,包括例如:捕获用户的语音(语音捕获,例如经由相应麦克风(在一些情况下,麦克风可以包括存在传感器105));使用存储在ml模型数据库192中的语音识别模型将所捕获的音频转换为文本和/或其它表示或嵌入(stt);和/或使用存储在ml模型数据库192中的语音合成模型将文本转换为语音(tts)。这些模型的实例可以在本地存储在相应助理输入设备106的每一个处和/或可由助理输入设备(例如,通过图1的网络110)访问。在一些实施方式中,因为一个或多个助理输入设备106可以在计算资源(例如,处理器周期、存储器、电池等)方面相对受限,所以可以将在每一个助理输入设备106本地的相应语音捕获/tts/stt模块114配置为使用语音识别模型将有限数量的不同口头短语转换为文本(或其它形式,例如,更低维度嵌入)。其它语音输入可以被发送到一个或多个基于云的自动化助理组件119,其可以包括基于云的tts模块116和/或基于云的stt模块117。
65.基于云的stt模块117可以被配置为利用云的实际上无限的资源以使用存储在ml模型数据库192中的语音识别模型将由语音捕获/tts/stt模块114捕获的音频数据转换为
文本(然后可以将其提供给自然语言处理器模块122)。基于云的tts模块116可以被配置为利用云的实际上无限的资源以使用存储在ml模型数据库192中的语音合成模型将文本数据(例如,由自动化助理120制定的文本)转换为计算机生成的语音输出。在一些实施方式中,基于云的tts模块116可以将计算机生成的语音输出提供给一个或多个助理设备,以例如使用相应助理设备的相应扬声器被直接输出。在其它实施方式中,由自动化助理120使用基于云的tts模块116生成的文本数据(例如,包括在命令中的客户端设备通知)可以被提供给相应助理设备的语音捕获/tts/stt模块114,其然后可以使用语音合成模型将文本数据在本地转换为计算机生成的语音,并且使得经由相应助理设备的本地扬声器来渲染计算机生成的语音。
66.自动化助理120(以及特别是,一个或多个基于云的自动化助理组件119)可以包括自然语言处理(nlp)模块122、上述基于云的tts模块116、上述基于云的stt模块117以及其它组件,以下更详细地描述了其中的一些。在一些实施方式中,自动化助理120的一个或多个引擎和/或模块可以在与自动化助理120分离的组件中省略、组合和/或实现。nlp模块122的实例可以另外地或可替换地在助理输入设备106处本地实现。
67.在一些实施方式中,自动化助理120响应于在与自动化助理120的人机对话会话期间由助理输入设备106中的一个的用户生成的各种输入而生成响应内容。自动化助理120可以经由助理输入设备106和/或助理非输入设备185(例如,当与助理设备分离时,通过图1的一个或多个网络110)提供响应内容以用于作为对话会话的一部分而呈现给用户。例如,自动化助理120可以响应于经由助理输入设备106中的一个提供的自由形式自然语言输入而生成响应内容。如本文所使用的,自由形式输入是由用户制定的并且不限于呈现以供用户选择的一组选项的输入。
68.自动化助理120的nlp模块122处理由用户经由助理输入设备106生成的自然语言输入,并且可以生成注释输出以供自动化助理120、助理输入设备106和/或助理非输入设备185的一个或多个其他组件使用。例如,nlp模块122可以处理由用户经由助理输入设备106的一个或多个相应用户接口输入设备生成的自然语言自由形式输入。基于处理自然语言自由形式输入而生成的注释输出可以包括自然语言输入的一个或多个注释以及可选地自然语言输入的一个或多个(例如,所有)词项。
69.在一些实施方式中,nlp模块122被配置为识别和注释自然语言输入中的各种类型的语法信息。例如,nlp模型122可以包括词性标记器,该词性标记器被配置为用词项的语法角色来注释词项。在一些实施方式中,nlp模型122可以另外地和/或可替换地包括实体标记器(未描绘),该实体标记器被配置为在一个或多个片段中注释实体引用,诸如对人(包括例如文学人物、名人、公众人物等)、组织、地点(真实的和虚构的)等等的引用。在一些实施方式中,关于实体的数据可以存储在一个或多个数据库中,诸如知识图(未描绘)中。在一些实施方式中,知识图可以包括表示已知实体(以及在一些情况下,实体属性)的节点以及连接节点并且表示实体之间的关系的边。
70.nlp模块122的实体标记器可以以较高的粒度级别(例如,以使得能够识别对诸如人的实体类的所有引用)和/或较低的粒度级别(例如,以使得能够识别对诸如特定人员的特定实体的所有引用)来注释对实体的引用。实体标记器可以依赖于自然语言输入的内容来消解特定实体和/或可以可选地与知识图或其他实体数据库进行通信以消解特定实体。
71.在一些实施方式中,nlp模块122可以另外地和/或可替换地包括被配置为基于一个或多个上下文线索来对同一实体的引用进行分组或“聚类”的共指消解器(未描绘)。例如,基于紧接在接收自然语言输入“将它锁住”之前渲染的客户端设备通知中提到的“前门锁”,可以使用共指消解器将自然引用输入中的“将它锁住”中的词项“它”消解为“前门锁”。
72.在一些实施方式中,nlp模块122的一个或多个组件可以依赖于来自nlp模块122的一个或多个其他组件的注释。例如,在一些实施方式中,命名的实体标记器可以依赖于来自共指消解器和/或依存解析器的注释,以对特定实体的所有提及进行注释。同样,例如,在一些实施方式中,在将对同一实体的引用进行聚类时,共指消解器可以依赖于来自依存解析器的注释。在一些实施方式中,在处理特定自然语言输入时,nlp模块122的一个或多个组件可以使用特定自然语言输入之外的相关数据来确定一个或多个注释——诸如紧接在接收到助理输入设备通知所基于的自然语言输入之前渲染的助理输入设备通知。
73.尽管图1被描绘为具有由助理设备和/或服务器实现的组件的特定配置,并且被描绘为具有通过特定网络而通信的助理设备和/或服务器,但是应当理解,这出于示例的目的而不意味着是限制性的。例如,助理输入设备106和助理非输入设备可以通过一个或多个网络(未描绘)彼此直接通信耦合。作为另一示例,一个或多个基于云的自动化助理组件119的操作能够在一个或多个助理输入设备106和/或一个或多个助理非输入设备处本地实现。作为又一示例,存储在ml模型数据库192中的各种ml模型的实例可以本地存储在助理设备处,和/或存储在设备拓扑数据库193中的生态系统的设备拓扑表示的实例可以本地存储在助理输入设备处。此外,在其中通过图1的一个或多个网络110中的任一个传送数据(例如,设备活动、音频数据或对应于其的识别文本、设备拓扑表示和/或本文描述的任何其它数据)的实施方式中,能够以任何方式对数据进行加密、过滤或以其它方式进行保护以确保用户的隐私。
74.通过使用本文描述的技术来推断语义标签并且将语义标签指派给生态系统中的助理设备,生态系统的设备拓扑表示能够被维持最新。此外,指派给助理设备的语义标签对于用户来说在语义上是有意义的,因为指派给相应助理设备的语义标签是基于相应助理设备的使用和/或相应助理设备位于其中的生态系统的相应部分来选择的。因此,当在生态系统中的一个或多个助理设备处接收到口头话语时,自动化助理能够更准确地选择最适于满足口头话语的一个或多个助理设备。因此,能够减少由生态系统中的一个或多个助理设备接收到的用户输入的数量,因为与生态系统相关联的用户不需要指定特定设备来满足口头话语,或者在选择了不正确设备来满足口头话语的情况下重复口头话语,从而通过减少网络流量来节省在助理设备处的计算资源和/或网络资源。此外,能够减少由生态系统中的一个或多个助理设备接收到的用户输入的数量,因为当助理设备被新添加到生态系统或在生态系统内移动了地点时,用户不需要经由与生态系统相关联的软件应用手动更新设备拓扑表示。
75.现在参考图2a和图2b提供对图1的各种组件的另外描述。在图2a和图2b中描绘了家庭平面图。所描绘的平面图包括多个房间250至262。多个助理输入设备106
1-5
被部署在至少一些房间各处。助理输入设备106
1-5
中的每一个都可以实现配置有本公开的选定方面的自动化助理客户端118的实例,并且可以包括一个或多个输入设备,诸如能够捕获附近的人所说的话语的麦克风。例如,采用交互式独立扬声器和显示设备(例如,显示屏、投影仪等)
的形式的第一助理输入设备1061被部署在图2a中的房间250(其在这个示例中是厨房)中并且在图2b中的房间256(其在这个示例中是起居室)中。采用所谓的“智能”电视(例如,具有实现自动化助理客户端118的相应实例的一个或多个处理器的联网电视)的形式的第二助理输入设备1062被部署在房间252(其在这个示例中是书房)中。采用没有显示器的交互式独立扬声器的形式而没有显示器的第三助理输入设备1063被部署在房间254(其在这个示例中是卧室)中。采用另一交互式独立扬声器的形式的第四助理输入设备1064被部署在房间256(其在这个示例中是起居室)中。也采用智能电视的形式的第五助理输入设备1065也被部署在房间250(其在这个示例中是厨房)中。
76.尽管在图2a和图2b中未描绘,但多个助理输入设备106
1-4
可以经由一个或多个有线或无线wan和/或lan(例如,经由图1的网络110)彼此和/或与其它资源(例如,因特网)通信地耦合。另外地,还可以存在其它助理输入设备——特别是移动设备,诸如智能电话、平板电脑、膝上型电脑、可穿戴设备等,例如,由家中的一个或多个人携带,并且其它助理输入设备也可以或也可以不被连接到相同的wan和/或lan。应当理解,图2a和图2b中描绘的助理输入设备的配置仅是一个示例;更多或更少和/或不同的助理输入设备106可以跨家里的任何数量的其它房间和/或区域被部署,和/或被部署在除住宅家里之外的地点(例如,企业、旅馆、公共场所、机场、车辆、和/或其它地点或空间)。
77.在图2a和图2b中进一步描绘多个助理非输入设备185
1-5
。例如,采用智能门铃的形式的第一助理非输入设备1851被部署在家的外部、在家的前门附近。采用智能锁的形式的第二助理非输入设备1852被部署在家的外部、在家的前门上。采用智能洗衣机的形式的第三助理非输入设备1853被部署在房间262(其在这个示例中是洗衣房)中。采用门打开/关闭传感器的形式的第四助理非输入设备1854被部署在房间262中的后门附近,并且检测后门是打开还是关闭。采用智能恒温器的形式的第五助理非输入设备1855被部署在房间252(其在这个示例中是书房)中。
78.助理非输入设备185中的每个都能够(例如,经由图1的网络110)与相应助理非输入系统180(在图1中示出)通信,以向相应助理非输入系统180提供数据,并且可选地基于由相应助理非输入系统180提供的命令来控制。一个或多个助理非输入设备185能够另外地或可替换地(例如,经由图1的网络110)直接与一个或多个助理输入设备106通信,以向一个或多个助理输入设备106提供数据,并且可选地基于由一个或多个助理输入设备106提供的命令来控制。应当理解,图2a和图2b中所描绘的助理非输入设备185的配置仅是一个示例;更多或更少和/或不同的助理非输入设备185可以跨家里的任何数量的其它房间和/或区域被部署,和/或被部署在除住宅家里之外的地点(例如,企业、旅馆、公共场所、机场、车辆、和/或其它地点或空间)。
79.在各种实施方式中,能够基于对与相应助理设备相关联的一个或多个设备特定信号的处理将语义标签指派给给定助理设备(例如,助理输入设备106或助理非输入设备185中的给定一个)。一个或多个设备特定信号能够由给定助理设备检测和/或由给定助理设备生成。一个或多个设备特定信号能够包括,例如,在给定助理设备(如果有的话)处先前接收到的一个或多个查询、在给定助理设备(如果有的话)处先前执行的一个或多个命令、在给定助理设备处(并且可选地仅当语音接收在给定助理设备处活动时)先前检测到的环境噪声的实例、用于在位置上靠近给定助理设备的相应助理设备的独特标识符(或标签)、和/或
与生态系统相关联的用户的用户偏好。能够处理与给定助理设备相关联的一个或多个设备特定信号中的每一个,以将它们中的每一个分类为来自多个不同语义类别当中的一个或多个语义类别。
80.此外,能够基于一个或多个设备特定信号来生成一个或多个候选语义标签。候选语义标签能够使用一个或多个规则(其可选地被启发式地定义)或机器学习模型(例如,存储在ml模型数据库192中)来生成。例如,一个或多个启发式地定义的规则可以指示应当生成与一个或多个设备特定信号被分类为的语义类别中的每一个相关联的候选语义标签。例如,假设设备特定信号被分类为“厨房”类别、“烹饪”类别、“卧室”类别和“起居室”类别。在该示例中,候选语义标签能够包括第一候选语义标签“厨房助理设备”、第二候选语义标签“烹饪助理设备”、第三候选语义标签“卧室助理设备”、以及第四语义标签“起居室助理设备”。作为另一示例,能够使用被训练为生成候选语义标签的机器学习模型来处理一个或多个设备特定信号(或与其对应的一个或多个语义类别)。例如,能够基于多个训练实例来训练机器学习模型。训练实例中的每一个能够包括训练实例输入和对应的训练实例输出。训练实例输入能够包括例如一个或多个设备特定信号和/或一个或多个语义类别,并且对应的训练实例输出能够包括例如对应于应该基于训练实例输入而被指派的语义标签的地面真值输出。
81.此外,能够从一个或多个候选语义标签当中选择被指派给给定助理设备的语义标签。能够基于与一个或多个候选语义标签中的每一个相关联的置信度水平从一个或多个候选语义标签当中选择要指派给给定助理设备的语义标签。在一些实施方式中,被指派给给定助理设备的语义标签能够被自动地指派给给定助理设备,而在另外或可替换的实施方式中,可以提示与图2a和图2b的生态系统相关联的用户从一个或多个候选语义标签的列表当中选择要指派给给定助理设备的语义标签(例如,如关于图3所述)。在一些另外的或可替换的实施方式中,如果给定语义标签(相对于在生态系统中在位置上靠近给定助理设备的其它助理设备)是独特的,则能够将语义标签自动地指派给给定助理设备。
82.在那些实施方式的一些版本中,能够响应于(例如,经由图1的事件检测引擎130和/或设备识别引擎140)确定给定助理设备被新添加到生态系统而识别语义标签被指派到的给定助理设备。例如,并且具体参考图2a,假设采用交互式独立扬声器和设备的形式的第一助理输入设备1061被新部署在房间250(其在这个示例中是厨房)中。关于与图2a中的第一助理输入设备1061相关联的一个或多个设备特定信号,假设没有先前查询或命令已经在第一助理输入设备1061处被接收到或由第一助理输入设备1061执行(除了配置第一助理输入设备1061之外),因为第一助理输入设备1061已经被新添加到生态系统,假设在生态系统的用户正在配置第一助理输入设备1061的同时已经捕获了环境噪声的几个实例(例如,当语音接收在用户提供包括例如姓名、为用户建立语音嵌入的测试话语等的口头话语时活动时),假设在第一助理输入设备1061处检测到与采用房间250中的智能电视(例如,“厨房tv”)的形式的第五助理输入设备1065相关联的相应独特标识符(或标签)和采用房间252中的智能恒温器(例如,“恒温器”)的形式的第五助理非输入设备1855,并且假设与生态系统相关联的用户的用户偏好是已知的。
83.在该示例中,能够使用环境噪声检测模型来处理环境噪声(如果有的话)的实例,以将环境噪声分类为一个或多个语义类别。例如,假设环境噪声的实例捕获水滴落在房间
250中的水槽中、微波炉或烤箱在房间250中发声、食物在房间250中的炉灶上的平底锅上发出滋滋声等。环境噪声的这些实例能够被分类为“厨房”语义类别、“烹饪”语义类别和/或与厨房中通常遇到的噪声相关的其它语义类别。另外地或可替换地,环境噪声可以捕获经由采用房间250中的智能电视的形式的第五助理输入设备1065视觉地和/或可听地渲染的电影、电视节目、或广告。环境噪声的这些实例能够被分类为“电视”语义类别、“电影”语义类别、和/或与智能电视通常遇到的噪声相关的其它语义类别。另外地或可替换地,第五助理输入设备1065(例如,“厨房tv”)和第五助理非输入设备1855(“恒温器”)的独特标识符(或标签)能够被处理以生成一个或多个语义标签。这些独特标识符(或标签)能够被分类为“厨房”语义类别、“智能设备”语义类别、和/或与在图2a的生态系统中在位置上靠近第一助理输入设备1061的助理设备相关的其它语义类别。另外地或可替换地,假设用户偏好指示用户对烹饪和名叫johnny flay的虚拟厨师感兴趣。基于一个或多个其它设备特定信号被分类为“烹饪”类别或“厨房”类别,以及烹饪和johnny flay的用户偏好也被分类为“烹饪”类别或“厨房”类别,能够将这些用户偏好识别为与第一助理输入设备1061相关。因此,该示例中的候选语义标签能够包括“厨房扬声器设备”、“烹饪扬声器设备”、“电视扬声器设备”、“电影扬声器设备”、“johnny flay设备”、和/或基于与第一助理输入设备1061相关联的一个或多个设备特定标签的其它候选语义标签。此外,在该示例中,能够将来自语义标签当中的给定语义标签自动地指派给第一助理输入设备1061,或者能够提示与生态系统相关联的用户选择一个或多个候选语义标签以将给定语义标签指派给第一助理输入设备1061(例如,在配置第一助理输入设备1061的同时)。
84.在一些另外或可替换的实施方式中,能够定期地(例如,每周一次,每月一次,每六个月一次和/或任何其它时间段一次经由图1的事件检测引擎130和/或设备识别引擎140)识别语义标签要指派到的给定助理设备。例如,并且具体参考图2a,假设采用交互式独立扬声器和显示设备的形式的第一助理输入设备1061已经被部署在房间250(其在这个示例中是厨房)中六个月。关于与图2a中的第一助理输入设备1061相关联的一个或多个设备特定信号,假设先前查询或命令已经在第一助理输入设备1061处被接收到或由第一助理输入设备1061执行,假设在第一助理输入设备1061时已经捕获了环境噪声的实例,并且假设在第一助理输入设备1061处仍然检测到与采用房间250中的智能电视(例如,“厨房tv”)的形式的第五助理输入设备1065和采用房间252中的智能恒温器(例如,“恒温器”)的形式的第五助理非输入设备1855相关联的相应独特标识符(或标签)。
85.在该示例中,能够使用语义分类器来处理查询和命令(或与其对应的文本),以将查询和命令分类为一个或多个语义类别。例如,在第一助理输入设备1061处先前接收到的查询和命令能够包括与请求烹饪食谱相关的查询、与设置定时器相关的命令、与控制厨房中的任何智能设备相关的命令、和/或其它查询或命令。查询和命令的这些实例能够基于在第一助理输入设备1061处接收到的查询和命令而被分类为“烹饪”语义类别、“控制智能设备”类别和/或其它语义类别。如上所述,候选语义标签能够另外地或可替换地基于环境噪声的实例和/或在位置上靠近第一助理输入设备1061的独特标识符(或标签)来确定。因此,该示例中的候选语义标签能够包括“厨房设备”、“定时器设备”、“恒温器显示设备”、“烹饪显示设备”、“电视设备”、“电影设备”、“johnny flay食谱设备”、和/或基于与第一助理输入设备1061相关联的一个或多个设备特定标签的其它候选语义标签。此外,在该示例中,能够
将来自语义标签当中的给定语义标签自动地指派给第一助理输入设备1061,或者能够提示与生态系统相关联的用户选择一个或多个候选语义标签以将给定语义标签指派给第一助理输入设备1061(例如,在配置第一助理输入设备1061的同时)。
86.在一些另外的或可替换的实施方式中,能够响应于(例如,经由图1的事件检测引擎130和/或设备识别引擎140)确定给定助理设备已经在生态系统内移动了地点来识别语义标签要指派到的给定助理设备。例如,并且现在具体参考图2b,假设采用交互式独立扬声器和显示设备的形式的第一助理输入设备1061从在这个示例中为厨房的房间250移动到在这个示例中为起居室的房间256。关于与图2b中的第一助理输入设备1061相关联的一个或多个设备特定信号,假设先前查询或命令已经在第一助理输入设备1061处被接收到或由第一助理输入设备1061执行,假设环境噪声的几个实例已经被捕获,并且假设在第一助理输入设备1061处检测到与采用房间256中的另一交互式独立扬声器(例如,“起居室扬声器设备”)的形式的第四助理输入设备1064相关联的相应独特标识符(或标签),并且假设与生态系统相关联的用户的用户偏好是已知的。在该示例中,可以将一个或多个设备特定信号限制为在第一助理输入设备1061在生态系统内移动了地点之后生成或接收到的那些信号(较少用户偏好)。
87.在该示例中,能够使用语义分类器来处理查询和命令(或与其对应的文本),以将查询和命令分类为一个或多个语义类别。例如,在第一助理输入设备1061处先前接收到的查询和命令能够包括与请求天气或交通信息相关的查询、与计划休假相关的命令、和/或其它查询或命令。查询和命令的这些实例能够基于在第一助理输入设备1061处接收到的查询和命令而被分类为“信息”语义类别(或更具体地,“天气信息”类别和“交通信息”类别)、“规划”类别和/或其它语义类别。另外地或可替换地,能够使用环境噪声检测模型来处理环境噪声的实例,以将环境噪声分类为一个或多个语义类别。例如,环境噪声可以捕获由第四助理输入设备1064可听地渲染的音乐或播客、在房间256中描绘的沙发上谈话的人、由生态系统中的计算设备可听地渲染的电影或电视节目等。环境噪声的这些实例能够被分类为“音乐”语义类别、“谈话”语义类别、“电影”语义类别、“电视节目”语义类别、和/或与厨房中通常遇到的噪声相关的其它语义类别。另外地或可替换地,能够处理第四助理输入设备1064(例如,“起居室扬声器设备”)的独特标识符(或标签)以生成一个或多个语义标签。该独特标识符(或标签)能够被分类为例如“起居室”语义类别和/或与在图2b的生态系统中在位置上靠近第一助理输入设备1061的助理设备相关的其它语义类别。另外地或可替换地,假设用户偏好指示用户对烹饪和名为vehicles的虚拟电影以及电影中名叫thunder mcking的特定角色感兴趣。这些用户偏好能够基于一个或多个其它设备特定信号被分类为“电影”以及电影vehicles和thunder mcking的用户偏好也被分类为“电影”类别而被识别为与第一助理输入设备1061相关。因此,该示例中的候选语义标签能够包括“起居室设备”、“规划设备”、“车辆设备”、“thunder mcking设备”、和/或基于与第一助理输入设备1061相关联的一个或多个设备特定标签的其它候选语义标签。此外,在该示例中,能够将来自语义标签当中的给定语义标签自动地指派给第一助理输入设备1061,或者能够提示与生态系统相关联的用户选择一个或多个候选语义标签以将给定语义标签指派给第一助理输入设备1061。
88.在一些另外的或可替换的实施方式中,能够响应于(例如,经由图1的事件检测引擎130和/或设备识别引擎140)确定给定助理设备位于其中的生态系统的部分已经被改用
而识别语义标签要指派到的给定助理设备。例如,并且现在具体参考图2b,假设采用交互式独立扬声器和显示设备的形式的第一助理输入设备1061位于房间256(其在这个示例中是起居室)中,但是起居室被改用为卧室。关于与图2b中的第一助理输入设备1061相关联的一个或多个设备特定信号,假设先前查询或命令已经在第一助理输入设备1061处被接收到或由第一助理输入设备1061执行,假设环境噪声的几个实例已经被捕获,并且假设在第一助理输入设备1061处检测到与采用房间256中的另一交互式独立扬声器(例如,“起居室扬声器设备”)的形式的第四助理输入设备1064相关联的相应独特标识符(或标签)。在该示例中,一个或多个设备特定信号可以被限制为在房间256被改用之后生成或接收到的那些信号。
89.在该示例中,能够使用语义分类器来处理查询和命令(或与其对应的文本),以将查询和命令分类为一个或多个语义类别。例如,在第一助理输入设备1061处先前接收到的查询和命令能够包括与设置警报相关的命令、与早上好或晚上好例程相关的命令、和/或其它查询或命令。命令的这些实例能够基于在第一助理输入设备1061处接收到的查询和命令而被分类为“警报”语义类别、“例程”类别(或更具体地,“早上例程”类别或“晚上例程”类别,和/或其它语义类别。另外地或可替换地,能够使用环境噪声检测模型来处理环境噪声的实例,以将环境噪声分类为一个或多个语义类别。例如,环境噪声能够捕获一个或多个用户的打鼾、人类谈话等。环境噪声的这些实例能够被分类为“卧室”语义类别、“谈话”语义类别、和/或与通常在卧室中遇到的噪声相关的其它语义类别。另外地或可替换地,能够处理第四助理输入设备1064(例如,“起居室扬声器设备”)的独特标识符(或标签)以生成一个或多个语义标签。该独特标识符(或标签)能够被分类为“起居室”语义类别和/或与在图2b的生态系统中在位置上靠近第一助理输入设备1061的助理设备相关的其它语义类别。因此,该示例中的候选语义标签能够包括“起居室显示设备”、“卧室显示设备”、和/或基于与第一助理输入设备1061相关联的一个或多个设备特定标签的其它候选语义标签。此外,在该示例中,能够将来自语义标签当中的给定语义标签自动地指派给第一助理输入设备1061,或者能够提示与生态系统相关联的用户选择一个或多个候选语义标签以将给定语义标签指派给第一助理输入设备1061。值得注意的是,在该示例中,系统可以确定给定语义标签对应于“卧室显示设备”,即使第四助理输入设备1064的独特标识符(或标签)对应于“起居室”类别,因为第一助理输入设备1061的使用指示它位于卧室中。
90.尽管在本文中关于语义标签被指派到的给定助理设备为助理输入设备(例如,第一助理输入设备1061)来描述2a和图2b,但是应当理解,这出于示例的目的而不意味着是限制性的。例如,本文描述的技术也能够被用于将相应语义标签指派给助理非输入设备185。例如,假设智能灯(可能是没有任何麦克风的助理非输入设备)被新添加到房间252(其在这个示例中是卧室)中。在该示例中,能够利用与采用没有显示器的交互式独立扬声器(例如,“卧室扬声器设备”)的形式的第三助理输入设备1063相关联的独特标识符或标签以使用本文描述的技术来推断新添加的智能灯的“卧室智能灯”的语义标签。此外,假设智能灯从房间254移动到房间262(其在这个示例中为洗衣房)。在该示例中,与采用智能洗衣机的形式的第三助理非输入设备1853相关联的独特标识符或标签能够用于使用本文描述的技术来推断最近移动的智能灯的“洗衣房智能灯”的语义标签。
91.现在转到图3,描述了图示将给定语义标签指派给生态系统中的给定助理设备的
示例方法300的流程图。为方便起见,参考执行操作的系统来描述方法300的操作。方法300的系统包括计算设备的一个或多个处理器和/或其它组件。例如,方法300的系统能够由图1、图2a或图2b的助理输入设备106、图1、图2a或图2b的助理非输入设备185、图5的计算设备510、一个或多个服务器、其它计算设备和/或其任何组合实现。此外,虽然以特定顺序示出了方法300的操作,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。
92.在框352处,系统从生态系统中的多个助理设备当中识别给定助理设备。给定助理设备能够是助理输入设备(例如,图1的助理输入设备106之一)或助理非输入设备(例如,图1的助理非输入设备185之一)。在一些实施方式中,给定助理设备能够响应于确定被新添加到生态系统而被识别,而在其它实施方式中,给定助理设备能够响应于确定已经在生态系统内移动了地点而被识别(例如,关于图1的事件检测引擎130所描述的)。在一些另外的或可替换的实施方式中,能够定期地(例如,每月一次、每六个月一次、每年一次等)识别给定助理设备。
93.在框354处,系统获得与给定助理设备相关联的设备特定信号。设备特定信号能够由给定助理设备检测和/或由给定助理设备生成。在一些实施方式中,框354能够包括可选子框354a、子框354b、子框354c或子框354d中的一个或多个。如果包括的话,则在子框354a处,系统获得在给定助理设备处先前接收到的多个查询或命令(如果有的话)。如果包括的话,则在子框354b处,系统另外地或可替换地获得在给定助理设备处(并且可选地,仅当语音接收在给定助理设备处活动时(例如,在接收到调用自动化助理的特定词或短语之后),或者在语音接收不活动时经由数字信号处理器(dsp))先前检测到的环境噪声的实例。在一些实施方式中,所获得的环境噪声被限制为当语音接收在给定助理设备处活动时检测到的环境噪声。如果包括的话,则在子框354c处,系统另外地或可替换地获得(例如,使用图1的设备识别引擎140确定的)在位置上靠近给定助理设备的相应助理设备的独特标识符(或标签)。如果包括的话,则在子框354d,系统另外地或可替换地获得与生态系统相关联的用户的用户偏好。
94.在框356处,系统处理设备特定信号以生成用于给定助理设备的候选语义标签。在其中一个或多个设备特定信号包括在给定助理设备处先前接收到的多个查询或命令的实施方式中,能够使用语义分类器来处理多个查询或命令(或与其对应的文本),以将多个查询或命令中的每一个分类为一个或多个不同语义类别。例如,与烹饪食谱相关的查询和与控制厨房中的智能烤箱或智能咖啡机相关的命令能够被分类为烹饪类别或厨房类别,与天气相关的查询能够被分类为天气类别,与控制灯相关的命令能够被分类为灯类别,等等。在其中一个或多个设备特定信号另外地或可替换地包括在给定助理设备处检测到的环境噪声的实例的实施方式中,能够使用环境噪声检测模型来处理环境噪声的实例,以将环境噪声的实例中的每一个分类为一个或多个不同语义类别。例如,如果环境噪声的实例被确定为对应于微波炉发声、食物在煎锅上发出滋滋声、食物处理器处理食物等,则环境噪声的实例能够被分类为烹饪类别。作为另一示例,如果环境噪声的实例被确定为对应于锯子嗡嗡声、锤子敲击声等,则环境噪声的实例能够被分类为车库类别和车间类别。在其中一个或多个设备特定信号另外地或可替换地包括在位置上靠近给定助理设备的相应助理设备的独特标识符(或标签)的实施方式中,用于相应助理设备的独特标识符(或标签)能够被分类为
一个或多个不同语义类别。例如,如果用于相应助理设备的独特标识符(或标签)对应于“咖啡机”、“烤箱”、“微波炉”,则能够将独特标识符分类为厨房类别或烹饪类别。作为另一示例,如果用于相应助理设备的独特标识符(或标签)对应于“卧室灯”和“卧室投射设备”,则能够将独特标识符分类为卧室类别。在其中一个或多个设备特定信号另外地或可替换地包括与生态系统相关联的用户的用户偏好的实施方式中,用户偏好能够被分类为一个或多个不同语义类别。例如,如果用户偏好指示用户对烹饪、烹饪节目、特定厨师和/或其它烹饪相关兴趣感兴趣,则用户偏好能够被分类为厨房类别、烹饪类别或与特定厨师相关联的类别。
95.候选语义标签能够基于对一个或多个设备特定信号的处理来生成。例如,假设一个或多个设备特定信号指示给定助理设备位于与生态系统相关联的用户的主要房屋中的厨房或起居室中。进一步假设给定助理设备是具有显示器的交互式独立扬声器设备。在该示例中,能够生成第一候选语义标签“厨房显示设备”和第二候选语义标签“起居室显示设备”。在本文中(例如,参考图2a和图2b)更详细地描述了基于一个或多个设备特定信号来生成候选语义标签。
96.在框358处,系统确定是否提示与生态系统相关联的用户从候选语义标签当中请求对给定语义标签的选择。系统能够基于与候选语义标签相关联的相应置信度水平是否满足阈值置信度水平来确定是否提示用户请求对给定语义标签的选择。能够基于例如被分类为给定语义类别的一个或多个设备特定信号的数量来确定相应置信度水平。例如,假设在框352处识别的给定助理设备是实现自动化助理的实例的交互式独立扬声器。进一步假设一个或多个设备特定信号中的每一个都指示交互式独立扬声器位于卧室中。例如,基于在交互式独立扬声器处接收到的与设置警报或良好夜间例程相关联的先前查询或命令,基于包括打鼾的环境噪声的实例,和/或基于具有“卧室灯”和“卧室投射设备”的独特标识符(或标签)的其它助理设备。在该示例中,由于交互式独立扬声器与在与生态系统相关联的用户的主要房屋中的卧室相关联,所以系统在语义标签“卧室扬声器设备”中可以是高度可信的。然而,如果在交互独立扬声器处接收到的一些查询或命令与烹饪食谱相关联,则系统在语义标签“卧室扬声器设备”中可能没那么可信。
97.如果在框358的迭代处,系统确定不提示用户请求对给定语义标签的选择,则系统可以前进到框360。在框360处,系统在生态系统中的设备拓扑表示中将来自候选语义标签当中的给定语义标签自动地指派给给定助理设备。生态系统的设备拓扑表示能够本地存储在生态系统中的一个或多个助理设备处和/或在与生态系统中的一个或多个助理设备通信的远程系统处。在一些实施方式中,给定语义标签可以是与给定助理设备相关联的仅有语义标签(并且可选地取代指派给给定助理设备的其它独特标识符或标签),而在其它实施方式中,给定语义标签能够被添加到指派给给定助理设备的独特标识符或标签的列表中。然后,系统可以返回到框352,以从生态系统中的多个助理设备当中识别另外给定助理设备,从而生成另外给定语义标签并且将其指派给另外给定助理设备。
98.如果在框358的迭代处,系统确定提示用户请求对给定语义标签的选择,则系统可以前进到框362。在框362处,系统基于候选语义标签来生成请求来自客户端设备的用户的对给定语义标签的选择的提示。在框364处,系统使得提示在用户的客户端设备处被渲染。该提示能够在用户的客户端设备处视觉地和/或可听地渲染,并且能够可选地是基于在其处渲染该提示的客户端设备的能力。例如,可以经由在客户端设备处可访问的软件应用(例
如,与生态系统相关联的软件应用或包括在生态系统中的一个或多个助理设备)来渲染提示。在该示例中,如果客户端设备包括显示器,则可以经由软件应用(或客户端设备的主屏幕)视觉地渲染提示,和/或经由客户端设备的扬声器可听地渲染提示。然而,如果客户端设备不包括显示器,则提示可以仅经由客户端设备的扬声器可听地渲染。在框366处,系统响应于提示而接收对给定语义标签的选择。用户的客户端设备能够是例如在框352处识别的给定助理或不同的客户端设备(例如,用户的移动设备,或生态系统中的能够渲染提示的任何其它助理设备)。例如,假设系统生成了候选语义标签“卧室扬声器设备”和“厨房扬声器设备”。在该示例中,系统能够生成包括与这些语义标签中的两者相关联的可选择元素的提示,并且请求用户提供输入(例如,触摸或口头)以选择候选语义标签中的一个以指派给给定助理设备作为要指派给给定助理设备的给定语义标签。在框368处,系统在生态系统的设备拓扑表示中以与以上关于框360描述的类似方式将给定语义标签指派给给定助理设备。
99.现在转到图4,描绘了图示将所指派的语义标签用于满足在生态系统中的助理设备处接收到的查询或命令的示例方法400的流程图。为方便起见,参考执行操作的系统来描述方法400的操作。方法400的系统包括计算设备的一个或多个处理器和/或其它组件。例如,方法400的系统能够由图1、图2a或图2b的助理输入设备106、图1、图2a或图2b的助理非输入设备185、图5的计算设备510、一个或多个服务器、其它计算设备和/或其任何组合实现。此外,虽然以特定顺序示出了方法400的操作,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。
100.在框452处,系统经由包括多个助理设备的生态系统中的相应助理设备的相应麦克风接收对应于用户的口头话语的音频数据。用户可以与生态系统相关联。
101.在框454处,系统处理音频数据以识别包括在口头话语中的查询或命令的语义属性。查询或命令的语义属性可以对应于语言单元,诸如词或短语,其定义相关字段或相关词集和/或短语。在一些实施方式中,系统能够使用语音识别模型来处理音频数据,以将在音频数据中捕获的口头话语转换为文本,并且能够使用语义分类器基于所识别的文本来识别语义属性。在另外的或可替换的实施方式中,系统能够使用语义分类器来处理音频数据,并且能够基于音频数据来直接识别语义属性。例如,假设在框452处接收到的口头话语是“向我示出辣椒食谱”。在该示例中,能够使用语义分类器来处理口头话语(或与其对应的文本),以识别语义属性“辣椒”、“食物”、“厨房”和/或“烹饪”。值得注意的是,在框454处识别的语义属性可以包括包括在口头话语中的一个或多个词项或短语,或者可以包括口头话语被分类为的给定语义类别。
102.在框456处,系统确定口头话语是否指定给定助理设备以用于满足口头话语中包括的查询或命令。如果在框456的迭代处,系统确定口头话语指定给定助理设备以用于满足查询或命令,则系统可以前进到框466。下面描述框466。例如,假设在框452处接收到的口头话语是“在厨房显示设备处向我示出辣椒食谱”。在该示例中,系统能够利用“厨房显示设备”,因为用户指定应当利用“厨房显示设备”来向提供口头话语的用户呈现“辣椒食谱”。因此,系统能够选择“厨房显示设备”来满足口头话语。如果在框456的迭代处,系统确定口头话语未指定给定助理设备以用于满足查询或命令,则系统可以前进到框458。例如,假设在框452处接收到的口头话语简单地是“向我示出辣椒食谱”,而没有指定任何助理设备来满足口头话语。在该示例中,系统能够确定口头话语没有指定给定助理设备来满足口头话语。
因此,系统需要确定应该利用生态系统中的哪个(或哪些)助理设备来满足口头话语。
103.在框458处,系统确定在框454处识别的语义属性是否与指派给来自多个助理设备当中的给定助理设备的给定语义标签匹配。该系统能够生成对应于语义属性的一个或多个词项的嵌入,并且能够将语义属性的嵌入与对应于被指派给生态系统中的多个助理设备中的一个或多个助理设备的相应语义标签的一个或多个相应词项的多个嵌入进行比较。此外,系统能够确定语义属性的嵌入是否与被指派给生态系统中的多个助理设备中的一个或多个助理设备的相应语义标签的多个嵌入中的任何一个匹配。例如,系统能够确定语义属性的嵌入与被指派给生态系统中的多个助理设备中的一个或多个助理设备的相应语义标签的多个嵌入中的每一个之间的距离度量是否。此外,系统能够确定距离度量是否满足距离阈值(例如,识别精确匹配或软匹配)。
104.如果在框458的迭代处,系统确定在框454处识别的语义属性与指派给给定助理设备的给定语义标签匹配,则系统可以前进到框460。在框460处,系统使得与生态系统的设备拓扑表示中的给定语义标签相关联的给定客户端设备满足包括在口头话语中的查询或命令。系统然后可以返回到框452,以经由生态系统中的多个助理设备的相应麦克风监视另外音频。更具体地,系统能够使得给定助理设备执行一个或多个动作来满足话语。例如,假设在框452处接收到的口头话语是具有“辣椒”、“食物”、“厨房”和/或“烹饪”的所识别的语义属性的“向我示出辣椒食谱”。进一步假设指派给给定助理设备的语义标签是“厨房显示设备”。在这个示例中,即使在这个助理设备处没有接收到口头话语,系统也能够选择被指派给语义标签“厨房显示设备”的给定助理设备。此外,系统能够使得被指派语义标签“厨房显示设备”的给定助理设备响应于由相应助理设备的相应麦克风接收到的口头话语而视觉地渲染辣椒食谱。
105.在各种实施方式中,可以向生态系统中的多个助理设备指派与基于口头话语识别的语义属性匹配的语义标签。值得注意的是,并且尽管为了清楚起见未在图4中描绘,但是,除了或代替使用接近度信息(例如,以上关于图1的查询/命令处理引擎170所描述的),在选择一个或多个助理设备来满足口头话语时,系统可以确定在框454处识别的语义属性是否与指派给来自多个助理设备当中的给定助理设备的给定语义标签匹配。继续上述示例,假设存在被指派语义标签“厨房显示设备”的多个助理设备。在该示例中,被指派语义标签“厨房显示设备”的多个助理设备中最接近生态系统中的用户的助理设备可以用于满足口头话语。此外,并且为了清楚起见也未在图4中描绘,除了或代替使用设备能力信息(例如,以上关于图1的查询/命令处理引擎170所描述的),在选择一个或多个助理设备来满足口头话语时,系统可以确定在框454处识别的语义属性是否与指派给来自多个助理设备当中的给定助理设备的给定语义标签匹配。继续上述示例,假设具有显示设备的第一助理设备被指派语义标签“厨房显示设备”,并且不具有显示设备的第二助理设备被指派语义标签“厨房扬声器设备”。在这个示例中,被指派语义标签“厨房显示设备”的第一助理设备能够优于被指派语义标签“厨房扬声器设备”的第二助理设备被选择,以满足口头话语,因为口头话语指定了“向我示出”辣椒食谱,并且第一助理设备能够响应于口头话语而显示辣椒食谱,而第二助理设备不能显示辣椒食谱。
106.如果在框458的迭代处,系统确定在框454处识别的语义属性与指派给生态系统中的任何助理设备的任何语义标签不匹配,则系统可以前进到框462。在框462,系统识别靠近
用户的给定助理设备。例如,系统可以识别最靠近生态系统中的用户的给定助理设备(例如,如关于图1的存在传感器105所描述的)。
107.在框464处,系统确定在框462处识别的给定助理设备是否能够满足查询或命令。每一个助理设备的能力能够被存储在生态系统的设备拓扑表示中,并且与相应助理设备相关联(例如,作为用于相应助理设备的设备属性)。如果在框464的迭代处,系统确定在框462处识别的给定助理设备不能满足查询或命令,则系统可以返回到框462以识别也靠近用户的另外给定助理设备。系统可以再次前进到框464,以确定在框462的后续迭代处识别的另外给定助理设备是否能够满足查询或命令。系统可以重复该过程,直到识别到能够满足查询或命令的助理设备为止。例如,假设在框462处识别的助理设备是缺少显示器的独立扬声器设备,但是需要显示器来满足口头话语。在该示例中,系统可以在框464处确定在框462处识别的助理设备不能够满足口头话语,并且可以返回到框462以在框462处识别靠近用户的另外助理设备。如果在框464的迭代处,系统确定在框462处识别的给定助理设备能够满足查询或命令,则系统可以前进到框462。继续上述示例,进一步假设在框462的第一迭代处识别的给定助理设备是包括显示器的独立扬声器设备,或者在框462的另外迭代处识别的另外助理设备是具有显示器的独立扬声器设备。在这个示例中,系统可以确定在框462的后续迭代中处识别的助理设备能够在框464满足口头话语,并且系统可以前进到框466。
108.在框466处,系统使得给定助理设备满足包括在口头话语中的查询或命令。系统能够以上面关于框460描述的类似方式满足口头话语。系统然后可以返回到框452,以经由生态系统中的多个助理设备的相应麦克风监视另外音频。
109.图5是可以可选地用于执行本文描述的技术的一个或多个方面的示例计算设备510的框图。在一些实施方式中,一个或多个助理输入设备、一个或多个基于云的自动化助理组件、一个或多个助理非输入系统、一个或多个助理非输入设备和/或其它组件可以包括示例计算设备510的一个或多个组件。
110.计算设备510通常包括至少一个处理器514,该至少一个处理器514经由总线子系统512与多个外围设备进行通信。这些外围设备可以包括存储子系统524(包括,例如,存储器子系统525和文件存储子系统526)、用户接口输出设备520、用户接口输入设备522以及网络接口子系统516。输入和输出设备允许用户与计算设备510交互。网络接口子系统516提供到外部网络的接口,并被耦合到其它计算设备中的对应接口设备。
111.用户接口输入设备522可以包括键盘、诸如鼠标、轨迹球、触摸板或图形输入板的定点设备、扫描仪、并入到显示器中的触摸屏、诸如语音识别系统、麦克风的音频输入设备,以及/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备510中或通信网络上的所有可能类型的设备和方式。
112.用户接口输出设备520可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管显示器(crt)、诸如液晶显示器(lcd)的平板设备、投影设备或用于产生可见图像的一些其它机构。显示子系统还可以诸如经由音频输出设备来提供非可视显示器。通常,术语“输出设备”的使用旨在包括所有可能类型的设备以及从计算设备510向用户或向另一台机器或计算设备输出信息的方式。
113.存储子系统524存储提供本文描述的一些或所有模块的功能的程序和数据结构。例如,存储子系统524可以包括执行本文描述的方法的选定方面以及实现图1中描绘的各种
组件的逻辑。
114.这些软件模块通常由处理器514单独或与其它处理器结合执行。在存储子系统524中使用的存储器525能够包括多个存储器,多个存储器包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)530,以及其中存储固定指令的只读存储器(rom)532。文件存储子系统526能够为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移除介质、cd-rom驱动器、光盘驱动器或可移除介质盒。实现某些实施方式的功能的模块可以通过文件存储子系统526存储在存储子系统524中,或者存储在可由一个或多个处理器514访问的其它机器中。
115.总线子系统512提供了一种机制,以使计算设备510的各个组件和子系统按预期的方式彼此通信。尽管总线子系统512被示意性地示出为单个总线,但是总线子系统的可替换实施方式可以使用多个总线。
116.计算设备510能够是各种类型的,各种类型包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图5中描绘的计算设备510的描述仅旨在作为用于说明一些实施方式的目的的特定示例。与图5中描绘的计算设备相比,具有更多或更少的组件的计算设备510的许多其它配置是可能的。
117.在本文讨论的某些实施方式可以收集或使用关于用户的个人信息(例如,从其它电子通信中提取的用户数据、关于用户的社交网络的信息、用户的位置、用户的时间、用户的生物特征信息,以及用户的活动和人口统计信息、用户之间的关系等)的情况下,向用户提供一个或多个机会来控制是否收集信息、是否存储个人信息、是否使用个人信息以及如何使用收集、存储和使用关于用户的信息。即,仅在从相关用户接收到明确的授权后,本文讨论的系统和方法才收集、存储和/或使用用户个人信息。
118.例如,向用户提供对程序或特征是否收集关于该特定用户或与程序或特征相关的其它用户的用户信息的控制。向要收集其个人信息的每个用户提供一个或多个选项,以允许控制与该用户有关的信息收集,从而提供关于是否收集信息以及要收集该信息的哪些部分的许可或授权。例如,能够通过通信网络向用户提供一个或多个这样的控制选项。另外,在存储或使用某些数据之前,可以以一种或多种方式处理某些数据,使得移除个人可识别信息。作为一个示例,可以处理用户的身份,使得不能确定个人可识别信信息。作为另一示例,用户的地理地点可以被概括到更大的区域,使得不能确定用户的特定地点。
119.在一些实施方式中,一种由一个或多个处理器实现的方法被提供并且包括:从生态系统中的多个助理设备当中识别给定助理设备;获得与给定助理设备相关联的一个或多个设备特定信号,一个或多个设备特定信号由给定助理设备生成或接收;处理设备特定信号中的一个或多个设备特定信号,以生成用于给定助理设备的一个或多个候选语义标签;从一个或多个候选语义标签当中选择用于给定助理设备的给定语义标签;以及在生态系统的设备拓扑表示中将给定语义标签指派给给定助理设备。将给定语义标签指派给给定助理设备包括将给定语义标签自动地指派给给定助理设备。
120.本文所公开的技术的这些和其它实施方式可以包括以下特征中的一个或多个。
121.在一些实施方式中,设备特定信号中的一个或多个设备特定信号可以至少包括与给定助理设备相关联的设备活动,并且与给定助理设备相关联的设备活动可以包括在给定
助理设备处先前接收到的多个查询或命令。在那些实施方式的一些版本中,处理设备特定信号中的一个或多个设备特定信号以生成用于给定助理设备的候选语义标签中的一个或多个候选语义标签可以包括:使用语义分类器来处理与给定助理设备相关联的设备活动,以将多个查询或命令中的每一个分类为多个不同类别中的一个或多个类别;以及基于多个查询或命令中的每一个被分类为的多个不同类别中的一个或多个类别来生成候选语义标签中的一个或多个候选语义标签。在那些实施方式的一些其它版本中,选择用于给定助理设备的给定语义标签可以包括基于分类为多个不同类别中的给定类别的多个查询或命令的数量来选择用于给定助理设备的给定语义标签,给定语义标签与给定语义标签相关联。
122.在一些实施方式中,设备特定信号中的一个或多个设备特定信号可以至少包括与给定助理设备相关联的设备活动,其中,与给定助理设备相关联的设备活动包括在给定助理设备处先前检测到的环境噪声,并且环境噪声可以是当语音接收活动时已经在给定助理设备处先前检测到的。在那些实施方式的一些版本中,该方法还可以包括:使用环境噪声检测模型来处理在给定助理设备处先前检测到的环境噪声,以将环境噪声分类为多个不同类别中的一个或多个类别;以及基于环境噪声被分类的多个不同类别中的一个或多个类别来生成候选语义标签中的一个或多个候选语义标签。在那些实施方式的一些其它版本中,选择用于给定助理设备的给定语义标签可以包括基于被分类为多个不同类别中的给定类别的环境噪声来选择用于给定助理设备的给定语义标签,给定语义标签与给定语义标签相关联。
123.在一些实施方式中,设备特定信号中的一个或多个设备特定信号可以包括在生态系统中在位置上靠近给定助理设备的多个助理设备中的一个或多个助理设备的相应独特标识符。在那些实施方式的一些版本中,处理设备特定信号中的一个或多个设备特定信号以生成用于给定助理设备的候选语义标签中的一个或多个候选语义标签可以包括:基于一个或多个无线信号来识别在生态系统中在位置上靠近给定助理设备的多个助理设备中的一个或多个助理设备;获得在位置上靠近给定助理设备的多个助理设备中的一个或多个助理设备的相应独特标识符;以及基于在位置上靠近给定助理设备的多个助理设备中的一个或多个助理设备的相应独特标识符来生成候选语义标签中的一个或多个候选语义标签。在那些实施方式的一些其它版本中,选择用于给定助理设备的给定语义标签可以包括基于在位置上靠近给定助理设备的多个助理设备中的一个或多个助理设备的相应独特标识符的属性来选择用于给定助理设备的给定语义标签。
124.在一些实施方式中,可以响应于确定给定助理设备被新添加到生态系统,或者响应于确定给定助理设备在生态系统内移动了地点,而识别给定助理设备。
125.在那些实施方式的一些版本中,可以响应于确定给定助理设备在生态系统内移动了地点而识别给定助理设备。在那些实施方式的一些其它版本中,将给定语义标签指派给给定助理设备可以包括:将给定语义标签添加到与给定助理设备相关联的语义标签的列表中;或者利用给定语义标签取代与给定助理设备相关联的现有语义标签。在那些实施方式的一些另外或可替换版本中,确定给定助理设备在生态系统内移动了地点可以包括基于一个或多个无线信号来识别在生态系统中在位置上靠近给定助理设备的多个助理设备的当前子集不同于与给定助理设备相关联地存储的多个助理设备的存储子集。在那些实施方式的其它版本中,该方法还可以包括:将给定助理设备从包括多个助理设备中的一个或多个
助理设备的现有助理设备组切换到包括多个助理设备中的一个或多个助理设备的另外现有助理设备组,或者创建至少包括给定助理设备的新助理设备组。
126.在那些实施方式的一些版本中,可以响应于确定给定助理设备被新添加到生态系统而识别给定助理设备。在那些实施方式的一些其它版本中,将给定语义标签指派给给定助理设备可以包括将给定语义标签添加到与给定助理设备相关联的语义标签的列表中。在那些进一步实施方式的一些另外或可替换版本中,确定给定助理设备被新添加到生态系统可以包括基于一个或多个无线信号来识别给定助理设备已经被添加到与生态系统相关联的无线网络。在那些实施方式的另外版本中,该方法还可以包括:将给定助理设备添加到包括多个助理设备中的一个或多个助理设备的现有助理设备组,或者创建至少包括给定助理设备的新助理设备组。
127.在一些实施方式中,可以定期地识别给定助理设备,以验证指派给给定助理设备的现有语义标签是否正确。
128.在一些实施方式中,该方法还可以包括在生态系统的设备拓扑表示中将给定语义标签指派给给定助理设备之后:经由生态系统中的多个助理设备中的一个助理设备的一个或多个相应麦克风从与生态系统相关联的用户接收对应于口头话语的音频数据,口头话语包括查询或命令;处理对应于口头话语的音频数据,以确定查询或命令的语义属性;确定查询或命令的语义属性与指派给给定助理设备的给定语义标签匹配;以及响应于确定查询或命令的语义属性与指派给给定助理设备的给定语义标签匹配,使得给定助理设备满足查询或命令。
129.在一些实施方式中,设备特定信号中的一个或多个设备特定信号可以至少包括与生态系统相关联的用户的用户偏好,并且用户偏好可以基于与生态系统中的多个助理设备的用户交互来确定。在那些实施方式的一些版本中,处理设备特定信号中的一个或多个设备特定信号以生成用于给定助理设备的候选语义标签中的一个或多个候选语义标签可以包括:使用语义分类器来处理用户偏好,以识别多个不同语义类别中的与用户偏好相关联的至少一个语义类别;以及基于给定语义类别来生成候选语义标签中的一个或多个候选语义标签。在那些实施方式的又一个版本中,选择用于给定助理设备的给定语义标签可以包括:确定来自多个候选语义标签当中的给定语义标签与给定助理设备相关;以及响应于确定给定语义标签与给定助理设备相关而选择用于给定助理设备的给定语义标签。确定给定语义标签可以与给定助理设备相关是基于与给定助理设备相关联的一个或多个另外设备特定信号。在那些进一步实施方式的一些另外或可替换版本中,处理用户偏好以识别至少一个语义类别可以是响应于接收到将一个或多个语义标签指派给至少给定助理设备的用户输入。
130.在一些实施方式中,一种由一个或多个处理器实现的方法被提供并且包括:从生态系统中的多个助理设备当中识别给定助理设备;获得与助理设备相关联的一个或多个设备特定信号,一个或多个设备特定信号由给定助理设备生成或接收;处理设备特定信号中的一个或多个设备特定信号,以生成用于给定助理设备的一个或多个候选语义标签;基于候选语义标签中的一个或多个候选语义标签来生成请求来自客户端设备的用户的对给定语义标签的选择的提示,选择来自候选语义标签当中的一个或多个候选语义标签;使得提示在用户的客户端设备处被渲染;以及作为对响应于提示而接收对给定语义标签的选择的
响应,在生态系统的设备拓扑表示中将给定语义标签指派给给定助理设备。
131.本文所公开的技术的这些和其它实施方式可以包括以下特征中的一个或多个。
132.在一些实施方式中,一个或多个设备特定信号可以包括以下各项中的两项或更多项:与给定助理设备相关联的设备活动,与给定助理设备相关联的设备活动包括在给定助理设备处先前接收到的多个查询或命令;在给定助理设备处先前检测到的环境噪声,环境噪声是当语音接收活动时在给定助理设备处先前检测到的;或者在生态系统中在位置上靠近给定助理设备的多个助理设备中的一个或多个助理设备的相应独特标识符。
133.在一些实施方式中,一种由一个或多个处理器实现的方法被提供并且包括:从生态系统中的多个助理设备当中识别给定助理设备;获得与给定助理设备相关联的一个或多个设备特定信号,一个或多个设备特定信号由给定助理设备生成或接收;基于设备特定信号中的一个或多个设备特定信号来确定用于给定助理设备的给定语义标签;在生态系统的设备拓扑表示中将给定语义标签指派给给定助理设备;以及在生态系统的设备拓扑表示中将给定语义标签指派给给定助理设备之后:经由生态系统中的多个助理设备中的一个助理设备的一个或多个相应麦克风从与生态系统相关联的用户接收对应于口头话语的音频数据,口头话语包括查询或命令;处理对应于口头话语的音频数据,以确定查询或命令的语义属性;确定查询或命令的语义属性与指派给给定助理设备的给定语义标签匹配;以及响应于确定查询或命令的语义属性与指派给给定助理设备的给定语义标签匹配,使得给定助理设备满足查询或命令。
134.此外,一些实施方式包括一个或多个计算设备的一个或多个处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)和/或张量处理单元(tpu)),其中,一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中,指令被配置为使得执行前述方法中的任一个。一些实施方式还包括一个或多个存储计算机指令的非暂时性计算机可读存储介质,计算机指令可由一个或多个处理器执行以执行前述方法中的任一个。一些实施方式还包括一种计算机程序产品,其包括可由一个或多个处理器执行以执行前述方法中的任一个的指令。
135.应当认识到,本文更详细描述的上述概念和另外概念的所有组合被预见为是本文公开的主题的一部分。例如,在本公开的末尾出现的要求保护的主题的所有组合被预见为是本文公开的主题的一部分。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1