使用隐式路由来创建模块化对话转让专利

申请号 : CN201880070467.X

文献号 : CN111279296A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : S·E·沃瑟克拉格E·L·M·比尔格瑞D·罗斯E·科恩

申请人 : 国际商业机器公司

摘要 :

一种将言语输入路由到多个处理程序之一的计算机实现的方法,包括使用适于执行代码的一个或多个处理器,所述代码适于:接收来自用户的言语输入,将多个言语内容识别器应用于所述言语输入,所述言语内容识别器中的每个言语内容识别器适于通过计算从所述言语输入提取的诸如由所述用户表达的意图和/或由所述用户指示的实体的一个或多个特征的匹配置信度值来评估所述言语输入与多个处理程序中的相应的处理程序的关联,并且基于由所述多个言语内容识别器计算的所述匹配置信度值将所述言语输入路由到所述处理程序中的一个选择的处理程序。所述选择的处理程序适于响应于言语输入而发起一个或多个动作。

权利要求 :

1.一种将言语输入路由至多个处理程序之一的计算机实现的方法,包括:使用适于执行代码的至少一个处理器,所述代码适于:

从用户接收言语输入;

将多个言语内容识别器应用于所述言语输入,所述多个言语内容识别器中的每个言语内容识别器适于通过计算从所述言语输入提取的至少一个特征的匹配置信度值来评估所述言语输入与多个处理程序中的一个相应的处理程序的关联,所述至少一个特征包括以下中的至少一个:由所述用户表达的意图和由所述用户指示的实体;

基于由所述多个言语内容识别器计算的所述匹配置信度值,将所述言语输入路由到所述多个处理程序中的一个选择的处理程序,所述选择的处理程序适于响应于所述言语输入而发起至少一个动作。

2.根据权利要求1所述的计算机实现的方法,其中所述言语输入包括由以下各项组成的组中的至少一个:文本言语输入和语音言语输入。

3.根据权利要求1所述的计算机实现的方法,还包括将所述言语输入划分成多个分段,并且根据由所述每个分段的所述多个言语内容识别器计算的所述匹配置信度值将所述多个分段中的每个路由到所述多个处理程序中的一个处理程序。

4.根据权利要求1所述的计算机实现的方法,其中通过根据为所述相应的处理程序定义的至少一个预定义特征来调整所述每个语言内容标识符以评估关联,将所述多个语言内容标识符中的每个语言内容标识符与所述多个处理程序中的一个相应的处理程序相关联。

5.根据权利要求1所述的计算机实现的方法,其中所述匹配置信度值指示所述至少一个特征匹配相应预定义特征的概率。

6.根据权利要求1所述的计算机实现的方法,其中所述意图是使用至少一个言语分析工具从所述言语输入提取的,所述意图是由以下各项组成的组:意图、目的、目标和目标。

7.根据权利要求1所述的计算机实现的方法,其中使用至少一个言语分析工具从所述言语输入中提取所述实体。

8.根据权利要求1所述的计算机实现的方法,还包括基于由所述多个言语内容识别器中的至少一个言语内容识别器提供的至少一个上下文属性来选择所述选择的处理程序。

9.根据权利要求8所述的计算机实现的方法,其中所述至少一个上下文属性包括以下各项中的至少一项:-使用至少一个语音分析工具提取的所述用户的情绪,

-使用至少一个语音分析工具提取的所述用户的情感,

-从至少一个位置检测工具获得的所述用户的地理位置,以及

-从至少一个先前言语输入提取的至少一个先前特征。

10.根据权利要求8所述的计算机实现的方法,还包括基于对由所述多个言语内容识别器中的至少一个言语内容识别器提取的至少一个强制性实体的检测来选择所述选择的处理程序,所述至少一个强制性实体被预定义为结合所述意图出现在所述言语输入中。

11.权利要求1所述的计算机实现的方法,还包括基于由所述多个言语内容识别器中的至少一个言语内容识别器提供的至少一个操作属性来选择所述选择的处理程序。

12.根据权利要求11所述的计算机实现的方法,其中所述至少一个操作属性包括以下各项中的至少一项:-阈值,

-所述相应的处理程序管理所述言语输入的能力,

-对由所述多个言语内容识别器中的至少一个言语内容识别器应用以提取所述至少一个特征的分析的描述,-与至少一个先前的言语输入相关的路由信息,以及

-从所述多个处理程序中的至少另一个处理程序获得的信息。

13.根据权利要求1所述的计算机实现的方法,还包括根据分配给所述多个言语内容识别器中的至少一些言语内容识别器的优先级来选择所述选择的处理程序。

14.根据权利要求1所述的计算机实现的方法,还包括过滤掉与呈现所述置信度值未超过预定义阈值的所述多个言语内容识别器中的一个言语内容识别器相关联的所述多个处理程序中的至少一个处理程序。

15.根据权利要求1所述的计算机实现的方法,还包括过滤掉由所述多个言语内容识别器中的相关联的一个言语内容识别器指示为不能管理所述言语输入的所述多个处理程序中的至少一个处理程序。

16.根据权利要求1所述的计算机实现的方法,还包括在通过所述多个言语内容识别器中的多个言语内容识别器计算类似的所述置信度值的情况下,将所述言语输入路由到所述多个处理程序中的一个最近的处理程序,所述最近的处理程序是在与所述多个言语内容识别器相关联的一组处理程序中先前言语输入被路由到的最近的处理程序。

17.根据权利要求1所述的计算机实现的方法,还包括在由所述多个言语内容识别器计算的所述置信度值未能超过预定义阈值的情况下,将所述言语输入路由到所述多个处理程序中的默认处理程序。

18.一种用于将言语输入路由至多个处理程序之一的系统,包括:

适于执行代码的至少一个处理器,所述代码包括:

用于从用户接收言语输入的代码指令;

用于将多个言语内容识别器应用于所述言语输入的代码指令,所述多个言语内容识别器中的每个言语内容识别器适于通过计算从所述言语输入提取的至少一个特征的匹配置信度值来评估所述言语输入与多个处理程序中的一个相应的处理程序的关联,所述至少一个特征包括以下中的至少一个:由所述用户表达的意图和由所述用户指示的实体;以及用于基于由所述多个言语内容识别器计算的所述匹配置信度值将所述言语输入路由到所述多个处理程序中的一个选择的处理程序的代码指令,所述选择的处理程序适于响应于所述言语输入而发起至少一个动作。

19.一种用于将言语输入路由至多个处理程序之一的计算机程序产品,包括:非瞬时性计算机可读存储介质;

用于从用户接收言语输入的第一代码指令;

用于将多个言语内容识别器应用于所述言语输入的第二代码指令,所述多个言语内容识别器中的每个言语内容识别器适于通过计算从所述言语输入提取的至少一个特征的匹配置信度值来评估所述言语输入与多个处理程序中的一个相应的处理程序的关联,所述至少一个特征包括以下中的至少一个:由所述用户表达的意图和由所述用户指示的实体;以及第三代码指令,用于基于由所述多个言语内容识别器计算的所述匹配置信度值来将所述言语输入路由到所述多个处理程序中的一个选择的处理程序,所述选择的处理程序适于响应于所述言语输入而发起至少一个动作;

其中所述第一、第二和第三程序指令由来自所述非瞬时性计算机可读存储介质的至少一个处理器执行。

说明书 :

使用隐式路由来创建模块化对话

背景技术

