买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】智能数字助理系统_微软技术许可有限责任公司_201880011970.8 

申请/专利权人:微软技术许可有限责任公司

申请日:2018-02-09

公开(公告)日:2021-09-21

公开(公告)号:CN110313153B

主分类号:H04L12/58(20060101)

分类号:H04L12/58(20060101)

优先权:["20170214 US 62/459,020","20170405 US 62/482,165","20170630 US 15/640,251"]

专利状态码:有效-授权

法律状态:2021.09.21#授权;2019.11.01#实质审查的生效;2019.10.08#公开

摘要:为了解决处理与多个用户的对话的问题,提供了一种智能数字助理系统。该系统可包括至少一个被配置成接收音频输入的话筒,被配置成发射音频输出的扬声器和处理器。该处理器可被配置成参与与第一用户的对话,以及,在第一用户参与与系统的对话的同时,在音频输入中识别出一个或多个附加用户的语音。处理器可处理一个或多个附加用户的经识别的语音以确定每个附加用户的上下文,并执行对话解缠模块以根据每个附加用户的经识别的语音的上下文选择并执行一个或多个预定的对话解缠动作。

主权项:1.一种智能数字助理系统,包括:至少一个话筒,所述至少一个话筒被配置成接收音频输入;扬声器,所述扬声器被配置成发出音频输出;以及处理器,所述处理器被配置成:参与与第一用户的第一对话;响应于与所述第一用户的所述第一对话激活具有多个槽的第一意图模板;确定所述多个槽的一个或多个槽为缺失信息;在所述第一用户参与与所述系统的所述对话的同时,识别所述音频输入中的第二用户的语音;基于所述第二用户的经识别的语音确定所述第二用户的经识别的语音指向所述系统或替代地是与所述第一用户的侧边栏对话;如果所述第二用户的经识别的语音被确定为指向所述系统,则执行第一预定的对话解缠动作;如果所述第二用户的经识别的语音被确定为是与所述第一用户的侧边栏对话,则执行第二预定的对话解缠动作,包括根据从所述侧边栏对话获得的上下文来填充所述第一意图模板的为缺失信息的所述一个或多个槽,所述上下文包括从所述第二用户的语音获得的上下文。

