经由自然交互(诸如语音识别、文本、姿势识别、运动检测、注视检测、意图识别、大脑活动评估、文本、家庭自动化设备的状态等中的一者或多者)与计算系统交互实现了自然用户接口体验。随着数字信息量和计算设备数量的增加,管理此类自然用户交互接口以提供积极的用户体验可能具有挑战性。
概述
一种智能助理记录第一用户说出的语音,并且确定第一用户的自选择分数。该智能助理将该自选择分数发送到另一智能助理,并且从该另一智能助理接收第一用户的远程选择分数。该智能助理将自选择分数与远程选择分数作比较。如果自选择分数高于远程选择分数,则该智能助理向第一用户作出响应,并且阻断对所有其他用户的后续响应,直到第一用户的解除合作度量超过阻断阈值。如果自选择分数低于远程选择分数,则该智能助理不对第一用户作出响应。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的概念的选集。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,亦非旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中提及的任何或所有缺点的实现。
附图简述
图1示出了根据本公开的一示例的具有一体化计算设备形式的智能助理计算机的示例环境。
图2示意性地示出了根据本公开的一示例的用于实现智能助理计算机的示例逻辑架构。
图3示意性地示出了根据本公开的各示例的可确定一个或多个实体的身份、位置和/或当前状态的实体跟踪器。
图4示意性地示出了根据本公开的各示例的在多个时间帧上接收并解读传感器数据的实体跟踪器。
图5示意性地示出了根据本公开的一示例的经由实体跟踪器的传感器置信度随时间衰减的示例。
图6示意性地示出了根据本公开的各示例的使用经训练的话音识别引擎来识别人的语音的示例。
图7示意性地示出了根据本公开的各示例的实现智能助理计算机的一体化计算设备。
图8a-8b示出例示了在多用户多助理环境中在智能助理处选择性地向用户作出响应的方法的流程图。
图9示意性地示出包括多个音频输出设备的示例环境。
图10示意性地示出了根据本公开的各示例的其中一个或多个远程服务执行智能助理计算机的功能性的示例实现。
图11示意性地示出了根据本公开的各示例的其中一个或多个远程服务执行智能助理计算机的功能性的另一示例实现。
图12示意性地示出了根据本公开的各示例的计算系统。
详细描述
本公开一般涉及用于向用户提供智能辅助的系统、方法和逻辑构造。在一些示例中,各种传感器数据可被用于智能地确定传递给用户的消息的内容和/或时间和/或动作的性能。在一些示例中,诸如用户命令和其他话语之类的自然语言输入可被接收并被处理。对于其中多个设备被配置成在由多个实体占据的使用环境中提供智能辅助的一些场景中,每一设备可以基于各种使用条件选择性地向不同用户作出响应或阻断对不同用户的响应。此外,来自一个或多个传感器的数据可被处理以生成与一个传感器范围内的一个或多个实体相关的身份、定位/位置、状态/活动、和/或其他信息。基于当前和过去数据的统计概率可被用于生成与实体信息相关联的置信度值。
图1例示了其中定位了多个智能助理计算机的起居室2形式的使用环境。智能助理计算机采用一体化计算设备4和一体化计算设备6的形式,这两个一体化计算设备可以被配置成执行许多功能。在一些示例中,计算设备4和6可以被配置成接收和处理自然语言输入。作为一个特定示例,图1示出了在起居室2中的第一用户8提供自然语言输入以请求计算机游戏的实例从一个计算设备传送到另一计算设备。在另一示例中,可在没有来自用户的输入的情况下以编程方式执行此类传送。例如,计算设备可利用诸如音频和/或视频数据之类的(例如接收自相机10的)传感器数据来检测用户何时移动到另一个房间并且正在查看另一设备或与另一设备“合作”。使用此数据,计算设备可自动地将计算机游戏的实例传送到该另一设备。
作为通过自然语言输入可以请求的计算设备动作的另一示例,图1示出了在起居室2中的第二用户12请求关于未来天气的信息。可以向计算设备4和/或6请求的其他信息可包括但不限于,个人日历事件、电影放映时间、新闻。计算设备4和/或6可以接收并存储消息和/或提醒以在恰适的时间进行递送。使用传感器数据,计算设备可跟踪一个或多个用户或其他实体和/或与一个或多个用户或其他实体通信。此外,在一些示例中,计算设备4和/或6可以被用于控制其他计算机、智能设备、和/或物联网(iot)设备。作为一个示例,计算设备4和/或6可被配置成控制起居室2中的元件,诸如电视机14、音乐系统的扬声器16、燃气壁炉18、和/或电动窗帘20。
归因于它们与用户8和12的邻近度,计算机设备4和6可能听到两个用户发出的请求。如果计算设备4和6的操作未经协调,则两个计算设备可能都对同一用户作出响应。就像由于两个计算设备服务于共同请求而引起的不必要的计算资源消耗那样,将会导致令人迷失方向的用户体验。相应地,本文公开了用于协调一个环境中的多个智能助理计算设备的操作的实现,以使得单个计算设备被选择来向用户作出响应。此外,所选计算设备可以对照可调阈值来评估用户的解除合作度量以选择性地阻断或解除阻断对环境中的其他用户的后续响应。如下文参考图7-8b更详细地描述的,计算设备在选择性地阻断对另一用户的后续响应时可以考虑各种使用条件,包括但不限于,该另一用户的身份、计算设备的一个或多个设备设置、和/或可供呈现给该另一用户的内容的各方面。通过以此方式考虑使用条件,计算设备可以通过服务于第一用户的请求的同时保持在某些条件下对第二用户作出响应的能力来提供期望的用户体验。
在一些示例中,计算设备4和/或6可使用有线连接彼此可操作地连接和/或与一个或多个其他计算设备可操作地连接,或者可经由wi-fi、蓝牙或任何其他合适的无线通信协议采用无线连接。例如,计算设备4和/或6可经由网络通信地耦合到一个或多个其他计算设备。网络可采取局域网(lan)、广域网(wan)、有线网络、无线网络、个域网、或其组合的形式,并且可包括因特网。关于计算设备4和6的组件和计算方面的附加细节在下文中参考图12更详细地描述。
将领会,图1的计算设备4和6仅仅表示本公开的智能助理的一个示例实现。跨两个或更多个设备的附加示例实现在图7、10和11中被例示并且在下文中更详细地被描述。
图2示出了根据本公开的各示例的用于实现能够识别并响应自然语言输入的智能助理计算机20的示例逻辑架构。如下文更详细地描述的,在各种示例中,系统20可在单个计算设备中被实现、可跨两个或更多个设备被实现、可在支持云的网络中被实现以及在前述各项的组合中被实现。
在此示例中,智能助理计算机20包括至少一个传感器22、实体跟踪器100、话音监听器30、解析器40、意图处置器50、承诺引擎60和至少一个输出设备70。在一些示例中,传感器22可包括一个或多个话筒24、可见光相机26、红外相机27和诸如wi-fi或蓝牙模块之类的连通性设备28。在一些示例中,(诸)传感器22可包括立体和/或深度相机、头部跟踪器、眼睛跟踪器、加速度计、陀螺仪、注视检测设备、电场感测组件、gps或其他位置跟踪设备、温度传感器、设备状态传感器、和/或任何其他合适的传感器。
实体跟踪器100被配置成检测实体(包括人、动物或其他生物以及非生命对象)及其活动。实体跟踪器100包括实体标识器104,其被配置为识别各个用户和/或非生命对象。话音监听器30接收音频数据并利用语音识别功能性将口述话语翻译成文本。话音监听器30还可为经翻译的文本分配(诸)置信度值,并可执行发言者识别以确定正在发言的人的身份,以及为此类标识的准确度分配概率。解析器40分析从话音监听器30接收到的文本和置信度值以得到用户意图并生成相应的机器可执行语言。
意图处置器50从解析器40接收表示用户意图的机器可执行语言,并辨析缺失的和有歧义的信息以生成承诺。承诺引擎60存储来自意图处置器50的各承诺。在上下文适当的时间,承诺引擎可递送与一个或多个承诺相关联的一个或多个消息和/或执行与一个或多个承诺相关联的一个或多个动作。承诺引擎60可将消息存储在消息队列62中或者使一个或多个输出设备70生成输出。输出设备70可包括(诸)扬声器72、(诸)视频显示器74、(诸)指示灯76、(诸)触觉设备78和/或其他合适的输出设备中的一者或多者。在其他示例中,输出设备70可包括可经由承诺引擎60执行的动作被控制的诸如家庭照明、恒温器、媒体程序、门锁等一个或多个其他设备或系统。
在不同的示例中,话音监听器30、解析器40、意图处置器50、承诺引擎60和/或实体跟踪器100可用存储在存储器中并由计算设备的一个或多个处理器执行的软件来具体化。在一些实现中,专门编程的逻辑处理器可被用于提高智能助理计算机的计算效率和/或有效性。下文参考图12更详细地描述关于可存储并执行这些模块的计算设备的组件和计算方面的附加细节。
再次参考图2,在一些示例中,话音监听器30和/或承诺引擎60可从实体跟踪器100接收包括相关联的置信度值的上下文信息。如下文更详细地描述的,实体跟踪器100可确定一个或多个传感器的范围内的一个或多个实体的身份、位置和/或当前状态,并且可将此类信息输出到诸如话音监听器30、承诺引擎60等一个或多个其他模块。在一些示例中,实体跟踪器100可解读和评估从一个或多个传感器接收到的传感器数据,并可基于该传感器数据来输出上下文信息。上下文信息可包括实体跟踪器基于接收到的传感器数据对一个或多个检测到的实体的身份、位置和/或状态的猜想/预测。在一些示例中,猜想/预测可附加地包括定义信息准确的统计似然性的置信度值。
图3示意性地例示了示例实体跟踪器100,其可包括智能助理计算机20的组件。实体跟踪器100可被用于确定一个或多个传感器范围内的一个或多个实体的身份、位置和/或当前状态。实体跟踪器100可将此类信息输出到智能助理计算机20的一个或多个其他模块,诸如承诺引擎60、话音监听器30等。
在实体跟踪器100的上下文中使用的单词“实体”可以指人、动物或其他生物以及非生命对象。例如,实体跟踪器可被配置成标识家具、器具、结构、景观特征、车辆和/或任何其他物理对象,并确定此类物理对象的位置/定位和当前状态。在一些情形中,实体跟踪器100可被配置成仅标识人而不标识其他生物或非生物。在此类情况下,单词“实体”可能与单词“人”同义。
实体跟踪器100从一个或多个传感器102(诸如传感器a102a、传感器b102b和传感器c102c)接收传感器数据,但是应该理解,实体跟踪器可以与任何数量和种类的合适的传感器一起使用。作为示例,可与实体跟踪器一起使用的传感器可包括相机(例如,可见光相机、uv相机、ir相机、深度相机、热相机)、话筒、有向话筒阵列、压力传感器、温度计、运动检测器、邻近度传感器、加速度计、全球定位卫星(gps)接收器、磁力计、雷达系统、激光雷达系统、环境监测设备(例如,烟雾探测器、一氧化碳探测器)、气压计、健康监测设备(例如、心电图仪、血压计、脑电图)、汽车传感器(例如,速度计、里程表、转速计、燃料传感器)和/或收集和/或存储与一个或多个人或其他实体的身份、位置和/或当前状态有关的信息的任何其他传感器或设备。在一些示例中,实体跟踪器100可用多个传感器102中的一个或多个来占据公共设备壳体,和/或实体跟踪器及其相关联的传感器可跨被配置成经由一个或多个网络通信接口(例如,wi-fi适配器、蓝牙接口)通信的多个设备分布。
如图3的示例中所示,实体跟踪器100可包括实体标识器104、人标识器105、位置(定位)标识器106和状态标识器108。在一些示例中,人标识器105可以是实体标识器100的专用分量,其被特别优化以用于识别人,而非识别其他生物和非生物。在其他情形中,人标识器105可以与实体标识器104分开操作,或者实体跟踪器100可能不包括专用的人标识器。
取决于特定实现,与实体标识器、人标识器、位置标识器和状态标识器相关联的任何或所有功能可以由各个体传感器102a-102c执行。尽管本说明书一般将实体跟踪器100描述为从传感器接收数据,但这并不要求实体标识器104以及实体跟踪器的其他模块必须被实现在与关联于实体跟踪器的多个传感器分离且不同的单个计算设备上。相反,实体跟踪器100的功能可被分布在多个传感器或其他合适的设备之中。例如,代替向实体跟踪器发送原始传感器数据,各个传感器可被配置成尝试标识其检测到的实体,并将此标识报告给实体跟踪器100和/或智能助理计算机20的其他模块。此外,为了简化以下的描述,术语“传感器”有时被用来不仅描述物理测量设备(例如,话筒或相机),还描述被配置和/或编程为解读来自物理测量设备的信号/数据的各种逻辑处理器。例如,“话筒”可以被用来指代将声学能量转换成电信号的设备、将电信号转换成数字数据的模数转换器、预处理数字数据的板载专用集成电路、以及本文描述的下游模块(例如,实体跟踪器100、实体标识器104、话音监听器30、或解析器40)。由此,对通用“传感器”或特定传感器(例如,“话筒”或“相机”)的指代不应被理解为仅仅意味着物理测量设备,而且还意味着可以跨一个或多个计算机分布的合作的模块/引擎。
实体标识器104、人标识器105、位置标识器106和状态标识器108中的每一者被配置成解读和评估从多个传感器102接收到的传感器数据,并基于传感器数据输出上下文信息110。上下文信息110可包括实体跟踪器基于接收到的传感器数据对一个或多个检测到的实体的身份、位置和/或状态的猜想/预测。如下文将更详细地描述的,实体标识器104、人标识器105、位置标识器106和状态标识器108中的每一者可输出它们的预测/标识以及置信度值。
实体标识器104、人标识器105、位置标识器106、状态标识器108和本文描述的其他处理模块可以利用一个或多个机器学习技术。此类机器学习技术的非限制性示例可包括,前向馈送网络、递归神经网络(rnn)、长短期记忆(lstm)、卷积神经网络、支持向量机(svm)和决策树。各种标识器、引擎和本文描述的其他处理快可以经由经监管的和/或未经监管的学习利用这些或任何其他恰适的机器学习技术来训练,以进行所描述的评估、决策、标识等。然而,应该理解,该描述并非旨在提出用于进行此类评估、决策、标识等的新技术。相反,此描述旨在管理计算资源并且由此意在与任何类型的处理模块相兼容。
实体标识器104可输出检测到的实体的实体身份112,并且此类实体身份可具有任何合适的特异性程度。换言之,基于接收到的传感器数据,实体跟踪器100可预测给定实体的身份,并将此类信息输出为实体身份112。例如,实体标识器104可报告特定实体是一件家具、一条狗、一个人类男性等。附加地或替换地,实体标识器104可报告特定实体是具有特定型号的烤箱;一只有特定名称和品种的宠物狗;智能助理计算机20的拥有者或已知用户,其中该拥有者/已知用户具有特定的名称和简档;等等。在一些示例中,实体标识器104标识/分类检测到的实体的特异性程度可取决于用户偏好和传感器限制中的一者或多者。
当被应用于人时,实体跟踪器100在某些情况下可收集关于无法通过名称标识的个人的信息。例如,实体标识器104可记录人脸的图像,并将这些图像与人声的录制音频相关联。如果此人随后向智能助理计算机20说话或以其他方式称呼智能助理计算机20,则实体跟踪器100然后会具有关于智能助理计算机正在与谁交互的至少一些信息。在一些示例中,智能助理计算机20还可提示人声明他们的姓名,以便在将来更容易对人进行标识。
在一些示例中,智能助理计算机20可利用人的身份来为此人定制用户界面。在一个示例中,可标识具有有限视觉能力的用户。在此示例中并且基于此标识,可修改智能助理计算机20(或用户正在与之交互的其他设备)的显示以显示更大的文本、或者提供仅语音接口。
位置标识器106可被配置成输出检测到的实体的实体位置(即,定位)114。换言之,位置标识器106可基于收集到的传感器数据预测给定实体的当前位置,并将此类信息输出为实体位置114。与实体身份112一样,实体位置114可具有任何合适的细节水平,并且此细节水平可随用户偏好和/或传感器限制而变化。例如,位置标识器106可报告检测到的实体具有在诸如地板或墙壁之类的平面上定义的二维位置。附加地或替换地,经报告的实体位置114可包括检测到的实体在现实世界三维环境中的三维位置。在一些示例中,实体位置114可包括gps位置、映射坐标系内的定位等。
检测到的实体的经报告的实体位置114可对应于实体的几何中心、被分类为重要的实体的特定部分(例如,人的头部)、在三维空间中定义实体边界的一系列边界等。位置标识器106可进一步计算描述检测到的实体的位置和/或取向的一个或多个附加参数,诸如俯仰、滚转和/或偏航参数。换言之,检测到的实体的报告位置可具有任意数量的自由度,并且可包括定义实体在环境中位置的任意数量的坐标。在一些示例中,即使实体跟踪器100无法标识实体和/或确定实体的当前状态,也可报告检测到的实体的实体位置114。
状态标识器108可被配置成输出检测到的实体的实体状态116。换言之,实体跟踪器100可被配置成基于接收到的传感器数据来预测给定实体的当前状态,并将此类信息输出为实体状态116。“实体状态”可以指给定实体的基本上任何可测量或可分类的属性、活动或行为。例如,当被应用于一个人时,此人的实体状态可指示此人的姿态(例如站立、坐下、躺下)、此人行走/跑步的速度、此人的当前活动(例如睡觉、看电视、工作、玩游戏、游泳、打电话)、此人的当前情绪(例如,通过评估人的面部表情或语调)、此人的生物/生理参数(例如,此人的心率、呼吸频率、氧饱和度、体温、神经活动)、此人是否有任何当前或即将发生的日历事件/约会等。“实体状态”可以指应用于其他生物或非声明对象时的附加/替换属性或行为,诸如烤箱或厨房水槽的当前温度、设备(例如,电视机、灯、微波炉)是否通电、门是否打开等。
在一些示例中,状态标识器108可使用传感器数据来计算人的各种不同的生物/生理参数。这可以以各种合适的方式完成。例如,实体跟踪器100可被配置成与光学心率传感器、脉搏血氧计、血压计、心电图仪等对接。附加地或替换地,状态标识器108可被配置成解读来自环境中的一个或多个相机和/或其他传感器的数据,并处理数据以便计算人的率心、呼吸率、氧饱和度等。例如,状态标识器108可被配置成利用欧拉放大和/或类似技术放大由相机捕捉到的微小运动或变化,从而允许状态标识器可视化通过人体循环系统的血流并计算相关联的生理参数。例如,此类信息可被用于确定此人何时睡着、健身、遇险、遇到健康问题等。
在确定实体身份112、实体位置114、和实体状态116中的一者或多者之际,可将此类信息作为上下文信息110发送到各种外部模块或设备中的任何一者,其中此类信息可以以各种方式被使用。例如,承诺引擎60可使用上下文信息110来管理承诺和相关联的消息和通知。在一些示例中,承诺引擎60可使用上下文信息110来确定是否应该执行特定消息、通知或承诺和/或向用户呈现特定消息、通知或承诺。类似地,当解读人类语音或响应于关键字触发器激活功能时,话音监听器30可利用上下文信息110。
如上所述,在一些示例中,实体跟踪器100可在单个计算设备中实现。在其他示例中,实体跟踪器100的一个或多个功能可跨多个协同工作的计算设备分布。例如,实体标识器104、人标识器105、位置标识器106和状态标识器108中的一者或多者可在不同的计算设备上实现,同时仍然共同包括被配置成执行本文描述的功能的实体跟踪器。如上文所指示的,实体跟踪器的任何或所有功能可由各个传感器102执行。此外,在一些示例中,实体跟踪器100可省略实体标识器104、人标识器105、位置标识器106和状态标识器108中的一者或多者,和/或包括本文未描述的一个或多个附加组件,但同时仍提供上下文信息110。关于可被用于实现实体跟踪器100的组件和计算方面的附加细节在下文中参考图12更详细地描述。
实体身份112、实体位置114和实体状态116中的每一者可采用任何合适的形式。例如,实体身份112、位置114和状态116中的每一者可采用包括描述由实体跟踪器收集的信息的一系列值和/或标签的离散数据分组的形式。实体身份112、位置114和状态116中的每一者可附加地包括定义信息准确的统计似然性的置信度值。例如,如果实体标识器104接收到强烈指示特定实体是名为“约翰·史密斯(johnsmith)”的男人的传感器数据,那么实体身份112可包括此信息以及对应的相对高的置信度值(诸如90%置信度)。如果传感器数据较模糊,则被包括在实体身份112中的置信度值可对应地相对较低(诸如62%)。在一些示例中,可为单独的预测分配单独的置信度值。例如,实体身份112可以以95%的置信度指示特定实体是男人,并且以70%的置信度指示此实体是约翰·史密斯。成本函数可利用此类置信度值(或概率)来生成针对向用户提供消息或其他通知和/或执行动作的成本计算。
在一些实现中,实体跟踪器100可被配置成组合或融合来自多个传感器的数据以便输出更准确的预测。作为示例,相机可定位特定房间中的人。基于相机数据,实体跟踪器100可以以70%的置信度值标识此人。然而,实体跟踪器100可附加地从话筒接收录制的语音。仅基于录制的语音,实体跟踪器100可以以60%的置信度值标识此人。通过将来自相机的数据与来自话筒的数据组合,实体跟踪器100可以以可能比单独使用来自任一传感器的数据的置信度值更高的置信度值标识此人。例如,实体跟踪器可确定从话筒接收到的录制语音与接收到语音时相机可见的人的嘴唇运动相对应,并从而以相对较高的置信度(诸如92%)得出相机可见的人就是正在说话的人的结论。以此方式,实体跟踪器100可组合两个或更多个预测的置信度值以用经组合的、更高的置信度值标识人。
在一些示例中,取决于传感器数据的可靠性,可对从各种传感器接收到的数据不同地进行加权。在其中多个传感器输出看起来不一致的数据的情景中,这一点尤其相关。在一些示例中,传感器数据的可靠性可至少部分地基于由传感器生成的数据的类型。例如,在一些实现中,视频数据的可靠性可能比音频数据的可靠性被更高地加权,因为相机上的实体的存在相较于推定来自该实体的录制的声音而言是对其身份、位置和/或状态的更好的指示符。应当理解,传感器数据的可靠性是相较于与数据实例的预测准确度相关联的置信度值而言不同的因素。例如,基于每个实例处存在的不同上下文因素,视频数据的若干实例可具有不同的置信度值。然而,视频数据的这些实例中的每一者通常都可以与视频数据的单个可靠性值相关联。
在一个示例中,来自相机的数据可以以70%的置信度值表明特定的人位于厨房中,诸如经由面部识别分析。来自话筒的数据可以以75%的置信度值表明同一人位于附近的走廊,诸如经由话音识别分析。即使话筒数据的实例携带更高的置信度值,实体跟踪器100仍可基于相机数据的可靠性比话筒数据的可靠性高而输出人位于厨房内的预测。以此方式并且在一些示例中,不同传感器数据的不同可靠性值可以与置信度值一起被用于协调冲突的传感器数据并确定实体的身份、位置和/或状态。
附加地或替换地,可赋予具有更高精度、更高处理功率或以其他方式具有更高能力的传感器更大的权重。例如,与膝上型计算机中找到的基本网络摄像头相比,专业级视频相机可具有显著改进的镜头、图像传感器和数字图像处理能力。相应地,因为从专业级相机接收到的视频数据可能更准确,因此与网络摄像头相比此类数据可被赋予更高的权重/可靠性值。
现在参考图4,在一些示例中,与实体跟踪器100一起使用的各个体传感器可以以与实体跟踪器一起使用的其他传感器不同的频率输出数据。类似地,与实体跟踪器100一起使用的传感器可以以与实体跟踪器评估数据和输出上下文信息的频率不同的频率输出数据。在图4的示例中,实体跟踪器100可在多个时间帧200a、200b和200c上接收和解读传感器数据。单个时间帧可表示任何合适的时间长度,诸如1/30秒,1/60秒等。
在此示例中,在时间帧200a期间,实体跟踪器100接收包括传感器a数据204a、传感器b数据204b和传感器c数据204c的一组传感器数据202。此类传感器数据由实体跟踪器100解读并被转换成上下文信息206,其可被用于确定如上文所描述的一个或多个检测到的实体的身份、位置和/或状态。在时间帧200b期间,实体跟踪器100接收包括传感器a数据210a和传感器b数据210b的传感器数据208。在时间帧200b期间,实体跟踪器100不从传感器c接收数据,因为传感器c以与传感器a和b不同的频率输出数据。类似地,在时间帧200b期间,实体跟踪器100不输出上下文信息,因为实体跟踪器以与传感器a和b不同的频率输出上下文信息。
在时间帧200c期间,实体跟踪器100接收包括传感器a数据214a、传感器b数据214b、传感器c数据214c和传感器d数据214d的传感器数据212。在时间帧200c期间,实体跟踪器100还输出可基于由实体跟踪器接收到的任何或所有传感器数据的上下文信息216,因为上下文信息是在时间帧200a中最后输出的。换言之,上下文信息216可至少部分地基于传感器数据208以及传感器数据212。在一些示例中,上下文信息216可至少部分地基于传感器数据202和传感器数据208、以及传感器数据212。
如图4所示,在实体跟踪器100从特定传感器接收数据之后,在实体跟踪器从同一传感器接收更多数据之前,可能会经过多个时间帧。在这些多个时间帧期间,实体跟踪器100可输出上下文信息。类似地,从特定传感器接收到的数据的有用性可能逐时间帧地变化。例如,在第一时间帧处,实体跟踪器100可经由话筒接收正在说话的特定人的音频数据,并因此用相对高的置信度值标识人的实体位置114。在随后的时间帧中,此人可保持位于所标识的位置,但是也可能自第一时间帧以来就停止了说话。在此情况下,话筒缺失有用数据可能并不是人不存在的可靠指示符。其他类型的传感器也会出现类似的问题。例如,如果一个人遮住了他的脸,或者被诸如另一个人或移动对象之类的障碍物遮挡,那么相机可能会失去对此人的跟踪。在此情况下,尽管当前相机数据可能不表明此人的存在,但相机数据的先前实例可能表明此人仍然位于先前标识的位置处。通常,虽然传感器数据可以可靠地指示实体的存在,但是此类数据在表明实体的不存在时可能不太可靠。
因此,实体跟踪器100可利用一个或多个置信度衰减函数,其在不同的示例中可以由实体跟踪器和/或由传感器本身来定义。置信度衰减函数可被应用于传感器数据,以从特定传感器最后一次肯定地检测到实体开始,随着时间的推移降低实体跟踪器对来自该传感器的数据的置信度。作为示例,在传感器检测到实体位于特定定位处之后,实体跟踪器100可报告指示该实体以相对高的置信度位于该定位处的上下文信息110。如果在一个或多个时间帧之后传感器不再检测到实体位于该定位处,并且除非其随后收集相互矛盾的证据,否则实体跟踪器100仍然可以报告该实体位于该定位处,但采用某一较低的置信度。随着时间从传感器最后一次检测到实体位于该定位处后继续推移,该实体仍位于该定位处的可能性逐渐减小。因此,实体跟踪器100可利用置信度衰减函数来逐渐降低其报告的上下文信息110的置信度值,如果没有附加传感器检测到该实体则最终到达0%的置信度。
在一些情形中,不同的置信度衰减函数可以与不同的传感器和传感器类型一起使用。特定衰减函数的选择可至少部分地取决于传感器的特定属性。例如,与来自摄像机的数据相关联的置信度值可能比与来自话筒的数据相关联的置信度值更快地衰减,因为视频帧中的实体的不存在是比被话筒录制的静音更可靠的实体不存在的指示符。
传感器置信度衰减的一个示例在图5中被示意性地例示,其示出了实体跟踪器100在三个不同时间帧300a、300b和300c期间接收传感器数据。在时间帧300a期间,实体跟踪器100接收相机数据302,其中在该帧中实体是可见的。基于此数据,实体跟踪器100以90%的置信度值报告实体位置304。在时间帧300b中,实体跟踪器100接收相机数据306,其中在该帧中实体不再可见。然而,实体可能并未移动,而仅仅是被遮挡或者以其他方式不能被相机检测到。因此,实体跟踪器100报告相同的实体位置304,但采用80%的较低置信度值。
最后,在时间帧300c中,实体跟踪器100接收指示该实体在该帧中仍然不可见的相机数据310。随着时间的推移,实体仍然处于同一位置的可能性越来越小。因此,实体跟踪器100以60%的更低的置信度值报告相同的实体位置304。
在一些示例中,可通过利用数据过滤技术来至少部分地解决传感器数据的可变可靠性。在一些示例中,卡尔曼滤波器可被用于过滤传感器数据。卡尔曼滤波器是一种数学函数,它可以将多个不确定的测量结合起来,并输出可能比使用任何单个测量有更高置信度的预测。基于测量的感知可靠性为卡尔曼滤波器的每个测量输入赋予权重。卡尔曼滤波器以两步骤过程操作,包括预测步骤和更新步骤。在预测步骤期间,滤波器基于最近的加权测量输出预测。在更新步骤期间,过滤器将其预测与实际观察值或状态进行比较,并动态地调整应用于每个测量的加权以便输出更准确的预测。
在一些示例中,实体跟踪器100可包括卡尔曼滤波器,其组合来自各种传感器的数据以补偿较低的传感器可靠性,诸如当传感器置信度值从最后一次肯定检测以来随时间衰减时。在一些示例中,当一个或多个传感器置信度值低于预定阈值时,实体跟踪器100可以将卡尔曼滤波器应用于传感器数据。在示例场景中,可使用面部检测技术来分析来自相机的图像数据以可靠地检测特定房间中的人。作为响应,实体跟踪器100可以以高置信度报告此人位于该房间内。
在随后的时间帧中,相机可能不再能够捕捉和/或肯定地识别房间中的人的面部。例如,人的面部可能被遮挡,或者相机可以以比实体跟踪器100输出上下文信息110低得多的频率传送数据。如果实体跟踪器100完全依赖于来自相机的数据,则其报告的人的位置的置信度值将逐渐减小,直到下一次肯定检测。然而并且在一些示例中,来自相机的数据可以用来自其他传感器的数据来补充。例如,在随后的时间帧期间,话筒可报告它听到房间中的人的话音,或者另一传感器可报告它可以检测到房间中人的便携式计算设备的存在。在此情形中,此数据可被卡尔曼滤波器分配权重,并且可被用于以可能比仅使用相机数据更高的置信度预测人的当前定位。
在一些情形中,当传感器数据被背景信息污染时,对环境中的人和/或其他实体的检测会变得更加复杂。此类背景信息可能会损害实体跟踪器100报告实体身份112、位置114和/或状态116的置信度。例如,智能助理计算机20可能需要确定正在讲话的人的身份以便恰适地响应查询或命令。当多个人同时说话、正在播放电视、嘈杂的机器正在操作等时,此类确定可能是困难的。
因此,实体跟踪器100可使用各种音频处理技术来更有置信度地标识参与与其他人和/或与智能助理计算机20的对话的特定活动参与者。作为示例,实体跟踪器100可实现话音活动检测(vad)引擎,其可将人类话音与环境噪声区分开,并标识人类语音的存在或不存在。
通用vad引擎可出于以相应的置信度值将特定音频的片段分类为包括语音或非语音而被使用。实体跟踪器100还可利用发言者识别引擎来将特定音频的片段与特定人相匹配。随着接收到更多语音,发言者识别引擎可被逐渐定制以将音频分类为包括来自特定对话参与者的语音,或不包括来自特定对话参与者的语音。以此方式,实体跟踪器100可识别来自一个或多个特定人/对话参与者的语音。
对发言者识别引擎的训练可在实体跟踪器100有置信度地标识特定人并且录制可被有置信度地归于此人的音频的任何时候发生。例如,通过使用相机数据,实体跟踪器100可标识特定人并确定此人的嘴唇正在运动。实体跟踪器100可同时从话筒接收音频,该音频可被安全地假设为包括来自所标识的人的语音。因此,接收到的音频可被用于重新训练发言者识别引擎以更专门地识别所标识的人的话音。
在一些情形中,此类重新训练可仅在已以诸如超过预定阈值的置信度值之类的高置信度值(例如,经由准确的面部识别或任何其他方法)标识人的情况下和当实体跟踪器100接收到具有高音量/幅度和高信噪比(s/n)的人的话音的音频记录的情况下发生。使用此技术,实体跟踪器100可累积各种因人而异的话音模型,从而允许实体跟踪器更一致地标识来自特定人的语音并忽略背景噪声。
现在参考图6,示意性地例示了使用经训练的语音识别引擎来识别来自特定人的语音的示例。在此示例中,实体跟踪器100接收两个语音片段400a和400b。语音片段400a包括人1的录制语音,而语音片段400b包括人2的录制语音。实体跟踪器100包括已被专门训练以使用话音1模型404来识别来自人1的语音的语音识别引擎402,如上文所描述的。当实体跟踪器100接收到语音片段400a和语音片段400b时,话音1模型404可被应用于语音片段400a和语音片段400b中的每一者。
在处理语音片段时,实体跟踪器100输出每个语音片段对应于人1的似然性的预测。如图所示,对于语音片段400a,实体跟踪器以90%的置信度值输出人1标识404a,从而指示该语音片段可能包括来自人1的语音。对于语音片段400b,实体跟踪器以15%的置信度值输出人1标识404b,从而指示该语音片段400b可能不包括来自人1的语音。
在一些示例中,实体跟踪器100可被配置成标识环境中存在的背景噪声,并使用音频处理技术从接收到的音频数据中减去此类背景噪声。例如,某人家中的特定设备可能正在播放背景音频,诸如音乐或电视/电影对话。此人家中的各种配备话筒的设备可记录此类音频。在此类配备话筒的设备包括智能助理计算机20和/或向实体跟踪器100提供音频数据的情况下,此类背景音频可能损害系统标识、解读和/或响应人类问题或命令的能力。
因此并且在一些示例中,播放背景音频的设备和/或记录背景音频的另一配备话筒的设备可将捕捉到的音频信号发送给实体跟踪器100。以此方式,实体跟踪器100可以从接收自配备话筒的设备的音频信号中减去背景音频。在一些示例中,在将音频数据发送到实体跟踪器100之前,可由捕捉音频数据的(诸)设备或相关联的音频处理组件执行从录制的音频数据中减去背景音频信号。
附加地或替换地,设备和/或实体跟踪器100可被训练以识别背景噪声的特定源(例如,来自通风口或冰箱),并自动地忽略录制音频中与此噪声对应的波形。在一些示例中,实体跟踪器100可包括专门训练以识别背景噪声的一个或多个音频识别模型。例如,来自各种噪声数据库的音频可通过无监督学习算法运行以便更一致地识别此类噪声。通过允许实体跟踪器100识别不相关的背景噪声,实体跟踪器识别相关人类语音和其他声音的能力可被改进。在一些实现中,声音源的位置知识可以被用来聚焦于来自一有向话筒阵列的监听。
现在参考图7、10和11,例示了智能助理计算机20在单个计算设备中和跨多个计算设备的附加示例实现。下文参考图12描述关于在图7、10和11中例示的计算设备的组件和计算方面的附加细节。
图7示出了一体化计算设备160的示例,其中实现智能助理计算机20的各组件一起被布置在独立设备中。在一些示例中,一体化计算设备160可经由网络166通信地耦合到一个或多个其他计算设备162。在一些示例中,一体化计算设备160可被通信地耦合到数据存储164,数据存储164可存储诸如用户简档数据之类的各种数据。一体化计算设备160包括至少一个传感器22、话音监听器30、解析器40、意图处置器50、承诺引擎60、实体跟踪器100和至少一个输出设备70。(诸)传感器22包括至少一个话筒以接收来自用户的自然语言输入。在一些示例中,还可包括一个或多个其他类型的传感器22。
如上文所描述的,话音监听器30、解析器40和意图处置器50协同工作以将自然语言输入转换为可由一体化设备160执行的承诺。承诺引擎60将这些承诺存储在承诺存储626中。实体跟踪器100可向承诺引擎60和/或其他模块提供上下文信息。在上下文适当的时间,承诺引擎60可执行承诺并向(诸)输出设备70提供诸如音频信号之类的输出。
在一些场景中,多个智能助理计算机可以听到用户说出的同一请求,例如,由于它们被放置在共同环境中。如上参考图1所描述的,在此类场景中,可能期望协调智能助理计算机的操作,以使得选择单个助理对用户请求作出响应,以便避免在多个助理对同一请求作出响应的情况下可能导致的迷失方向的用户体验和不必要的计算资源花费。为此,一体化计算设备60可包括选择模块80,其被配置成通过将自选择分数与来自同样听到该同一请求的其他智能助理计算机的一个或多个远程选择分数作比较来确定是否要向第一用户的请求作出响应。如果自选择分数高于远程选择分数,则一体化计算设备160可以对用户作出响应。类似地,如果另一智能助理计算机的远程选择分数是选择分数之中最高的,则该智能助理可以向用户作出响应。对于其中还存在一个或多个其他用户并且该一个或多个其他用户向一体化计算设备160发出请求的场景中,选择模块80可以进一步阻断对所有其他用户的后续响应,直到第一用户的解除合作度量超过阻断阈值。如下文参考图8a-8b更详细地描述的,选择和响应过程被配置成,使得第一用户的请求被连贯地服务,同时保持在不中断第一用户的计算设备交互的恰适的上下文中对其他用户作出响应的能力。此外,在其他示例中,选择模块80提供的功能的至少一部分或在一些示例中选择模块80提供的全部功能可以被实现在与一体化设备160通信耦合的一个或多个远程计算设备上,如下文参考图11所描述的。
为了例示上述设备选择,图8a-8b示出例示了在多用户多助理环境中在智能助理处选择性地向用户作出响应的方法500的流程图。方法500的至少一部分可以由例如一体化计算设备160的选择模块80来执行,并且进一步可以由在与该一体化计算设备交互的一个或多个其他计算设备上提供的类似配置的选择模块来实现。在其他示例中,方法500的至少一部分可以被实现在远离向用户提供响应的计算设备或音频输出设备的一个或多个计算设备上。
在502,方法500包括在智能助理处识别与该智能助理位于同一环境中的另一智能助理。作为一个示例,参考图1,计算设备4可以识别起居室2中的计算设备6。任何合适的方法可以被用来识别另一智能助理。例如,智能助理可以是同一网络的一部分和/或彼此注册或向中央服务注册,并且各个智能助理的定位/存在性可以彼此共享。作为另一示例,并且参考图2,传感器22中的一者或多者可以被用来识别该另一智能助理。
在504,方法500包括记录第一用户说出的语音。该语音可包括能够被识别且被用于触发智能助理对计算设备动作的执行的任何合适的口述。作为示例,口述可包括对信息或应用状态改变的请求。在一些场景中,该语音可包括引导智能助理分析第一用户说出的语音的关键词。该语音可以用任何合适的方式来记录,诸如由话筒24(图2)和/或位于远离智能助理的一个或多个话筒。如此处所使用的,“记录”包括将声波转换成计算机可理解的数字格式,并且可任选地仅包括保存数字化的音频。
在506,方法500包括基于第一用户说出的语音来确定第一用户的自选择分数。基于其来确定自选择分数的语音可以与504处记录的语音相同或不同。一般来说,本文描述的选择分数可以表示对应智能助理对用户作出响应的合适度,并且在确定此类合适度时可以考虑记录的语音的质量和/或关于记录的语音的各方面的置信度。作为具体的示例,分数确定可包括评估以下一者或多者:(1)记录的语音的幅度,(2)记录的语音的信噪比(snr);(3)关键词置信度值,其指示记录的语音包括关键词或关键词短语的似然性;以及(4)用户标识置信度值,其指示用户是特定人(例如,用户身份是已知身份)的似然性。
在一些示例中,可伴随记录的语音来接收幅度和/或snr值。在其他示例中,参考图2,幅度和/或snr值可由话音监听器30或智能助理系统20的其他组件确定。如上文所描述的,关键词置信度值可由话音监听器30确定。同样如上文所描述的,用户标识置信度值可由实体跟踪器100确定。在一些示例中,说出语音的用户可被话音识别标识为已知的发言者或未知的发言者,并被分配相应的置信度水平。
可通过将用户话音的信号电平与背景噪声的电平进行比较来计算记录的语音的snr。在一些示例中,输入的幅度可被用于确定用户与对应话筒的邻近度。要领会,本实现中讨论的度量是作为示例提供的,并不意味着是限制性的。
在一些示例中,可以通过将上述四个度量(幅度、snr、关键词/关键词短语置信度、用户id置信度)组合成单个选择分数(诸如通过对各个度量求平均)来确定选择分数。在一些示例中并且在组合之前,可通过依经验确定的权重对每个度量进行加权,依经验确定的权重反映了度量在预测将提供最佳用户体验的设备/话筒和对应的音频数据流方面的准确度。在其他示例中,各度量中的一者或多者可以被保持与其他度量分开,并且与同一度量的其他值作比较,如下文所述。
选择分数确定可计及替换或附加的信息。作为示例,捕捉(例如,通过图2的相机26和/或27收集的)第一用户的嘴唇运动、眼睛注视、和/或面部的图像数据和/或来自一个或多个邻近度传感器(例如,图像邻近度传感器、声学邻近度传感器)的输出可以被考虑。
在508,方法500包括将第一用户的自选择分数发送到该环境中的该另一智能助理。自选择分数可以经由任何合适的网络连接发送到该另一智能助理,例如经由直接网络连接,经由一个或多个中间网络设备(例如,交换机、路由器、中枢),经由执行方法500的至少一部分的一个或多个中间计算设备。作为示例,参考图7,自选择分数可以经由网络166来发送。
在510,方法500包括从该另一智能助理接收第一用户的远程选择分数。远程选择分数可以经由任何合适的网络连接来接收,如上所述。为了确保自选择分数和远程选择分数对应于同一用户,每一分数可以伴随同一用户的身份来传送,用户的身份可以根据上述技术来确定。替换地,例如,如果用户的身份无法确定,可以伴随选择分数来传送对于该用户而言近似或基本上唯一的数据作为身份的代理。例如,每一智能助理处记录的音频流的特性(例如,波形、谱分析、定时信息)可以被传送到另一智能助理,和/或其他数据类型的特性(例如,面部图像数据的特征向量、身体和/或步态分析数据)可以被传送。
在512,方法500包括将第一用户的自选择分数与第一用户的远程选择分数作比较。可按任何合适的方式来比较选择分数。对于其中选择分数包括单个数字的实现,该比较可包括标识较高的数字。对于其中一个或多个度量被分开维护的实现,由智能助理针对这些度量确定的值可以被个体地进行比较,或者在各个值用作向量的不同分量的情况下可以进行向量比较。在比较各个度量时可以应用加权方案以确定哪个助理最终产生较高的选择分数。
作为比较三个设备的选择分数的具体示例,其中分数被表达为百分比,可以为从移动电话的话筒a接收的音频数据流确定以下分数:1)90%(幅度);2)90%(snr);3)30%(关键词置信度);4)90%(说话者id)。从平板计算机的话筒b接收的音频数据流的分数可以是:1)80%(幅度);2)80%(snr);3)80%(关键词置信度);4)80%(说话者id)。接收自智能助理设备的话筒c的音频数据流的分数可以是:1)92%(幅度);2)88%(snr);3)90%(关键词置信度);4)92%(说话者id)。
在此示例中,针对4个度量中每一者的3个设备的排名如下:
a.幅度-1.智能助理设备;2.移动电话;3.平板计算机。
b.snr-1.移动电话;2.智能助理设备;3.平板计算机。
c.关键词置信度-1.智能助理设备;2.平板计算机;3.移动电话。
d.扬声器id-1.智能助理设备;2.移动电话;3.平板计算机。
每个设备可基于其在每个度量类别中的排名来奖励积点。例如,排名第一名=1积点、第二名=2积点、而第三名=3积点。对于每个设备,其点数为4个度量的总计并取平均。具有最低平均总点数的设备(和对应的数据流)可以被选择用于确定对第一用户的响应,如下所述。在当前示例中,最终的总点数和排名为:1.1.智能助理设备=>1.25;2.移动电话=>2.0;3.平板计算机=>2.75。来自智能助理设备的数据流可以被选择用于确定响应。基于以上排名,作为分析的结果,智能助理设备可以被选择来接收由承诺引擎60(图7)生成的消息。
在514,方法500包括确定自选择分数高于还是低于远程选择分数。该确定基于512处执行的比较。如果确定自选择分数低于远程选择分数(低于),则方法500行进到556。如果确定自选择分数高于远程选择分数(高于),则方法500行进到516。任何合适的办法可以被用来打破关联,例如,偏好特定度量(例如,幅度)或默认为特定智能助理。
在516,方法500可任选地包括确定第一用户的解除合作度量。一般来说,解除合作度量表示第一用户正在和/或将要(作为预测性测量)解除与智能助理的交互的程度。通过延伸,解除合作度量可以被用于确定向另一用户提供响应将会对第一用户与智能助理的交互有多大破坏。例如,解除合作度量越大(例如,第一用户解除合作越强),向另一用户提供响应会破坏第一用户与智能助理的交互的可能性越小。如下文更详细地描述的,解除合作度量可以与一阈值作比较以确定对与智能助理合作的另一用户作出响应时恰适的条件,从而使得以无破坏的方式服务两个用户的请求。
解除合作度量可以被实现为数值,其可以由取得一个或多个输入的算法来计算。例如,在确定用于计算第一用户的解除合作度量的一个或多个输入时,可以评估包括第一用户说出的语音的音频流。具体地,可以评估音频流所指示的对话上下文,其中该上下文可包括第一用户称呼该智能助理。缺少记录的语音的另一对话上下文可以指示第一用户已经停止与智能助理合作。用于计算解除合作度量的算法可以从使用中取得自从最后一次记录的语音以来的时间。例如,解除合作度量可以根据时间衰减函数的逆而逐渐减小,该时间衰减函数对用户与智能助理的合作的时间衰减进行建模,例如,随着用户不称呼该智能助理的时间流逝得越多,认为用户已经停止与该助理合作的可能性越大,至少直到启动新的对话或请求。
在确定解除合作度量时可以考虑替换或附加的数据,包括上文描述的用于确定选择分数的一个或多个数据类型。作为附加示例,当第一用户从个图像数据中消失,如根据眼睛注视数据所确定的第一用户目光远离智能助理,和/或第一用户执行指向助理之外的手部姿势时,解除合作度量可以被提升。此外,如518处所指示的,解除合作度量可以响应于来自第一用户要解除与智能助理的合作的显式命令(例如,终止当前对话的命令、使助理断电的命令、将助理置于空闲或待机状态的命令)而被设置为最大值。类似地,第一用户可以发出显式命令以与智能助理合作,这可以降低(例如,最小化)解除合作度量。
由于在用户与智能助理解除合作以及他或她与助理之间的合作之间可存在逆关系,本文描述的用于确定和评估解除合作度量的办法可以被替换地或附加地适配成确定表示用户与助理的合作的合作度量。例如,解除合作度量和合作度量中的一者的确定可通过计算所确定的度量的逆来得到另一者。对于其中使用合作度量的实现,下文描述的阻断阈值可以被适配成用于与合作度量进行比较(例如,通过逆转比较的方向)。
转向图8b,在520,方法500可任选地包括调整阻断阈值。如下文更详细地描述的,智能助理可以被配置成对第一用户作出响应,并且阻断对所有其他用户的后续响应,直到第一用户的解除合作度量超过阻断阈值。因而,对其他用户进行后续响应的条件可至少部分地通过调整阻断阈值来控制。具体地,对其他用户的响应可以通过降低阻断阈值(即,使得解除合作度量更容易超过阈值)来更有可能进行,并且通过提升阻断阈值(即,使得解除合作度量更难以超过阈值)来更不可能地进行。
阻断阈值可以用任何合适的方式来调整,各示例在图8b中示出。例如,如522处指示,基于智能助理的设备设置,阻断阈值可以响应于标识另一用户被授权接收后续响应而被降低。设备设置可以用任何合适的方式来配置。一般来说,在一些示例中,设备设置可以通过针对设备设置所专门授权的用户的响应来授权内容访问,这可以由智能助理的用户或所有者来建立。替换地或附加地,设备设置可以授权对由智能助理的用户或所有者标识的特定内容的访问,其中在一些示例中可以针对不同用户授权不同的内容。更具体地,如524处所指示的,设备设置可包括父母控制设置,其授权所标识的孩子接收经许可的内容。例如,父母控制设置可以由孩子的父母建立,并且可以授权对被认为是对孩子而言恰适的特定内容的访问。如526处所指示的,设备设置可包括隐私设置,其授权该环境中的另一用户接收所选的非个人内容。例如,智能助理可以被实现在至少部分地针对所有者被个性化的设备上,例如,智能电话、膝上型计算机、或提供对用户而言是个人的内容的访问的其他设备,这些内容诸如电子邮件和日历信息。由此,对于除所有者之外的用户,隐私设置可以限制对非个人内容的访问。作为另一示例,设备可以被配置成用于公共使用,例如,作为位于环境的高流量区域中的游戏控制台。
如528处所指示的,设备设置可以基于第一用户与高值信息(hvi)之间的组织关系来授权第一用户接收hvi,并且可以基于另一用户与hvi之间的组织关系来授权该另一用户接收不包括hvi的经过滤内容。例如,智能助理可以被实现在由一企业所有且位于商务环境(诸如会议室)中的设备上。设备设置可以授权第一用户接收hvi,因为对应的组织关系指示第一用户是被授权接收hvi的该企业的雇员。相反,设备设置可以授权另一用户接收不包括hvi的经过滤内容,因为对应的组织关系指示该另一用户不是该企业的雇员,其中非雇员不被授权接收hvi。智能助理可以访问存储在例如本地或远程数据库中的组织关系。在另一示例中,设备设置可以将智能助理配置成不对任何非雇员作出响应。
如530处所指示的,可以响应于标识该另一用户被授权从智能助理接收的内容而降低阻断阈值。可以响应于从环境中的该另一用户接收到请求来标识该内容。在该示例中,该另一用户可以由智能助理标识,或者可以不被标识。例如,任何用户被授权的非个人内容可以提示降低阻断阈值。作为另一示例,如果另一用户被专门授权接收第一用户的个人内容,则对智能助理的第一用户而言个人化的内容可以被呈现给该另一用户。
响应于一些选择条件,智能助理可以停止阻断对其他用户的后续响应,例如,阻断阈值可以被设置为最小(零)值。例如,如532处所指示的,智能助理可以响应于从第一用户接收到指令该智能助理对另一用户作出响应的命令来停止阻断对该另一用户的后续响应。该命令可包括例如对要提供给该另一用户的特定信息的请求。作为另一示例,该命令可包括对智能助理监听来自该另一用户的请求的请求。作为又一示例,该命令可包括引导智能助理学习识别(例如,标识)该另一用户的请求。
如534处所指示,智能助理可以响应于第一用户的新自选择分数低于第一用户的新远程选择分数来停止阻断对另一用户的后续响应。在该示例中,另一智能助理可以产生环境中的多个智能助理之间的最高选择分数,并且由此可以对第一用户作出响应。为了避免在两个智能助理处提供响应,并且为了变得可供对其他用户作出响应,智能助理可以停止阻断对其他用户的响应。在操作中,智能助理可以以某一频率确定并且交换选择分数,该频率使得能够以无破坏的方式使它们到用户的指派的改变适配于不断改变的条件。例如,通过以合适的频率来交换选择分数,第一用户可以在继续持续对话的同时改变定位,例如,环境中的房间,该对话以无缝的方式从第一智能助理移交到第二智能助理。频率可以基于多种因素来动态调整,该多种因素包括但不限于,当检测到更多用户时增大频率,在幅度、信噪比和/或其他因素指示较不安全的用户锁定时增大频率,在标识置信度降低时增大频率,以及基于表明用户移动到不同定位的对话上下文或第一用户想要将第二用户包括在对话中的似然性来增大频率。
如536处所指示的,智能助理可以为没有接收到针对其的远程选择分数的任何其他用户降低阻断阈值。此处,智能助理识别出其他用户请求没有得到服务,例如由于其他助理到其他用户的现有指派,或者不足数目的助理,并且相应地增大响应的意愿以便对这些请求提供服务。为了实现这一功能性,智能助理可以交换用户身份或身份代理,如上所述。
如538处所指示的,智能助理可以响应于另一用户未被标识来调整阻断阈值。例如,阻断阈值可以被提升,因为未被标识的用户可以被认为具有较低优先级,或者未被标识的用户被授权的内容的标识可能性更低。作为另一示例,阻断阈值可以被减小,因为智能助理可以被配置成优先化对未被标识的用户的响应,例如,当被配置成在公共环境中提供信息时。
如540处所指示的,智能助理可以响应于第一用户的解除合作度量的增大根据时间衰减函数来降低阻断阈值。类似于上文描述的根据时间函数调整解除合作度量,可以在(例如,经由图像数据、眼睛注视数据、姿势数据、音频数据)指示用户的不断增大的解除合作时降低阻断阈值(例如,以指数衰减的方式)。在一些示例中,阻断阈值可以根据时间衰减函数在第一用户说出的记录语音的各实例(例如,语句、对话、时间区间)之间降低。
如542处所指示的,智能助理可以基于另一用户的合作度量根据时间衰减函数来降低阻断阈值。例如,另一用户的合作度量可以指示该另一用户的不断增大的合作或潜在合作,智能助理通过降低阻断阈值来对该合作或潜在合作做好准备。合作度量可以基于图像数据、眼睛注视数据、姿势数据和/或音频数据中的一者或多者来确定,如上所述。
在544,方法500包括对第一用户作出响应,并且阻断对所有其他用户的后续响应,直到第一用户的解除合作度量超过阻断阈值。由此,第一用户作出的请求可以在不被其他用户说出的语音中断的情况下被连贯地且响应式地服务。然而,通过除了标识其中阻塞对其他用户的响应是恰适的情况,还标识其中使得其自身能够对其他用户作出响应是恰适的情况,智能助理可以在不过分地中断第一用户与助理的交互的情况下保持服务于其他用户请求的能力。以此方式,智能助理可以以上下文知悉的方式最大化其服务多用户请求的能力。如545处所指示的,智能助理可以进一步响应于识别第一用户说出的语音中的关键词来对第一用户作出响应。
在一些示例中,智能助理可包括多个音频输出设备,或者可以操作地耦合到多个音频输出设备。在此类示例中,智能助理可以选择特定数目的音频输出设备或特定集合的音频输出设备来用其输出对用户的响应。因此,对第一用户作出响应并且阻断对所有其他用户的后续响应可任选地包括选择由所选智能助理控制的一个或多个音频输出设备来用其对第一用户作出响应,如546处所指示的。音频输出设备可包括例如图1的扬声器16。选择一个或多个音频输出设备可包括选择多个音频输出设备中被识别为在环境中最靠近第一用户的一个音频输出设备,如547处所指示的。
为了例示音频输出设备选择,图9示意性地示出了包括多个音频输出设备602的示例环境600的平面图。至少一个音频输出设备602被放置在环境600的每一个房间(例如,起居室、卧室、厨房)中。在该示例中,音频输出设备602a可以被选择用于用户604,因为该音频输出设备被识别为最靠近用户。可以如上所述来确定音频输出设备到用户的邻近度,例如,通过比较来自多个话筒的音频数据流的幅度,通过将用户的识别出的位置与音频输出设备的已知或识别位置进行相关。
简要地参考图8b,选择一个或多个音频输出设备可包括当另一用户是标识的儿童或未被标识的用户时选择环境中多个音频输出设备中的全部音频输出设备以用其对该另一用户作出响应,如548处所指示的。返回图9,其示出了另一用户606向智能助理发出请求,响应于此,操作地耦合到智能助理的全部音频输出设备602被用来输出响应。全部音频输出设备的选择可能是合乎需要的,并且如上所述潜在地由设备设置规定,由该另一用户606的父母和/或环境600中期望知悉该另一用户与智能助理的交互的智能助理的所有者规定,例如以确保那些交互是被授权的和/或恰适的。
简要参考图8b,选择一个或多个音频输出设备可包括选择环境中的某一数目的音频输出设备以用其对另一用户作出响应,其中该数目基于环境中记录的嘈杂程度来选择,如549处所指示的。返回图9,音频输出设备602的数目可以基于环境600中的嘈杂程度来选择,例如,基于环境中的话筒所记录的嘈杂程度的经加权或未经加权的平均值。较大数目的音频输出设备602可以被选择用于环境600中的较高嘈杂度水平。在一些示例中,音频输出设备602的选择可以至少部分地是因区域而异的。例如,如果相关联房间中的嘈杂度高于阈值,则音频输出设备602c可以被选择进行响应。替换地或附加地,如果与音频输出设备602c相关联的房间中的嘈杂度高于阈值,可以选择音频输出设备602a以进行响应从而增大该响应被听到的似然性,因为该房间中的嘈杂度可能阻挡来自设备602c的响应,即便设备602c被选择进行响应。
图9还例示了其中基于智能助理的选择分数被选择对用户作出响应的智能助理可能离更靠近用户但未被选择对用户作出响应的另一智能助理更远的示例。例如,代替智能助理608b的选择,智能助理608a可以被选择对用户606作出响应,即便助理608b产生较高的选择分数。智能助理608a可以至少部分地基于例如指示该助理被提出请求的用户所偏好的设备设置来选择。作为另一示例,用户606可能已经发起与智能助理608a的对话,但是在对话期间移动到图9中示出的靠近智能助理608b的定位。在一些示例中,对话可以被传送到智能助理608b。然而,在其他示例中,当检测到来自靠近助理608b的其他用户的对话时,对话可以被保留在智能助理608a处。此处,可以维持关于用户606保持的对话的隐私,和/或可以避免靠近智能助理608b的其他用户保持的对话的中断。类似地,输出可以从音频输出设备602c被传送到音频输出设备602d,或者可以被保留在设备602c处。
对于其中多个音频输出设备能够在诸如环境600的环境中输出响应的示例,可以在环境中提供的音频输出设备与多个智能助理之间建立各种操作关系。例如,继续参考图9,音频输出设备602可以由智能助理608a和608b两者控制。在其中音频输出设备602被一个智能助理608使用的条件下,该另一智能助理可以选择一个或多个其他音频输出设备以用于输出响应。替换地或附加地,智能助理608a和608b可以协商以确定哪个音频输出设备602被哪个智能助理使用。此类协商可以用任何合适的方式来执行,并且可以考虑以下一者或多者:用户解除合作度量、阻断阈值、响应内容、请求内容、选择分数、环境嘈杂度、智能助理和/或音频输出设备到用户的邻近度、和/或其他潜在的考量。
在550,方法500包括确定第一用户的解除合作度量是否超过阻断阈值。如果确定第一用户的解除合作度量的确超过阻断阈值(是),则方法500行进到551,其包括在不阻断对所有其他用户的后续响应时继续对第一用户作出响应。如果相反确定第一用户的解除合作度量未超过阻断阈值(否),则方法500返回到544,其包括继续对第一用户作出响应并且继续阻断对所有其他用户的后续响应。
在552,方法500包括在514处确定自选择分数低于远程选择分数时不对第一用户作出响应。不作响应可包括不输出音频,包括响应和/或具有最高选择分数的另一智能助理可能输出的其他形式的潜在输出(例如,视频、光图案)。不作响应可包括保持话筒开启以继续确定选择分数,从而保留在针对该用户的自选择分数被确定为是接收到的选择分数中的最高分数时对用户作出响应的能力。因而,方法500包括在552之后返回到506以确定第一用户的新自选择分数。在一些示例中,不作响应可包括停止将关于记录的音频流的数据传输到一个或多个远程计算设备(例如,对于其中远程计算设备执行方法500的至少一部分的实现)。在一些示例中,不作响应可包括关闭话筒并且在一间隔之后再次开启话筒,该间隔可以是预先确定的、随机的、或者响应于各种条件来确定的(例如,话筒可以响应于接收自另一智能助理和/或远程计算设备的信号而被再次开启)。
将领会,方法500作为示例来提供,并且对方法的任何合适的修改是可能的。例如,调整阻断阈值和/或解除合作/合作度量的一个或多个办法可以被组合,包括组合一个或多个设备设置。用于调整阻断阈值和/或解除合作/合作度量的替换或附加准则也可以被考虑。此外,如下文更详细地描述的,方法500的一个或多个部分,例如,音频数据流处理、选择打分、分数比较、阻断阈值调整/确定、解除合作/合作度量调整/确定,可以由通信地耦合到本文所述的智能助理的一个或多个远程计算设备来执行。
图10示出了一个示例实现,其中一个或多个远程服务170执行智能助理计算机20的自然语言处理功能性。在此示例中,话音监听器30、解析器40、意图处置器50、实体跟踪器100和承诺引擎60驻留在被定位在远离支持云的用户设备a的位置处的诸如一个或多个服务器之类的一个或多个计算设备上。来自用户设备a的一个或多个传感器22的传感器数据经由网络被提供给(诸)远程服务170。例如,用户讲话的音频数据可被用户设备a的话筒捕捉并被提供给话音监听器30。
如上文所描述的,话音监听器30、解析器40和意图处置器50协作以将音频数据转换为被存储在承诺引擎60中的承诺。在上下文恰适的时间,承诺引擎60可执行承诺并向用户设备a的一个或多个输出设备70提供诸如音频信号之类的输出。
图11示出了另一示例实现,其中一个或多个远程服务170执行智能助理计算机20的自然语言处理功能性。在此示例中,一个或多个远程服务170与多个不同的传感器22和输出设备70通信地耦合。在此示例中,传感器包括单独的独立传感器a和c,诸如话筒、相机等。输出设备包括单独的独立输出设备b和d,诸如扬声器。
一个或多个远程服务170还通信地耦合到包括一个或多个传感器f和输出设备g的设备e。设备e可采用包括话筒、扬声器和网络连接组件的简单独立设备的形式。在其他示例中,设备e可以是移动电话、平板计算机、壁挂式显示器或其他合适的计算设备。在一些示例中,设备e、传感器a和c以及输出设备b和d可以是同一支持云的客户端的一部分。在其他示例中,任何数量的单独传感器和设备都可以与一个或多个远程服务170一起使用。
如上文所描述的,一个或多个远程服务170执行智能助理计算机20的自然语言处理功能性。在一些示例中,远程服务170中的一者或多者可包括智能助理计算机20的所有自然语言处理模块,如图10的示例中所示的。在其他示例中,一个或多个远程服务170可包括少于所有的自然语言处理模块,并可通信地耦合到位于一个或多个其他服务处的其他模块。在本示例中,远程服务170中的一个或多个还可包括设备选择器174,该设备选择器174可利用传感器输入来选择输出设备b、d和/或g以接收来自承诺引擎60的输出。
设备选择器174可以被配置成实现选择模块80(图7)和方法500(图8a-8b)的至少一部分。例如,设备选择器174可以从位于环境中的多个智能助理接收音频数据流,确定每一助理的选择分数,标识产生最高分数的助理,并且致使到最高得分的助理的指令传输以对环境中提出请求的用户作出响应。在其他示例中,智能助理可以确定相应的选择分数,并且将分数传送到远程服务170,远程服务170可以标识最高得分的助理并且向该助理传送指令以致使其对提出请求的用户作出响应。此外,设备选择器174可以确定/调整一个或多个用户解除合作/合作度量和/或阻断阈值。而且,设备选择器174可以选择一个或多个音频输出设备以通过其对提出请求的用户作出响应,如上所述。
在一些实施例中,本文中所描述的方法和过程可以与一个或多个计算设备的计算系统绑定。具体而言,这样的方法和过程可被实现为计算机应用程序或服务、应用编程接口(api)、库、和/或其他计算机程序产品。
图12示意性地示出了可执行上述方法和过程中的一个或多个的计算系统750的非限制性实施例。以简化形式示出了计算系统750。计算系统750可采取一个或多个智能助理计算机、个人计算机、服务器计算机、平板计算机、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如,智能电话)、和/或其他计算设备的形式。作为非限制性示例,上述计算设备中的任一者或全部(例如,一体化计算设备10、传感器22、话音监听器30、解析器40、意图处置器50、承诺引擎60、输出设备70、实体跟踪器100、一体化计算设备160、远程计算设备162和/或远程服务170)可以被实现为计算系统750。
计算系统750包括逻辑处理器754、易失性存储器758以及非易失性存储设备762。计算系统600可任选地包括显示子系统766、输入子系统770、通信子系统774和/或在图12中未示出的其他组件。
逻辑处理器754包括被配置成执行指令的一个或多个物理设备。例如,逻辑处理器可以被配置成执行指令,该指令是一个或多个应用、程序、例程、库、对象、组件、数据结构或其他逻辑构造的一部分。此类指令可被实现以执行任务、实现数据类型、变换一个或多个组件的状态、实现技术效果、或以其他方式得到期望的结果。
逻辑处理器754可包括被配置成执行软件指令的一个或多个物理处理器(硬件)。附加地或替代地,逻辑处理器可包括被配置成执行硬件实现的逻辑或固件指令的一个或多个硬件逻辑电路或固件设备。逻辑处理器754的各处理器可以是单核的或多核的,并且其上所执行的指令可被配置成用于串行、并行和/或分布式处理。逻辑处理器的各个个体组件可任选地分布在两个或更多个分开的设备之间,这些设备可以位于远程以及/或者被配置成用于协同处理。逻辑处理器754的各方面可以由以云计算配置进行配置的可远程访问的联网计算设备来虚拟化和执行。在这样的情形中,这些虚拟化方面可以在各种不同机器的不同物理逻辑处理器上运行。
易失性存储器758可以包括包含随机存取存储器的物理设备。易失性存储器758通常被逻辑处理器754用来在软件指令的处理期间临时地储存信息。应当领会,当切断给易失性存储器的功率758时,该易失性存储器通常不继续储存指令。
非易失性存储设备762包括被配置成保持可由逻辑处理器执行的指令以实现本文中所描述的方法和过程的一个或多个物理设备。当实现此类方法和过程时,非易失性存储设备762的状态可以被变换-例如以保持不同的数据。
非易失性存储设备762可包括可移动和/或内置的物理设备。非易失性存储设备762可包括光学存储器(例如,cd、dvd、hd-dvd、蓝光碟等)、半导体存储器(例如,rom、eprom、eeprom、闪存存储器等)、和/或磁存储器(例如,硬盘驱动器、软盘驱动器、磁带驱动器、mram等)或者其他大容量存储设备技术。非易失性存储设备762可包括非易失性、动态、静态、读/写、只读、顺序存取、位置可寻址、文件可寻址、和/或内容可寻址设备。应当领会,非易失性存储设备762被配置成即使当切断给非易失性存储设备的功率时也保持指令。
逻辑处理器754、易失性存储器758和非易失性存储设备762的各方面可以被一起集成到一个或多个硬件逻辑组件中。此类硬件逻辑组件可包括例如现场可编程门阵列(fpga)、程序和应用专用集成电路(pasic/asic)、程序和应用专用标准产品(pssp/assp)、片上系统(soc),以及复杂可编程逻辑器件(cpld)。
术语“模块”、“程序”和“引擎”可被用来描述计算系统750的被实现为执行特定功能的方面。在一些情形中,模块、程序或引擎可经由逻辑处理器754执行由非易失性存储设备762所保持的指令、使用易失性存储器758的各部分来实例化。将理解,不同的模块、程序或引擎可以从相同的应用、服务、代码块、对象、库、例程、api、函数等实例化。类似地,相同的模块、程序和/或引擎可由不同的应用、服务、代码块、对象、例程、api、功能等来实例化。术语模块、程序和引擎涵盖单个或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等。
应当领会,如本文中所使用的“服务”是可以是跨多个用户会话可执行的应用程序。服务可用于一个或多个系统组件、程序、和/或其他服务。在一些实现中,服务可以在一个或多个服务器计算设备上运行。
在包括显示子系统766时,显示子系统766可被用来呈现由非易失性存储设备762保持的数据的视觉表示。由于本文中所描述的方法和过程改变了由非易失性存储设备保持的数据,并因而变换了非易失性存储设备的状态,因此同样可以变换显示子系统766的状态以视觉地表示底层数据中的改变。显示子系统766可包括利用实质上任何类型的技术的一个或多个显示设备。可将此类显示设备与逻辑处理器754、易失性存储器758、和/或非易失性存储设备762组合在共享外壳中,或者此类显示设备可以是外围显示设备。
在包括输入子系统770时,输入子系统770可以包括或对接于一个或多个用户输入设备。在一些实施例中,输入子系统可包括所选择的自然用户输入(nui)部件或与上述nui部件对接。此类部件可以是集成的或外围的,并且输入动作的换能和/或处理可以在板上或板外被处置。示例nui部件可包括用于语音和/或话音识别的话筒;用于机器视觉和/或姿势识别的红外、彩色、立体、和/或深度相机;用于运动检测、注视检测、和/或意图识别的头部跟踪器、眼睛跟踪器、加速度计、和/或陀螺仪;用于评估脑部活动的电场感测部件;关于上面讨论的示例使用情形和环境描述的任何传感器;和/或任何其他合适的传感器。
当包括通信子系统774时,通信子系统774可被配置成将计算系统750与一个或多个其他计算设备通信地耦合。通信子系统774可包括与一个或多个不同通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统可被配置成用于经由无线电话网络、或者有线或无线局域网或广域网进行通信。在一些实施例中,通信子系统可允许计算系统750经由诸如互联网之类的网络将数据发送至其他设备以及从其他设备接收数据。
另一示例提供了一种包括逻辑机和存储机的智能助理计算机,存储机保持可由逻辑机执行以进行以下操作的指令:识别与该智能助理计算机位于同一环境中的另一智能助理计算机,记录第一用户说出的语音,基于第一用户说出的语音来确定第一用户的自选择分数,将第一用户的自选择分数发送到该另一智能助理计算机,从该另一智能助理计算机接收第一用户的远程选择分数,将第一用户的自选择分数与第一用户的远程选择分数作比较,如果自选择分数高于远程选择分数,则对第一用户作出响应并且阻断对所有其他用户的后续响应直到第一用户的解除合作度量超过阻断阈值,而如果自选择分数低于远程选择分数,则不对第一用户作出响应。在该示例中,该指令能够被替换地或附加地执行以:响应于来自第一用户要解除与该智能助理计算机的合作的显式命令来将第一用户的解除合作度量设置为最大值。在此类示例中,该指令能够被替换地或附加地执行以:基于该智能助理计算机的设备设置,响应于标识被授权接收后续响应的另一用户来降低阻断阈值。在该示例中,设备设置替换地或附加地可包括授权所标识的孩子接收经认可的内容的父母控制设置。在该示例中,设备设置替换地或附加地可包括授权另一用户接收所选非跟人内容的隐私设置。在该示例中,设备设置替换地或附加地可以基于第一用户与高值信息之间的组织关系来授权第一用户接收高值信息,并且可以基于另一用户与高值信息之间的不同的组织关系来授权该另一用户接收不包括高值信息的经过滤内容。在该示例中,该指令能够被进一步替换地或附加地执行以:接收来自环境中的另一用户的请求,标识该另一用户被授权从该智能助理计算机接收的内容,并且响应于标识该内容来降低阻断阈值。在该示例中,该指令能够被替换地或附加地执行以:响应于接收到来自第一用户指令该智能助理计算机对另一用户作出响应的命令,停止阻断对该另一用户的后续响应。在该示例中,该指令能够被替换地或附加地执行以:响应于第一用户的新自选择分数低于第一用户的新远程选择分数,停止阻断对另一用户的后续响应。在该示例中,该指令能够被替换地或附加地执行以:为没有接收到其远程选择分数的任何其他用户降低阻断阈值。在该示例中,该指令能够被替换地或附加地执行以:响应于识别出第一用户说出的语音中的关键词,对第一用户作出响应。在该示例中,该指令能够被替换地或附加地执行以:响应于另一用户未被标识,调整阻断阈值。在该示例中,该另一智能助理计算机替换地或附加地可以比该智能助理计算机更靠近第一用户。在该示例中,该指令能够被替换地或附加地执行以:根据时间衰减函数来降低阻断阈值。在该示例中,该指令能够被替换地或附加地执行以:基于第一用户的解除合作度量以及该另一用户的合作度量中的一者或两者,根据时间衰减函数来降低阻断阈值。在该示例中,该指令能够被替换地或附加地执行以:选择由该智能助理计算机控制的多个音频输出设备中的一者以通过其向第一用户作出响应。在该示例中,该指令能够被替换地或附加地执行以:当该另一用户是所标识的孩子或未经标识的用户时,选择由该智能助理计算机控制的多个音频输出设备中的全部音频输出设备来通过其向该另一用户作出响应。在该示例中,该指令能够被替换地或附加地执行以:选择由该智能助理计算机控制的某一数目的音频输出设备以通过其向该另一用户作出响应,该数目基于环境中记录的嘈杂度来选择。
另一示例提供一种在智能助理计算机处的方法,包括:识别与该智能助理位于同一环境中的另一智能助理计算机,记录第一用户说出的语音,基于第一用户说出的语音来确定第一用户的自选择分数,将第一用户的自选择分数发送到该另一智能助理计算机,从该另一智能助理计算机接收第一用户的远程选择分数,将第一用户的自选择分数与第一用户的远程选择分数作比较,如果自选择分数高于远程选择分数,则对第一用户作出响应并且阻断对所有其他用户的后续响应直到第一用户的解除合作度量超过阻断阈值,而如果自选择分数低于远程选择分数,则不对第一用户作出响应。
另一示例提供一种在智能助理计算机处的方法,包括:识别与该智能助理位于同一环境中的另一智能助理计算机,记录第一用户说出的语音,基于第一用户说出的语音来确定第一用户的自选择分数,将第一用户的自选择分数发送到该另一智能助理计算机,从该另一智能助理计算机接收第一用户的远程选择分数,将第一用户的自选择分数与第一用户的远程选择分数作比较,如果自选择分数高于远程选择分数,则对第一用户作出响应并且阻断对所有其他用户的后续响应直到第一用户的解除合作度量超过阻断阈值,其中阻断阈值根据时间衰减函数在第一用户说出的记录语音的实例之间降低,而如果自选择分数低于远程选择分数,则不对第一用户作出响应。
应当理解,本文中所描述的配置和/或办法本质上是示例性的,并且这些具体实施例或示例不应被视为具有限制意义,因为许多变体是可能的。本文中所描述的具体例程或方法可表示任何数目的处理策略中的一个或多个。由此,所解说和/或所描述的各种动作可以以所解说和/或所描述的顺序执行、以其他顺序执行、并行地执行,或者被省略。同样,以上所描述的过程的次序可被改变。
本公开的主题包括各种过程、系统和配置以及此处公开的其他特征、功能、动作和/或属性、以及它们的任一和全部等价物的所有新颖且非显而易见的组合和子组合。