[0001] 本发明涉及将从用户接收的言语输入自动路由到言语内容处理程序,并且更具体地但非排他地涉及基于言语输入的内容和可选地上下文使用隐式路由将言语输入自动路由到言语内容处理程序。
[0002] 最近已经见证了自动化系统、平台和/或服务的开发、部署和使用的快速和主要进步。人机交互(HMI)可以是许多这样的自动化环境应用中的关键元素,例如移动应用(例如移动设备)、生活方式应用(例如人工和/或虚拟个人助理)、商业应用、运输(例如自主车辆)应用和/或类似应用等。
[0003] 计算机技术、硬件(例如,增加的计算资源)以及计算机科学和软件(例如算法处理、机器学习等)的主要进步已经铺平了从传统HMI到更自然的HMI的转变的道路。传统的HMI实现可能要求用户使用中间设备、工具和/或接口,例如键盘、定点设备(例如鼠标、触摸板等)、触摸屏等。另一方面,例如语音、话音、手势等的自然HMI可以减轻用户使用中介器并且直接与机器(即计算机、移动设备、自主车辆等)通信的需要。
[0004] 其中,自然HMI、语音和对话可能具有显著的吸引力,因为口语和对话技能是大多数人在早期获得的,并且可能是人们之间最常见和有效的交互方式。因此,采用用于HMI实现的对话交互可能是高度期望的。这样的语音和对话HMI实现可以应用多个工具、技术和/或方法中的一个或多个,例如,语音识别、语音到文本(STT)转换、语音合成、自然语言处理(NLP)、对话构建等。

发明内容

[0005] 根据本发明的第一方面,存在一种将言语输入路由至多个处理程序之一的计算机实现的方法,包括使用适于执行代码的一个或多个处理器,所述代码适于:
[0006] -从用户接收言语输入。
[0007] -将多个言语内容识别器(verbal content identifier)应用于所述言语输入,所述多个言语内容识别器中的每个言语内容识别器适于通过计算从所述言语输入提取的一个或多个特征的匹配置信度值来评估所述言语输入与多个处理程序中的一个相应的处理程序的关联。所述一个或多个特征包括以下中的一个或多个:由用户表达的意图和由用户指示的实体。
[0008] -基于由所述多个言语内容识别器计算的所述匹配置信度值,将所述言语输入路由到所述多个处理程序中的一个选择的处理程序,所述选择的处理程序适于响应于所述言语输入而发起一个或多个动作。
[0009] 与在单个工作空间中分析对话流相比,使用多个(言语内容)处理程序并且将言语输入高效地路由到这些处理程序可以显著地降低分析言语输入并且因此分析与用户的对话流的复杂度。这种降低的复杂度可以进而增加用户意图的估计的准确性、降低和/或消除嵌入在言语输入中的歧义、减少用于分析言语输入的计算资源、减少响应于接收到的言语输入的等待时间等。此外,在不需要用户明确地表明期望的处理程序的情况下将言语输入隐式地路由到优选处理程序可以使用户免于跟踪和记住哪个处理程序被指定用于哪个意图和/或动作。
[0010] 根据本发明的第二方面,提供了一种用于将言语输入路由至多个处理程序中的一个处理程序的系统,所述系统包括适于执行代码的一个或多个处理器,所述代码包括:
[0011] -用于从用户接收言语输入的代码指令。
[0012] -用于将多个言语内容识别器应用于所述言语输入的代码指令,所述多个言语内容识别器中的每个言语内容识别器适于为通过计算从所述言语输入提取的一个或多个特征的匹配置信度值来评估所述言语输入与多个处理程序中的一个相应的处理程序的关联。所述一个或多个特征包括以下中的一个或多个:由用户表达的意图和由用户指示的实体。
[0013] -用于基于由所述多个言语内容识别器计算的所述匹配置信度值将所述言语输入路由到所述多个处理程序中的一个选择的处理程序的代码指令,所述选择的处理程序适于响应于所述言语输入而发起一个或多个动作。
[0014] 根据本发明的第三方面,提供了一种用于将言语输入路由至多个处理程序之一的计算机程序产品,包括:
[0015] -非暂时性计算机可读存储介质;
[0016] -用于从用户接收言语输入的第一代码指令。
[0017] -用于将多个言语内容识别器应用于所述言语输入的第二代码指令,所述多个言语内容识别器中的每个适于通过计算从所述言语输入提取的一个或多个特征的匹配置信度值来评估所述言语输入与多个处理程序中的一个相应的处理程序的关联。所述一个或多个特征包括以下中的一个或多个:由用户表达的意图和由用户指示的实体。
[0018] -用于基于由所述多个言语内容识别器计算的所述匹配置信度值来将所述言语输入路由到所述多个处理程序中的一个选择的处理程序的第三代码指令,所述选择的处理程序适于响应于所述言语输入而发起一个或多个动作。
[0019] 其中,所述第一程序指令、所述第二程序指令和所述第三程序指令由一个或多个处理器从所述非暂时性计算机可读存储介质执行。
[0020] 在第一、第二和/或第三方面的进一步实施形式中,所述言语输入包括由以下各项组成的组中的一个或多个:文本言语输入和语音言语输入。这可以允许将隐式路由应用于被指引通过文本和/或语音交互形式与用户交互的多个应用。
[0021] 在第一、第二和/或第三方面的可选实现形式中,言语输入被划分为多个片段,并且根据每个片段的多个言语内容识别器计算的匹配置信度值,将多个片段中的的每个片段路由到多个处理程序中的一个处理程序。由于与用户的对话会话可以包括可能嵌入可以由多个处理程序管理的多个预期动作的复杂的言语输入,所以将言语输入分段可以显著地简化分析、对与处理程序的关联的评估以及因此到所述选择的处理程序的路由。
[0022] 在第一、第二和/或第三方面的进一步的实现形式中,根据针对各个处理程序定义的一个或多个预定义特征通过适配每个言语内容识别器以评估关联,将多个言语内容识别器中的每个言语内容识别器与相应的处理程序相关联。由于每个言语内容识别器与相应的处理者相关联,所以每个言语内容识别器可以根据其相应的处理程序的特性和/或特征被具体地适配、配置和/或训练,从而提高其与相应的处理程序关联的的评估准确性。
[0023] 在第一、第二和/或第三方面的进一步实现形式中,匹配置信度值指示一个或多个特征的概率以匹配相应预定义特征。由每个言语内容识别器计算的匹配置信度值因此可以充当用于测量所提取的特征与相应处理程序的关联水平的度量。
[0024] 在第一、第二和/或第三方面的进一步实现形式中,使用一个或多个言语分析工具从言语输入提取意图,意图是由以下组成的组:意图(intention)、目的(purpose)、目标(objective)和目标(goal)。意图可以是理解和/或分类用户所意图的并且在言语输入中表达的动作的关键元素。因此,准确地提取意图并将其与一个或多个处理程序相关联可能是必要的。
[0025] 在第一、第二和/或第三方面的进一步实现形式中,使用一个或多个言语分析工具从言语输入提取实体。实体,例如,对象、项目、元素、目标设备、目标应用等,可以是理解和/或分类用户所意图的并且在言语输入中表达的动作的关键元素。因此,准确地提取实体并将其与一个或多个处理程序相关联可能是必要的。
[0026] 在第一、第二和/或第三方面的可选实现形式中,基于由多个言语内容识别器中的一个或多个言语内容识别器提供的一个或多个上下文属性来选择所述选择的处理程序。所述一个或多个上下文属性包括以下各项中的一项或多项:
[0027] -使用一个或多个语音分析工具提取的所述用户的情绪,
[0028] -使用一个或多个语音分析工具提取的所述用户的情感,
[0029] -从一个或多个位置检测工具获得的用户的地理位置,以及
[0030] -从一个或多个先前言语输入提取的一个或多个先前特征。
[0031] 使用上下文属性可以显著地增加所述选择的处理程序的选择准确性,因为言语输入的上下文、用户的上下文等可以高度地指示用户的实际意图。
[0032] 在第一、第二和/或第三方面的可选实现形式中,基于对由多个言语内容识别器中的一个或多个言语内容识别器提取的一个或多个强制性实体的检测来选择所述选择的处理程序,所述一个或多个强制性实体被预定义为结合意图出现在言语输入中。将选择基于强制性预定义实体可以显著地增加选择所述选择的处理程序的准确性,因为在言语输入中缺少实体的情况下,被预定义为强制性地包括这样的实体的一个或多个处理程序由于不适合管理言语输入可以被排除。
[0033] 在第一、第二和/或第三方面的可选实现形式中,基于由多个言语内容识别器中的一个或多个言语内容识别器提供的一个或多个操作属性来选择所述选择的处理程序,所述一个或多个操作属性包括以下中的一个或多个:
[0034] -阈值,
[0035] -所述相应处理者管理所述言语输入的能力,
[0036] -对由所述多个言语内容识别器中的一个或多个言语内容识别器应用以提取所述特征中的一个或多个特征的分析的描述,
[0037] -与一个或多个先前言语输入有关的路由信息,以及
[0038] -从所述多个处理程序中的至少另一个处理程序获得的信息。
[0039] 使用操作属性可以显著地增加所述选择的处理程序的选择准确性,因为处理程序的操作上下文可以高度地指示用户的意图,特别是关于与用户的对话会话的先前的言语输入和/或对话流。
[0040] 在第一、第二和/或第三方面的可选实现形式中,根据分配给所述多个言语内容识别器中的至少一些言语内容识别器的优先级来选择所述选择的处理程序。特别地根据其相关联的处理程序来区分语言内容标识符的优先级可以允许相对于其他处理程序提高和/或降低相应处理程序的重要性和/或关键性,使得即使当被估计为与言语输入较少地相关联时,特定处理程序也可以优先于另一处理程序。
[0041] 在第一、第二和/或第三方面的可选实现形式中,在多个处理程序中的一个或多个处理程序的相关联的言语内容识别器呈现不超过预定义阈值的置信度值的情况下,将所述多个处理程序中的所述一个或多个处理程序过滤掉。这可以允许设置特定处理程序与言语输入之间的最小关联水平,使得处理程序可以不被选择,即,在其相关联的言语内容识别器计算出低于预定义阈值的匹配置信度值的情况下被过滤掉。
[0042] 在第一、第二和/或第三方面的可选实现形式中,在多个处理程序中的一个或多个处理程序被其相关联的言语内容识别器中的一个或多个言语内容识别器指示为不能管理言语输入的情况下,所述多个处理程序中的所述一个或多个处理程序被过滤掉。这可以允许避免选择当前不可用和/或不能够管理言语输入的处理程序,从而降低路由过程的复杂性和/或延迟。
[0043] 在第一、第二和/或第三方面的可选实现形式中,在通过多个言语内容识别器中的多个言语内容识别器计算类似的置信度值的情况下,言语输入被路由到多个处理程序中的最近的处理程序,所述最近的处理程序是与多个言语内容识别器相关联的一组处理程序之中的先前的言语输入被路由到的最近的处理程序。先前(历史)对话流可以显著地暗示言语输入的当前路由,并且因此可以显著地提高所述选择的处理程序的选择准确性。
[0044] 在第一、第二和/或第三方面的可选实现形式中,在由多个言语内容识别器计算的置信度值未超过预定义阈值的情况下,将言语输入路由到多个处理程序中的默认处理程序。在选择所述选择的处理程序时不能做出清楚的解决方案的情况下,可以将言语输入路由到默认处理程序,默认处理程序可以允许用户更好地陈述、实现和/或完成他的意图。
[0045] 除非另有定义,本文所用的所有技术和/或科学术语具有与本发明所属领域的普通技术人员通常理解的相同的含义。尽管与本文所述的那些类似或等同的方法和材料可用于本发明实施例的实践或测试,但示例性方法和/或材料描述如下。在冲突的情况下,以专利说明书,包括定义为准。另外,材料、方法和实施例仅是说明性的,而不是限制性的。
[0046] 本发明的实施例的方法和/或系统的实现可以涉及手动地、自动地或其组合地执行或完成所选择的任务。此外,根据本发明的方法和/或系统的实施例的实际仪器和设备,可以使用操作系统通过硬件、软件或其组合来实现若干选择的任务。
[0047] 例如,根据本发明的实施例的用于执行选定任务的硬件可以被实现为芯片或电路。作为软件,根据本发明实施例的选择的任务可以被实现为由计算机使用任何合适的操作系统执行的多个软件指令。在本发明的示例性实施例中,根据如本文所述的方法和/或系统的示例性实施例的一个或多个任务由数据处理器执行,例如用于执行多个指令的计算平台。可选地,数据处理器包括用于存储指令和/或数据的易失性存储器和/或用于存储指令和/或数据的非易失性存储装置,例如,磁硬盘和/或可移动介质。可选地,还提供网络连接。还可选地提供显示器和/或诸如键盘或鼠标的用户输入设备。