全文数据:智能数字助理系统背景经由诸如话音识别、文本、姿势识别、运动检测、注视检测、意图识别、大脑活动评估、文本、家庭自动化设备的状态等中的一者或多者的自然交互与计算系统进行交互可实现自然的用户界面体验。随着数字信息量和计算设备数量的增加,管理此类自然用户交互界面以提供积极的用户体验可能具有挑战性。附图简述图1示出了根据本公开的一示例的具有一体化计算设备形式的智能数字助理系统的示例环境。图2示意性地示出了根据本公开的一示例的用于实现智能数字助理系统的示例逻辑架构。图3示意性地示出了根据本公开的一示例的可被话音监听器使用的语音识别程序。图4示出了根据本公开的一示例的意图模板。图5示意性地示出了根据本公开的一示例的处理一部分对话的解析器和意图处理器。图6A和6B示出了根据本公开的各示例的用于解决意图模板中的缺失和或未辨析的信息的方法。图7示意性地示出了根据本公开的各示例的可确定一个或多个实体的身份、位置和或当前状态的实体跟踪器。图8示意性地示出了根据本公开的各示例的在多个时间帧上接收并解释传感器数据的实体跟踪器。图9示意性地示出了根据本公开的一示例的经由实体跟踪器的传感器置信度随时间衰减的示例。图10示意性地示出了根据本公开的各示例的使用经训练的话音识别引擎来识别人的语音的示例。图11示意性地示出了根据本公开的各示例的使用音频数据的子片段来训练话音模型的示例。图12示意性地示出了根据本公开的各示例的交叉评估音频数据的子片段以确定有源扬声器是否已经改变的示例。图13示出了根据本公开的各示例的成本函数的示意图。图14示出了根据本公开的各示例的用于确定通知的成本和不通知的成本的方法的流程图。图15示出了根据本公开的各示例的阈值更新模块的示意性表示。图16示出了根据本公开的各示例的用于更新阈值数据的方法的流程图。图17示意性地示出了根据本公开的各示例的实现智能数字助理系统的一体化计算设备。图18示意性地示出了根据本公开的各示例的一个或多个远程服务执行智能数字助理系统的功能的一个示例实现。图19示意性地示出了根据本公开的各示例的一个或多个远程服务执行智能数字助理系统的功能的另一示例实现。图20示意性地示出了根据本公开的各示例的一个或多个远程服务利用设备选择器的另一示例实现。图21示意性地示出了在检测到一个或多个口述关键字时智能数字助理系统的一个或多个功能被激活的示例实现。图22示意性地示出了根据本公开的各示例的响应于话音激活诸传感器和诸输出设备被选择的多设备环境的示例实现。图23示意性地示出了根据本公开的各示例的用于处理来自多于一个的用户的音频输入的预定对话解缠模块。图24示出了根据本公开的各示例的用于在第一用户的音频输入中解决第二用户的经识别的语音的方法。图25示出了根据本公开的各示例的用于选择预定的解缠动作的方法。图26示意性地示出了根据本公开的各示例的计算系统。详细描述概览本公开一般涉及用于向用户提供智能助理的系统、方法和逻辑构造。在一些示例中,各种传感器数据可被用于智能地确定传递给用户的消息的内容和或时间和或动作的性能。在一些示例中,诸如用户命令和其他话语之类的自然语言输入可被接收并被处理。在一些示例中,自然语言输入可被解析并被分析以生成与输入相关联的一个或多个用户意图的指示。在一些示例中,来自一个或多个传感器的数据也可被用于处理自然语言输入和或用户意图。此类数据可被处理以生成与传感器范围内的一个或多个实体相关的身份、定位位置、状态活动、和或其他信息。基于当前和过去数据的统计概率可被用于生成与实体信息相关联的置信值。用户意图可被处理以至少部分地辨析言语、语义和或其他歧义。使用由此产生的明确意图,可生成用于执行意图的承诺,也可执行或存储该承诺。在确定是否以及何时执行承诺时,可以检查一个或多个因素。在一些示例中,可对与承诺对特定用户的重要性、用户接收输入的接收能力和或用户当前上下文有关的因素进行估计。机器学习技术可被应用于此类因素和其他数据,以便从此类信息中学习和作出预测。以下是对用于处理自然语言输入的智能数字助理系统的示例实现和用例的描述。下文提供此系统的各个方面的附加细节。示例环境图1示出了具有一体化计算设备10形式的智能数字助理系统的一个示例的起居室4的示例。如下文更详细描述的,在一些示例中,计算设备10可被配置成接收和处理自然语言输入。用户可将智能数字助理系统用于无数功能。例如,用户可提供自然语言输入以要求智能数字助理系统执行各种任务,诸如将计算机游戏的实例从一个设备传送到另一个设备。在另一示例中,可在没有来自用户的输入的情况下以编程方式执行此类传送。例如,计算设备10可利用诸如音频和或视频数据之类的传感器数据来检测用户何时移动到另一个房间并且正在查看另一设备或与另一设备“参与”。使用此数据,计算设备10可自动地将计算机游戏的实例传送到其他设备。用户可向系统询问有关各种主题的信息,例如天气、个人日历事件、电影放映时间等。在一些示例中,智能数字助理系统还可被配置成控制位于起居室4内的元件,诸如电视6、音乐系统的扬声器8、燃气壁炉14或电动窗帘16。智能数字助理系统还可被用于接收和存储将在合适的未来时刻被递送的消息和或提醒。使用从各传感器接收到的数据,智能数字助理系统可跟踪一个或多个用户或其他实体和或与一个或多个用户或其他实体通信。在一些示例中,计算设备10可使用有线连接与一个或多个其他计算设备可操作地连接,或者可经由Wi-Fi、蓝牙或任何其他合适的无线通信协议采用无线连接。例如,计算设备10可经由网络通信地耦合到一个或多个其他计算设备。网络可采取局域网LAN、广域网WAN、有线网络、无线网络、个域网、或其组合的形式,并且可包括因特网。关于计算设备10的组件和计算方面的附加细节在下文中参考图26更详细地描述。应当理解,图1的计算设备10仅仅是本公开的智能数字助理系统的一个示例实现。跨两个或更多个设备的附加示例实现在图17-22中被例示并且在下文中更详细地被描述。架构图2示出了根据本公开的各示例的用于实现能够识别并响应自然语言输入的智能数字助理系统20的示例逻辑架构。如下文更详细地描述的,在各种示例中,系统20可在单个计算设备中被实现、可跨两个或更多个设备被实现、可在支持云的网络中被实现以及在前述各项的组合中被实现。在此示例中,智能数字助理系统20包括至少一个传感器22、实体跟踪器100、话音监听器30、解析器40、意图处理器50、承诺引擎60和至少一个输出设备70。在一些示例中,传感器22可包括一个或多个话筒24、可见光相机26、红外相机27和诸如Wi-Fi或蓝牙模块之类的连接设备28。在一些示例中,诸传感器22可包括立体和或深度相机、头部跟踪器、眼睛跟踪器、加速度计、陀螺仪、注视检测设备、电场感测部件、GPS或其他位置跟踪设备、温度传感器、设备状态传感器、和或任何其他合适的传感器。实体跟踪器100被配置成检测实体包括人、动物或其他生物以及非生物对象及其活动。实体跟踪器100包括实体标识符104,其被配置成识别各个用户和或非生命对象。话音监听器30接收音频数据并利用语音识别功能将口述话语翻译成文本。话音监听器还可为经翻译的文本分配诸置信值,并可执行发言者识别以确定正在发言的人的身份,以及为此类标识的准确度分配概率。解析器40分析从话音监听器30接收到的文本和置信值以导出用户意图并生成相应的机器可执行语言。意图处理器50从解析器40接收表示用户意图的机器可执行语言,并辨析缺失的和有歧义的信息以生成承诺。承诺引擎60存储来自意图处理器50的各承诺。在上下文适当的时间,承诺引擎可递送一个或多个消息和或执行与一个或多个承诺相关联的一个或多个动作。承诺引擎60可将消息存储在消息队列62中或者使一个或多个输出设备70生成输出。输出设备70可包括诸扬声器72、诸视频显示器74、诸指示灯76、诸触觉设备78和或其他合适的输出设备中的一者或多者。在其他示例中,输出设备70可包括可经由承诺引擎60执行的动作被控制的诸如家庭照明、恒温器、媒体程序、门锁等一个或多个其他设备或系统。在不同的示例中,话音监听器30、解析器40、意图处理器50、承诺引擎60和或实体跟踪器100可被包含于存储在存储器中并由计算设备的一个或多个处理器执行的软件中。下文参考图26更详细地描述关于可存储并执行这些模块的计算设备的组件和计算方面的附加细节。现在将提供对智能数字助理系统20的各组件的附加描述。在一些示例中,话音监听器30可从周围环境接收音频数据。在一些示例中,诸如在图1的计算设备10中,话音监听器30可包含被具体化在包括一个或多个话筒的独立设备中的软件模块。在其他示例中,话音监听器30软件模块可被存储在远离用户环境的计算设备的存储器中诸如在基于云的服务中。在一些示例中,话音监听器30在执行下文更详细地描述的其功能时,可接收并利用来自一个或多个其他传感器的附加数据。话音监听器30可包括将口述话语的音频数据翻译成文本的语音识别功能。如下文更详细地描述的,话音监听器30还可将置信值分配给翻译文本的一个或多个部分,诸如单个语音成分、单词、短语等。现在参考图3,在一些示例中,话音监听器30可包括存储在计算设备124的非易失性存储122中的语音识别程序120。语音识别程序120可被加载到存储器126中并由计算设备124的处理器128执行以执行下文更为详细地描述的用于语音识别的方法和过程中的一个或多个。自然语言语音形式的音频输入130可以由话筒24捕捉并由音频处理器134处理以创建音频数据。来自音频处理器134的音频数据可由特征提取器136变换成数据以供语音识别程序120的语音识别引擎140处理。使用特征提取器136和语音识别引擎140,语音识别程序120可处理特征向量142和其他语音识别数据148以生成经识别的文本66。在其他示例中,可利用用于将特征向量142与音素和或其他语音分量进行匹配的任何合适的技术。在一些示例中,语音识别程序120可为语音识别数据148的一个或多个部分诸如各个体语音分量、单词和短语确定估计的置信值152。估计的置信值152可定义相应的经识别的文本是准确的统计似然性。如下文更详细地描述的,智能数字助理系统20的解析器40可在处理经识别的文本和确定用户的意图时利用此类置信值152。应当理解,对语音识别技术的前述描述仅仅是示例,并因此可在本公开的范围内利用和构想任何合适的语音识别技术和过程。再次参考图2,在一些示例中,话音监听器30可从实体跟踪器100接收包括相关联的置信值的上下文信息。如下文更详细地描述的,实体跟踪器100可确定一个或多个传感器的范围内的一个或多个实体的身份、位置和或当前状态,并且可将此类信息输出到诸如话音监听器30、承诺引擎60等一个或多个其他模块。在一些示例中,实体跟踪器100可解释和评估从一个或多个传感器接收到的传感器数据,并可基于传感器数据输出上下文信息。上下文信息可包括实体跟踪器基于接收到的传感器数据对一个或多个检测到的实体的身份、位置和或状态的猜想预测。在一些示例中,猜想预测可附加地包括定义信息准确的统计似然性的置信值。关于可被用于实现话音监听器30的组件和计算方面的附加细节在下文中参考图26更详细地描述。继续参考图2,话音监听器30可将经识别的文本和对应的置信值发送到解析器40。如下文更详细地描述的,解析器40分析文本和置信值以确定用户说出接收到的话语的意图。解析器40可将从话音监听器30接收到的自然语言文本翻译成表示自然语言背后的用户意图的机器可执行语言。在一些示例中,解析器40可利用各自包含多个槽的多个意图模板,这些槽可填充有从话音监听器30接收到的单词或术语,或者基于从话音监听器接收到的其他单词的单词或术语。在一个或多个槽未被填充的一些示例中,解析器40可通过检查一个或多个其他单词的语义含义来填充这些槽。例如,智能数字助理系统20可告诉用户“你有15封电子邮件”。用户可能会回复话语“好吧,我上车后再浏览它们”。作为对用户的话语的响应,解析器40可用类型“提醒”来填充“承诺类型”槽,即使“提醒”这个单词本身不在用户的话语中。总之,意图模板的多个槽定义或以其他方式表征用户说出话语的意图。在各个不同的示例中,槽可包括动作槽、触发器槽、承诺槽、主题槽、内容槽、标识槽和各种其他类型的槽。在一些示例中,每个槽可具体化为三种状态中的一者:1缺失信息、2存在的具有未辨析的歧义的信息、以及3存在的具有任何已被辨析的歧义的信息。意图模板的一个示例是对应于添加承诺意图的承诺意图模板。现在参考图4,例示了承诺意图模板200的一个示例。在此示例中,解析器40可从话音监听器30接收到读作“当基思在烤箱附近时提醒我WhenKeithisneartheovenalertme”的文本短语210。短语“当基思在烤箱附近时WhenKeithisneartheoven”可被标识为触发器214。短语“提醒我alertme”可被标识为在检测到触发器时将被执行的动作218。如下文更详细地描述的,在一些示例中,解析器40可将此文本短语210翻译成被传递到意图处理器30以供进一步处理的机器可执行语言。如上所述,解析器40可从话音监听器30接收表示相应文本准确的似然性的准确度置信值。在一些示例中并如下文更详细地描述的,意图处理器50还可接收与实体信息相关联的实体置信值。在一些示例中,可经由实体跟踪器100接收此类实体置信值和其他上下文信息。在本示例中,短语210中的单词“我me”填充主题槽222。在此示例中,主题槽222对应于在检测到触发器时将被提醒的人或其他实体。单词“我”可与将此单词与名为乔的特定人员相关联的上下文信息、以及表示“我”即是人员“乔”的确定度水平的实体置信值诸如90%一起被解析器40接收。在一些示例中,意图模板中的一个或多个单词的预期含义可能不是显而易见的。例如,在短语210中,单词“附近near”的含义可能是有歧义的,因为“附近”是相对术语。各种上下文因素可能会影响“附近”的预期含义以及在此短语中构想的相应距离。例如,在“基思”是婴儿的情况下,“附近”的预期含义可能基于的是说出该短语的用户的巨大安全担忧。在“基思”是该用户的丈夫的情况下,“附近”的预期含义可能受到安全担忧的影响较小,而更多地受到便利因素的影响,这可能导致与“基思”是婴儿的情况不同的相关距离。在另一示例中,短语“在烤箱附近”中所预期传达的距离可能与短语“在自由女神像附近”中所预期传达的距离不同。因此,意图模板中的一个或多个单词在传递给意图处理器50时可能是有歧义的。如下文更详细地描述的,意图处理器50可利用多种技术来辨析歧义并填充意图模板中具有缺失信息的槽。在另一示例中,解析器40可从话音监听器30接收文本短语“PlaymusicwithFred”。在一些示例中,短语“播放音乐Playmusic”通常被解释成意味着用户希望经由媒体播放器来播放数字音乐文件。然而,在“播放音乐Playmusic”之后使用短语“withFred”是不寻常的,因为人们通常不会在他们的意图是经由媒体播放器播放音乐的情况下使用此短语。解析器40可识别此歧义并可生成其确定是与用户的实际意图相对应的统计上最可能的意图模板的N个最佳意图模板的列表。在一些示例中,意图处理器50可使用附加的上下文信息来从N个最佳意图模板的列表中选择意图模板。在一些示例中,解析器40可分析接收到的文本以形成用户的意图的决策树。在一些示例中,解析器40可根据接收到的文本生成If-Then如果-就语句或规则。每个If-Then语句可包括相应的触发器和动作。只要触发器的条件被满足,就执行动作。由此产生的If-Then语句可执行各种各样的任务,诸如家庭安全“如果后院中的运动检测器被激活就向我发信息”、家庭自动化“当我到家时打开壁炉”、个人事务整理“将我的有关慈善捐款的电子邮件收据收集到电子表格中”、与健康相关的任务“如果我跑了超过7英里,就提醒我吃蛋白质”以及许多其他任务。在一些示例中,解析器40可使用两种技术的组合来根据从话音监听器30接收到的文本生成If-Then语句和或导出意图:1采用长短期记忆LSTM网络形式的递归神经网络RNN架构;以及2逻辑回归模型。在一些示例中,图形长短期记忆图形LSTM神经网络可被用于从接收到的文本中提取语义含义以及自然语言固有的各单词之间的关系。例如,文本可使用图形LSTM神经网络被解析以使用根据文本片段中的术语的句法关系布置的若干图形LSTM单元来提取跨句子的n元关系。可在图形LSTM神经网络中跟踪各单词之间的这些句法关系以允许人工智能和机器学习技术标识文本中的实体及其上下文并形成它们所存在的语法结构。例如,标识代词所指的名词的上下文、修饰给定动词的副词、影响给定单词的介词短语等可被合并到各种单词中以使得能够更准确地搜索自然语言文档的内容。在一些示例中,解析器40可接收和处理文本以在各个体短语中并跨各短语的边界绘制节点例如,单词、短语、字符等和边例如,各节点之间的依赖关系链接。在各种示例中,绘制图形可包括标识文本中各节点之间的一个或多个链接例如,句法、语义、共同引用、语篇等。链接可包括各节点之间的短语内和短语间链接。例如,链接可表示一个短语的根与相邻短语的根之间的关系。再例如,链接可表示短语中两个单词之间的关系,诸如针对单词“午餐lunch”的修饰语“安妮的Annie's”。关于可被用于实现解析器40的组件和计算方面的附加细节在下文中参考图26更详细地描述。如上文所描述的,在一些示例中,解析器40将意图模板传递给意图处理器50以供进一步处理。意图处理器50包括可辨析歧义信息和或意图模板所缺失的信息的多步骤流水线。如下文更详细地描述的,意图处理器50可利用多种技术来辨析歧义并填充与意图模板相关的缺失信息的槽。在一些示例中,意图处理器50可利用因域而异的信息和因域而异的推理来辨析歧义、补全缺失信息、以及以其他方式澄清意图模板以更接近地对应于用户的实际意图。在一些示例中,意图处理器50可通过分析对话历史中用户的先前话语来收集关于用户意图的知识,并且可利用此类洞察来辨析歧义并将缺失的信息添加到意图模板。一旦意图处理器50充分澄清了歧义并补全了缺失信息,相应的承诺就可被生成并被传递给承诺引擎60以供执行。意图处理器50可被配置成处理可能包括对话的多个意图模板。出于本公开的目的并且如下文更详细地描述的,对话可包括与用户和智能数字助理系统20之间的一个或多个交换相关的多个信息和其他数据。在不同的示例中,此类信息和数据可包括由用户口述的单词和或短语、由智能数字助理系统20呈现给用户的查询、从一个或多个传感器接收到的传感器数据、诸如人员和或身份信息之类的上下文信息等。如下文提供的用例示例中描述的,意图处理器50可包括将从解析器40接收到的意图模板及其相关联的数据翻译为内部数据引用的多个辨析器。为了解决意图模板中包括缺失和或未辨析信息的槽,意图处理器50可在多阶段过程中利用多个辨析器。在一些示例中,每个辨析器都可被专门编程以处理与可从解析器40接收到的特定意图模板相关联的问题。辨析器的各示例可包括将专有名称、别名和其他标识符翻译为内部表示数据的查找辨析器例如,“鲍勃”被翻译为人员“鲍勃”的内部表示,诸如鲍勃的联系信息。辨析器的各示例可包括回指辨析器和指示辨析器,回指辨析器解决具有依赖于上下文中的先行表达式或后置表达式的解释的表达式例如,“她she”被翻译成表示“代词‘她’的个人身份”的槽,而指示辨析器解决在没有附加上下文信息的情况下不能被完全理解的单词和短语,诸如“这里here”或“那里there”例如,“那里”可能会被翻译成表示“那里是哪里whereisthere?”的槽。在其他示例中,可使用许多其他形式和类型的辨析器。现在参考图5,示意性地例示了处理对话的一部分的解析器40和意图处理器50的一个示例。在此示例中,解析器40将第一短语1解析为意图模板1。解析器40将意图模板1提供给意图处理器50,该意图处理器50利用第一辨析器1来辨析此意图模板中的歧义和或缺失信息。从解析器40接收对应于第二短语2的第二意图模板2。如下文更详细地描述的,意图处理器50可分析意图模板2以及上下文信息110以确定是利用第一辨析器1还是利用第二辨析器2来辨析意图模板2。意图处理器50可然后接收基于第三经解析的短语3的第三意图模板3。意图处理器50可利用第三辨析器3来辨析意图模板3。下文提供了使用辨析器分析意图模板的附加详细信息和用例示例。在一些示例中,意图处理器50可确定两个或更多个意图模板是否应该被融合或合并在一起以继续现有的对话路径。如果意图处理器50确定两个或更多个意图模板应该被融合在一起,则意图处理器可以融合与这两个或更多个意图模板相关联的数据并继续使用经融合的数据遵循现有的对话路径。如果意图处理器50确定这两个或更多个意图模板不应该被融合在一起,则可使用最近接收到的意图模板来开始新主题。如下文更详细地描述的,在意图模板的槽具有缺失信息的情况下,意图处理器50可执行数据收集操作诸如要求用户澄清或提供信息,或尝试以另一种方式收集信息以便将信息填充到该槽。一旦每个槽包含信息,意图处理器50可确定每个槽中的信息是否是无歧义的。对于被标识为有歧义的信息,意图处理器50可应用各种技术中的一种或多种来辨析歧义。再次参考图2,在一些示例中,意图处理器50可包括映射器52,该映射器52将一个或多个系统目标映射到对应的诸用户意图。系统目标的各示例可包括澄清歧义、从用户获取附加信息等。在一些示例中,映射器52可在内部将系统目标重新解析为用户意图或目标。例如,映射器52可将系统需要的信息诸如,用于辨析歧义意图的信息映射到用户在提供此信息时会触发的用户意图。换言之,映射器52可将信息映射到将从话语中辨析出的意图,该话语将会被用户说出以便生成该意图。在一些示例中,映射器52可将系统目标映射到用户将会说出以便生成相同结果的单词或短语。在一些示例中,当系统需要来自用户的信息来辨析用户意图时,系统可在内部提示一个状态,该状态相当于声明如果该用户提供了包含除了所需信息之外的意图的所有组成的输入诸如话语则该系统将处于的状态。换言之并且在一些示例中,系统可假设用户已经提供了更多输入,而此输入只缺失与所需信息对应的一个或多个特定槽。以此方式,意图处理器50可继续利用所提供的任何用户输入。在一些示例中,这允许系统重新使用诸如意图模板之类的组件。因此并在这些示例中,通过使意图处理器50假设用户意图相对于系统目标正在驱动其操作,系统可在内部重新使用相应的逻辑并且可以更深入、更丰富地理解此类用户意图。在一些示例中,系统可能具有从用户获取信息以继续导出用户意图的目标。在第一示例中,用户可以说出两个话语:“给我预订明天飞往加利福尼亚的航班BookmeaflighttoCaliforniatomorrow;该航班需要飞往旧金山TheflightneedstobetoSanFrancisco”。在第一话语中,用户指示预订航班的意图,而在第二话语中,用户将意图缩小到飞往旧金山的航班。在这两个话语中都指定了用户意图。在另一示例中,用户说出第一话语“给我预定明天的航班Bookmeaflighttomorrow”。系统可能会用询问“您想飞往哪里Wheredoyouwanttoflyto?”来回应。用户可然后回应“飞往旧金山ToSanFrancisco”。在生成系统查询之后,映射器52可将意图处理器的目标获取用户目的地的信息映射到用户意图。例如,映射器52可假设用户将会提供此信息以被包括在用户的意图中。在一些示例中,通过将映射器52配置成假设用户意图正在驱动其操作,系统可最小化执行这些操作的代码并重新使用相应的逻辑。以此方式,系统可以更深入、更丰富地理解此类用户意图。因此,在这些示例中,系统可利用用于意图处理器50和映射器52的包括仅用户意图系统的代码,而不是利用多个专用代码片段来管理所有的歧义并以其他方式处理多个相应的任务和离散情况。关于可被用于实现意图处理器50的组件和计算方面的附加细节在下文中参考图26更详细地描述。现在参考图6A和6B,提供了根据本公开的各示例的用于解决意图模板中缺失和或未辨析信息的方法300的流程图。参考本文描述的软件和硬件组件提供针对方法300的以下描述。将理解,方法300还可在使用其他合适的硬件和软件组件的其他上下文中来执行。此外,虽然方法300的各框是以特定序列被描述和例示的,但在不同的示例中,执行的顺序可能会变化。在一些示例中,框中的一个或多个可能不被执行。在一些示例中,来自实体跟踪器100的上下文信息110可被利用以确定执行的顺序和或接下来将被执行的框。参考图6A,在304处,方法300可包括对包含回指或后指的各槽执行回指辨析。例如,在短语“当他在烤箱附近时提醒我Whenheisneartheovenalertme”中,单词“他he”是一种回指表达,其指的是在谈话中较早被提到过的人。附加地并且如下文更详细地描述的,通过经由从解析器40接收到的诸意图模板来理解并辨析用户的意图,意图处理器50可使用一个或多个其他技术诸如下文更详细地描述的基础教学和修复技术来增强此回指辨析过程以更准确地确定与回指表达相对应的人。在308处,方法300可包括对包含在没有附加上下文信息的情况下不能被完全理解的单词的各槽执行指代辨析。指代表达的各示例包括具有固定语义含义的词和具有取决于时间和或地点而变化的指称含义的词。例如,在短语“当他在烤箱附近时提醒我Whenheisneartheovenalertme”中,单词“附近near”是其含义取决于上下文信息的指代表达。附加地并且与回指表达一样,意图处理器50可使用一个或多个其他技术诸如基础教学和修复技术来增强其指代辨析过程以澄清该指代表达的预期含义。在一些示例中,可使用来自一个或多个传感器的数据诸如经捕捉的图像数据、音频数据、位置信息等来执行指代辨析。例如,当用户指向烤箱时,实体跟踪器100可利用示出用户的手指正指向烤箱的图像数据来标识烤箱并确定用户正指向烤箱。在指向期间,用户可以说出话语“当这个变热时让我知道Letmeknowwhenthisgetshot”。使用此信息,意图处理器50可将单词“这个this”辨析为“烤箱oven”,并且更具体地辨析为用户正指向的烤箱。在另一示例中,用户可以说出“如果我的孩子到这里来就让我知道Ifmychildcomesinhereletmeknow”。系统可使用用户的位置数据将单词“这里”辨析为用户的当前位置。在另一示例中,两个人走进房间,并且一个人向系统提问:“有任何留给我们的消息吗Dowehaveanymessages?”通过使用诸如图像数据和或音频数据之类的感测信息来标识这两个人,系统可执行指代辨析以将“我们we”辨析成处于该房间内的这两个人的身份。在312处,方法300可包括对包含与意图处理器50可用的其他数据相对应的单词的各槽执行查找。意图处理器50可用的其他数据的示例包括联系人信息、社交图数据、日历信息、电子邮件数据、照片元数据等等。在执行此类查找时所访问的信息可被填充在槽中以替换当前占用该槽的诸单词。例如,在短语“明天提醒我将汽车停在汽车经销商1处Tomorrowremindmetodropthecaratautodealer1”中,单词“汽车经销商1autodealer1”可能对应于用户经常修理她的汽车的汽车修理店。“汽车经销商1”可由用户联系人数据库中的联系人条目表示。因此,意图处理器50可定位此类联系人条目并可对意图模板中的单词“汽车经销商1”使用“汽车经销商1”联系人数据。此时,方法300可返回到304和或308以根据需要对填充在槽中的信息执行回指辨析和或指代辨析。附加地,意图处理器50可利用一个或多个其他技术诸如基础教学和修复技术来增强其查找过程,以澄清与当前存在于槽中的信息相对应的预期的人或实体。在314处,方法300可包括要求用户对包含歧义信息的一个或多个槽的消除歧义和或进行辨析。例如,当用户要求系统“打电话给帕特里克Patrick”,并且用户的联系人数据库包括帕特里克·多伊PatrickDoe和帕特里克·史密斯PatrickSmith时,系统可询问用户“你想给哪个帕特里克打电话,帕特里克·史密斯或帕特里克·多伊WhichPatrickwouldyouliketocall,PatrickSmithorPatrickDoe?”在316处,方法300可包括标识具有缺失信息的槽并用收集到的信息来填充这些槽。各种技术可被利用以生成和或检索此类信息。例如并且如下文更详细地描述的,可取决于信息被确定为是显式地缺失的还是隐式地缺失的来不同地对待具有缺失信息的槽。例如,在320处,方法300可包括确定缺失的信息是显式地缺失的信息。在一个示例中,通过分析文本短语,意图处理器50可确定用户的话语表明针对特定槽的信息应被提供在该话语中。在缺失此类信息的情况下,该信息可被确定为是显式地缺失的信息。例如,考虑短语“当加里和其他人一起进入该房间时介绍WhenGarycomesintotheroomwiththeothersintroduce”。意图处理器50可确定此短语包括对应于动词“介绍”的主题的内容槽,并且此内容槽缺失了信息。在此示例中,短语的上下文包括“介绍introduce”之前的单词,这些单词的顺序和含义、短语以单词“介绍”结束而没有指出介绍的主题、以及短语构成语法不完整的句子的事实。意图处理器50可确定此上下文不能辨析与此缺失的信息相关联的歧义。例如,虽然用户可能打算将加里介绍给其他人,但其他意图也是可能的诸如将其他人中的一者介绍给加里。因此,意图处理器50确定当前不能辨析与此缺失的信息相关联的歧义。给定此歧义并且如下文更详细地描述的,意图处理器50可使用一个或多个其他技术诸如询问用户,“您想要介绍谁Whomdoyouwanttointroduce?”来收集缺失的信息。在如下文更详细地描述的一些示例中,意图处理器50可在询问用户之前等待接收附加用户输入。在一些示例中,来自实体跟踪器100的附加信息可被用于辨析歧义并收集缺失的信息。在一些示例中,在承诺的触发槽或动作槽的信息缺失的情况下,并且至少部分地基于由实体跟踪器100生成的上下文信息110,意图处理器50可以主动向用户建议动作。在一个示例中,用户可以说出话语“爱丽丝Alice”。意图处理器50可接收具有空的动作槽和用姓名“爱丽丝”部分补全的触发器槽的意图模板。上下文信息110可能包括具有85%置信度的“爱丽丝”对应于用户的联系人数据库中的“爱丽丝·琼斯AliceJones”的身份预测。上下文信息110还可能包括具有95%置信度的爱丽丝·琼斯位于用户住宅的地下室洗衣房中的位置预测。·至少部分地基于此上下文信息110,意图处理器50可主动询问用户是否想要与爱丽丝·琼斯通信,诸如经由住宅内部对讲系统。·在324处,方法300可包括确定缺失的信息是隐式地缺失的信息。在一个示例中,意图处理器50可确定用户不打算提供特定槽所缺失的信息。此类缺失的信息可被确定为是隐式地缺失的信息。例如,考虑短语“当加里走进厨房时说你好”。意图处理器50可确定命令“说你好sayHello”对应于用户向另一个人说你好。因此,与此短语相对应的意图模板可能包含跟在单词“说你好sayHello”之后的内容槽,并且此内容槽通常包含用户打算对其说你好的人的姓名或其他标识符例如,“对苏珊娜说你好SayHellotoSuzanne”。在此示例中,因为短语以单词“你好Hello”结束,所以此类内容槽缺失标识预期的人的信息。此短语的上下文包括“你好”之前的单词、这些单词的顺序和含义、以及短语构成语法完整的句子的事实。给定此上下文,意图处理器50推断出用户想要将命令“说你好”应用于加里Gary。换言之,与此短语相关联的上下文指示单词“说你好”之后的内容槽应该用“加里”来填充。以此方式,意图处理器50可在无需向用户询问以获得附加输入的情况下辨析与该缺失的信息相关联的特定歧义。在如上文所描述的填充具有缺失信息的槽之后,方法300可返回到304和308以根据需要对填充在槽中的信息执行回指辨析和或指代辨析。在一些示例中并且如上所述,意图处理器50可向用户询问槽所缺失的信息。例如,意图处理器50可经由移动电话的扬声器向用户广播语音查询。然而,在一些示例中,槽所缺失的信息可能是用户在用户完成她的话语之前中断用户的预期或非预期停顿的结果。因此并且在328处,在一些示例中,方法300可包括标识来自用户的话语中的停顿以及用户继续发言并补充该话语的意图。例如,用户可在话语中间停顿以考虑她接下来应该说什么。在其他示例中,外部事件可在话语中间中断用户,诸如另一个人说话、诸如响的噪声或强光之类的来自用户的环境的令人分心的活动、或者各种其他外部活动。在一个示例中并且参考上文对标识显式地缺失的信息的描述,可确定短语“当加里和其他人一起进入该房间时介绍WhenGarycomesintotheroomwiththeothersintroduce”包括对应于动词“介绍”的主题的内容槽,并且此内容槽缺失了信息。基于空的内容槽、短语的其他方面、和或其被说出时的上下文,意图处理器50可标识此短语结尾处的停顿以及用户继续发言并补充用于动词“介绍”的主题的预测意图。在332处并且响应于对停顿的标识,方法300可包括在向用户询问更多信息之前等待来自用户的附加输入。在一些示例中,意图处理器50可等待预定的时间段,诸如1秒、2秒或不会对用户造成负面用户体验的其他时间长度。以此方式,系统可避免在用户打算再次开始说话并补充话语时在话语中间中断用户。在一些示例中,只要用户开始说话,就可启动参与计时器。参与计时器可以运行预定时间段,在该预定时间段期间用户可被指明为“参与”。预定时间段可以是1秒、2秒、或其他持续时间。如果系统需要在预定时间段到期之前请求输入或以其他方式与用户进行有声的对话,则系统可使用可为用户的当前潜在参与提供更温和的中断的中断语言构造。中断语言构造的各示例包括“顺便说一句bytheway”和“另外additionally”。在一些示例中,即使在用户已经停止发言和或当前对话已经“超时”并且系统当前并未监听用户的情况下,也可使用此类语言构造。在336处,方法300可包括向用户查询槽所缺失的信息。在一些示例中,意图处理器50可向用户询问意图模板的一个或多个槽所缺失的信息。例如,对于短语“当加里和其他人一起进入该房间时介绍WhenGarycomesintotheroomwiththeothersintroduce”及其在单词“介绍”之后的内容槽中显式地缺失信息,意图处理器50可向用户广播询问“您想要介绍谁Whomdoyouwanttointroduce”的语音查询。在其他示例中,意图处理器50可经由其他接口来询问用户,诸如通过在显示设备上显示询问。当意图处理器50经由话音监听器30和解析器40从用户接收对其询问的响应时,意图处理器可用该响应填充该槽。此时,方法300可返回到304以及后续步骤以便如上文所描述的分析此新补充的信息是否有任何歧义。现在参考图6B,在340处,方法300可包括通过分析来自先前对话回合的信息来辨析歧义。在不同的示例中,该方法可将话语分析成单个或组合的话语,和或可使用来自先前话语的一个或多个元素来在当前话语的意图模板中生成一个或多个槽。在一些示例中,意图处理器50可分析来自先前意图模板和或模板的一个或多个槽的内容。在一些示例中,意图处理器50可确定当前话语是对先前话语的补充。例如,考虑短语“当贾斯汀在烤箱附近时,提醒埃里希WhenJustinisneartheoven,alertErich”。贾斯汀可能是学步儿童,埃里希是该学步儿童的父亲,说出该短语的用户可能是贾斯汀的母亲。意图处理器50可接收针对此短语的第一意图模板。第一辨析器可辨析该模板并建立当贾斯汀距埃里希的厨房中的烤箱1米之内时经由埃里希的电话向埃里希广播警告的承诺。在说出此第一短语之后,贾斯汀的母亲可停顿一小会儿时间,诸如3或4秒。在此停顿之后,她可以说出由解析器40接收到的第二短语“和我andme”。由于此短语不包括动作组件,因此解析器40可生成具有未知或未辨析意图的第二意图模板。在此示例中,并且因为与此第二短语相关联的意图目前是未知的,所以意图处理器50可选择不同的第二辨析器来解决此第二意图模板。至少部分地基于此第二短语以连词“和and”开头且后跟代词“我me”,第二辨析器可确定贾斯汀的母亲打算引用先前的话语。第二辨析器可利用回指辨析技术将单词“我”与贾斯汀的母亲相联系。通过使用此数据并分析先前建立的承诺,第二辨析器可确定与第二短语“和我”相关联的意图和与先前短语“当贾斯汀在烤箱附近时,提醒埃里希”相关联的意图有关。因此,第二辨析器可修改先前建立的承诺,以当贾斯汀距厨房中的烤箱1米之内时向埃里希和贾斯汀的母亲两位广播警告。作为另一示例,再次考虑短语“当贾斯汀在烤箱附近时,提醒埃里希WhenJustinisneartheoven,alertErich”。在说出此第一短语之后,贾斯汀的母亲可停顿几秒钟并然后说出第二短语“并且如果他靠近游泳池也要andalsoifhe’sclosetothepool”。由于此短语包括触发器“如果他靠近游泳池ifhe’sclosetothepool”而未包括动作组件,则解析器40可生成具有未知或未辨析意图的第二意图模板。此外,在此示例中,回指表达“他he’s”可以指先前短语中的两个名字中的任一者贾斯汀或埃里希。辨析器可确定在第二短语的触发器中对“他he”的引用最可能是想指在另一先前触发器中提及的男人。至少部分地基于此第二短语以连词“和and”开头且后跟单词“也要also”和“如果if”,第二辨析器可确定贾斯汀的母亲打算引用先前话语并修改触发器或为先前建立的承诺的动作添加另一触发器。通过使用此数据并分析先前建立的承诺,第二辨析器可确定与第二短语“并且如果他靠近游泳池也要”相关联的意图和与先前短语“当贾斯汀在烤箱附近时,提醒埃里希”相关联的意图有关。因此,第二辨析器可修改先前建立的承诺以当贾斯汀距厨房中的烤箱1米之内或距游泳池3米之内时向埃里希广播警告。在一些示例中,意图处理器50可确定当前话语旨在修改一个或多个先前话语。例如,考虑短语“请在六点钟提醒我打电话给杰夫PleaseremindmetocallJeffatsixo’clock”。在说出第一短语之后,用户可停顿片刻并然后说出第二短语“我的意思是迈克ImeanMike”。由于此短语包含没有明确的触发器或动作组件的有歧义的短语,所以解析器40可生成具有未辨析的意图的另一意图模板。通过分析与先前话语“请在六点钟提醒我打电话给杰夫”相关联的紧接在前的承诺,辨析器可确定与第二短语“我的意思是迈克”相关联的意图最可能与先前短语“请在六点钟提醒我打电话给杰夫”相关联的意图有关。因此,此辨析器可修改先前建立的承诺以用“迈克Mike”来替换此短语的动作组件中对“杰夫Jeff”的引用。在另一示例中,考虑短语“请在六点钟提醒我打电话给杰夫和迈克PleaseremindmetocallJeffandMikeatsixo’clock”。在说出第一短语之后,用户可停顿片刻并然后说出第二短语“不要迈克notMike”。由于此短语包含没有明确的触发器或动作组件的有歧义的短语,所以解析器40可生成具有未辨析的意图的另一意图模板。通过分析与话语“请在六点钟提醒我打电话给杰夫和迈克”相关联的紧接在前的承诺,辨析器可确定与第二短语“不要迈克”相关联的意图最可能与先前短语“请在六点钟提醒我打电话给杰夫和迈克”相关联的意图有关。因此,此辨析器可修改先前建立的承诺以从此短语的动作组件中移除对“和迈克andmike”的引用。在一些示例中并且如下文更详细地描述的,在两个或更多个人正在进行对话的情况下,系统可跟随对话并确定在此对话中活动参与者即,当前正在说话的人何时发生改变。在这些示例中,当系统确定当前发言者已经改变时,系统可确定新发言者的语音中包含的信息是否是现有对话主题会话的继续,或者是否已引入了新的主题会话。在新发言者的信息是现有对话主题会话的继续的情况下,意图处理器50可使用此确定来辨析歧义、补全缺失信息和或以其他方式澄清每个发言者的意图。例如,此类对话和主题会话跟踪可以使系统能够协助正在协同工作和说话的团队完成任务。在一些示例中,系统可跟踪同时发生或以其他方式重叠的多个对话,并可针对每个对话适当地与每个对话中的参与者交互。如下文参考图23-25详细描述的,处理器128可执行对话解缠模块54以确定如何与具有重叠对话的多个用户进行交互。在一些示例中,意图处理器50可确定与新接收到的短语相关联的意图与紧接在前的承诺的意图无关。例如,对应于话语“打电话给贾斯汀CallJustin”的意图模板可由第一辨析器接收并处理成第一承诺。第一辨析器可确定动作“打电话给贾斯汀CallJustin”的内容槽“贾斯汀Justin”是有歧义的,因为用户在用户的联系人数据库中同时具有贾斯汀·史密斯JustinSmith和贾斯汀·多伊JustinDoe。因此,第一辨析器可用向用户询问“哪个贾斯汀——贾斯汀·多伊或贾斯汀·史密斯?”来回应。在此示例中,用户以无关回答“请录制今晚的电视节目A”来回应。第一辨析器可通过参考紧接在前的意图模板及其缺失的内容槽来分析此响应及其对应的新意图模板。因为用户的响应与刚刚呈现给用户的查询完全无关,所以第一辨析器确定新意图模板表示用户的新意图,并因此新意图模板不应与先前意图模板融合。因此,第一辨析器被第二辨析器替代,此第二辨析器继续分析新的意图模板并建立新的对话。在344处,方法300可包括辨析通过不同名称或表示来指代已知的人或实体的别名。在一个示例中,用户可在话语中引用“咪咪Mimi”。用户的联系人数据库可能不包含名称为“咪咪”的联系人。然而,在被意图处理器50跟踪的先前对话中,用户的姐妹在与她的孙子交谈时可能将她自己称呼为“咪咪”。意图处理器50可访问的数据存储可能已经在用户的姐妹和别名“咪咪”之间创建了关联。通过在数据存储中搜索“咪咪”的实例并找到用户的姐妹与别名“咪咪”之间的关联,意图处理器50可将用户的话语中的名称“咪咪”辨析为用户的姐妹。在348处,方法300可包括训练意图处理器50以经由直接用户训练输入将别名与已知人或其他实体相关联。例如,用户可以说出命令,“当我说咪咪时我指的是我的姐妹苏珊娜WhenIsayMimiI’mreferringtomysisterSuzanne”。意图处理器50可在“咪咪”和用户的姐妹苏珊娜之间创建链接,诸如通过修改包含标识苏珊娜的信息的文件的联系人数据库。以类似的方式,在352处,方法300可包括以实时或批处理模式方式训练意图处理器50以将未识别的表面形式与新辨析的表面形式相关联。例如,意图处理器50可能无法识别它接收的特定表面形式。意图处理器50可经由一个或多个基础教学和修复技术来澄清此表面形式。以此方式并更进一步,随后可将未识别的表面形式与经澄清的表面形式相关联,由此意图处理器50现在可识别先前未识别的表面形式。在另一示例中,用户可能正在乘坐出租汽车穿越纽约市。用户可以对他的智能电话说出第一请求,其中此短语的中间部分难以理解:“当我到达[难以理解]时呼叫她的移动电话WhenIgetto[unintelligible]callhermobilephone”。通过分析此短语以及上下文信息诸如指示用户正乘汽车穿行的运动数据,意图处理器50可推断该短语的难以理解的部分对应于位置槽。意图处理器50可向用户询问“你想在哪里这样做Wheredoyouwanttodothis?”用户可用第二响应“麦迪逊Madison”进行回复。解析器40可从话音监听器30接收文本“麦迪逊”,并且可生成与用户的实际意图相对应的此单词在统计上最可能的含义列表。在此示例中,用户可具有名为麦迪逊的亲密朋友,并且可能在对智能数字助理系统20的许多口述请求中都使用了她的姓名。因此,解析器40可确定用户的亲密朋友“麦迪逊”是用户话语背后最可能的意图。然而,基于其对用户的第一请求和其他上下文信息诸如运动数据的分析,意图处理器50确定对询问“你想在哪里这样做?”的预期用户响应很可能是位置信息。意图处理器还可分析指示用户将在五分钟内到达麦迪逊大道地址的映射数据。因此并且至少部分地基于此上下文信息,意图处理器50可能不会选择用户的亲密朋友“麦迪逊”,尽管解析器预测这是此单词在统计上最可能的含义。相反,意图处理器可通过选择麦迪逊大道作为用户的意图来使用此上下文信息来辨析此歧义。在意图处理器不能从话语中辨析意图的一些示例中,系统仍可提供以采取一个或多个动作。例如,如果用户使用声明性语句“西尔韦看起来很好Silverlooksnice”,则系统可能无法理解此话语背后的用户意图。替代于因为系统不理解该如何应对此话语而忽略用户,系统可能会提供银饰照片、播放音乐或采取一些其他行动。将理解,方法300是以举例方式提供的,并且不旨在为限制性的。因此,可以理解,方法300可包括相比于图6A和6B中例示出的那些步骤更多和或替换的步骤。此外,应当理解,方法300可以以任何合适的顺序来执行。此外,应当理解,在不脱离本公开的范围的情况下,可以从方法300中省略一个或多个步骤。如上文所描述的,当意图处理器50充分澄清并辨析了用户的意图时,相应的承诺可被生成并被传递给承诺引擎60以供执行。如下文更详细地描述的,承诺引擎60可利用一个或多个成本函数来确定与执行或不执行承诺相关联的一个或多个成本,并且在一些示例中,确定与向用户输出或不向用户输出消息相关联的一个或多个成本。在承诺引擎60接收多个承诺的情况下,承诺引擎可对承诺进行优先级排序以呈现给用户。在一个用例示例中,承诺引擎60可为用户埃迪存储七个承诺,每个承诺都被设置为向埃迪传达不同的消息。当埃迪今天下班回家时,每条消息也可被组织成有声地播放给他。承诺和相应的消息可能包括把垃圾拿出去、修复漏水的水龙头和将烤肉放入烤箱的任务提醒,以及缴纳财产税明天到期和他需要购买鸡蛋的信息提醒。如果这些消息中的每一者在埃迪走进门时就被广播给他,他可能不太可能有效地管理相应的任务和或对相应的任务进行优先级排序。此外,在一些示例中,埃迪的当前上下文可能使他更难以理解并有效地管理这些消息。例如,如果埃迪在走进门时正在用他的电话通话,并且当时有七条消息被有声地播放给他,则他可能难以听到或甚至理解这些消息。因此并且在一些示例中,与用户接收输入的接受度、承诺对特定用户的重要性和或用户的当前上下文相关的因素可被确定。机器学习技术可被应用于此类因素和其他数据以从此类信息中学习并在将来做出相关的预测。如下文更详细地描述的,一个或多个成本函数可被用于确定与执行或不执行承诺相关联的成本。使用这些技术,承诺引擎60可智能地管理对承诺和相应消息的执行以与特定用户的偏好和当前上下文一致。在一些示例中,并且响应于改变的上下文和或新数据输入,承诺引擎60可修改承诺、消息及其执行的优先级、时序和其他方面。例如并且如下文更详细地描述的,承诺引擎60可从实体跟踪器100接收上下文信息110,诸如实体身份、实体位置和实体状态信息。承诺引擎60可使用此类上下文信息100以确定是否应该向用户呈现或以其他方式执行特定消息、通知或承诺。在一些示例中,可基于承诺引擎60接收到的新输入来更新承诺的一个或多个先前定义的组件。例如,意图处理器50可生成并传递包括引用单独定义的术语的触发器组件的承诺。在一个示例中,用户可以说出话语:“请在宵禁前60分钟通知我的孩子回家”。术语“宵禁”可以与存储在数据存储中的用户简档相关联,并且当前可以具有晚上11:0011:00pm的值。通过访问存储在数据存储中的用户的简档,意图处理器50可将术语“宵禁”辨析为晚上11:00,并且可向承诺引擎60传递相应的承诺以在晚上10:00在晚上11:00之前的60分钟向该用户的孩子们发送带有回家指示的文本消息。在此话语之后,用户可将她孩子的宵禁时间更新为一小时后,诸如通过说出:“将孩子的宵禁更新为午夜Updatethekids’curfewtoMidnight”。承诺引擎60可将此更新标识为对“宵禁curfew”的数值的修改,并可确定它会影响先前接收到的承诺。因此,承诺引擎可通过将“宵禁”的数值更新为午夜来相应地修改先前接收到的承诺的触发器,这会导致承诺在晚上11:00而不是晚上10:00发送文本消息。承诺引擎60还可修改存储在数据存储中的用户简档中的“宵禁”的数值。关于可被用于实现承诺引擎60的组件和计算方面的附加细节在下文中参考图26更详细地描述。图7示意性地例示了示例实体跟踪器100,其可包括智能数字助理系统20的组件。实体跟踪器100可被用于确定一个或多个传感器范围内的一个或多个实体的身份、位置和或当前状态。实体跟踪器100可将此类信息输出到智能数字助理系统20的一个或多个其他模块,诸如承诺引擎60、话音监听器30等。在实体跟踪器100的上下文中使用的单词“实体”可以指人、动物或其他生物以及非生物对象。例如,实体跟踪器可被配置成标识家具、器具、结构、景观特征、车辆和或任何其他物理对象,并确定此类物理对象的位置定位和当前状态。在一些情况下,实体跟踪器100可被配置成仅标识人而不标识其他生物或非生物。在此类情况下,单词“实体”可能与单词“人”同义。实体跟踪器100从一个或多个传感器102诸如传感器A102A、传感器B102B和传感器C102C接收传感器数据,但是应该理解,实体跟踪器可以与任何数量和种类的合适的传感器一起使用。作为示例,可与实体跟踪器一起使用的传感器可包括相机例如,可见光相机、UV相机、IR相机、深度相机、热相机、话筒、压力传感器、温度计、运动检测器、邻近度传感器、加速度计、全球定位卫星GPS接收器、磁力计、雷达系统、激光雷达系统、环境监测设备例如,烟雾探测器、一氧化碳探测器、气压计、健康监测设备例如、心电图仪、血压计、脑电图、汽车传感器例如,速度计、里程表、转速计、燃料传感器和或收集和或存储与一个或多个人或其他实体的身份、位置和或当前状态有关的信息的任何其他传感器或设备。在一些示例中,实体跟踪器100可用多个传感器102中的一个或多个来占据公共设备壳体,和或实体跟踪器及其相关联的传感器可跨被配置成经由一个或多个网络通信接口例如,Wi-Fi适配器、蓝牙接口通信的多个设备分布。如图7的示例中所示,实体跟踪器100可包括实体标识符104、人标识符105、位置定位标识符106和状态标识符108。在一些示例中,人标识符105可以是实体标识符100的专用组件,其被特别优化以用于识别人,而非识别其他生物和非生物。在其他情况下,人标识符105可以与实体标识符104分开操作,或者实体跟踪器100可能不包括专用的人标识符。取决于特定实现,与实体标识符、人标识符、位置标识符和状态标识符相关联的任何或所有功能可以由各个体传感器102A-102C执行。尽管本说明书一般将实体跟踪器100描述为从传感器接收数据,但这并不要求实体标识符104以及实体跟踪器的其他模块必须被实现在单个计算设备上,该设备和与实体跟踪器相关联的多个传感器分离并区别开来。相反,实体跟踪器100的功能可被分布在多个传感器之间。例如,与向实体跟踪器发送原始传感器数据不同,单个传感器可被配置成尝试标识其检测到的实体,并将此标识报告给实体跟踪器100和或智能数字助理系统20的其他模块。在一些情况下,此标识可包括置信值。实体标识符104、人标识符105、位置标识符106和状态标识符108中的每一者被配置成解释和评估从多个传感器102接收到的传感器数据,并基于传感器数据输出上下文信息110。上下文信息110可包括实体跟踪器基于接收到的传感器数据对一个或多个检测到的实体的身份、位置和或状态的猜想预测。如下文将更详细地描述的,实体标识符104、人标识符105、位置标识符106和状态标识符108中的每一者可输出它们的预测标识以及置信值。实体标识符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的组件和计算方面的附加细节在下文中参考图26更详细地描述。实体身份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仍可基于相机数据的可靠性比话筒数据的可靠性高而输出人位于厨房内的预测。以此方式并且在一些示例中,不同传感器数据的不同可靠性值可以与置信值一起被用于协调冲突的传感器数据并确定实体的身份、位置和或状态。附加地或替换地,可赋予具有更高精度、更高处理功率或更高能力的传感器更高的权重。例如,与膝上型计算机中找到的基本网络摄像头相比,专业级视频相机可具有显著改进的镜头、图像传感器和数字图像处理能力。相应地,因为从专业级相机接收到的视频数据可能更准确,因此与网络摄像头相比此类数据可被赋予更高的权重可靠性值。现在参考图8,在一些示例中,与实体跟踪器100一起使用的各个体传感器可以以与实体跟踪器一起使用的其他传感器不同的频率输出数据。类似地,与实体跟踪器100一起使用的传感器可以以与实体跟踪器评估数据和输出上下文信息的频率不同的频率输出数据。在图8的示例中,实体跟踪器100可在多个时间帧200A、200B和200C上接收和解释传感器数据。单个时间帧可表示任何合适的时间长度,诸如130秒,160秒等。在此示例中,在时间帧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。如图8所示,在实体跟踪器100从特定传感器接收数据之后,在实体跟踪器从同一传感器接收更多数据之前,可能会经过多个时间帧。在这些多个时间帧期间,实体跟踪器100可输出上下文信息。类似地,从特定传感器接收到的数据的有用性可能随时间帧而变化。例如,在第一时间帧处,实体跟踪器100可经由话筒接收正在说话的特定人的音频数据,并因此用相对高的置信值标识人的实体位置114。在随后的时间帧中,该人可保持位于所标识的位置,但是也可能从第一时间帧开始就停止了说话。在此情况下,话筒缺失有用数据可能不是人不存在的可靠指示符。其他类型的传感器也会出现类似的问题。例如,如果一个人遮住了他的脸,或者被诸如另一个人或移动对象之类的障碍物遮挡,那么相机可能会失去对该人的跟踪。在此情况下,尽管当前相机数据可能不表明该人的存在,但相机数据的先前实例可能表明该人仍然位于先前标识的位置处。通常,虽然传感器数据可以可靠地指示实体的存在,但是此类数据在表明实体的不存在时可能不太可靠。因此,实体跟踪器100可利用一个或多个置信度衰减函数,其在不同的示例中可以由实体跟踪器和或由传感器本身来定义。置信度衰减函数可被应用于传感器数据,以从特定传感器最后一次阳性地检测到实体开始,随着时间的推移降低实体跟踪器对来自该传感器的数据的置信度。作为示例,在传感器检测到实体位于特定定位处之后,实体跟踪器100可报告指示该实体以相对高的置信度位于该定位处的上下文信息110。如果在一个或多个时间帧之后传感器不再检测到实体位于该定位处,并且除非其随后收集相互矛盾的证据,否则实体跟踪器100仍然可以报告该实体位于该定位处,但采用更低的置信度。随着时间从传感器最后一次检测到实体位于该定位处后继续推移,该实体仍位于该定位处的可能性逐渐减小。因此,实体跟踪器100可利用置信度衰减函数来逐渐降低其报告的上下文信息110的置信值,如果没有附加传感器检测到该实体则最终到达0%的置信度。在一些情况下,不同的置信度衰减函数可以与不同的传感器和传感器类型一起使用。特定衰减函数的选择可至少部分地取决于传感器的特定属性。例如,与来自相机的数据相关联的置信值可能比与来自话筒的数据相关联的置信值更快地衰减,因为视频帧中的实体的不存在是比被话筒录制的静音更可靠的指示符。传感器置信度衰减的一个示例在图9中被示意性地例示,其示出了实体跟踪器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接收到具有高音量幅度和高信噪比SN的人的话音的音频记录的情况下发生。使用此技术,实体跟踪器100可累积各种因人而异的话音模型,从而允许实体跟踪器更一致地标识来自特定人的语音并忽略背景噪声。现在参考图10,示意性地例示了使用经训练的语音识别引擎来识别来自特定人的语音的示例。在此示例中,实体跟踪器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识别不相关的背景噪声,实体跟踪器识别相关人类语音和其他声音的能力可被改进。现在参考图11,在一些情况下,实体跟踪器100可确定在两个或更多人之间的对话中活动参与者即,当前正在讲话的人发生了改变。实体跟踪器100还可确定此类改变是在何时发生的。这可以以各种方式完成。在一个示例中,包含语音片段的录制音频的音段可被时分为两个或更多个子帧,其中每个子帧包含录制语音片段的不同子片段。在图11的示例中,语音片段500可被时分为两个或更多个子片段,诸如子片段1502A和子片段2502B。每个语音子片段可被用于训练单独的话音模型,使得经训练的话音模型可被用于专门识别来自在此子帧期间正在讲话的人的语音。在图11中,子片段502A被用于训练话音模型1504A,而子片段502B被用于训练话音模型2504B。一旦子片段已被用于训练话音模型,就可用不同的话音模型来交叉评估子片段。这在图12中被示意性地示出,其中使用子片段2502B训练的话音模型2504B被应用于子片段1502A。类似地,使用子片段1502A训练的话音模型1504A被应用于子片段2502B。在交叉评估期间,如果在经测试的子片段期间说话的人与在被用于训练话音模型的子片段期间说话的人相同,则具有高置信值的预测将被生成。因此,如果两个话音模型都以相对高的置信值得出对发言者身份的预测,那么很可能同一人在两个子片段期间都进行了发言,并且对话中的活动参与者在语音片段期间没有改变。如果两个话音模型都以相对低的置信度得出对发言者身份的预测,则活动对话参与者很可能在语音片段期间的某个点处发生改变。这种可能性在图12中被例示,其中话音模型2504B以30%的置信值输出人标识506A,而话音模型1504A以25%的置信值输出人标识506B。由于两个语音模型对其预测的置信度都相对较低,因此很可能在子片段502A和子片段502B中的每一者中都有不同的人在说话。由此得出,活动对话参与者可能在子片段1502A和子片段2502B之间的某个点处发生改变。在一些示例中,并且取决于实体跟踪器100使用的传感器和处理方法,在环境中跟踪和标识实体可能是耗时且资源密集的。因此,实体跟踪器100可使用各种技术来选择性地选择何时应该利用资源密集的处理。以此方式,可在不损害其相应功能的情况下提高实体跟踪器100的效率。作为示例,可使用各种图像处理技术来解决环境中的可变照明条件。在一些示例中,并且取决于房间中的亮度暗度水平,实体跟踪器100可执行对比度调整和或其他图像处理技术以便更清楚地跟踪和标识房间中的实体。然而,这些技术可能需要大量的处理和计算机资源。因此并且为了节省此类资源,附加的上下文信息110可被评估以确定是否利用此类技术。例如,如果房间是暗的并且具有高置信值的上下文信息110指示该房间是空的,那么实体跟踪器100可放弃计算密集的图像处理技术以有利于节约资源。在另一示例中,如果房间中的另一传感器检测到可能有人存在例如,话筒记录了该人的声音,实体跟踪器100可授权使用计算密集的图像处理,以尝试获得可被用于标识人的脸的图像。在另一示例中,实体跟踪器100可降低监测当前没有感兴趣的实体存在的环境的任何传感器的采样频率。此后,实体跟踪器100可根据需要增加一个或多个传感器的采样频率,诸如当感兴趣的实体的存在被具有超过预定阈值的置信值指示时。可能需要大量计算机资源的另一过程是使用高分辨率图像的面部识别。在一些示例中,在使用面部识别技术建立人的阳性标识时,实体跟踪器100可切换到较少资源密集的识别方法以便继续跟踪该人。作为示例,在检测到新的人已进入房间时,实体跟踪器100可捕捉该人的面部的高分辨率图像。实体跟踪器100可利用此图像来执行相对资源密集的面部识别以便明确地标识该人。在对人的初始标识之后,实体跟踪器100可使用较少资源密集的技术以便在保存计算资源的同时继续跟踪该人。例如,实体跟踪器100可使用低分辨率相机以基于人的身体形状、步态例如,通过评估人行走时各不同关节之间形成的角度和衣服例如,跟踪已知与该人的衣服相对应的色块来跟踪他们。在一些示例中,并且为了周期性地确认其对人的初始标识仍然是准确的,实体跟踪器100可在初始标识之后间歇地执行面部识别。通常并且取决于特定上下文,实体跟踪器100可使用各种标识技术中的任何一种以便智能地管理计算资源的保存和实体的标识与跟踪。如上所述,承诺引擎60存储从意图处理器50接收到的承诺。同样如上所述,承诺引擎60可利用一个或多个成本函数来确定与执行或不执行承诺相关联的一个或多个成本,并且在一些示例中,确定与向用户输出或不向用户输出消息相关联的一个或多个成本。如下文更详细地描述的,在一些示例中,一个或多个消息可被添加到消息队列。现在参考图13,提供了可与承诺引擎60一起使用的示例成本函数620的示意图。承诺引擎60包括被配置成存储一个或多个承诺614的承诺存储626。图13中所示的承诺614包括触发器条件616和消息动作618。在一些示例中,承诺可包括一组0个或多个触发器和一组1个或多个消息动作诸如向用户传达消息、打开灯、播放音乐等。在一些示例中,消息动作618可包括经由一个或多个输出设备70将存储在消息队列62中的消息619作为输出670进行传达。在一些示例中,消息动作618可包括执行可包括与一个或多个其他设备或程序对接的一个或多个附加指令。承诺引擎60被配置成经由实体跟踪器100和或直接从一个或多个传感器22接收上下文信息110。在各种示例中,上下文信息110可能满足或可能不满足触发器条件,例如触发器条件616。上下文信息110可包括来自实体跟踪器100的实体数据630。上下文信息110可进一步包括时间数据650和或用户输入680。下文更详细地描述实体数据630、时间数据650和用户输入680。当承诺引擎60接收满足承诺614的触发器条件616的上下文信息110时,承诺引擎60可将成本函数620应用于消息动作618。在消息动作618包括消息的情况下,成本函数620被配置成确定是否将与承诺614相关联的消息输出给一个或多个用户。类似地,在消息动作618包括动作的情况下,成本函数620被配置成至少部分地基于上下文信息110来确定是否执行动作。当成本函数620确定承诺614具有足够高的重要性时,承诺引擎60可以输出消息和或执行消息动作618的动作作为输出670。输出670可被传达给一个或多个输出设备70。例如,输出670可包括由用户的智能电话的扬声器和或用户环境中的一个或多个其他扬声器诸如独立扬声器设备、电视扬声器等广播的口头消息。在一些示例中,输出670可包括控制一个或多个其他设备,诸如打开灯、经由媒体程序播放音乐等。成本函数620可通过计算通知的成本622和不通知的成本624来确定是否输出消息619。如果确定不通知的成本624高于通知的成本622,则承诺引擎60可输出消息619。在一些示例中,可至少部分地使用一个或多个机器学习算法来确定通知的成本622和不通知的成本624。在一些示例中,成本函数620可至少部分地基于从实体跟踪器100接收并包括在上下文信息110中的实体数据630来确定通知的成本622和不通知的成本624。如上文所解释的,实体数据630可包括实体身份数据112、实体位置数据114和实体状态数据116。实体身份数据112、实体位置数据114和实体状态数据116可各自分别包括至少一个用户、位置和活动的列表。被包括在实体身份数据112、实体位置数据114和实体状态数据116中的每个用户、定位和活动可具有与该用户、定位或活动被正确标识的概率的相关联的估计。成本函数620可利用此类概率估计来确定相应的通知的成本622和不通知的成本624。在一些示例中,上下文信息110可包括针对同时检测到一个或多个用户或其他实体的实体身份数据112、实体位置数据114和实体状态数据116。承诺引擎60还可被配置成接收时间数据650。时间数据650可包括时间652和或日期654。时间数据650还可包括从计算设备执行某项任务以来经过的至少一个时间间隔656。例如,时间数据650可包括从计算设备产生特定输出或接收特定输入以来经过的至少一个时间间隔656。例如,当烘烤面包时,用户可在烤箱定时器上设置时间间隔656,并且当时间间隔656过去并且烤箱定时器响起时,承诺引擎60可接收满足触发器条件616的上下文信息110。作为响应,成本函数620可被应用于相关承诺614以确定是否输出应该将面包从烤箱中取出的消息619,和或执行关闭烤箱的动作。作为另一示例,时间数据650可包括指示计算设备最近何时产生向用户通知该用户应该洗衣服的输出670的数据。消息队列62可存储提醒用户洗衣服的相关消息619。随着从上次给出消息以来时间量增加,如时间数据650所指示的,成本函数620可逐渐增加不通知的成本624。当洗衣服通知被给出时,成本函数620可降低消息619的不通知的成本624。在一些示例中,成本函数620可至少部分地基于时间数据650来确定通知的成本622和不通知的成本624。成本函数620可至少部分地基于一个或多个用户输入680来确定通知的成本622和不通知的成本624。例如,用户可提供增加用户认为特别重要的通知的不通知的成本624的用户输入680。在一个示例中,和与朋友的午餐会的不通知的默认成本624相比,用户可提供用户输入680以增加工作面试的不通知的成本624。承诺引擎60可确定输出670的输出类型。可基于实体数据630和或时间数据650来作出对输出类型的确定。例如,承诺引擎60可基于用户定位数据确定用户不在该用户能够查看显示屏幕的定位处。承诺引擎60可因此生成被传达到扬声器而非屏幕的输出670。另外,一些输出类型可能具有与其他输出类型不同的通知的成本622。例如,视觉显示可具有比声音输出更低的通知的成本622,因为视觉输出可能不太可能中断对话。在一个示例中,承诺引擎60可接收满足承诺614的触发器条件616的上下文信息110,其中消息为“约翰在15分钟内开会Johnhasameetingin15minutes”。成本函数620可然后被应用于承诺614。成本函数620可使用实体数据630来确定通知的成本622和不通知的成本624。通知的成本622和不通知的成本624可至少部分地基于诸如消息对约翰的重要程度、约翰对接收消息的接受程度以及约翰是否位于与消息相关的定位处之类的因素。例如,实体数据630可包括实体身份数据112和实体位置数据114,其指示约翰当前不在他可以从输出设备672感知输出670的定位处。结果,不通知的成本624可能非常小。在另一示例中,基于实体数据630,承诺引擎60可确定约翰正在打电话时的通知的成本622比约翰正在阅读报纸时的通知的成本622更高。在另一示例中,在消息内容包括关于约翰的新生儿的医疗信息的情况下,可确定不通知的成本624高。在另一示例中,承诺引擎60可接收指示幼儿在用户的游泳池附近的定位处的上下文信息110。此上下文信息110可满足对应于幼儿在用户的泳池附近的情况的承诺614的触发条件616。承诺614可包括消息动作618以向用户广播幼儿在游泳池附近的紧急消息。成本函数620可被应用于承诺614。至少部分地基于与涉及幼儿的潜在严重安全情况相关的承诺614的触发条件616,成本函数620可确定承诺614具有非常高的不通知的成本624。继续此示例,基于包括用户活动数据的实体数据630,承诺引擎60可确定用户当前正在打电话。承诺引擎60还可访问指示用户在他正在通话时强烈地希望避免中断的用户的简档数据。结果,承诺引擎60可确定通知的成本622也很高。在此示例中,假设消息与涉及幼儿的安全情况相关,则承诺引擎60可确定不通知的成本624高于通知的成本622。因此,承诺引擎60将紧急消息619作为输出670以由输出设备672输出来传达给用户。在另一示例中,承诺引擎60可接收触发承诺614的触发器条件616的上下文信息110,其中消息为“约翰在15分钟内开会Johnhasameetingin15minutes”。通过使用实体数据630,承诺引擎也可确定约翰当前正在打电话。承诺引擎60可确定由于在输出设备672上输出通知约翰承诺614的消息将中断约翰的电话呼叫,因此通知的成本622大于不通知的成本624。因此,承诺引擎60可以不将消息作为输出670传达给输出设备672。随着约翰会议时间的临近,承诺引擎60可基于时间数据650增加不通知的成本624。例如,承诺引擎60可确定约翰距离会议地点5分钟。当时间数据650指示会议将在六分钟内开始时,不通知的成本624可能足够高以使得即使约翰仍在打电话承诺引擎60也会将消息619传达给输出设备672。图14中示出了用于确定针对消息的通知的成本和不通知的成本的方法700的流程图。参考本文描述的软件和硬件组件提供针对方法700的以下描述。将理解,方法700还可在使用其他合适的硬件和软件组件的其他上下文中来执行。在702处,方法700可包括接收上下文信息。接收上下文信息可包括接收实体数据、时间数据和或用户输入。在704处,方法700可包括接收包括实体身份、位置和或状态数据的实体数据。在706处,方法700可包括接收时间数据。时间数据可包括时间和或日期。时间数据可进一步包括至少一个时间间隔。在708处,方法700可包括接收用户输入。在710处,方法700可包括至少部分地基于上下文信息来检测触发器条件已经发生。触发器条件可以与承诺相关联。在712处,方法700可包括确定与在输出设备上输出消息相关联的通知的成本。在714处,方法700可包括确定与不输出消息相关联的不通知的成本。在一些示例中,确定通知的成本和不通知的成本可至少部分地基于实体数据、时间数据和或用户输入。在一些示例中,可至少部分地使用机器学习算法来确定通知的成本和不通知的成本。在716处,方法700可包括将通知的成本与不通知的成本进行比较。在718处,方法700可包括,如果不通知的成本超过通知的成本,则传达将在输出设备上被输出的消息。在720处,方法700可包括,如果不通知的成本不超过通知的成本,则禁止将消息传达到输出设备。将理解,方法700是以举例方式提供的,并且不旨在为限制性的。因此,可以理解,方法700可包括相对于图14中例示的那些步骤而言附加的和或替换的步骤。此外,应当理解,方法700可以以任何合适的顺序来执行。此外,应当理解,在不脱离本公开的范围的情况下,可以从方法700中省略一个或多个步骤。在一些示例中,一个或多个成本函数可被用于确定和或调整一个或多个传感器的采样率。在一些用例情形中,使用传感器对环境进行采样和分析可能是计算密集的任务。如上文所解释的,成本函数可确定执行和或不执行动作诸如传递消息的成本。通过使用此类确定,系统可增加或减少提供与动作相关的数据的一个或多个传感器的采样率。例如,在动作包括经由在输出设备上输出消息来通知用户的情况下,可至少部分地基于与禁止输出消息例如,不通知相关联的成本的大小来增加或减少传感器速率。在一些示例中,一个或多个成本函数可被用于定制通知的递送的类型和或方式。在一个示例中,成本函数可确定消息的不通知的成本可能非常高。例如,用户可以与系统建立规则,即包含单词“幼儿baby”的任何消息都被分配最高的、至关重要的状态。因此,在消息包括单词“幼儿baby”的情况下,成本函数可确定不通知的成本非常高,并且相应地可经由用户家中所有可用的扬声器以高音量广播该消息。现在参考图15,提供了根据本公开的各示例的阈值更新模块810的示意性表示。在不同的示例中,阈值更新模块810可以是智能数字助理系统20中的独立模块,或者可以是实体跟踪器100、解析器40或承诺引擎60的组件。在一些示例中,阈值更新模块810可被配置成修改可被用于解析实体数据832的阈值数据820。阈值数据820可包括实体标识阈值822、实体位置定位阈值824和实体状态阈值826。这些阈值中的每一者可被定义为概率。当确定实体身份、定位或状态具有超过该实体身份、定位或状态的阈值概率的检测概率时,可指示和或记录对该实体身份、定位或状态的检测。阈值数据820可由阈值更新模块810更新以产生经更新的阈值数据850。经更新的阈值数据850可包括经更新的实体标识阈值852、经更新的实体定位阈值854和经更新的实体状态阈值856。阈值更新模块810可基于成本函数830、实体数据832、时间数据834和或用户输入836来更新阈值数据820。在一些示例中,成本函数830、实体数据832和时间数据834可以是图13的成本函数620、实体数据630和时间数据650。在一些示例中,阈值更新模块810可基于成本函数830的修改来更新阈值数据820。如上文所描述的,成本函数830可被配置成确定针对可能被传达以便输出的消息的通知的成本和不通知的成本。在一些示例中,可响应于用户输入836对成本函数830进行修改。例如,睡眠不足的用户可输入当确定该用户正在睡觉时增加通知的成本的输入。结果,阈值更新模块810可减小用于确定用户正在睡觉的用户状态阈值826。在一些示例中,用户可输入直接更新阈值数据820的输入836。阈值更新模块810还可基于实体数据832更新阈值数据820。如上所述,实体数据832可包括实体标识数据、实体定位数据和或实体状态或活动数据。在一个示例中,阈值数据820可包括实体标识阈值822和实体定位阈值824以用于检测儿童和成人两者同时在热炉附近。阈值更新模块810可接收指示儿童独自在热炉附近的实体数据832。作为响应,阈值更新模块810可将对应的实体标识阈值822和实体定位阈值824修改为更低。在一些示例中,阈值更新模块810还可基于时间数据834更新阈值数据820。时间数据可包括时间、日期和或从输出特定输入以来或从已经接收到特定输入以来已经过去的至少一个时间间隔。例如,当时间数据834指示现在是夜间时,针对睡眠的实体状态阈值826可能会被降低。图16中提供了用于更新阈值数据的方法900的流程图。参考本文描述的软件和硬件组件提供针对方法900的以下描述。将理解,方法900还可在使用其他合适的硬件和软件组件的其他上下文中来执行。在902处,方法900可包括接收一组阈值数据。阈值数据可包括一个或多个概率阈值,高于该概率阈值就可注册对用户、用户定位或用户活动的检测。在904处,方法900可包括接收对成本函数的修改。在906处,方法900可包括接收实体数据,其可包括实体标识数据、实体位置定位数据和或实体状态数据。在908处,方法900可包括接收时间数据,该时间数据可包括时间、日期和或从产生特定输出或接收到特定输入以来已经过去的至少一个时间间隔。在910处,方法900可包括接收用户输入。在912处,方法900可包括通过至少部分地基于成本函数修改、实体数据、时间数据和或用户输入来修改接收到的阈值数据来产生经更新的阈值数据。将理解,方法900是以举例方式提供的,并且不旨在为限制性的。因此,可以理解,方法900可包括相对于图16中例示的那些步骤而言附加的和或替换的步骤。此外,应当理解,方法900可以以任何合适的顺序来执行。此外,应当理解,在不脱离本公开的范围的情况下,可以从方法900中省略一个或多个步骤。在一些示例中,智能数字助理系统20可训练用户以最小化歧义的方式与系统交互。例如,系统可以以训练特定用户使用更清楚地传达用户意图的单词或短语对系统说话的方式来定制对该特定用户的响应、询问和其他交互。以此方式,可以最小化来自系统的用于澄清歧义的后续询问。在一个示例中,如果用户有两个名为弗莱德琼斯和史密斯的联系人,并且此用户经常告诉系统“打电话给弗莱德”,系统可能会提供建议,“当您想打电话给您联系人中的一个弗莱德时,使用他的姓氏也会很有帮助”。在一些示例中,智能数字助理系统20可定制用户界面以提供用于收集可被使用以增强用户体验的用户数据的附加机会。在一些示例中,此类数据可以与机器学习技术一起使用以学习用户偏好并根据此类信息作出预测。在一个示例中,在用户利用提供提醒的日历应用的情况下,系统可提供用户界面、或者可修改现有用户界面,以收集关于该用户的有用数据。例如,当提供提醒时日历应用可提供两个默认选项:解除和小睡,其中小睡时段可按几个5分钟的增量进行选择。在一些示例中,智能数字助理系统20可能会修改提醒用户界面以显示具有不同标签的两个不同的小睡选择器——“不要现在,我在忙NotNowI'mBusy”和“不要现在,这不重要Notnow,it’snotimportant”。因此,当用户选择这些更详细的选择器中的其中一者,系统可能会了解该用户;即,该用户认为哪些活动、人员、会议类型等“不重要”或会使用户“忙碌”。以此方式,此类信息帮助系统对该用户了解更多。随着此类数据随着时间的推移被收集起来,机器学习技术可被用于更好地理解用户偏好和其他属性。在其他示例中,可收集许多其他类型的数据图像、音频、生理学等,同时提供定制的用户界面体验以更了解用户。现在参考图17-21,例示了智能数字助理系统20在单个计算设备和跨多个计算设备中的附加示例实现。下文参考图26描述在图17-21中例示的关于计算设备的组件和计算方面的附加细节。图17示出了一体化计算设备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提供诸如音频信号之类的输出。图18示出了一个示例实现,其中一个或多个远程服务170执行智能数字助理系统20的自然语言处理功能。在此示例中,话音监听器30、解析器40、意图处理器50、实体跟踪器100和承诺引擎60驻留在被定位在远离支持云的用户设备A的位置处的诸如一个或多个服务器之类的一个或多个计算设备上。来自用户设备A的一个或多个传感器22的传感器数据经由网络被提供给诸远程服务170。例如,用户讲话的音频数据可被用户设备A的话筒捕捉并被提供给话音监听器30。如上文所描述的,话音监听器30、解析器40和意图处理器50协作以将音频数据转换为被存储在承诺引擎60中的承诺。在上下文适当的时间,承诺引擎60可执行承诺并向用户设备A的一个或多个输出设备70提供诸如音频信号之类的输出。图19示出了另一示例实现,其中一个或多个远程服务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的所有自然语言处理模块,如图18的示例中所示的。在其他示例中,一个或多个远程服务170可包括少于所有的自然语言处理模块,并可通信地耦合到位于一个或多个其他服务处的其他模块。在本示例中,并且如下文更详细地描述的,远程服务170中的一个或多个还可包括设备选择器174,该设备选择器174可利用传感器输入来选择输出设备B、D和或G以接收来自承诺引擎60的输出。现在参考图20,在一些示例中,本公开的智能数字助理系统20可利用设备选择器174来使用户能够与其位置可能对用户来说是未知的另一个人通信。在一些示例中,系统可使用传感器数据和或对应的上下文数据来检测该存在并确定另一个人的位置。在接收到来自用户的对另一个人说话或定位另一个人的请求时,设备选择器174可选择适当的输出设备以在用户和另一个人之间建立通信。在图20的示例用例中,实现智能助理系统20的一个或多个远程服务170与智能电话190和膝上型计算机192通信地耦合。在一个示例中,智能电话190包含包括话筒的多个传感器A,以及采用扬声器形式的输出设备A。智能电话190可以与用户一起被定位在她家的用户地下媒体室中。膝上型计算机192包含包括话筒和网络摄像头的多个传感器B,以及采用扬声器形式的输出设备B。膝上型计算机192可位于家的楼上卧室中。智能电话190的用户可能希望与她的女儿通信,但可能不知道她在家中的当前位置。女儿可能和另外两个朋友在楼上卧室中。用户可以说出自然语言输入以指示她想要与她的女儿通信。例如,用户可以说出“给我接莎拉ConnectmetoSarah”。用户的智能电话190中的话筒可接收自然语言输入并将其发送到远程服务170以供上文描述的话音监听器30和智能数字助理系统20的其他组件进行处理。在确定用户的意图时,承诺引擎60可从实体跟踪器100请求包括用户的女儿莎拉的位置的上下文信息110。作为响应,实体跟踪器100可利用来自膝上型计算机192的网络摄像头的视频数据来标识网络摄像头视野中的莎拉。实体跟踪器100可使用其他上下文信息来确定膝上型计算机192并因此女儿莎拉位于楼上卧室中。通过使用此信息,设备选择器174可将用户的智能电话190的话筒和扬声器与膝上型计算机192的话筒和扬声器通信地耦合,并从而允许用户与她的女儿交谈。在其他示例中并且如上文描述的,一个或多个其他类型的传感器和对应的数据可被用于定位人或其他实体。各示例包括仅音频数据、视频和音频数据的组合、设备登录数据、以及前述和其他传感器数据的其他组合。在一些示例中,可在检测到用户口述的一个或多个关键字时激活智能数字助理系统20的一个或多个功能。例如,短语“嘿计算机HeyComputer”可被用作关键词短语以激活系统的一个或多个功能。现在参考图21,在一个示例中,采用话筒形式的一个或多个传感器22可接收用户说“嘿计算机,今晚的学校董事会几点开会Heycomputer,whattimeistheschoolboardmeetingtonight?”的音频数据。如上文所描述的,话音监听器30可将音频数据处理为文本和置信值,并将此信息传递给解析器40。解析器40中的关注激活器32可标识文本中的关键字短语“嘿计算机”。作为响应,解析器40可激活或修改智能数字助理系统20的其他组件和功能。例如,解析器40可增加语音识别模块的采样率以增加可能的后续用户的语音的识别准确度。如上所述,在处理用户的自然语言输入的音频数据时,承诺引擎可向一个或多个输出设备诸如扬声器和或视频显示器提供输出。在一些示例中,单个设备可包括捕捉用户输入的话筒其中此类输入被提供给智能数字助理系统20,以及接收并广播由系统响应于输入而生成的消息的扬声器。在一些示例中,用户可处于具有可捕捉用户语音的两个或更多个话筒和或可广播由系统响应于该语音而生成的消息的两个或更多个扬声器的环境中。例如,用户可能与他的电话、膝上型计算机、平板计算机和智能连接电视一起位于他的媒体室中。这些设备中的每一者都可包含智能数字助理系统20或与智能数字助理系统20通信地耦合。用户可以说出由4个设备中的每一者的话筒捕捉的关键字短语。因此,由智能数字助理系统20生成的相应消息可能被所有4个设备中的扬声器广播,这可能会使用户烦恼。如下文更详细地描述的,在涉及多个传感器、输出设备和或其他设备的一些示例中,智能数字助理系统20可被配置成确定多个话筒中的哪个用于接收用户语音和或多个扬声器中的哪个用于广播相应消息。在一些示例中并且如下所述,聚合器可评估和权衡多个度量以确定要使用哪些话筒和扬声器。现在参考图22,提供了响应于多设备环境中的话音激活的传感器和输出设备选择的示例实现。在此示例中,实现智能数字助理系统20的一个或多个远程服务170可从三个不同设备的三个不同话筒A、B和C接收音频数据,诸如移动电话176、平板计算机178和一体化智能助理设备180。三个设备附近的用户可以说出关键字短语,诸如“嘿计算机HeyComputer”。话筒A、B和C中的每一者可捕捉说出此短语的用户的音频数据,并可将音频数据发送给话音监听器30。如上文所描述的,话音监听器30可利用语音识别技术将口述话语翻译成文本。话音监听器30还可将诸置信值分配给经翻译的文本。在一些示例中,话音监听器30可包括关键字检测算法,该关键字检测算法被配置成标识经翻译的文本中的关键字或关键字短语。话音监听器30可向文本分配置信值,该置信值指示文本是关键字或关键字短语的似然性。在一些示例中,聚合器182可评估与从不同的各个体话筒和或从不同的话筒阵列接收到的与多个用户音频数据流相关的多个度量。如下文更详细地描述的,聚合器182可利用这些度量来选择音频数据流中的一个及其对应的诸话筒以用于与用户交互。在一些示例中,可选择被确定为最接近用户的诸话筒。在一些示例中,可选择被确定为提供最高质量音频数据的诸话筒。在一些示例中,提供最高质量音频数据的诸话筒可被确定为最接近用户的诸话筒,并因此可选择诸话筒。当已经选择话筒时,设备选择器174可选择与此话筒相关联的扬声器以向用户输出响应。例如,在话筒是包括扬声器的设备的组件的情况下,可选择此扬声器。在话筒是独立话筒的情况下,聚合器182可选择用户附近的另一个扬声器以输出响应。在图22的示例中,聚合器182位于实现智能数字助理系统20的至少一部分的远程服务170中的一者上。在其他示例中,聚合器182可位于另一计算设备上,诸如在另一基于云的服务中。在一个用例示例中,聚合器182可利用4个度量来评估接收到的用户音频数据流:1接收到的音频信号的幅度音量;2音频信号的信噪比SN;3指示数据流包含关键字或关键字短语的似然性的关键字置信值;以及4指示发言者是特定人的似然性的用户标识置信值。在一些示例中,可利用音频数据流接收幅度和或SN值。在其他示例中,幅度和或SN值可由话音监听器30或智能数字助理系统20的其他组件确定。如上文所描述的,关键字置信值可由话音监听器30确定。同样如上文所描述的,用户标识置信值可由实体跟踪器100确定。在一些示例中,说出输入的用户可被话音识别标识为已知的发言者或未知的发言者,并被分配相应的置信水平。可通过将用户语音的信号电平与背景噪声的电平进行比较来计算接收到的音频输入的SN比。在一些示例中,输入的幅度可被用于确定用户与对应话筒的邻近度。应当理解,本实现中讨论的度量是作为示例提供的,并不意味着是限制性的。每个接收到的音频数据流还可包括标识提供该数据流的特定设备或独立传感器的设备ID。在一些示例中,在从第一设备或传感器接收到第一组度量之后,聚合器182可停顿预定的时间段以确定是否一个或多个其他设备传感器也从与第一组度量中标识的用户相同的人处接收到关键字或关键字短语。例如,聚合器182可停顿0.5秒、1.0秒或不会对用户造成负面用户体验的任何其他时间长度。在本示例中并且如图22所示,聚合器182评估从移动电话176、平板计算机178和一体化智能助理设备180接收到的音频数据流的度量。对于每个设备,聚合器182可将4个度量组合成单个可选择性分数,诸如通过对4个度量进行平均。在一些示例中并且在组合之前,可通过依经验确定的权重对每个度量进行加权,权重反映了度量在预测将提供最佳用户体验的设备话筒和对应的音频数据流方面的准确度。通过比较每个设备话筒及其数据流的可选性分数,聚合器182可标识并选择期望的设备数据流。在一个示例中,对于4个度量中的每一者,聚合器178可比较每个设备话筒的分数并根据每个度量对设备话筒进行相应的排序。例如,聚合器178可确定从移动电话176的话筒A接收到的音频数据流的以下分数:190%幅度;290%SN;330%关键字置信度;490%发言者ID。从平板计算机178的话筒B接收到的音频数据流的分数可以是:180%幅度;280%SN;380%关键字置信度;480%发言者ID。从智能助理设备180的话筒C接收到的音频数据流的分数可以是:192%幅度;288%SN;390%关键字置信度;492%发言者ID。在此示例中,针对4个度量中每一者的3个设备的排名如下:A.幅度-1.智能助理设备;2.移动电话;3.平板计算机。B.信噪比-1.移动电话;2.智能助理设备;3.平板计算机。C.关键字置信度-1.智能助理设备;2.平板计算机;3.移动电话。D.扬声器ID-1.智能助理设备;2.移动电话;3.平板计算机。每个设备可基于其在每个度量类别中的排名来奖励积点。例如,排名第一名=1积点、第二名=2积点、而第三名=3积点。对于每个设备,其点数为4个度量的总计并取平均值。聚合器182选择具有最低平均积点总数的设备和相应的数据流。在本示例中,最后的积点总数和排名是:1.智能助理设备=1.25;2.移动电话=2.0;3.平板计算机=2.75。因此,聚合器178从智能助理设备180n中选择数据流以供智能数字助理系统20继续分析。附加地,并且基于上述排名,设备选择器174可选择智能助理设备180以接收由承诺引擎60生成的诸消息作为分析结果。在一些示例中,在上述智能助理设备180的聚合器182的选择之际,聚合器还可使得其他两个设备禁止发送与同一发言者ID即,人相关联的音频数据流,该同一发言者ID与经分析的数据流相关联。以此方式,当同一用户在初始输入后提供更自然的语言输入时,仅所选择的智能助理设备180将相应的音频数据提供给诸远程服务170。在一些示例中,当同一人说出关键字或关键字短语时,其他两个设备可恢复发送音频数据流。在这些情况下,可再次执行上述选择过程以确定所选择的设备。在一些示例中并且如上所述,在对奖励积点进行平均之前,每个积点奖励可被乘以依经验确定的加权值,该加权值反映了度量在预测将提供最佳用户体验的设备和相应音频数据流方面的准确度的。在一些示例中,一个或多个机器学习技术可被用于构建用于计算不同度量的模型。在一些示例实现中,信号幅度可能与用户距接收该用户的语音的话筒的距离高度相关。SN比还可提供针对用户与话筒的距离的良好指示符,因为较低的噪声值可能与用户离话筒较近有关。在信号幅度和信号的SN比两者都相对较高的情况下,扬声器ID精度可相应地受益于强信号。应当理解,上文描述的方法和用例仅仅是示例,并且许多变型是可能的。例如,上述4个度量的子集可被用于评估用户音频数据流。在其他示例中,还可使用一个或多个附加度量。在一些示例中,先前已经经由多个设备中的所选设备与智能数字助理系统20建立了对话的用户在开始与同一设备的下一次对话之前可能有短暂的停顿。系统可将停顿的持续时间与预定时间段进行比较,并且可以在为下一次对话选择设备时考虑该比较。例如,在停顿的持续时间小于预定时期段诸如5秒的情况下,系统可能包括最近建立的扬声器ID和设备确定分析中存在的先前对话,作为为下一次对话选择同一设备的基础。上文描述的示例包括识别可听见的关键字以激活智能数字助理系统的一个或多个功能。在一些示例中,可通过识别一个或多个其他信号来激活系统的功能。此类信号可包括例如由相机捕捉的用户姿势、用户眼睛注视、和用户的面部方向。在一些示例中,用于设备选择的上文描述的技术中的一个或多个可被用于基于一个或多个因素自动地更新所选择的设备。例如,在用户经由第一设备与智能数字助理系统20通信的情况下,当用户改变她的定位并且远离第一设备移动时,系统可相应地将所选择的设备改变为更靠近用户的新定位的第二设备。在一些实现中,除了来自一个或多个图像传感器的音频数据之外,可使用成像数据来选择设备。例如,从实体跟踪器100接收到的上下文数据110可包括可被用于选择设备的成像数据。成像数据的各示例可包括来自RGB相机的视频、来自IR相机的红外图像、来自深度相机的深度图像、来自热相机的热图像等。例如,RGB相机可跟踪用户在房间内的定位。来自相机的图像可被用于选择适当的设备话筒以接收用户的自然语言输入、和或选择适当的扬声器以向用户广播消息。在一些示例中并且参考上文描述的设备选择技术,可包括成像数据和相关参数作为由聚合器182分析以确定设备选择的度量。在一些示例中,捕捉到的用户图像可被用于标识用户说话时正面向哪个设备。在一些示例中,诸如面部检测之类的指示符可被用于标识用户。在一些示例中,经捕捉的视频可指示可被用于将口头关键字与用户相关联的用户的嘴唇移动。在具有多个用户的环境中,此类指示符还可标识正在处理设备的特定用户。如此,话音和物理识别两者都可被用作参数以将一用户与多个用户区分开来。可用于选择设备话筒和或扬声器的输入的其他示例包括雷达信号和激光雷达信号。在一些示例中,来自经连接的设备的信号可指示用户正在与该设备进行交互。在一个示例中,用户可经由指纹识别来激活移动电话。这种交互可以是用户出现在电话定位出处的强烈指示符。现在将为多于一个用户与智能数字助理系统20交互的场景提供示例的附加描述。如上文所讨论的,可使用若干信号和通信方法来激活智能数字助理系统20的一个或多个功能。在一些示例中,当系统20的话音监听器30通过诸如话筒24之类的传感器设备接收音频输入130并在音频输入130中识别出第一用户的语音时,智能数字助理系统20与第一用户之间的对话可被发起。现在参考图3,在一些示例中,话音监听器30的语音识别程序120可由处理器128执行以对音频输入130中的第一用户的语音执行发言者感知的语音到文本转换。自然语言语音形式的音频输入130可以由话筒24捕捉并由音频处理器134处理以创建音频数据。来自音频处理器134的音频数据可由特征提取器136变换成数据以供语音识别程序120的语音识别引擎140处理。使用特征提取器136和语音识别引擎140,语音识别程序120可处理特征向量142和其他语音识别数据148以生成经识别的文本66。基于第一用户的因发言者而异的文本输出,意图处理器50可由处理器128执行以确定第一用户正在对系统说话。当参与与第一用户的对话时,系统可利用诸如扬声器72之类的输出设备70将音频输出传递给第一用户。在一些示例中,本公开的智能数字助理系统20可接收音频输入130以在第一用户是在话筒24附近发言的多个用户之一的情况下发起对话。如上文所描述的,识别预定的可听关键字通常被用于激活智能数字助理系统20;然而,应当理解,系统20可通过识别一个或多个其他信号被激活,包括用户姿势、用户眼睛注视、和或用户的面部方向。现在参考图2和7,实体跟踪器100可解释和评估从一个或多个传感器接收的传感器数据等信号,以确定一个或多个检测到的实体的身份、位置和或状态。在包括多个实体或用户的示例环境中,实体跟踪器100可由处理器128执行以处理传感器数据以便标识激活系统20的用户。此类参数可包括但不限于语音识别、注视检测和或运动检测。附加地或替换地,处理器128可以通过对音频输入130执行发言者分割聚类diarization并确定激活系统20的是第一用户来确定该第一用户正在对智能数字助理系统20说话。发言者分割聚类根据发言者身份将音频输入分成片段。如上文所讨论的,实体跟踪器100可接收此类语音片段并使用音频处理技术来标识活动用户。如图10中描述的,实体跟踪器100可进一步利用经训练的语音识别引擎402来将特定音频音段与特定用户匹配并标识正在发言的用户。如图23中例示的,在一些实现中,本公开的智能数字助理系统20可在音频输入130中同时识别出第二用户的自然语言语音时参与与第一用户的对话。例如,系统20可在音频输入130中检测到第二用户的语音时通过话筒24参与与第一用户的对话。在此类场景中,处理器128可执行意图处理器50以处理第二用户的经识别的语音以确定上下文和对应的意图。根据第二用户的经识别的语音的上下文和意图,处理器128可执行对话解缠模块54以根据与第一用户的并发对话的状态,响应于第二用户的经识别的语音的音频输入130来选择和执行预定的对话解缠动作。如下文详细讨论的并且参考图24和25,提供了经选择的预定对话解缠动作的示例。应当理解,所描述的实现本质上是示例性的,并且解缠动作可以包括但不限于本文所讨论的各示例。将进一步理解,虽然本文讨论的各示例包括第一用户和第二用户,但是智能数字助理系统20可能以需要执行一个或多个对话解缠动作的方式识别来自两个以上的用户的语音。例如,当系统20参与与第一用户的对话时,可在音频输入130中同时识别一个或多个附加用户诸如第三用户、第四用户、第五用户等的自然语言语音。在一些示例中,当在音频输入130中识别出来自一个或多个附加用户的语音时,系统20可以参与与一个或多个用户的对话。在此类场景中,处理器128可执行意图处理器50以处理一个或多个附加用户的经识别的语音以确定一个或多个附加用户中的每一个的上下文和对应的意图,并且对话解缠模块54可被执行以根据一个或多个附加用户中的每一个的上下文选择并执行一个或多个预定的对话解缠动作。由于计算机系统对来自不同用户的音频输入进行序列化处理,用户的顺序可能会根据解缠动作而改变。例如,当系统执行意图并完成与第二用户B的对话时,第一用户A可能被指示等待。当系统参与与第二用户B的对话时,可识别第三用户C的语音,从而创建用户B相对于用户C处于第一用户的位置以根据用户C的经识别的语音选择和执行对话解缠动作的情况。在一些实现中,意图处理器50可确定第二用户的经识别的语音没有指向智能数字助理系统20或指向第一用户。在此类情况下,解缠动作可以是通过将第二用户的语音分类为与辨析与第一用户的对话无关来忽略该第二用户的语音。忽略第二用户的语音可有效地将语音视为无关的背景噪声,因此不存储任何副本供以后处理,也不试图使用第二用户的语音来辨析第一对话的含义。在一些实现中,意图处理器50可确定与第一用户的对话相对于第二用户的经识别的语音满足优先级阈值,并且输出指示第二用户停止发言并等待直到被提示继续发言的音频指令。在与第一用户的对话可能超过预定时间阈值的情况下,解缠动作可以是输出指示第二用户停止发言并稍后尝试重新发起对话的音频指令。当与第一用户的对话完成时,智能数字助理系统20可发出可听提示以尝试重新发起与第二用户的对话。在一些实现中,第一用户可参与与第二用户的侧边栏对话。这里,处理器128可识别出第二用户正参与与第一用户的侧边栏对话,并且解缠动作可以是将侧边栏对话存储为第一用户对话的上下文。如上文所讨论的,与第一用户的对话可激活具有多个槽的意图模板。可根据从第一用户和第二用户之间的侧边栏对话导出的上下文来填充经激活的意图模板的一个或多个槽。附加地或替换地,处理器128可识别出第二用户正在参与与不是第一用户的另一实体或用户的对话。在此情况下,侧边栏对话也可被存储为用于与第二用户的潜在未来交互的上下文,但是用于与第一用户对话的经激活的意图模板的任何槽都不会根据第二用户与非第一用户的另一用户或实体之间的侧边栏对话导出的上下文被填充。在一些实现中,第一用户可在第一设备上参与与系统的对话,并且智能数字助理系统可检测第二用户附近的第二经连接的设备。因此,解缠动作可以是输出指示第二用户在第二设备上参与与系统的第二对话的音频指令。在一些实现中,第二用户的经识别的语音可包括诸如指示紧急请求的声音音调或短语之类的触发器数据。因此,处理器可确定第二用户的经识别的语音的上下文满足大于与第一用户的对话的上下文的优先级阈值。在此类情形中,解缠动作可以是暂停与第一用户的对话以便参与与第二用户的第二对话。在一些实现中,可结合同与第一用户的对话相关联的承诺的履行来识别第二用户的语音。在此情况下,处理器128可确定与第一用户的对话完成。因此,解缠动作可以是结束与第一用户的对话并随后参与与第二用户的第二对话。现在参考图24,根据本公开的各示例,提供了用于在与第一用户的并发对话的音频输入130中解决第二用户的经识别的语音的方法1000的流程图。参考本文描述的软件和硬件组件提供针对方法1000的以下描述。将理解,方法1000还可在使用其他合适的硬件和软件组件的其他上下文中来执行。此外,虽然方法1000的各框是以特定序列被描述和例示的,但在不同的示例中,执行的顺序可能会变化。在一些示例中,框中的一个或多个可能不被执行。在1002处,方法1000可包括通过至少一个话筒接收音频输入。如上文所描述的,可通过诸如一个或多个话筒之类的传感器捕捉自然语言语音形式的音频输入。在1004处,方法1000可包括在音频输入中识别出第一用户的语音。如上文所描述的,可由音频处理器处理自然语言语音形式的音频输入以创建音频数据。在1006处,方法1000可包括对音频输入中的第一用户的语音执行发言者感知的语音到文本转换,从而输出针对第一用户的因发言者而异的文本。如上文所描述的,话音监听器的语音识别程序可由处理器执行以处理特征向量和其他语音识别数据以将口述话语的音频数据翻译成文本。在1008处,方法1000可包括基于针对第一用户的因发言者而异的文本来确定第一用户正在对智能数字助理系统说话。如上文所描述的,话音监听器的语音识别程序可确定语音识别数据的一个或多个部分的经估计的置信值,其可被用于定义相应的经识别的文本是准确的统计似然性。话音监听器还可从实体跟踪器接收上下文信息以指示第一发言者的身份。在1010处,方法1000可包括参与与第一用户的对话。如上文所描述的,智能数字助理系统的解析器可利用上文描述的置信值来处理经识别的文本并确定第一用户的意图,其可包括指示第一用户正在尝试发起与系统的对话的关键字或短语。解析器可利用多个意图模板来处理第一用户的意图并参与与第一用户的对话。在1012处,方法1000可包括在第一用户参与与系统的对话的同时,在音频输入中识别出第二用户的语音。如上文所描述的,可在与第一用户的对话的音频输入中检测到第二用户的语音。在1014处,方法1000可包括处理第二用户的经识别的语音以确定上下文。如上文所描述的,处理器可执行意图处理器以处理第二用户的经识别的语音以确定上下文和对应的意图。在1016处,方法1000可包括根据第二用户的经识别的语音的上下文执行预定的对话解缠动作。如上文所描述的,处理器可执行对话解缠模块以根据第二用户的经识别的语音的上下文和意图并参考与第一用户的并发对话的状态以响应于第二用户的经识别的语音的音频输入来选择和执行预定的对话解缠动作。在1018处,方法1000可包括通过扬声器发出音频输出。如上文所描述的,智能数字助理系统可根据经选择的解缠动作向第一或第二用户输出音频消息。现在参考图25,提供了根据本公开的各示例的用于选择预定解缠动作的方法1100的流程图。参考本文描述的软件和硬件组件提供针对方法1100的以下描述。将理解,方法1100还可在使用其他合适的硬件和软件组件的其他上下文中来执行。此外,虽然方法1100的各框是以特定序列被描述和例示的,但在不同的示例中,执行的顺序可能会变化。在一些示例中,框中的一个或多个可能不被执行。如下文参考图25详细描述的,针对用例场景描述了各种示例,其中系统可执行预定的对话解缠动作以在音频输入流中识别出来自多于一个用户的语音时适当地响应每个用户。在此类场景中,意图处理器可确定执行与第一和第二用户相关联的意图的顺序。可通过分析第一和第二用户的话语来建立执行的顺序,以评估诸如优先级阈值、复杂性和或执行效率之类的意图参数。在1110处,方法1100可包括在并发地参与与第一用户的对话时,响应于在音频输入中识别出第二用户的语音来执行对话解缠模块。当识别出第二用户的语音时,处理器可执行意图处理器以处理第二用户的语音以确定上下文。处理器可然后执行对话解缠模块以根据第二用户的经识别的语音的上下文选择并执行预定的对话解缠动作。对话解缠模块可评估一系列的参数以确定适当的解缠动作。如图25所示,为了便于理解,在一系列问题中描述了对参数的评估。在1112处,方法1100可包括识别出第二用户正在参与与第一用户的侧边栏对话。如果确定这是真的,则方法1100可进一步评估侧边栏对话的上下文是否同与第一用户的对话相关,如1114所示。如果确定侧边栏对话的上下文同与第一用户的对话相关,则方法1100可前进到1116并进一步包括将侧边栏对话存储为第一用户对话的上下文。例如,第一用户可以参与与系统的对话并指示系统“定位附近的餐馆locatenearbyrestaurants”。第二用户可然后说出相关的短语,诸如“我感觉喜欢意大利菜IfeellikeItalian”,或仅仅说出感叹词,诸如“意大利Italian”。因此,解缠动作可以是识别出第二用户正在参与与第一用户的侧边栏对话并将侧边栏对话存储为第一用户对话的上下文,如1116所示。与第一用户的对话可激活具有多个槽的意图模板,并且可根据从第一用户和第二用户之间的侧边栏对话导出的上下文来填充经激活的意图模板的一个或多个槽。例如,在餐馆搜索对话模板中,其中一个槽可以是烹饪类型,并且意大利Italian可被放置在该模板的此槽中。在此示例中,系统可通过输出附近的意大利餐馆的列表来进行响应。如上文所讨论的,系统还可识别参与与不是第一用户的实体或用户的侧边栏对话的第二用户的语音。虽然第二用户与不是第一用户的实体或用户之间的侧边栏对话可被存储为用于将来对话的上下文,但是用于与第一用户对话的经激活的意图模板的任何槽都不会根据从第二用户与非第一用户的实体或用户之间的侧边栏对话导出的上下文被填充。如果在1114处,侧边栏对话的上下文未被确定为与第一用户的对话相关,则方法1100可替换地前进到1118并包括忽略第二用户的语音。例如,第一用户可以参与与系统的对话并指示系统“定位附近的餐馆locatenearbyrestaurants”。第二用户可然后说出不相关的短语,诸如“那是一棵漂亮的树that’saprettytree”。侧边栏的上下文可以被确定为与第一用户的并发对话无关,并且解缠动作可以是将第二用户的语音忽略为无关的背景噪声,如1118所示。如果在方法1100的1112处确定第二用户没有参与与第一用户的侧边栏对话,则该方法可前进到1120。在1120处,方法1100可包括确定第二用户的经识别的语音是否指向智能数字助理系统。如果确定第二用户没有对系统说话,则该方法可前进到1118并包括忽略第二用户的语音。意图处理器可确定与第二用户的经识别的语音相关联的上下文和意图同与智能数字助理系统的交互无关。在此类场景中,如上文所描述的,系统可将第二用户的经识别的语音处理为无关的背景噪声,并执行解缠动作以主动地忽略第二用户的语音。附加地或替换地,当第二用户的语音难以理解并不能被智能数字助理系统处理时,可触发忽略第二用户的解缠动作。如果在方法1100的1120处确定第二用户的经识别的语音指向智能数字助理系统,则该方法可前进到1122。在1122处,方法1100可包括确定第二用户的经识别的语音的上下文是否满足大于与第一发言者的对话的优先级阈值。如果确定第二用户的语音满足优先级阈值,则方法1100可前进到1124。在1124,方法1100可包括响应于确定第二用户的经识别的语音的上下文满足大于与第一用户对话的上下文的优先级阈值,暂停与第一用户的对话以便参与与第二用户的第二对话。在一些示例中,当在音频输入中识别出第二用户的语音时,第一用户可参与与智能数字助理系统的对话。意图处理器可由处理器执行以处理第二用户的经识别的语音的上下文以确定第二用户的相关联的意图的优先级阈值。如果确定第二用户的相关联的意图满足优先级阈值,则可将与第一用户的对话置于保持状态。在此场景中,第二用户的经识别的语音的上下文优先于与第一用户的对话,并且解缠动作是暂停与第一用户的对话以便参与与第二用户的第二对话。例如,当第二用户喊道“山姆从梯子上掉下来了,拨打911!Samfellofftheladder,call911!”时,第一用户可能正在参与与系统的关于当晚电视上播放什么节目的对话。意图处理器可确定与第二用户的经识别的语音相关联的意图满足或超过与紧急性相关的优先级阈值,并存储第一用户的不完整意图以执行第二用户的被优先化的意图。另一示例可包括第一用户进行复杂性质的第一对话诸如预订机票,而第二用户询问现在几点。意图处理器可确定与第二用户的经识别的语音相关联的意图满足或超过与效率相关的优先级阈值,并存储第一用户的不完整意图以执行第二用户的经优先化的意图。因此,意图的优先级阈值可通过但不限于与上下文、效率、复杂性、紧急性和或关键字诸如“911”有关的参数来确定。如果在方法1100的1122处确定第二用户的语音没有满足大于与第一用户的对话的优先级阈值,则方法1100可前进到1126。在1126处,该方法可包括确定与第一用户的对话是否完成。如果确定与第一用户的对话完成,则该方法可前进到1128。在1128处,方法1100可包括结束与第一用户的对话,并且随后参与与第二用户的第二对话。在一些示例中,当在音频输入中识别出第二用户的语音时,第一用户可与智能数字助理系统进行处于完成或接近完成的对话。意图处理器可由处理器执行以处理第二用户的经识别的语音的上下文以确定第二用户的相关联的意图不满足优先级阈值并可在与第一用户的对话结束时被解决。在此类场景中,解缠动作可以是结束与第一用户的对话并随后参与与第二用户的第二对话。例如,第一用户可能已经发出了快速且易于辨析的简单请求,诸如“现在几点whattimeisit?”当第二用户告诉系统“请告诉我明天我有什么约会letmeknowwhatmyappointmentsarefortomorrow”时,系统可能将要处于或正处于向第一用户发出音频响应的进程中。在此示例中,系统可有效率地执行第一用户的意图,并然后参与与第二用户的第二对话,并为第二用户激活不同的意图模板。如果在方法1100的1126处确定与第一用户的对话未完成,则方法1100可前进到1130。在1130处,方法1100可包括确定与第一用户的对话是否可被快速完成。如果确定与第一用户的对话可被快速完成,则方法1100可前进到1132。在1132处,方法1100可包括输出指示第二用户停止发言并等待直到被提示继续发言的音频指令。在一些示例中,当在音频输入中识别出第二用户的语音时,第一用户可参与与智能数字助理系统的对话,该对话易于执行,但需要附加信息来辨析有歧义的信息。意图处理器可由处理器执行以处理第二用户的经识别的语音的上下文以确定第二用户的相关联的意图可在与第一用户的对话结束时被解决。在此场景中,解缠动作可以是输出指示第二用户停止发言并等待直到被提示继续发言的音频指令。例如,第一用户可能已经指示智能数字助理系统“安排明天中午12点与凯蒂共进午餐SchedulelunchwithKatiefor12pmtomorrow”。但是,如果用户的联系人数据库包括多于一个的“凯蒂Katie”,则意图处理器可能会收到具有部分完成的带有名称“凯蒂Katie”的触发器槽的意图模板。因此,系统可能需要在填充意图模板中的触发器槽并存储相关联的承诺之前辨析第一用户所指的“凯蒂Katie”。在此场景下,可指示第二用户停止发言并等待即“挂起”,同时系统要求第一用户澄清他或她想要安排哪个“凯蒂”共进午餐,填充意图模板中有歧义的槽,并结束与第一用户的对话。当第一用户的对话被完成时,系统可然后发出音频输出以提示第二发言者参与对话。如果在方法1100的1130处确定与第一用户的对话不能被快速完成,则方法1100可前进到1134。在1134处,方法1100可包括确定附近是否存在第二经连接的设备。如果附近存在第二经连接的设备,则方法1100可前进到1136。在1136处,方法1100可包括当第一用户在第一设备上参与与系统的对话时,输出指示第二用户在第二设备上参与与系统的第二对话的音频指令。在一些示例中,当在音频输入中识别出第二用户的语音时,第一用户可与智能数字助理系统进行处于复杂和或耗时的对话。意图处理器50可由处理器128执行以处理第二用户的经识别的语音的上下文以确定第二用户的相关联的意图是时间敏感的但不满足优先级阈值。系统可然后评估环境以确定附近是否存在第二经连接的设备。如果定位了第二连接设备,则解缠动作可以是输出指示第二用户在第二设备上参与与系统的第二对话的音频指令。例如,第一用户可能已向系统发出命令以“支付我的账单paymybills”。此命令可能会导致包括多个意图模板和辨析的耗时且复杂的对话,因为第一用户解释要支付哪些账单以及要用哪个账单来支付它们。在此对话的同时,第二用户可告诉系统“我现在需要到艾米家的路线IneeddirectionstoAmy’shouserightnow”。优选地是不中断与第一用户的对话,并且系统标识出第二用户正持有经连接的智能电话。在此示例中,系统可通过智能电话向第二用户输出响应。如果在1134处确定附近不存在第二经连接的设备,则方法1100可包括输出指示第二用户停止发言并稍后尝试重新发起对话的音频指令。在一些示例中,当在音频输入中识别出第二用户的语音时,第一用户可与智能数字助理系统进行处于复杂和或耗时的对话。意图处理器50可由处理器128执行以处理第二用户的经识别的语音的上下文以确定第二用户的相关联的意图也很复杂、但并不紧急,并可在与第一用户的对话结束时被解决。在此场景中,解缠动作可以是输出指示第二用户停止发言并稍后尝试重新发起对话的音频指令。例如,第一用户可能已经指示智能数字助理系统“预订下周的航班makeairlinereservationsfornextweek”。当系统参与与第一用户的对话并主动辨析歧义以完成用于第一用户请求的意图模板时,第二用户可告诉系统“查找索尔的节目时间lookupshowtimesforThor”。可确定第二用户的经识别的语音需要更多信息来辨析歧义,但是还确定它不需要立即关注,即,满足优先级阈值。在此情况下,可指示第二用户停止发言并稍后尝试重新发起对话。通常,由系统执行对重新发起与第二用户的对话的尝试,诸如通过发出音频提示以让第二用户知道与第一用户的对话已完成。然而,应当理解,第二用户也可尝试重新发起对话。应当理解,上述示例场景本质上是示例性的,并且处理器128可执行对话解缠模块54以执行本文未描述的附加或替换对话解缠动作。应当进一步理解,尽管本文描述的各示例具体涉及在系统20参与与第一用户的对话时在音频输入130中识别出第二用户的语音,但是本文未描述的附加或替换情况也可触发执行对话解缠模块54。在一些实施例中,本文中所描述的方法和过程可以与一个或多个计算设备的计算系统绑定。具体而言,这样的方法和过程可被实现为计算机应用程序或服务、应用编程接口API、库、和或其他计算机程序产品。图26示意性地示出了可执行上述方法和过程中的一个或多个的计算系统750的非限制性实施例。以简化形式示出了计算系统750。计算系统750可采取一个或多个下列各项的形式:个人计算机、服务器计算机、平板计算机、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备例如,智能电话、和或其他计算设备。计算系统750包括逻辑处理器754、易失存储器758以及非易失存储设备762。计算系统600可任选地包括显示子系统766、输入子系统770、通信子系统774和或在图26中未示出的其他组件。逻辑处理器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、程序和应用专用集成电路PASICASIC、程序和应用专用标准产品PSSPASSP、片上系统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经由诸如互联网之类的网络将数据发送至其他设备以及从其他设备接收数据。下述段落提供了对本申请的权利要求的附加支持。一个方面提供了一种智能数字助理系统,包括:被配置成接收音频输入的至少一个话筒,被配置成发出音频输出的扬声器,以及处理器。处理器可被配置成参与与第一用户的对话,以及,在第一用户参与与系统的对话的同时,识别音频输入中的第二用户的语音。处理器可被进一步配置成处理第二用户的经识别的语音以确定上下文;以及根据上下文执行预定的对话解缠动作。在此方面,附加地或替换地,在参与与第一用户的对话时,处理器可通过话筒接收音频输入,在音频输入中识别出第一用户的语音,对音频输入中的第一用户的语音执行发言者感知的语音到文本转换,从而输出针对第一用户的因发言者而异的文本以及基于针对用户的因发言者而异的文本来确定第一用户正在对智能数字助理系统说话。在此方面,附加地或替换地,第一用户可以是在话筒附近发言的多个用户中的一个用户,以及处理器通过对音频输入执行发言者分割聚类并确定激活系统的是第一用户可确定第一用户正在对智能数字助理系统说话。在此方面,附加地或替换地,解缠动作可以是忽略第二用户的语音。在此方面,附加地或替换地,解缠动作可以是输出指示第二用户停止发言并等待直到被提示继续发言的音频指令。在此方面,附加地或替换地,解缠动作可以是输出指示第二用户停止发言并稍后尝试重新发起对话的音频指令。在此方面,附加地或替换地,处理器可识别出第二用户正参与与第一用户的侧边栏对话,并且解缠动作可以是将侧边栏对话存储为第一用户对话的上下文。在此方面,附加地或替换地,与第一用户的对话可激活具有多个槽的意图模板,以及可根据从第一用户和第二用户之间的侧边栏对话导出的上下文来填充经激活的意图模板的一个或多个槽。在此方面,附加地或替换地,第一用户可在第一设备上参与与系统的对话,并且解缠动作可以是输出指示第二用户在第二设备上参与与系统的第二对话的音频指令。在此方面,附加地或替换地,处理器可确定第二用户的经识别的语音的上下文满足大于与第一用户的对话的上下文的优先级阈值,以及解缠动作可以是暂停与第一用户的对话以便参与与第二用户的第二对话。在此方面,附加地或替换地,处理器可确定与第一用户的对话完成,并且解缠动作可以是结束与第一用户的对话并随后参与与第二用户的第二对话。在另一方面,提供了一种用于智能数字助理系统的方法。该方法可包括通过至少一个话筒接收音频输入并参与与第一用户的对话。在第一用户参与与系统的对话的同时,该方法可进一步包括识别音频输入中的第二用户的语音,处理第二用户的经识别的语音以确定上下文,根据上下文执行预定的对话解缠动作以及通过扬声器发出音频输出。在此方面,附加地或替换地,该方法可进一步包括在音频输入中识别出第一用户的语音,对音频输入中的第一用户的语音执行发言者感知的语音到文本转换,从而输出针对第一用户的因发言者而异的文本以及基于针对第一用户的因发言者而异的文本来确定第一用户正在对智能数字助理系统说话。在此方面,附加地或替换地,该方法可进一步包括通过将第二用户的语音分类为与辨析与第一用户的对话无关来忽略该第二用户的语音。在此方面,附加地或替换地,该方法可进一步包括输出指示第二用户停止发言并等待直到被提示继续发言的音频指令。在此方面,附加地或替换地,该方法可进一步包括识别出第二用户正参与与第一用户的侧边栏对话并将该侧边栏对话存储为第一用户对话的上下文。与第一用户的对话可激活具有多个槽的意图模板,并且可根据从第一用户和第二用户之间的侧边栏对话导出的上下文来填充经激活的意图模板的一个或多个槽。在此方面,附加地或替换地,该方法可进一步包括当第一用户在第一设备上参与与系统的对话时,输出指示第二用户在第二设备上参与与系统的第二对话的音频指令。在此方面,附加地或替换地,该方法可进一步包括确定第二用户的经识别的语音的上下文满足大于与第一用户的对话的上下文的优先级阈值,以及暂停与第一用户的对话以便参与与第二用户的第二对话。在此方面,附加地或替换地,该方法可进一步包括确定与第一用户的对话完成,结束与第一用户的对话以及随后参与与第二用户的第二对话。在另一方面,提供了一种智能数字助理系统。该智能数字助理系统可包括至少一个被配置成接收音频输入的话筒,被配置成发射音频输出的扬声器和处理器。处理器可被配置成参与与第一用户的对话,以及,在第一用户参与与系统的对话的同时,识别音频输入中的一个或多个附加用户的语音。处理器可进一步被配置成处理一个或多个附加用户的经识别的语音,以确定一个或多个附加用户中的每一个附加用户的上下文,以及根据一个或多个附加用户中的每一个附加用户的上下文执行一个或多个预定的会话解缠动作。应当理解,本文中所描述的配置和或办法本质上是示例性的,并且这些具体实施例或示例不应被视为具有限制意义,因为许多变体是可能的。本文中所描述的具体例程或方法可表示任何数目的处理策略中的一个或多个。由此,所解说和或所描述的各种动作可以以所解说和或所描述的顺序执行、以其他顺序执行、并行地执行,或者被省略。同样,以上所描述的过程的次序可被改变。本公开的主题包括各种过程、系统和配置以及此处公开的其他特征、功能、动作和或属性、以及它们的任一和全部等价物的所有新颖且非显而易见的组合和子组合。