附图说明

[0048] 在此仅通过示例的方式,参考附图描述本发明的一些实施例。现在具体详细参考附图,强调所示的细节是作为示例的,并且是为了说明性地讨论本发明的实施例。在这点上,结合附图的描述使得本领域技术人员清楚如何实践本发明的实施例
[0049] 在附图中:
[0050] 图1是根据本发明的一些实施例基于言语输入的内容和可选的上下文使用隐式路由将言语输入自动地路由到言语内容处理程序的示例性过程的流程图;以及
[0051] 图2是根据本发明的一些实施例基于言语输入的内容和可选的上下文使用隐式路由将言语输入自动地路由到言语内容处理程序的示例性系统的示意图。

具体实施方式

[0052] 本发明在其一些实施例中涉及将从用户接收的言语输入自动地路由到言语内容处理程序,并且更具体地但非排他地涉及基于言语输入的内容和可选的上下文使用隐式路由来将言语输入自动地路由到言语内容处理程序。
[0053] 根据本发明的一些实施例,提供了用于将从一个或多个用户接收的一个或多个言语输入(例如,文本输入、语音输入和/或诸如此类)路由到一个或多个言语内容处理程序的方法、系统和计算机程序产品,所述一个或多个言语内容处理程序各自被适配成管理(处置)由所述用户表达的一个或多个预定义的言语内容特征。
[0054] 随着自动化服务(例如,人工和/或虚拟个人助理、自主车辆、移动设备、机器人、因特网机器人等)不断发展,自动化系统和应用程序与人类用户之间的交互以及构建对话流,特别是语音对话,成为必要的关键元素。然而,开发和/或支持用于这样的系统和/或应用的交互式对话流,特别是语音对话,可能提出主要挑战。它可能需要将可能的言语输入(文本输入和/或语音输入)分割、划分和/或分解成一组特征,例如,内容、用户的意图(意图(intention)、目的(purpose)、目标(objective)、目标(goal)等)、用户指示的实体(对象、项目、元素、目标设备、目标应用等)、当前对话会话的对话流等。
[0055] 此外,随着交互式对话应用持续增强,提供了附加功能,交互式对话流可能变得明显更复杂,从而在管理和处理对话以便准确地响应从用户捕获的言语输入方面提出了进一步的挑战。特别地,由于对话的复杂性,在单个工作空间中处理言语输入可以证明是低效、不充分和可能不切实际的。为了克服这种限制,可以设计、适配和部署多个言语内容处理程序以准确地管理从用户接收的不同言语输入。每个言语内容处理程序可以是适于响应于从用户接收的某些预定义的言语输入和/或其部分而发起一个或多个动作的处理模块,例如软件代理、应用等。由言语内容处理程序发起的动作可以包括由用户指示并且由自动化服务、系统和/或应用支持的多个功能、特征和/或操作中的一个或多个。由于每个言语输入可以被路由到其指定的言语内容处理程序,因此管理交互式对话,特别是语音对话可以被显著地改进并且变得更有效。
[0056] 根据本发明的一些实施例,通过估计和/或预测如在所接收的言语输入中表达的用户的意图(意图、目标和/或目的)来隐式地完成将言语输入路由到其指定的言语内容处理程序。这可以通过分析一个或多个言语输入以从接收自用户的言语输入提取一个或多个特征并且评估用户的意图并且将所述言语输入路由到被估计为最好地服务于用户的意图的优选言语内容处置程序来完成。相对于针对每个言语内容处理程序的预定义特征来评估所提取的特征的对应性(匹配),从而评估言语输入与每个言语内容处理程序的关联。这可以显著地减少并且可能消除在确定言语输入中包含的特征时的歧义并且有效地自动选择被估计为最佳地服务于所估计的意图的适当的(优选的)言语内容处理程序。
[0057] 对言语输入的分析和对特征的提取可以通过多个言语内容识别器来完成,每个言语内容识别器与言语内容处理程序中的相应的一个言语内容处理程序相关联。可以对每个言语内容识别器进行具体地适配,即设计、配置、训练和/或类似操作,以在言语输入中识别与相应的言语内容处理程序相关联的一个或多个预定义特征。每个言语内容识别器可以应用一个或多个言语分析工具,例如,文本分析、语音识别、自然语言处理(NLP)、语音分析和/或类似工具,以提取特征。对于每个提取的特征,言语内容识别器可以计算匹配置信度值,该匹配置信度值指示提取的特征匹配与相应言语内容处理程序相关联的相应预定义特征的概率。
[0058] 可以评估提取的特征连同从多个言语内容识别器接收的其计算的匹配置信度值以选择被估计为最佳地管理(处理程序、服务等)所接收的言语输入的优选言语内容处理程序,即,言语输入被估计为与所选择的言语内容处理程序最佳地相关联。然后,将言语输入路由到所选择的言语内容处理程序,该言语内容处理程序可以响应于所接收的言语输入而采取一个或多个动作。由言语内容处理程序发起的动作可以包括由与用户交互的自动化服务、系统和/或应用支持的多个功能、特征和/或操作中的一个或多个。
[0059] 可选地,将言语输入分割成多个片段,每个片段被单独地分析并且被提供给言语内容识别器,言语内容识别器可以提取特征并且计算其匹配置信度值。然后,可以针对每个片段从多个言语内容处理程序中选择优选的言语内容处理程序。
[0060] 可选地,路由基于由一个或多个语言内容标识符提供的和/或全局存储或维护的一个或多个上下文属性和/或操作属性。一个或多个言语内容识别器可以提取与言语输入(例如,从先前的言语输入提取的特征)、用户(例如,情绪(emotion)、情感(sentiment)、地理位置等)等有关的一个或多个上下文属性。一个或多个言语内容识别器还可以报告与例如其相应的言语内容处理程序、其相应的言语内容处理程序的先前路由事件、一个或多个其他言语内容处理程序的操作属性等有关的一个或多个操作属性。上下文属性和/或操作属性中的一个或多个可以用于选择优选的言语内容处理程序。
[0061] 与用于管理交互式对话流的当前现有方法相比,将言语输入隐式地路由到优选的言语内容处理程序可以呈现显著优点。
[0062] 首先,与如可以通过一些现有方法(例如,沃森对话服务(WCS),API.AI,wit.Ai.等)完成的在单个工作空间中分析对话流相比,使用多个言语内容处理程序并且将言语输入高效地路由到这些言语内容处理程序可以显著地降低分析言语输入并且因此分析对话流的复杂度。降低的复杂度可以转化为管理言语输入和/或对话流的若干改进,例如,更准确估计用户的意图(降低和/或消除言语输入中的特征歧义)、减少用于分析言语输入的计算资源、减少响应于接收到的言语输入等的等待时间。
[0063] 此外,将言语输入隐式地路由到优选的言语内容处理程序可以使用户免于显式地说明应当被用于管理当前言语输入的言语内容处理程序,如可以通过一些现有方法(例如,Amazon的Alexa个人助理等)所做的。随着自动交互式对话的复杂性增加,言语内容处理程序的数量可能极大,从而迫使用户跟踪并记住哪个言语内容处理程序被指定用于哪个意图和/或动作以便正确地说明所选择的言语内容处理程序。Alexa虚拟个人助理中的语言内容处理程序被称为技能,技能的数量迅速增加,并且用户可能需要将他的意图和/或动作中的每一个与技能中的相应一个唯一地关联和说明。因此,使用户免于明确地说明要使用的言语内容处理程序可能呈现主要优点。
[0064] 此外,使用上下文属性和/或操作属性隐式地将言语输入路由到优选言语内容处理程序可以显著地减少和/或消除言语输入中的特征歧义,从而增加选择优选言语内容处理程序的准确性。这是由于与言语输入有关的上下文方面以及与用户有关的上下文方面可以高度指示用户的意图并且因此可以用于改进对用户在所接收的言语输入中表达的意图的估计的事实。另外,言语内容处理程序的操作属性对于识别先前言语输入的先前路由和/或管理事件可以是高度有用的,特别是在当前对话会话期间,因此允许更准确地选择优选的言语内容处理程序以管理当前言语输入。
[0065] 在详细解释本发明的至少一个实施例之前,应当理解,本发明不必将其应用限制于在以下描述中阐述和/或在附图和/或示例中示出的组件和/或方法的构造和布置的细节。本发明能够有其它实施例或者以各种方式实践或执行。
[0066] 本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0067] 计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0068] 这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0069] 用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。
[0070] 计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0071] 这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0072] 附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、片段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所提及的功能可不按图中所提及的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
[0073] 现在参考附图,图1是根据本发明一些实施例的基于言语输入的内容和可选的上下文使用隐式路由将言语输入自动路由到言语内容处理程序的示例性过程的流程图。可以执行过程100以将从一个或多个用户接收的一个或多个言语输入(例如,文本输入、语音输入和/或类似输入)路由到一个或多个言语内容处理程序,每个言语内容处理程序适于管理(处置)由用户表达的一个或多个预定义言语内容特征。路由基于分析言语输入并提取一个或多个特征,例如,言语输入中识别的内容、意图(意图(intention)、目的(purpose)、目标(objective)、目标(goal)等)、实体(对象、项目、元素、目标设备、目标应用等)、对话流和/或类似物。分析和提取可以通过多个言语内容识别器来完成,每个言语内容识别器与言语内容处理程序中的相应的一个言语内容处理程序相关联并且适于在言语输入中识别与相应的言语内容处理程序相关联的预定义特征中的一个或多个预定义特征。每个言语内容识别器可以应用一个或多个言语分析工具,例如,文本分析、语音识别、自然语言处理(NLP)、语音分析和/或类似工具,以提取特征。对于每个提取的特征,言语内容识别器可以计算指示提取的特征匹配与相应的言语内容处理程序相关联的相应预定义特征的概率的匹配置信度值。
[0074] 评估所提取的特征以及从多个言语内容识别器接收的所计算的匹配置信度值以选择被评估为最佳地管理所接收的言语输入的优选言语内容处理程序,即,言语输入被评估为与所选择的言语内容处理程序最佳地相关联。然后,将该言语输入路由到所选择的言语内容处理程序,该言语内容处理程序可以响应于该言语输入而采取一个或多个动作。
[0075] 可选地,将言语输入分割成多个片段,每个段被单独地分析以提取特征并计算其匹配置信度值。然后,可以针对每个片段从多个言语内容处理程序中选择优选的言语内容处理程序。
[0076] 可选地,路由基于由一个或多个言语内容识别器提供的一个或多个上下文属性和/或操作属性。所述言语内容识别器中的一个或多个可以提取与言语输入(例如,从先前的言语输入提取的特征)、用户(例如,情绪、情感、地理位置等)等有关的一个或多个上下文属性。所述言语内容识别器中的一个或多个还可以报告与例如其相应的言语内容处理程序、先前的路由事件、一个或多个其他言语内容处理程序等相关的一个或多个操作属性。上下文属性和/或操作属性中的一个或多个可以用于选择优选的言语内容处理程序。
[0077] 还参考图2,其是根据本发明的一些实施例的用于基于言语输入的内容和可选的上下文使用隐式路由来将言语输入自动地路由到言语内容处理程序的示例性系统的示意性图示。用于对来自一个或多个用户250的言语输入进行分类的示例性系统200包括计算设备201,例如,处理节点、计算机、膝上型计算机、服务器、移动设备(例如,平板电脑、蜂窝设备、智能电话等)、集成处理设备的家用电器、自主车辆的处理设备和/或具有一个或多个处理器的任何处理设备。计算设备201包括输入/输出(I/O)接口202、处理器204和存储装置206。
[0078] I/O接口202可以包括用于与用户250交互的一个或多个接口,特别是用于捕获来自用户250的言语输入的接口。言语输入可以包括例如文本输入、语音输入和/或类似输入。因此,I/O接口202可以包括一个或多个音频接口,例如,用于捕获由用户250说出(说出(uttered))的语音的麦克风。I/O接口202还可以包括一个或多个文本接口,例如键盘、触摸屏、数字笔和/或类似接口,以捕获由用户250插入的文本。I/O接口202还可以包括一个或多个有线和/或无线网络接口,用于连接到一个或多个网络,例如局域网(LAN)、广域网(WAN)、城域网(MAN)、蜂窝网络和/或因特网,以方便与更远位置和/或资源通信。
[0079] 同质或异质的处理器204可以包括被布置为用于并行处理的一个或多个处理器,作为集群和/或作为一个或多个多核处理器。存储装置206可以包括一个或多个非暂时性持久存储设备,例如硬盘驱动器、闪存阵列等。存储装置206还可以包括一个或多个网络存储设备,例如,存储服务器、网络可访问存储装置(NAS)、网络驱动器等。存储装置206还可以包括一个或多个易失性设备,例如,随机存取存储器(RAM)组件等。
[0080] 存储装置206可以存储一个或多个软件模块,例如OS、应用、工具、代理、服务、脚本等,每个软件模块包括可以由处理器204从存储装置206执行的多个程序指令。例如,处理器204可以执行用于将从用户250捕获的言语输入路由到适于响应于言语输入而发起一个或多个动作的一个或多个言语内容处理程序212软件模块的言语内容路由器210软件模块。由言语内容处理程序212发起的动作可以包括由计算设备201支持的多个功能、特征和/或操作中的一个或多个。每个言语内容处理程序212可以适于管理(处理)一个或多个言语输入并且响应于检测到与相应的言语内容处理程序212相关联的一个或多个预定义言语输入而发起一个或多个动作。预定义的言语输入可以由可以从所接收的言语输入(例如内容、意图(意图(intention)、目的(purpose)、目标(objective)、目标(goal)等)、实体(对象、项目、元素、目标设备、目标应用等)、对话流等)提取的一个或多个特征来标识和/或表征。
[0081] 可选地,言语内容路由器210和/或言语内容处理程序212中的一个或多个由一个或多个远程平台执行,例如,远程服务器、云计算平台,诸如,例如,Amazon Web服务(AWS)、Google云、Microsoft Azure等。另外和/或可选地,言语内容路由器210和/或言语内容处理程序212中的一个或多个可以被实现为一个或多个远程服务、云服务、软件即服务(SaaS)、平台即服务(PaaS)等。在这样的实现方式中,计算设备201可以执行本地代理,该本地代理可以通过网络与远程执行的言语内容路由器210和/或言语内容处理程序222通信。本地代理因此可以将所捕获的言语语音输入(例如,文本输入和/或语音输入)中继到远程执行的言语内容路由器210和/或语音处理模块222以用于处理。
[0082] 可选地,言语内容路由器210和言语内容处理程序212中的一个或多个由自动化软件代理平台、系统和/或应用(例如,机器人、互联网机器人等)执行,其通过网络与诸如由用户250使用的计算设备201的一个或多个计算设备通信以接收从用户250捕获的言语输入。
[0083] 如102处所示,过程100开始于言语内容路由器210通过I/O接口202接收从用户250捕获的言语输入。言语输入可以包括文本内容、语音内容等,并且相应地通过适合于每种类型的言语输入的I/O接口202的接口来捕获。虽然系统200通过执行过程100来支持文本内容形式的言语输入,但是语音内容形式的言语输入可以具有特定的意义。
[0084] 可选地,言语内容路由器210将言语输入分段为各自通过过程100独立地处理的多个分段。
[0085] 如104处所示,言语内容路由器210可以将多个言语内容识别器应用于接收到的言语输入,例如,内容路由器210可以将言语输入提供给多个言语内容识别器。每个言语内容识别器与言语内容处理程序212中的相应的一个言语内容处理程序相关联。因此,每个言语内容处理程序212可以在言语内容路由器210处登记其相关联的言语内容识别器的集合(一个或多个),以指示言语内容路由器210将所登记的言语内容识别器应用于言语输入。
[0086] 由于每个言语内容处理程序212适于响应于一个或多个预定义的言语输入而采取行动,所以每个言语内容识别器可以适于评估言语输入与其相应的言语内容处理程序212的关联。预定义的言语输入可以由一个或多个预定义的特征(例如内容、意图(意图(intention)、目的(purpose)、目标(objective)、目标(goal)等)、实体(对象、项目、元素、目标设备、目标应用等)、对话流等)来识别和/或表征。因此,每个言语内容识别器可以适于在言语输入中识别特征并且评估它们与和其相应的言语内容处理程序212相关联的相应预定义特征的匹配。这样,每个言语内容识别器可以根据其相应的言语内容处理程序212的特定特性而被具体地且高效地适配,例如,设计、配置、训练等。具体地,可以具体地适配每个言语内容识别器,例如,设计、配置、训练等,以集中于在言语输入中识别其相应的言语内容处理程序212的预定义特征。例如,言语内容识别器中的一个或多个可以采用使用训练样本数据集训练的一个或多个分类器(分类函数)来识别与其相应的言语内容处理程序212相关联的某些预定义特征。
[0087] 每个言语内容识别器可以使用一个或多个言语分析工具(例如文本分析、自然语言处理(NLP)、语音识别、语音到文本(STT)转换、语音合成、对话构建等)从言语输入提取一个或多个特征。言语内容识别器还可采用本领域已知的此类言语分析工具,例如沃森对话服务(WCS)、沃森自然语言理解(NLU)、regexp、API.AI,wit.ai等。
[0088] 如106所示,对于其从言语输入提取的每个特征,言语内容识别器中的每一个可以计算所提取的特征的匹配置信度值。所计算的匹配置信度值可以指示所提取的特征实际上匹配针对相应言语内容处理程序212定义(关联)的其相应预定义特征的概率(匹配水平)。匹配置信度值通常可以表示为映射到[0,1]范围的归一化值,其中0是匹配的最低概率,1是匹配的最高概率。然而,可以使用匹配置信度值的其他实现方式,并且所呈现的实施例不应被解释为限制。通过计算所提取的特征中的每一个的匹配置信度值,言语内容识别器可以评估一般的言语输入和所提取的特征的关联特别是和言语内容识别器相关联的言语内容处理程序212的关联。
[0089] 例如,假设家用电器控制言语内容处理程序212适于控制一个或多个家用电器(例如灯、空调系统、快门等)的操作。这样的家电控制言语内容处理程序212可以与一个或多个预定义特征(例如光、空调、快门、开启、关闭(turn-off)、打开、关闭(close)等)相关联。预定义特征还可以包括位置,例如厨房、起居室、卧室等。与家电控制言语内容处理程序212相关联的言语内容识别器因此可以适于从言语输入提取一个或多个特征并且通过计算每个提取的特征相对于预定义特征中的一个相应的匹配置信度值来评估提取的特征与家电控制言语内容处理程序212相关联的预定义特征之间的匹配。
[0090] 在另一个例子中,假设导航控制言语内容处理程序212适于根据从用户250接收的指令来控制用于路由车辆(例如汽车)的导航系统。这样的导航言语内容处理程序212可以与一个或多个预定义特征(例如,驾驶、旅行、街道、地址、路线等)相关联。预定义特征还可以包括地理位置,例如城市名称、街道名称、地标名称等。与导航言语内容处理程序212相关联的言语内容识别器因此可以适于从言语输入提取一个或多个特征,并且通过计算每个提取的特征相对于预定义特征中的一个相应的匹配置信度值来评估提取的特征与和导航言语内容处理程序212相关联的预定义特征之间的匹配。
[0091] 可选地,一个或多个言语内容识别器提取与言语输入、用户250等相关的一个或多个上下文属性。言语内容识别器还可以计算每个提取的上下文属性的匹配置信度值,其可以指示与相应的言语内容处理程序212相关联的一个或多个预定义的上下文属性的匹配概率。
[0092] 上下文属性可以包括例如用户250的情绪和/或情感,例如压力、愤怒、焦虑、高兴、放松等。这对于用户250说出(发出(uttered))的语音输入形式的言语输入自然可能是主要的重要性。言语内容识别器可以应用一个或多个分析工具(例如,语音分析工具等)以提取,即,评估和/或估计用户250在发出言语输入时可以体验的一个或多个情绪和/或情感)。言语内容识别器可以计算每个提取的情绪和/或情感的匹配置信度值,其可以指示提取的情绪和/或情感与针对与言语内容识别器相关联的相应言语内容处理程序212可以预定义的一个或多个情绪和/或情感的匹配概率。例如,适于向紧急中心发起紧急呼叫的面向紧急的言语内容处理程序212可以与一个或多个预定义的情绪和/或情感(例如压力、焦虑等)相关联。与面向紧急情况的言语内容处理程序212相关联的言语内容识别器可以适于从言语输入提取用户250的情绪和/或情感,并且计算每个提取的情绪和/或情感的匹配置信度值,以评估提取的情绪和/或情感与同面向紧急情况的言语内容处理程序212相关联的预定义情绪和/或情感中的一个相应的匹配。
[0093] 上下文属性还可以包括例如用户250的地理位置,例如特定地理位置、室内、室外等。言语内容识别器可以从计算设备201中可用的一个或多个位置检测工具获得这样的地理位置信息,例如,互联网协议(IP)地址、导航应用(例如,基于全球定位系统(GPS)的应用)、三角测量系统、设施存在应用(例如,与部署在设施(例如,家庭、办公室、工厂等)中的发射机通信以识别当前位置的应用)、可以指示当前发生的事件的位置的日历应用等。言语内容识别器还可以从计算设备201中可用的一个或多个传感器(例如,可以指示室内和/或室外照明的光传感器、GPS传感器等)获得地理位置。言语内容识别器可以计算针对地理位置的匹配置信度值,其可以指示针对与言语内容识别器相关联的相应的言语内容处理程序212预定义的一个或多个地理位置的匹配概率。例如,适于根据从用户250接收的指令控制用于为车辆选择路线的导航系统的导航言语内容处理程序212可以与室外地理位置(特别是可以指示(建议)用户250当前正在驾驶车辆的道路、公路等)相关联。与导航言语内容处理程序212相关联的言语内容识别器因此可以适于计算室外地理位置(特别是道路、公路等)的高匹配置信度值,同时计算室内地理位置的低匹配置信度值。
[0094] 另外,上下文属性可以包括从一个或多个先前的言语输入提取的一个或多个先前特征,例如意图、实体、对话流等。此外,一个或多个言语内容识别器可以计算一个或多个先前特征的匹配置信度值。
[0095] 可选地,言语内容识别器中的一个或多个评估言语输入中的强制性实体特征的存在,其可以针对言语内容识别器与之相关联的相应言语内容处理程序212而被预定义。强制性实体可以被预定义为出现在包含与相应言语内容处理程序212相关联的某些一个或多个意图特征的言语输入中。与这样的控制言语内容处理程序212相关联的言语内容标识因此可以被适配为识别言语输入中的强制性实体,并且相应地计算与控制言语内容处理程序212相关联的强制性实体的匹配置信度值。例如,假设家用电器控制言语内容处理程序212适于控制一个或多个家用电器的操作,例如灯、空调系统、快门等。可以针对这样的家电控制言语内容处理程序212预定义一个或多个强制性实体,例如光、空调、快门等,特别地,可以关于一个或多个意图特征(例如,打开(turn-on)、打开(open)等)预定义强制性实体。与家用电器控制言语内容处理程序212相关联的言语内容识别器因此可以被适配成标识言语输入中的强制性实体并且计算强制性实体的匹配置信度值。例如,在相关联的言语内容识别器中的一个以特定匹配置信度值标识了打开意图特征的情况下,相关联的言语内容识别器可以进一步搜索一个或多个预定义的强制性实体,例如灯、空调等,并且相应地计算它们的匹配置信度值。
[0096] 可选地,一个或多个言语内容识别器报告和/或提供与它们相应的言语内容处理程序212相关的一个或多个操作属性。
[0097] 操作属性可以包括例如它们相应的言语内容处理程序212管理(处理)言语输入的能力(状态)。例如,假设特定言语内容识别器评估从言语输入提取的特定特征以匹配与相应言语内容处理程序212相关联的特定预定义特征。然而,假设在用户250与相应的言语内容处理程序212的初始交互期间通常不使用特定的预定义特征,而是稍后在对话流中使用。进一步假设相应的言语内容处理程序212尚未被发起,即当前会话的先前言语输入未被路由到相应的言语内容处理程序212。在这样的情况下,特定言语内容识别器可以指示相应言语内容处理程序212不能管理(当前)言语输入,因为不处于管理(当前)言语输入的状态(未初始化)。例如,假设特定言语内容识别器提取了具有高匹配置信度值的“是”实体特征。然而,通常可能能够沿着一个或多个对话流管理“是”实体特征的相应的言语内容处理程序
212当前处于未初始化状态,在该状态中,相应的言语内容处理程序212不能管理“是”实体特征。
[0098] 操作属性还可以包括由一个或多个言语内容识别器使用以从言语输入提取特征的言语分析工具的描述。例如,NLP的类型/版本、语音识别工具的类型/版本等。
[0099] 操作属性还可以包括与相应的言语内容处理程序212有关的先前路由信息。例如,特定言语内容识别器可以报告预定义数量的先前路由事件,其中相应言语内容处理程序212被选择以管理先前言语输入。操作属性还可以包括用于相应言语内容处理程序212的先前对话流信息。每个先前对话流可以包括和/或指示在与用户250的当前会话期间由相应言语内容处理程序212接收的一个或多个言语输入。
[0100] 与相应的言语内容处理程序212相关联的言语内容识别器中的一个或多个可以进一步报告和/或提供与一个或多个其他言语内容处理程序212有关的一个或多个操作属性。例如,与特定言语内容处理程序212相关联的特定言语内容识别器可以获得与一个或多个其他言语内容处理程序212有关的先前路由信息。特定言语内容识别器可以例如从与其他言语内容处理程序212相关联的一个或多个言语内容识别器获得这样的路由信息。
[0101] 在本发明的一些实施例中,言语内容路由器210可以向言语内容识别器中的一个或多个提供上下文信息和/或操作信息,具体地,上下文信息和/或操作信息可以与相应的言语输入一起提供。言语内容路由器210可以向言语内容识别器中的一个或多个提供例如一个或多个上下文属性和/或一个或多个操作属性。由言语内容路由器210提供给特定言语内容识别器的上下文属性和/或一个或多个操作属性可以包括与和特定言语内容识别器相关联的言语内容处理程序212和/或一个或多个其他言语内容处理程序212有关的属性。此外,一个或多个言语内容识别器可以计算从言语内容路由器210接收的一个或多个上下文属性和/或操作属性的匹配置信度值。例如,言语内容路由器210可以提供具有与和某个言语内容识别器相关联的言语内容处理程序212和/或其他言语内容处理程序212有关的先前路由信息和/或先前对话流的某个言语内容识别器。由于上下文信息和/或操作信息可以由言语内容路由器210存储、管理和/或提供,所以言语内容处理程序212中的至少一些可以是彼此独立的和/或可能彼此不知道的,同时仍然能够利用与其他言语内容处理程序212有关的上下文信息和/或操作信息。
[0102] 言语内容识别器可以创建包括针对所提取的特征的计算结果的记录,例如文件、结构、列表等。言语内容识别器可以可选地为强制性实体提供针对上下文属性的计算结果。言语内容识别器还可以提供操作属性。示例性的这种记录在下面的伪代码摘录1中呈现。
[0103]
[0104]
[0105] 如108处所示,言语内容路由器210收集由针对从言语输入提取的每个特征的多个言语内容识别器提供的计算结果,并且基于计算的匹配置信度值来选择多个言语内容处理程序212中的优选的一个言语内容处理程序。例如,言语内容路由器210可以识别特定言语内容识别器针对特定一个或多个提取的特征计算的最高匹配置信度值并且因此选择与特定言语内容识别器相关联的言语内容处理程序212为优选言语内容处理程序212。在另一示例中,言语内容路由器210可以聚合针对由言语内容识别器中的一个或多个提取的多个特征计算的匹配置信度值并且计算针对相应言语内容识别器的聚合匹配置信度值。言语内容路由器210可以选择优选的言语内容处理程序212为与呈现最高聚合匹配置信度值的言语内容识别器相关联的言语内容处理程序212。
[0106] 可选地,言语内容路由器210收集由针对上下文属性中的一个或多个的言语内容识别器中的一个或多个提供的计算结果并且使用针对上下文属性计算的匹配置信度值来选择优选的言语内容处理程序212。具体地,言语内容路由器210可以将上下文属性的匹配置信度值与由针对所提取的特征的相同言语内容识别器计算的匹配置信度值进行聚合。这可以显著地增加优选的言语内容处理程序212的选择准确性,因为言语输入的上下文、用户250的上下文等可以指示用户250的实际意图。
[0107] 例如,假设与第一言语内容处理程序212相关联的第一言语内容识别器和与第二言语内容处理程序212相关联的第二言语内容识别器呈现针对一个或多个提取的特征的类似匹配置信度值。术语相似的范围可以被预定义为某个增量值,使得在由多个言语内容识别器计算的匹配置信度值在预定义的增量值内的情况下,匹配置信度值被认为是相似的。进一步假设第一言语内容处理程序212与一个或多个特定情绪和/或情感,例如压力和/或焦虑相关联,而第二言语内容处理程序212与一个或多个其他情绪和/或情感,例如高兴相关联。在这种情况下,第一言语内容识别器和第二言语内容识别器可以根据从言语输入提取的用户250的情绪和/或情感来计算情绪和/或情感上下文属性的显著不同的匹配置信度值。例如,假设用户250当前经历压力,第一言语内容识别器可计算情感上下文属性的显著高的匹配置信度值,而第二言语内容识别器可计算情感上下文属性的显著低的匹配置信度值。在这种情况下,言语内容路由器210可以选择第一言语内容处理程序212作为优选的言语内容处理程序212。
[0108] 在另一示例中,假设与第一言语内容处理程序212相关联的第一言语内容识别器和与第二言语内容处理程序212相关联的第二言语内容识别器呈现针对一个或多个提取的特征的类似匹配置信度值。进一步假设第一言语内容处理程序212与室内场境相关联,而第二言语内容处理程序212与室外场境相关联。在这种情况下,第一言语内容识别器和第二言语内容识别器可以根据用户250的地理位置来计算地理位置上下文属性的显著不同的匹配置信度值。例如,假设用户250当前在室外,第一言语内容识别器可计算情感上下文属性的显著低的匹配置信度值,而第二言语内容识别器可计算情感上下文属性的显著高的匹配置信度值。在这种情况下,言语内容路由器210可以选择第二言语内容处理程序212作为优选的言语内容处理程序212。
[0109] 在另一示例中,言语内容路由器210可以基于由言语内容识别器中的一个或多个提供的先前特征中的一个或多个来选择优选的言语内容处理程序212。例如,假设某个言语内容处理程序212被选择为用于一个或多个先前言语输入和/或其部分的优选言语内容处理程序212,言语内容路由器210可以可选地结合分配给先前特征的计算的匹配置信度值评估先前路由,以便选择(当前)言语输入被路由到的优选的言语内容处理程序212。
[0110] 可选地,言语内容路由器210收集由言语内容识别器中的一个或多个提供的操作属性并且使用操作属性来选择优选的言语内容处理程序212。这可以进一步增加优选的言语内容处理程序212的选择准确性,因为言语内容处理程序212的操作状态可以指示与用户250的先前交互。在本发明的一些实施例中,言语内容路由器210全局地存储操作属性中的一个或多个。例如,言语内容路由器210可以存储反映(特别是在当前对话会话期间)先前言语输入路由到言语内容处理程序212的先前(历史)路由信息和/或对话流。类似于使用由言语内容识别器提供的操作属性,言语内容路由器210可以使用所存储的操作信息来选择(当前)言语输入被路由到的优选的言语内容处理程序212。存储、管理和/或提供操作属性给言语内容识别器可以允许言语内容处理程序212中的至少一些彼此独立,同时仍然能够利用与其他言语内容处理程序212有关的上下文信息和/或操作信息。
[0111] 例如,言语内容路由器210可以过滤掉(即,不选择)与产生未超过特定阈值的匹配置信度值的言语内容识别器相关联的一个或多个言语内容处理程序212。言语内容处理程序212可以使用全局预定义的阈值作为用于过滤掉言语内容处理程序212中的一个或多个的准则。然而,言语内容处理程序212可以使用由言语内容识别器中的一个或多个提供的一个或多个预定义阈值作为部分操作属性。在这种情况下,预定义阈值的值对于不同的言语内容识别器可以是不同的。可选地,一个或多个预定义阈值的值可以针对不同的提取特征、不同的上下文属性和/或不同的强制实体进行调整。
[0112] 在另一示例中,言语内容路由器210可以过滤掉(不选择)由其相关联的言语内容识别器指示为不能(即,不处于状态中)的一个或多个言语内容处理程序212来管理言语输入。
[0113] 在另一示例中,言语内容路由器210可以过滤掉(不选择)其相关联的言语内容识别器指示一个或多个强制性实体不存在于言语输入中和/或强制性实体被指派了未能超过预定义阈值的匹配置信度值的一个或多个言语内容处理程序212。
[0114] 在另一示例中,言语内容路由器210可以使用由言语内容识别器中的一个或多个提供的先前路由信息和/或先前对话流信息来选择优选的言语内容处理程序212。例如,假设多个言语内容识别器呈现针对从言语输入提取的特征的显著相似的匹配置信度值。在这种情况下,言语内容路由器210可以选择优选的言语内容处理程序212作为最近管理的先前言语输入的言语内容处理程序212。例如,假设与第一言语内容处理程序212相关联的第一言语内容识别器和与第二言语内容处理程序212相关联的第二言语内容识别器呈现类似的匹配置信度值。进一步假设,与路由到第一言语内容处理程序212相比,先前的言语输入被更近地路由到第二言语内容处理程序212。在这样的情况下,言语内容路由器210可以选择第二言语内容处理程序212作为优选的言语内容处理程序212,因为基于时间局部性,当前言语输入被引导到第二言语内容处理程序212的概率可以高于当前言语输入被引导到第一言语内容处理程序212的概率。
[0115] 在另一示例中,言语内容路由器210可以使用由言语内容识别器中的一个或多个所使用的言语分析工具的描述来选择优选的言语内容处理程序212以从言语输入提取特征。例如,假设多个言语内容识别器呈现从言语输入提取的特征的显著相似的匹配置信度值。在这种情况下,言语内容路由器210可以评估哪个(些)言语分析工具由言语内容识别器中的一个或多个应用,并且选择例如优选的言语内容处理程序212作为与应用最先进的言语分析工具的言语内容识别器相关联的言语内容处理程序212。
[0116] 可选地,言语内容路由器210使用对言语内容处理程序212进行优先级排序的预定义和/或动态设置的优先级排序机制。优先级可以应用于各个言语内容处理程序212和/或言语内容处理程序212的群组。例如,假设与第二组言语内容处理程序212相比,第一组言语内容处理程序212被分配了高优先级。当选择优选的言语内容处理程序212时,言语内容路由器210可以给予第一组优先。在这样的情况下,即使与第二组的言语内容处理程序212相关联的言语内容识别器呈现较高的匹配置信度匹配,言语内容路由器210也可以从第一组选择优选的言语内容处理程序212。然而,在与第一组的言语内容处理程序212相关联的言语内容识别器中没有一个呈现超过阈值的匹配置信度匹配的情况下,言语内容路由器210可以从第二组选择优选的言语内容处理程序212。
[0117] 可选地,言语内容路由器210选择默认的言语内容处理程序212作为优选的言语内容处理程序212。例如,在没有言语内容识别器产生超过预定义阈值的匹配置信度值的情况下,言语内容路由器210选择默认的言语内容处理程序212。这可以应用于针对所提取的特征、上下文属性和/或强制实体计算的匹配置信度值。言语内容路由器210可以选择例如浏览器类型的言语内容处理程序212作为优选的言语内容处理程序212并且指示浏览器访问用户250可以在其中浏览以完成他的意图的特定网站。言语内容路由器210可以可选地根据上下文属性中的一个或多个来选择默认的言语内容处理程序212。例如,假设言语内容处理程序212基于由言语内容识别器中的一个或多个提供的上下文属性来识别用户250位于特定地理位置,例如电影院综合体。在这种情况下,言语内容处理程序212可以选择例如停车寻找言语内容处理程序212作为优选的言语内容处理程序212,从而允许用户250寻找用于定位停车场和/或停车位的引导。
[0118] 如110处所示,言语内容路由器210将言语输入路由到选择的言语内容处理程序212。自然地,在言语输入被分段的情况下,每个分段通过过程100的步骤104-110被处理并且被路由到相应分段选择的言语内容处理程序212之一。
[0119] 所选择的言语内容处理程序212可以发起一个或多个动作,例如调用函数、应用特征、发起操作等由用户250通过言语输入所指示的类似动作。自然地,由所选择的言语内容处理程序212发起的动作由计算设备201支持。例如,假设计算设备201是智能电话,则由所选择的言语内容处理程序212发起的动作可以包括例如发起移动应用,诸如例如向所选择的联系人发起电话呼叫、向所选择的联系人发送文本消息和/或电子邮件消息、浏览特定网站、拍摄图片、开始记录音频输入、播放媒体内容、打开/关闭计算设备、设置音量水平等。在另一示例中,假设计算设备201是自主车辆的控制系统,由所选择的言语内容处理程序212发起的动作可以包括例如启动/关闭车辆、设置驾驶简档、打开/关闭灯、导航到特定地理位置、在车辆的信息娱乐系统处播放媒体内容等。在另一示例中,假设计算设备201是用于一个或多个家用电器的控制系统,例如,虚拟个人助理,由所选择的言语内容处理程序212发起的动作可以包括例如打开/关闭家用电器、发起家用电器处的应用、检查家用电器的状态等。
[0120] 预计在从本申请到专利成熟的生命期间,将开发许多相关的系统、方法和计算机程序,并且术语言语分析工具的范围旨在先验地包括所有这样的新技术。
[0121] 如本文所用,术语“约”是指±10%。
[0122] 术语“包含(comprise)”、“包括(comprising)”、“包括(includes)”、“包括(including)”、“具有(having)”及其变化形式是指"包括但不限于"。该术语包括术语“由….组成”和“基本上由…组成”。
[0123] 短语“基本上由…组成”是指组合物或方法可包括另外的成分和/或步骤,但仅当另外的成分和/或步骤不实质性地改变要求保护的组合物或方法的基本和新颖特征时。
[0124] 如本文所用,单数形式“一个(a)”、“一个(an)”和“该(the)”包括复数指代,除非上下文另外清楚地指明。例如,术语“一种化合物”或“至少一种化合物”可以包括多种化合物,包括其混合物。
[0125] 在整个说明书中,本发明的各种实施例可以以范围的形式呈现。应当理解,范围形式的描述仅仅是为了方便和简洁,而不应当被解释为对本发明范围的硬性限制。因此,范围的描述应被认为具体公开了所有可能的子范围以及该范围内的单个数值。例如,对范围如1至6的描述应被认为具体公开了子范围如1至3、1至4、1至5、2至4、2至6、3至6等,以及该范围内的单个数值,例如1、2、3、4、5和6。这与范围的宽度无关。
[0126] 无论何时在此指出数值范围,其意指包括在指出的范围内的任何引用的数字(分数或整数)。短语第一指示数字和第二指示数字“之间”的“范围(ranging)/范围(ranges)”和“从”第一指示数字“到”第二指示数字"的“范围(ranging)/范围(ranges)在本文中可互换使用,并且旨在包括第一指示数字和第二指示数字以及第一指示数字和第二指示数字之间的所有分数和整数。
[0127] 词语“示例性”在这里用于表示“用作示例、实例或说明”。任何被描述为“示例性”的实施例不必被解释为比其它实施例优选或有利和/或排除来自其它实施例的特征的结合。
[0128] 本文使用的词语“可选地”是指“在一些实施方案中提供而在其它实施方案中不提供”。本发明的任何特定实施例可以包括多个“可选”特征,除非这些特征冲突。
[0129] 应当理解,为了清楚起见在单独的实施例的上下文中描述的本发明的某些特征也可以结合单个实施例提供。相反地,为了简洁起见在单个实施例的上下文中描述的本发明的各种特征也可以单独地或以任何合适的子组合或如在本发明的任何其它描述的实施例中合适地提供。在各种实施例的上下文中描述的某些特征不被认为是那些实施例的必要特征,除非在没有那些元件的情况下实施例是不可操作的。
[0130] 尽管已经结合本发明的具体实施例描述了本发明,但是显然,许多替换、修改和变化对于本领域技术人员来说是显而易见的。因此,本发明旨在包括落入所附权利要求范围内的所有这些替代、修改和变化。
[0131] 本说明书中提及的所有出版物、专利和专利申请在此通过引用整体并入本说明书,其程度如同每个单独的出版物、专利或专利申请被具体地和单独地指示通过引用并入本文中。此外,本申请中任何参考文献的引用或识别不应被解释为承认这些参考文献可作为本发明的现有技术。就使用部分标题来说,它们不应被解释为必然是限制性的。