权利要求:1.一种智能数字助理系统,包括:至少一个话筒,所述至少一个话筒被配置成接收音频输入;扬声器,所述扬声器被配置成发出音频输出;以及处理器,所述处理器被配置成:参与与第一用户的对话;在所述第一用户参与与所述系统的所述对话的同时,识别所述音频输入中的第二用户的语音;处理所述第二用户的经识别的语音以确定上下文;以及根据所述上下文执行预定的对话解缠动作。2.如权利要求1所述的智能数字助理系统,其特征在于,在参与与所述第一用户的对话时,所述处理器:通过所述话筒接收所述音频输入;在所述音频输入中识别出所述第一用户的语音;对所述音频输入中的所述第一用户的所述语音执行发言者感知的语音到文本转换,从而输出针对所述第一用户的因发言者而异的文本;以及基于针对所述用户的所述因发言者而异的文本来确定所述第一用户正在对所述智能数字助理系统说话。3.如权利要求2所述的智能数字助理系统,其特征在于,所述第一用户是在所述话筒附近发言的多个用户中的一个用户;以及所述处理器通过对所述音频输入执行发言者分割聚类并确定激活所述系统的是所述第一用户来确定所述第一用户正在对所述智能数字助理系统说话。4.如权利要求1所述的智能数字助理系统,其特征在于,所述解缠动作是忽略所述第二用户的语音。5.如权利要求1所述的智能数字助理系统,其特征在于,所述解缠动作是输出指示所述第二用户停止发言并等待直到被提示继续发言的音频指令。6.如权利要求1所述的智能数字助理系统,其特征在于,所述解缠动作是输出指示所述第二用户停止发言并稍后尝试重新发起对话的音频指令。7.如权利要求1所述的智能数字助理系统,其特征在于,所述处理器识别出所述第二用户正参与与所述第一用户的侧边栏对话,以及所述解缠动作是将所述侧边栏对话存储为所述第一用户对话的上下文。8.如权利要求7所述的智能数字助理系统,其特征在于,与所述第一用户的所述对话激活具有多个槽的意图模板,以及根据从所述第一用户和所述第二用户之间的所述侧边栏对话导出的所述上下文来填充所述经激活的意图模板的一个或多个槽。9.如权利要求1所述的智能数字助理系统,其特征在于,所述第一用户在第一设备上参与与所述系统的对话,并且所述解缠动作是输出指示所述第二用户在第二设备上参与与所述系统的第二对话的音频指令。10.如权利要求1所述的智能数字助理系统,其特征在于,所述处理器确定所述第二用户的所述经识别的语音的所述上下文满足大于与所述第一用户的对话的所述上下文的优先级阈值,以及所述解缠动作是暂停与所述第一用户的所述对话以便参与与所述第二用户的第二对话。11.如权利要求1所述的智能数字助理系统,其特征在于,所述处理器确定与所述第一用户的所述对话完成,并且所述解缠动作是结束与所述第一用户的所述对话并随后参与与所述第二用户的第二对话。12.一种用于智能数字助理系统的方法,所述方法包括:通过至少一个话筒接收音频输入;参与与第一用户的对话;在所述第一用户参与与所述系统的所述对话的同时,识别所述音频输入中的第二用户的语音;处理所述第二用户的经识别的语音以确定上下文;以及根据所述上下文执行预定的对话解缠动作;以及通过扬声器发出音频输出。13.如权利要求12所述的用于智能数字助理系统的方法,所述方法进一步包括:输出指示所述第二用户停止发言并等待直到被提示继续发言的音频指令。14.如权利要求12所述的用于智能数字助理系统的方法,所述方法进一步包括:识别出所述第二用户正参与与所述第一用户的侧边栏对话并将所述侧边栏对话存储为所述第一用户对话的上下文,其中与所述第一用户的所述对话激活具有多个槽的意图模板,以及根据从所述第一用户和所述第二用户之间的所述侧边栏对话导出的所述上下文来填充所述经激活的意图模板的一个或多个槽。15.如权利要求12所述的用于智能数字助理系统的方法,所述方法进一步包括:确定所述第二用户的所述经识别的语音的所述上下文满足大于与所述第一用户的对话的所述上下文的优先级阈值,以及暂停与所述第一用户的所述对话以便参与与所述第二用户的第二对话。

百度查询: 微软技术许可有限责任公司 智能数字助理系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。