管理用于输入理解确定的用户交互的制作方法

文档序号:11450195阅读:332来源:国知局
管理用于输入理解确定的用户交互的制造方法与工艺



背景技术:

输入理解系统必须平衡从用户寻找澄清与基于给定时间点的系统的当前最好可信度采取动作之间的折中。寻找用于用户的查询/命令的确认或澄清使得系统能够确保准确地推断用户意图。如果系统重复地使得用户确认或澄清,则系统存在疏远用户的风险。然而,省略确认/澄清步骤可能导致关于用户意图以及其他可用性问题的评估的准确性的下降。其关于本公开所涉及的该总体技术环境。



技术实现要素:

本公开的示例改进针对输入理解做出的决策,以辅助确定如何对用户输入最好地进行响应。使用输入识别组件、输入理解组件以及输入上下文组件来分析接收到的输入。确定潜在的响应选项。如果存在关于对接收到的输入进行响应的不确定性,则针对潜在的响应选项,生成不确定性值和误分类成本,以辅助做出关于如何对接收到的输入最好地进行响应的决策。针对潜在响应和关联于潜在响应的参数来确定不确定性值,并且如果潜在响应证明是不正确的,则误分类成本是与寻求潜在响应相关联的成本。基于分析针对潜在响应的所生成的不确定性值和的所生成的误分类成本,响应被选择以传输到用户。

提供该概述以引入以在详细描述中下文进一步描述的简化形式的概念的选择。该概述不旨在标识所要求保护的主题的关键特征或基本特征,其也不旨在被用于限制所要求保护的主题的范围。示例的附加方面、特征和/或优点将在以下描述中部分被阐述并且部分从描述将是明显的或者可以通过本公开的实践被学习。

附图说明

参考以下附图描述非限制性和非排他性的示例。

图1图示了用于输入评估和响应的示例系统的概述。

图2图示了由输入理解平台造成的输入处理的示例方法。

图3图示了多个输入的输入处理的示例方法。

图4a图示了确定对接收到的输入的响应的示例方法。

图4b图示了用于包括澄清/确认的响应生成的示例方法。

图5是图示利用其可以实践本公开的各方面的计算设备的示例的块图。

图6a和图6b是利用其可以实践本公开的各方面的移动计算设备的简化块图。

图7是在其中可以实践本公开的各方面的分布式计算系统的简化块图。

具体实施方式

本公开描述了改进针对输入理解系统做出的决策以辅助输入理解系统确定如何对用户输入最好地进行响应的示例。在此所描述的示例平衡基于关于用户意图的系统或组件的当前可信度执行动作与在执行动作之前请求来自用户的澄清/确认之间的折中。输入理解系统(诸如会话理解(cu)系统)可能在其开始解译用户输入时面对不确定性。这样的系统易发生来自各种来源的错误(例如,语音识别错误、用户意图中的模糊、会话中的话题转移、系统无能力解析由用户所提到的实体等)。在面对这样的不确定性时,存在可用于系统的两个选择:1)系统可以或者利用其对于用户意图的最好猜想执行动作,因此存在可能采取不正确动作的风险,或者2)系统可以请求澄清/确认/消歧以移除/减少其不确定性,因此存在由于任务完成中的延迟和对于频繁重复的需要而疏远用户的风险。在所呈现的示例中,与用户输入确定有关的各个方面可以被评估以改进对输入理解系统的处理。作为示例,与可以被评估的输入理解确定有关的各个方面包括:1)意图的误分类成本;以及2)给定时间点的输入理解系统的置信度。如所描述的输入确定方面的评估可以改进在确定对用户输入的恰当响应时的准确性。例如,系统可以更好地被通知以确定是否需要寻找来自用户的进一步的澄清或者基于现有的可用信息执行动作。当处理用户输入时,这提高任务完成的效率,例如,减少错误率以及提供增强的用户体验(例如,增强可靠性、改进可用性等)。

图1图示了用于输入评估和响应的示例系统的概述。示例性系统100是交互以形成用于输入理解和处理的执行的集成整体的相互依存组件的组合。系统100的组件可以是硬件组件或被实现在系统100的硬件组件上的软件。系统100的每个组件可以包括一个或多个系统组件。在一些示例中,系统100可以是在具有处理器的设备(例如,处理设备)上运行软件组件的应用或服务。例如,输入理解应用或服务可以被运行在处理设备(诸如计算机、移动电话、平板电脑、游戏控制台、电子设备等)上,其中系统的组件可以被执行在处理设备上。在其他示例中,系统100的组件可以跨越多个设备散布。例如,可以在客户端设备上录入输入,并且可以被处理或者从网络中的其他设备(诸如服务器设备和/或数据存储装置)访问信息。对于可以被包括为系统100的一部分的硬件的附加示例,请参考图5至图7。作为一个示例,系统100可以包括组件(诸如用户交互组件102)和包括组件(诸如输入识别组件106、输入理解组件108、输入上下文组件110、用户交互中介组件112、知识存储库114和动作成本存储库116)的输入理解平台104。然而,系统100不限于这样的示例。系统(诸如系统100)的规模可以变化并且包括比图1中所描绘的那些更多或更少的组件。用户交互组件102与系统(诸如输入理解平台104)的其他组件之间的交互可以通过将系统100的组件和系统100外部的资源进行连接的网络发生。在一个示例中,系统100的组件可以通过分布式环境(诸如云计算环境)进行连接。

系统100的组件与处理设备的操作系统(os)进行对接以允许输入理解和处理。例如,系统100可以从用户交互组件102(下面所描述的)接收输入,并且处理接收到的输入并且经由输入理解平台104(下面所描述的)将响应返回给用户。在一个示例中,系统可以是输入理解系统(诸如会话理解(cu)系统)。然而,系统100具有处理装置并且可以被配置为处理任何类型的输入,包括但不限于语音/声音输入、文本输入、姿态输入、手写输入等。在一个示例中,系统100可以操作为智能个人助理。智能个人助理是移动软件代理,其可以基于用户输入、位置意识和访问来自各种在线来源的信息的能力来执行针对个体的任务或服务。系统100可以操作的智能个人助理的示例包括但不限于silvia、s-voice、voicemate、googlenow、cortana、hidi和siri等。

系统100可以经由用户输入交互组件102接收输入。用户交互组件102是使得以输入的形式的信息/数据能够录入系统100中并且允许系统100与用户通信或交互的组件。作为示例,用户交互组件102可以使得用户能够录入待被分析和处理的输入。如上文所标识的,输入可以以任何形式,包括语音/声音输入、文本输入、姿态输入和手写输入等。用户交互组件102可以与处理设备的os进行对接以向用户提供用户接口来将输入录入系统100中。作为示例,在对于来自用户的输入条目的请求时,用户交互组件102可以显示提示。可以由采取动作(例如,点击图标、按压按钮、做出口头请求、做姿态等)的用户发起用户输入提示。在备选示例中,对于用户输入的提示可以被显示在用于用户录入输入的os上。用户交互组件102可以与os的组件进行对接。例如,控制设备、显示设备、耳机、移动设备(例如,启用wifi、红外线或蓝牙的)、输入面板(例如,软输入面板、语音输入面板)、其他电子设备等可以与用户输入组件102协调用来培养用户交互。用户交互组件102还可以与系统100的其他组件(诸如输入理解平台104)进行对接。输入理解平台104是被用于处理接收到的输入的组件的集合。下面更详细地描述了输入理解平台104。用户交互组件可以将接收到的输入传递到输入理解平台104的组件以用于处理和分析。响应可以从输入理解平台104被传递到用户交互组件102以被提供到用户。在一些情况下,用户交互组件102可以被用于向用户提供可以与用户有关的信息(例如,更新、新闻、紧急消息等)。这可以在没有来自用户的提示的情况下发生。

输入理解平台104的处理组件可以与组件(诸如知识存储库114)进行对接。知识存储库114是表示由系统100的组件(诸如输入理解平台104)使用的知识数据或信息的框架。在一个示例中,知识存储库114可以是硬件组件,其具有存储数据并且处理数据以管理用于知识数据的请求的能力。在另一示例中,知识存储库114可以被运行为在处理设备或跨越多个处理设备可执行(可能地甚至与包含可以有用的任何附加知识的外部或第三方服务通信)的软件组件。知识数据可以是由系统100的组件可用的任何数据。

作为示例,输入识别组件106、输入理解组件108和输入上下文组件可以使用知识数据来执行各个组件处的处理。知识数据增加系统100具有的信息量,使得其在给定时间点做出更知情的决策。知识存储库114可以维持的信息的类型包括但不限于关于以下各项的信息:定义、策略规则、名称数据、历史数据(包括来自先前查询的数据)、系统100的组件(例如,输入理解平台104的组件)之间的相互关系、限制(例如,评估数据的事实的正式状态描述)、类别(例如,集合、概念、编程类型)、属性数据(例如,特性、特征、特点、参数)、公理、事件和功能项等。知识存储库114还可以与系统100外部的组件或资源进行通信以收集或采集与执行处理并且关于系统100可以如何对用户输入进行响应的最好可能的决策有关的信息。作为示例,知识存储库114可以被链接到因特网上的网络资源,例如,搜索引擎(例如,bing、googlesearch、yahoosearch、ask、webcrawler、dogpile等)以及任何其他知识存储库(例如,wikipedia、freebase、imdb、amazon等)。

输入理解平台104是系统100的组件的集合,其被用于处理输入、分析输入、确定响应选项并且将响应选项传递到用户交互组件102以提供到用户。在示例中,输入理解平台104可以包括以下各项中的任一项:硬件组件(os)、在硬件组件上运行的软件组件(例如,应用、应用编程接口、虚拟机)、运行时间库。在一个示例中,输入理解平台为运行的软件组件提供环境、服从用于操作的约束集并且利用系统100的资源或设施。在至少一个示例中,输入理解平台104的每个组件可以是在一个或多个处理设备上运行的软件。示例性输入理解平台104可以包括输入识别组件106、输入理解组件108、输入上下文组件110和用户交互中介组件112。输入理解平台104还可以包括诸如数据存储装置/存储器/存储库的组件,例如知识存储库114和动作成本存储库116,如在图1中所示和下面所描述的。

输入识别组件106是接收过程并且转换接收到的输入以用于识别的系统100的组件。当输入经由用户交互组件102被接收时,输入被传递到输入识别组件106以用于处理。输入识别组件106可以与用户交互组件102进行对接以向用户提供录入输入并且使能将输入从用户交互组件102传递到输入识别组件106的接口。如上文所描述的示例,由输入识别组件106处理的输入包括但不限于语音/声音输入、文本输入、姿态输入和手写输入等。作为示例,输入识别组件106可能能够将口头查询处理为文本。除了其他示例,输入识别组件106可以实现自动语音识别(asr)、计算机语音识别、语音转文字(stt)以处理语音转文字以用于评估。来自知识存储库114的知识数据可以由输入识别组件106用于改进用户输入的识别。作为示例,除了其他示例,知识存储库114可以维持用于输入识别处理的规则、用于确定输入是否被识别的阈值数据、关于用户特点(例如,语音)的数据、用于用户输入的模式、句法和语法数据以辅助输入识别组件106识别接收到的输入。

系统100可以确定用于在由输入识别组件106处理时接收到的输入的置信度值。输入识别组件106可以评估输入的不同方面以确定由输入识别组件106处理的输入的置信度值。置信度值指示系统100关于采集输入的确定性。在其中输入经由口头查询或语音输入被接收的示例中,输入识别组件106可以基于发音特点来分析各方面(诸如用户的特定语音和微调识别)。然而,可以由输入识别组件106分析输入的任何方面,这包括句法、语法、运动/姿态、(语音的)音调、输入长度等。置信度值可以结合用于输入理解平台的其他组件(例如,输入理解组件108和输入上下文组件110)的置信度值由输入理解平台104用来确定关于用于接收到的输入的潜在响应选项的确定性或不确定性水平。输入识别组件100可能不能够出于若干原因(包括输入识别错误、由用户所提供的输入(例如,语音或文本)中的错误、缺乏澄清(例如,在口头查询或命令中)等)中的任一个从用户采集输入。如果低置信度值与接收到的输入相关联,则系统100可以继续经由输入理解平台104的其他组件处理输入,但是最终地可以请求来自用户的澄清。在其中未采集输入的一些情况下,输入识别组件106可以经由用户交互组件102请求来自用户的澄清。

一旦输入被识别,输入识别组件106就将输入传递到输入理解组件108。输入理解组件108分析输入以用于理解,包括确定经分析的输入的理解/备选理解。接收到的输入的理解是基于由系统接收到的输入的分析而由系统100对接收到的输入的解译。作为示例,输入理解组件108可以是自然语言理解(nlu)单元或口头语言理解(slu)单元。输入的各方面可以被分析为确定接收到的输入的理解。由输入理解组件108分析的各方面的示例包括但不限于:输入的部分的标记、输入的语法/语义解析、来自输入的适当的名称识别、输入分类等。接收到的输入的分析可以包括来自知识存储库114的知识数据的应用。作为示例,知识存储库114可以维持用于输入理解处理、输入的语义解析的规则、以及用于标识输入的部分和与输入相关联的数据的打孔等以辅助输入理解组件108理解接收到的输入的规则和方法。

系统100可以确定用于由输入理解组件108分析的输入的置信度值。输入理解组件108可以评估输入的不同方面以关于分析输入确定置信度值。置信度值指示系统100关于接收到的输入的理解的确定性。可以针对由输入理解组件108所标识的接收到的输入的每个理解,确定置信度值。

由输入理解组件108所确定的理解被传递到输入上下文组件110以用于进一步评估。输入上下文组件110评估经分析的输入的上下文,包括确定用于经分析的输入的可能的响应和用于对用户进行响应的策略。针对接收到的输入的理解的上下文的评估包括澄清接收到的输入的意义。输入上下文组件110可以与知识存储库114交互以进一步分析由输入理解组件108所确定的理解。作为示例,输入上下文组件110可以将知识数据应用到经分析的输入以确定与输入相关联的状态,使得系统100可以关于如何对接收到的输入进行继续/进行响应做出确定。例如,输入上下文组件110可以确定用于接收到的输入的上下文,以及与上下文相关联的参数(例如,可能需要什么信息来执行与接收到的输入相关联的任务并且什么附加信息需要基于接收到的输入和理解的其评估而被请求)。例如,系统100可以智能地评估确定用于接收到的输入的上下文的点处的对话的流量/状态。知识存储库114可以维持在做出关于接收到的输入的上下文评估的知情决策时对输入上下文组件110有用的信息。知识数据可以包括但不限于:用于解译用户输入和经分析的理解的策略规则、关于目前和过往用户交互的历史数据、使用模式、词汇关联、对系统100外部的组件或资源的访问等。基于对接收到的输入的理解的评估,输入上下文组件110确定可能的响应选项并且标识与可能响应选项相关联的参数。可能的响应选项是系统100可以响应于接收输入而寻求的选项。与可能响应选项相关联的参数是系统已经获得或需要来自用户的澄清以便准确地完成用于用户的请求的信息。作为示例,接收到的输入可以是“向安迪发送电子邮件”。对接收到的输入的可能响应选项可以是向来自联系人列表的名为“安迪”的联系人生成电子邮件消息。如果系统100将执行向名为“安迪”的联系人生成并且发送电子邮件的动作,则特定信息可能需要完成该电子邮件(诸如安迪的电子邮件地址、电子邮件的主体的内容等)。其他信息可以是对于从用户获得可选但是有帮助的(如果尚未从分析和评估接收到的输入被标识),诸如电子邮件的主题、将谁复制到电子邮件上等。通过评估接收到的输入的理解的上下文,输入上下文组件110可以生成具有用于“安迪”的电子邮件地址的电子邮件消息。然而,撰写的电子邮件的主题、主体和其他字段可能尚未完成,知识因为系统100关于什么信息包括在这样的字段中是不确定的。因此,通过评估由系统100所生成的理解的上下文来标识响应选项和用于响应选项的参数。

系统100可以确定置信度值以用于通过输入上下文组件110评估上下文。输入上下文组件110可以评估输入的不同的方面以关于评估上下文来确定置信度值。置信度值指示系统100关于响应选项和与响应选项相关联的参数的确定性。可以针对由输入上下文组件110所标识的每个相应选项确定置信度值。

作为示例,对于语音/声音输入而言,输入上下文组件110可以是在确定如何进行响应时管理系统100的对话和策略的状态的对话策略组件。在一个示例中,对话策略组件可以包括多个组件,其包括对话管理器和对话引擎。对话管理器是负责对话的状态和流量的输入上下文组件110的组件(例如,对话策略组件)。对话引擎可以被用于执行处理以评估语音输入的上下文。在一些示例中,用户交互中介组件112可以是输入上下文组件110(例如,对话策略组件)的组件,并且在其他示例中,用户交互中介组件112可以是系统100的、与输入上下文组件110分离的组件。作为示例,对话策略组件(包括用户中介组件112)对来自语言理解组件的用户的输入连同置信度值和先前系统响应采取不同的解译。对话策略组件可以确定与每个可能系统响应相关联的成本。在该示例中,对话策略组件基于所估计的成本来生成系统响应。

用户交互中介组件112是当系统不确定与接收到的输入相关联的信息时评估用于接收到的输入的潜在响应选项的组件。如果系统100关于如何对用户输入进行响应是确定的,则用户交互中介组件的处理可能是不必要的。用户交互中介组件112在系统具有某种信息时开始生效,但是其关于信息是不确定的。如上文所标识的,关于由输入理解平台104的组件接收到的输入的处理来确定置信度值。置信度值可以是评估系统100的组件将准确地解译理解和评估接收到的输入的置信度使用的任何度量。系统100可以评估用于潜在响应选项的置信度值和与潜在响应选项相关联的参数以确定是否要求进一步的评估。在一个示例中,确定性的确定可以涉及潜在响应选项是正确并且系统100已经基于接收到的输入获得采取动作的足够信息的置信度的阈值。在另一示例中,当标识特定类型的不确定性时,系统100可以确定利用用户交互中介组件112。例如,如果系统100指示输入识别组件106具有接收到的输入的识别中的低置信度值,则这可以触发关于如何继续做出决策的用户交互中介组件112的使用。可以由用户交互中介组件112触发动作的不确定性的类型的示例包括但不限于:未识别输入,关于用户意图是否正确地解译的讨论、竞争响应选项(意图)、用户关于输入固有地模糊的系统解译等。

如果标识不确定时,用户交互中介组件112评估什么是系统100对接收到的输入进行响应的最好响应选项。用户交互中介组件112可以确定响应于接收到的输入是否应当执行动作或者系统100在采取进一步动作之前是否应当请求接收到的输入的进一步澄清或确认。作为示例,如果接收到的输入是“向安迪发送电子邮件”,则由系统100采取的动作可以是向安迪撰写电子邮件或向安迪发送电子邮件。如果系统100不确定是撰写电子邮件、发送电子邮件还是具有适当出现的其他竞争意图(例如,向安迪发送文本消息),系统100可以进一步评估可能响应选项。例如,用户交互中介组件112可以管理可以辅助系统确定下一响应(例如,是执行动作还是请求来自用户的进一步澄清)的数据。执行动作或请求来自用户的澄清的选择可以基于两个方面:1)意图的误分类成本,以及2)给定时间点的响应选项(包括响应选项的参数)中的系统的置信度。

误分类成本是证明系统100关于潜在响应选项关心多少不确定性以及系统100关于该潜在响应选项的方面(或参数)关心多少不确定性的确定。如果潜在响应证明是不正确的,则意图的误分类成本可以是与寻求潜在响应选项的成本相关联的度量。换句话说,如果系统100得到响应选项和/或与响应选项错误相关联的方面或参数,则误分类成本是估计对于系统100和用户的影响的值。潜在响应选项可以与不同的成本相关联。例如,不同的动作(例如,发送电子邮件或设置提醒)具有不同的成本。一些成本可以比其他更高。例如,如果系统100选择难以恢复的响应(例如,向错误接收者发送电子邮件),则该响应选项将与误分类的高成本相关联。可以针对成本评估潜在响应选项的多个方面。系统100可以评估如果潜在响应选项证明不正确则发生什么以及如果与潜在响应选项相关联的方面证明不正确则发生什么。例如,如果系统100得到响应正确但是填充由用户容易地可更正的不正确字段,则选择该响应选项和填充字段相关联的成本可以是低的。

在一个示例中,可以通过主观测量来学习与意图的误分类相关联的成本。主观测量的示例包括但不限于:用于幂等性对非幂等性的数据、时间灵敏度、历史使用模式和用户交互等。在另一示例中,基于所采集的经验数据(例如,注释会话、随机化试验),可以学习与意图的误分类相关联的成本。在又一示例中,可以通过主观测量和经验数据二者来学习意图的误分类成本。系统100可以维持与组件(诸如动作成本存储库116)中的误分类成本的评估相关联的信息。由动作成本存储库116所维持的信息可以包括但不限于:与成本误分类确定和建模有关的策略和规则、所采集或所累积的信息(关于主观测量和经验数据和可以辅助用户交互中介组件112评估与响应选项的方面相关联的成本的任何其他数据的信息)。动作成本存储库116是表示在关于如何对接收到的输入进行响应做出决策时由用户交互中介组件112使用的信息的框架。在一个示例中,动作成本116可以是硬件组件,其具有存储数据并且处理数据以管理用于成本信息的请求的能力。在另一示例中,动作成本存储库116可以被运行为在处理设备上或跨越多个处理设备可执行的软件组件。

用户交互中介组件112还可以评估当系统100响应于接收到的输入而确定寻求的选项时的时间点处的响应选项(包括响应选项的参数)中的系统的置信度。可以基于从输入理解平台104的组件(例如,输入识别组件106、输入理解组件10和输入上下文组件110)累积或聚合的置信度值(得分),确定不确定性度量或值。在该示例中,在接收到的输入的处理期间应用的数据(诸如知识数据(例如,来自知识存储库114的数据))可以被考虑到不确定性值中,因为那是评估与接收到的输入的理解相关联的上下文的方面。在另一示例中,可以基于从输入理解平台104的组件累积或聚合的置信度值(得分)和来自系统100或系统外部的其他组件的补充信息,确定不确定性值(例如,度量)。作为示例,不确定性值可以整体上与潜在响应选项相对应。然而,可以针对确定性/不确定性评估每个响应选项的各方面。

在一个示例中,用户交互中介组件112可以单独地评估误分类成本和不确定性值,并且对基于用于每个可能响应选项的这样的方面的评估,确定最好可能响应选项。在评估误分类成本和可能响应选项的不确定性时,用户交互中介组件112可以分析对于潜在响应中的每一个的所生成的误分类成本和所生成的不确定性值的有区别的分类器。在另一示例中,用户交互中介组件112可以实现将与针对潜在响应选项中的每一个的所生成的误分类成本和所生成的不确定性值相关联的概率值进行组合的决策理论,以确定最好的可能响应选项。用户交互中介组件112可以被配置为使能任何类型的做出决策的模型的实现。

用户交互中介组件112基于评估或分析关于潜在响应选项的意图的误分类成本和不确定性值二者,做出关于是执行动作还是寻找澄清的确定。基于评估用于潜在响应选项的不确定性值和误分类成本,系统100经由用户交互中介组件112从潜在响应选项选择响应以传输到用户。在其中用户交互中介组件112确定从用户要求进一步澄清或确认的情况下,用户交互中介组件112可以确定澄清接收到的输入的模式。澄清接收到的输入的模式可以是系统100可以从事从用户请求澄清的方式。作为示例,系统100可以标识进一步的信息可能需要从用户采集以便采取某个动作(诸如发送电子邮件)。通过评估可能响应选项的上下文,系统100可以标识采取什么动作以及与可能仍然需要澄清的动作相关联的参数。基于这样的信息,系统100可以评估如何构造对用户的响应。澄清的模式的示例可以包括但不限于:信息的确认、请求用户提供附加信息、以及向用户建议备选选项(例如,一个或多个响应选项)等。与评估与将响应选项误分类相关联的成本类似,系统100可以评估对于澄清的模式的成本。基于对于由系统100所标识的澄清的所确定的模式的所生成的成本值的评估,系统100可以选择澄清接收到的输入的模式。

在一个示例中,系统可以通过评估所有可能响应选项来确定发送电子邮件消息是最好响应选项。通过基于接收到的输入来评估该响应选项的上下文,系统100可以确定某些信息(诸如接收者的电子邮件地址和电子邮件中包括的内容)仍然被需要以便发送电子邮件。系统100还可以标识信息的其他可选字段不完全的但是不被要求用于发送电子邮件。系统100具有向用户发送澄清的选项,这请求其提供信息(至少必要信息和可能地可选的信息)以便能够发送电子邮件。然而,系统100还可以考虑对用户请求太多信息可能使用户失望。因此,系统在响应如何被构造到用户方面可以是选择性的。也即,系统100可以选择澄清(诸如请求用户)的模式以提供附加信息,并且选择性地确定请求什么信息、何时请求并且跟踪系统100与用户交互多少次。例如,系统100可以智能地评估在从用户寻找澄清/确认时与用户交互(例如,对话)的流量/状态。在其中系统100已经对用户查询寻找澄清多次的示例中,系统100可以智能地管理其与用户的交互。系统100还可以评估与澄清关联于所选择的响应选项的参数或方面相关联的成本。一旦选择响应选项,则用户交互中介组件112可以将响应选项传输到用户交互组件102以呈现给用户。

图2图示了由输入理解平台造成的输入处理的示例方法200。作为示例,可以通过系统(诸如图1的系统100)执行方法200。方法200可以是由输入理解平台(诸如图1的输入理解平台104)所执行的操作。然而,方法200不限于这样的示例。可以通过一个或多个处理设备执行方法200。在其他示例中,可以通过输入理解服务或应用执行方法200。

方法200在操作202处开始,其中输入由输入识别组件处理。输入识别组件接收过程并且转换接收到的输入以用于识别。示例性输入识别组件是图1的输入识别组件106。当输入被接收时,其被处理以用于识别。输入识别组件可以包括能够接收和处理接收到的输入的组件或资源。在其他示例中,输入识别组件可以与外部组件或资源进行对接以处理接收到的输入。如在图2中所示的示例,输入识别组件可以做出接收到的输入是“向奥马尔发送消息”的确定。由输入识别组件做出的确定包括确定用于接收到的输入的确定性水平。在图1的描述中描述了由输入识别组件评估以确定关于接收到的输入的识别的确定性水平的输入的各方面。在图2中所示的示例中,“向奥马尔发送消息”的输入的的所确定的确定性水平是百分之一百(100%),这指示输入识别组件非常确信其正确地解译接收到的输入。在另一示例中,操作202产生其中系统或服务不是100%确定输出的结果并且可以产生多个可能性。例如,备选输出可以是“向奥斯曼发送消息”或其可以是“找到来自奥马尔的消息”。随着用于方法200的处理进行,操作202中产生的多个可能性可以随着处理继续(例如,在操作204、206、208和210中)级联为甚至更多选项。

方法200继续进行到操作204,其中接收到的输入由输入理解组件分析。输入理解组件基于由输入识别组件造成的识别,确定用于经分析的输入的解译或理解。示例性输入理解组件是图1中所描述的输入理解组件108。输入理解组件可以包括能够分析接收到的输入的组件或资源。在其他示例中,输入理解组件可以与外部组件或资源进行对接以处理接收到的输入(例如,图1的知识存储库114)。继续其中所识别的输入是“向奥马尔发送消息”的示例,该识别的输入的示例解译/理解可以“向奥马尔发送文本消息”和“向奥马尔发送电子邮件消息”等。由输入理解组件做出的确定包括由输入理解组件确定针对确定的确定性水平。在图1的描述中描述了由输入理解组件评估以确定关于接收到的输入的形成的理解的确定性水平的输入的各方面。在图1中所示的示例中,“向奥马尔发送文本消息”的理解的所确定的确定性水平是百分之五十(50%)并且“向奥马尔发送电子邮件消息”的理解的的所确定的确定性水平是百分之五十(50%),这指示竞争的备选方案可以由输入理解组件标识。这时候,在评估接收到的输入时,存在关于用户的意图的不确定性水平,这是因为“向奥马尔发送消息”的输入是能够通过输入理解组件以不同的方式解译的宽泛陈述。

流可以继续进行到操作206,其中输入的上下文由输入上下文组件评估。输入上下文组件评估经分析的输入的上下文,包括确定用于经分析的输入的可能的响应和用于对用户进行响应的策略。示例性输入理解组件是图1中所描述的输入上下文组件110。输入上下文组件可以包括能够接收并且评估用于输入的上下文的组件或资源。在其他示例中,输入上下文组件可以与外部组件或资源进行对接以评估用于输入的上下文。输入上下文组件构建由输入理解组件所标识的所确定的理解以确定可能的响应选项。输入上下文组件评估意义并且将上下文提供给由输入理解组件所确定的理解。继续其中所确定的理解包括“向奥马尔发送文本消息”和“向奥马尔发送电子邮件消息”的示例,除了其他示例,由输入上下文组件所确定的可能响应选项的示例包括:“向奥马尔撰写文本消息”、“向奥马尔发送文本消息”、“向奥马尔的个人电子邮件地址撰写电子邮件消息”、“向奥马尔的个人电子邮件地址发送电子邮件消息”、“向奥马尔的商业电子邮件地址撰写电子邮件消息”和“向奥马尔的商业地址发送电子邮件消息”。在图1的描述中描述由输入上下文组件所评估的输入的各方面。作为示例,在评估接收输入的理解的上下文时,输入上下文组件可以评估谁是“奥马尔”。例如,“奥马尔”是联系人列表中的名字、存在所标识的“奥马尔”的多个列表、“奥马尔”被链接到由搜索资源(诸如因特网)可识别的信息的名字。由输入上下文组件做出的确定包括确定针对可能响应选项的确定性水平。在图2中所示的示例中,针对可能响应选项中的每一个示出所确定的确定性水平。在图1的描述中描述由输入上下文组件评估以确定确定性水平的可能响应选项的各方面。

如果输入理解平台确定确信响应选项比其他备选方案更好,并且系统具有适当地基于接收到的输入采取动作所需要的信息,并且输入理解平台基于接收到的输入来执行动作。使用其中接收到的输入是“向奥马尔发送消息”的示例,输入理解平台可以向名为“奥马尔”的联系人生成文本消息的草稿。输入理解平台可以使用关于可能响应选项的确定性的所确定的水平以评估响应选项是否是比其他响应选项更好的选择。如果存在不确定性(例如,基于关于可能响应选项的不确定性的类型的竞争备选选项或标识),则流程继续进行到操作208,其中潜在响应选项进一步由用户交互中介组件评估。当输入理解平台不确定响应选项和/或与可能响应选项相关联的信息时,用户交互中介组件评估用于接收到的输入的潜在响应选项。与可能响应选项相关联的信息可以是系统根据需要标识为关于接收到的输入代表用户采取动作的方面或参数。

用户交互中介组件还基于各方面(诸如意图的误分类成本和与给定时间点的响应选项(包括响应选项的参数)相关联的不确定性值(例如,聚合不确定性值)),评估潜在响应选项。在图1的描述中提供了误分类成本和不确定性值的详细描述。作为示例,“向奥马尔撰写文本消息”的潜在响应选项的评估可以确定不确定性的聚合水平很低,这意味着系统标识接收到的输入“向奥马尔发送消息”的意图与“向奥马尔撰写文本消息”的可能响应选项之间的强相关性。如在图2中所示,“向奥马尔撰写文本消息”的误分类成本很低,这意味着输入理解平台在评估之后标识向名为奥马尔的联系人撰写文本消息并且是不正确是很低的风险。考虑另一潜在响应选项“向奥马尔发送文本消息”,所确定的聚合不确定性值可以是“很高”,这意味着输入理解平台不确定用户是否旨在向名为奥马尔的联系人发送文本消息以及什么消息包括在奥马尔的文本消息中。而且,与“向奥马尔发送文本消息”的响应选项相关联的误分类成本可能很高,这意味着系统标识如果用户不旨在向奥马尔发送文本消息(或发送具有不正确信息的文本消息),则后果将很大(例如,动作可以类似地使用户失望和疏远)。

一旦评估输入理解平台不确定的可能响应选项,流就继续进行到操作210,其中响应选项被选择以发送到用户。作为示例,用户交互中介组件可以基于聚合不确定性值的评估和与可能响应选项相关联的误分类成本,选择最好的可能响应选项。例如,如果“向联系人中的奥马尔撰写文本消息”是所确定的响应选项,则用户交互中介组件可能已经标识其不确定什么内容包括在给奥马尔的撰写的文本消息中。作为示例,输入理解平台可以进行向奥马尔撰写文本消息,但是还可以确定是否获得关于待包括在撰写的文本消息中的内容的澄清。备选地,用户交互中介组件可以确定最好响应选项将在关于向奥马尔撰写或发送文本消息采取进一步动作之前寻找来自用户的澄清。在图1的描述中描述了与确定澄清的模式并且如何选择澄清接收到的输入的模式有关的各方面。输入理解平台可以关于如何响应并且如果需要澄清则寻找来自用户的澄清的最好方式是什么而做出确定。除1)在没有澄清的情况下执行动作和2)寻找来自用户的澄清的相应选项之外,另一示例选项是寻找隐含确认,其中输入理解系统或服务呈现在其请求新信息时听到什么。例如,用户可以录入“设置会见约翰”的输入。输入理解系统或服务处理该输入并且返回“你什么时候想要与约翰设置会见”的响应。作为提示,输入理解系统或服务可能不确定其是否听到例如是约翰还是强尼,但是在请求新信息时用户试图的读取/显示是用户旨在与“约翰”设置会见的一种形式的隐含确认。基于响应,用户可以做出“下午三点”的响应。以这种方式,用户已经隐含地确认输入理解系统或服务已经准确地评估用户输入。

图3图示了用于多个输入的输入处理的示例方法300。作为示例,可以通过系统(诸如图1的系统100)或包括至少一个处理设备的任何系统执行方法300。方法300可以是由输入理解平台(诸如图1的输入理解平台104)所执行的操作。然而,方法300不限于这样的示例。可以通过一个或多个处理设备执行方法300。在其他示例中,可以通过输入理解服务或应用执行方法300。方法300证明处理可以连续地基于与用户的(一个或多个)交互并且该处理可以聚合或构建与用户的先前的交互。

流在操作302处开始,其中接收第一输入。可以在系统(诸如图1中的系统100)的组件或能够接收输入的任何处理组件或设备处接收输入。一旦接收到输入,就分析接收到的输入(操作304)。作为示例,分析输入可以包括由图1和图2中所描述的一个或多个组件(例如,输入识别组件、输入理解组件、输入上下文组件和用户交互中介组件)所执行的处理。

在分析接收到的输入时,可以对于系统或服务关于潜在响应选项的不确定做出确定(决策操作306)。如果系统或服关于响应选项和/或与响应选项相关联的信息/参数是确定的,那么流继续进行到操作308,其中响应被发送回到用户。可以通过响应于接收到的输入比较由系统或服务所评估的可能响应选项并且基于评估选择最高评定/排名的响应选项,来选择响应选项。响应可以包括基于用户的输入代表用户执行任务或动作。如果流到达操作308,方法300结束并且系统或服务可以等待从用户接收进一步输入。如果接收到进一步输入(在第一输入之后在任何时间处),则系统或服务将在操作304处开始流程,其中分析接收到的输入。在分析接收到的输入时,系统或服务可以检查输入是否与由用户提交的先前的输入相关联。如果确定输入被链接到先前的输入,则系统或服务可以使用知识数据(诸如被存储在图1的知识存储库114中的数据)以智能地构建用于输入的上下文。

然而,如果确定存在关于响应选项和/或与潜在响应选项相关联的信息的不确定性水平,则流可以继续进行到操作310,其中评估潜在响应选项。潜在响应选项的评估包括评估包括不确定性值和误分类成本的每个响应选项的各方面,如在图1和图2中先前所描述的。在评估用于接收到的输入的潜在响应选项时,系统或服务关于是否相信需要进一步澄清做出决策(决策操作312)。如果确定进一步澄清是不必要的,则流程转到操作318,其中选择响应选项,并且对接收到的输入的响应被发送到用户。在该点处,流在进一步的输入从用户被接收(操作320)时继续进行。

然而,如果系统标识在操作312处需要进一步澄清,则流继续进行到操作314,其中评估澄清的模式。在图1的描述中描述澄清的模式的评估。基于评估澄清的模式,系统或服务选择并且向用户发送响应(操作316),其包括澄清的模式。在该点处,流在进一步的输入从用户被接收(操作320)时进行。如果接收到进一步的输入(在第一输入之后在任何时间处),流被引导到操作304,其中分析接收到的输入。在分析接收到的输入时,系统或服务可以检查输入是否与由用户提交的先前的输入相关联。如果确定输入被链接到先前的输入,则知识数据(诸如被存储在图1的知识存储库114中的数据)可以被用于智能地构建用于输入的上下文。系统或服务可以从先前的输入连续地聚合数据以改进用户输入的处理。方法300可以继续多个输入,只要用户提供要求分析的输入。

图4a图示了对接收到的输入进行响应的示例方法400。可以通过系统(诸如图1的系统100)或包括至少一个处理设备的任何输入理解系统执行方法400。方法400可以是由输入理解平台(诸如图1的输入理解平台104)所执行的操作。然而,方法400不限于这样的示例。可以由一个或多个处理设备执行方法400。在其他示例中,可以由输入理解服务或应用执行方法400。

流程在操作402处开始,其中分析接收到的输入。分析接收到的输入可以包括由图1和图2中所描述的一个或多个组件(例如,输入识别组件、输入理解组件、输入上下文组件和用户交互中介组件)所执行的处理。在分析接收到的输入时,响应选项可以被确定以用于对接收到的输入进行响应。分析接收到的输入包括评估响应选项并且确定是否存在关于潜在响应选项的不确定性。在一个示例中,基于响应选项满足接收到的输入的意图的所确定的可能性,可以对响应选项进行排名。然而,组件可以以使得组件能够将响应选项相互区分的任何方式分析和评估响应选项。响应选项的评估还包括评估潜在响应选项的各方面。例如,在评估响应选项时,组件可以确定已经从分析接收到的输入标识的信息以及可以仍然被要求用于组件基于接收到的输入执行任务或动作的信息二者。这可以使能关于是否存在关于潜在响应选项的不确定性的确定。如果组件确信所选择的响应选项(包括与所选择的响应选项相关联的参数),则组件可以向用户发送响应。

如果组件不确定关于潜在响应选项的选择,则流可以继续进行到操作404,其中针对潜在响应选项生成误分类成本和不确定性值。在至少图1和图2的描述中详述了误分类成本的确定和用于潜在响应选项的不确定性值。基于针对潜在响应选项中的每一个的误分类成本和不确定性值,组件可以比较(操作406)潜在响应选项。潜在响应选项的比较可以包括基于有区别的/有条件的建模或生成建模,针对潜在响应选项中的每一个,评估误分类成本和不确定性值。

基于对潜在响应选项的评估,选择响应选项(操作408)。潜在响应选项的选择可以包括标识是否要求进一步澄清。一旦选择响应选项,组件就可以向用户发送响应(操作410)。如果确定需要来自用户的进一步澄清,则响应可以包括澄清或确认。

图4b图示了用于经由进一步的澄清/确认对接收到的输入进行响应的示例方法412。可以通过系统(诸如图1的系统100)或包括至少一个处理设备的任何系统执行方法412。方法412可以是由输入理解平台(诸如图1的输入理解平台104)所执行的操作。然而,方法412不限于这样的示例。可以由一个或多个处理设备执行方法412。在其他示例中,可以由输入理解服务或应用执行方法412。作为示例,当基于接收到的输入需要澄清或确认时,可以执行方法412。

流在操作414处开始,其中确定澄清接收到的输入的模式。提供用于澄清的模式的描述,如在图1中上文所描述的。对于澄清的模式中的每一个而言,可以生成成本值(操作416)。澄清的成本是对来自用户的请求澄清可能如何影响用户的评估。例如,如果用户输入平台的系统或服务从用户请求澄清太频繁,则这可能负面地影响用户体验。在一些实例中,用户可能随着输入理解系统或服务变得失望并且使用其停止。与来自用户的澄清/确认相关联的成本的评估可以使得输入理解系统或服务能够通过确定如何并且何时对用户请求澄清来智能地管理对用户请求更多信息。

作为示例,可以通过主观测量来学习澄清成本值的生成。主观测量的示例包括但不限于:对于幂等性的数据、时间灵敏度、历史使用模式、关于用户交互(包括当前用户交互)的数据、以及计数器等。在另一示例中,可以基于关于何时并且如何寻找来自用户的澄清做出确定而采集并且应用的经验数据(例如,注释会话、随机化实验)或知识数据,来学习成本。在又一示例中,可以通过主观测量和经验数据二者来学习澄清的成本。例如,输入系统或服务可以跟踪与用户的交互数目的交互并且使其成本估计部分基于已经请求用户提供信息的次数。然而,澄清的成本可以基于如由输入系统或服务所确定的因素的组合。

输入系统或服务通过评估澄清的每个模式的成本值来选择澄清的模式(操作418)。基于所选择的澄清的模式,可以发送响应(操作420)。流可以在响应被发送到用户时(操作420)结束。然而,在接收到其中确定可以要求澄清的输入的任何时间,输入理解系统或服务可以重复确定澄清的模式的过程。

图5至图7和相关联的描述提供了在其中可以实践本发明的示例的各种操作环境的讨论。然而,关于图5至图7所图示和所讨论的设备和系统出于示例和说明的目的,并且对可以被用于实践本文所描述的本发明的示例的大量计算设备配置是非限制性的。

图5是图示计算设备502的物理组件(例如,利用其可以实践本公开的示例的输入理解系统的组件)的块图。下文所描述的计算设备组件可以适于上文所描述的计算设备。在基本配置中,计算设备502可以包括至少一个处理单元504和存储器系统506。取决于计算设备的配置和类型,系统存储器506可以包括但不限于易失性存储装置(例如,随机存取存储器)、非易失性存储装置(例如,只读存储器)、闪速存储器或者这样的存储器的任何组合。系统存储器506可以包括操作系统507和适于运行软件应用520(诸如应用528、io管理器524和其他实用程序526)的一个或多个程序模块508。作为示例,系统存储器506可以存储用于执行的指令。系统存储器506的其他示例可以是组件(诸如知识资源)。例如,操作系统507可以适于控制计算设备502的操作。而且,本发明的示例可以结合图形库、其他操作系统或者任何其他应用程序被实践并且不限于任何特定应用或者系统。通过虚线522内的那些组件在图5中图示该基本配置。计算设备502可以具有附加的特征或功能。例如,计算设备502还可以包括附加的数据存储装置(可移除和/或不可移除的),诸如例如磁盘、光盘或者磁带。在图5中通过可移除的存储装置509和不可移除的存储装置510图示这样的附加存储装置。

如上文所陈述的,若干程序模块和数据文件可以被存储在系统存储器506中。当在处理单元504上执行时,程序模块508(例如,应用528、输入/输出(i/o)管理器524和其他实用程序526)可以执行包括但不限于例如图2到图4b中所描述的操作中的一个或多个操作的过程。根据本发明的示例可以使用的其他程序模块可以包括电子邮件和联系人应用、输入理解服务(例如,应用和/或程序)、字处理应用、电子数据表应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用,等等。

此外,本发明的示例可以被实践在包括分离的电子元件的电路、包含逻辑门的封装或者集成电子芯片、利用微处理器的电路中或者包含电子元件或微处理器的单个芯片上。例如,本发明的示例可以经由片上系统(soc)被实践,其中图5中所图示的每个或许多组件可以被集成到单个集成电路上。这样的soc设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能,它们全部被集成(或者“被烧制”)到芯片衬底上作为单个集成电路。当经由soc操作时,本文所描述的功能可以经由单个集成电路(芯片)上的计算设备502的其他组件集成的专用逻辑进行操作。本公开的示例还可以使用能够执行逻辑操作(诸如例如and、or和not)的其他技术被实践,包括但不限于机械、光学、流体和量子技术。另外,本发明的示例可以实践在通用计算机内或在任何其他电路或系统中。

计算设备502还可以具有一个或多个输入设备512(诸如键盘、鼠标、笔、声音输入设备、用于语音输入/识别的设备、触摸输入设备等)。还可以包括(一个或多个)输出设备(诸如显示器、扬声器、打印机等)。前述设备是示例并且可以使用其他示例。计算设备504可以包括允许与其他计算设备518进行通信的一个或多个通信连接516。适合的通信连接516的示例包括但不限于rf发射器、接收器和/或收发器电路;通用串行总线(usb)、并行和/或串行端口。

如在此所使用的,术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以用于信息(诸如计算机可读指令、数据结构或者程序模块)的存储的任何方法或者技术实现的易失性和非易失性、可移除和不可移除的介质。系统存储器506、可移除的存储装置509和不可移除的存储装置510是全部计算机存储介质示例(即,存储器存储)。计算机存储介质可以包括ram、rom、电可擦只读存储器(eeprom)、闪速存储器或者其他存储器技术、cd-rom、数字多用光盘(dvd)或者其他光学存储装置、磁带盒、磁带、磁盘存储装置或者其他磁性存储设备或者可以被用于存储信息并且可以由计算设备502访问的任何其他制造品。任何这样的计算机存储介质可以是计算设备502的一部分。计算机存储介质不包括载波或者其他传播或者调制数据信号。

可以由计算机可读指令、数据结构、程序模块或者经调制的数据信号(诸如载波或者其他传输机制)中的其他数据来实现通信介质,并且包括任何信息递送介质。术语“经调制数据信号”可以描述具有以关于将信息编码在信号中的这样的方式设定或改变的一个或多个特点的信号。以示例而非限制的方式,通信介质包括有线介质(诸如有线网络或直接有线连接)和无线介质(诸如声学、射频(rf)、红外和其他无线介质)。

图6a和图6b图示了利用其可以实践本发明的示例的移动计算设备600(例如,移动电话、智能电话、个人数字助理、平板个人计算机、膝上型计算机等)。例如,移动计算设备600可以被实现为系统100、系统100的组件或者可以被配置为执行在图2到图4b中所描述的处理方法等。参考图6a,图示了用于实现示例的移动计算设备600的一个示例。在基本配置中,移动计算设备600是具有输入元件和输出元件二者的手持式计算机。移动计算设备600通常包括显示器605和一个或多个输入按钮610,其允许用户将信息输入到移动计算设备600中。移动计算设备600的显示器605还可以用作输入设备(例如,触摸屏显示器)。如果被包括的话,可选侧面输入元件615允许进一步的用户输入。侧面输入元件615可以是旋转开关、按钮或者任何其他类型的手动输入元件。在备选示例中,移动计算设备600可以包含更多或更少的输入元件。例如,在一些示例中,显示器605可以不是触摸屏。在又一备选示例中,移动计算设备600是便携式电话系统(诸如蜂窝电话)。移动计算设备600还可以包括可选的键盘635。可选的键盘635可以是物理小键盘或触摸屏显示器上生成的“软”小键盘。在各种示例中,输出元件包括用于示出图形用户接口(gui)、视觉指示器620(例如,发光二极管)和/或音频换能器625(例如,扬声器)的显示器605。在一些示例中,移动计算设备600包含用于向用户提供触觉反馈的振动换能器。在又一示例中,移动计算设备600包含输入和/或输出端口(诸如音频输入(例如,麦克风插孔))、音频输出(例如,头戴式耳机插孔)和用于将信号发送到外部设备或从外部设备接收信号的视频输出(例如,hdmi端口)。

图6b是图示移动计算设备的一个示例的架构的块图。也即,移动计算设备600可以包含实现一些示例的系统(即架构)602。在一个示例中,系统602被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些示例中,系统602被集成为计算设备(诸如集成个人数字助理(pda)和无线电话)。

一个或多个应用程序666可以被加载到存储器662中并且运行在操作系统664上或与操作系统664相关联。应用程序的示例包括电话拨号器程序、电子邮件程序、个人信息管理(pim)程序、字处理程序、电子数据表程序、因特网浏览器程序、消息程序等。系统602还包括存储器662内的非易失性存储区域668。非易失性存储区域668可以被用于存储在系统602断电的情况下不应当丢失的持久信息。应用程序666可以使用和存储非易失性存储区域668中的信息(诸如电子邮件或由电子邮件应用使用的其他消息等)。同步应用(未示出)还驻留在系统602上并且被编程为与驻留在主机计算机上的对应的同步应用交互,以保持存储在非易失性存储区域668中的信息与存储在主机计算机处的对应的信息同步。如应当理解,其他应用可以被加载到存储器662中并且在移动计算设备600上运行,包括在此所描述的应用528、io管理器524和其他实用程序526。

系统602具有电源670,其可以被实现为一个或多个电池。电源670可能进一步包括外部电源(诸如对电池补充或者再充电的加电对接支架)。

系统602可以包括外围设备端口678,其执行促进系统602与一个或多个外围设备之间的连接性的功能。在操作系统604的控制下进行到和来自外围设备端口672的传输。换句话说,由外围设备端口678所接收的通信可以经由操作系统664被传播到应用程序666,并且反之亦然。

系统602还可以包括无线电672,其执行发送和接收射频通信的功能。无线电672经由通信载波或者服务提供商促进系统602与“外部世界”之间的无线连接。在操作系统664的控制下进行到和来自无线电672的传输。换句话说,由无线电672接收到的通信可以经由操作系统664被传播到应用程序666,并且反之亦然。

视觉指示器620可以被用于提供视觉通知,和/或音频接口674可以被用于经由音频换能器625产生可听通知。在所图示的示例中,视觉指示器620是发光二极管(led),并且音频换能器625是扬声器。这些设备可以直接耦合到电源670,使得当被激活时,即使处理器660和其他组件可能关闭以用于保存电池电量,其也保持由通知机制指示的持续时间。led可以被编程以保持无限的直到用户采取动作指示设备的加电状态。音频接口674被用于将可听信号提供给用户和从用户接收可听信号。例如,除被耦合到音频换能器625之外,音频接口674还可以被耦合到麦克风以接收可听输入(诸如促进电话交谈)。根据本发明的示例,麦克风还可以用作音频传感器以促进对通知的控制,如下文将描述的。系统602可以进一步包括视频接口676,其使得板上照相机630的操作能够记录静止图像、视频流等。

实现系统602的移动计算设备600可以具有附加的特征或功能。例如,移动计算设备600还可以包括附加的数据存储装置(可移除和/或不可移除的),诸如磁盘、光盘或者磁带。通过非易失性存储区域668在图6b中图示这样的附加存储装置。

由移动计算设备600生成或采集并且经由系统602存储的数据/信息被本地存储在移动计算设备600上,如上文所描述的,或者数据可以被存储在任何数目的存储介质,其可以由设备经由无线电672或者经由在移动计算设备600与关联于移动计算设备600(例如,分布式计算网络(诸如因特网)中的服务器计算机)的分离的计算设备之间的有线连接进行访问。如应当理解,可以经由移动计算设备600或者无线电672或者经由分布式计算网络来访问这样的数据/信息。类似地,根据众所周知的数据/信息传送和存储机制(包括电子邮件和合作数据/信息共享系统),这样的数据/信息可以在计算设备之间容易地被传送以用于存储和使用。

图7图示了用于系统的架构的一个示例,其提供可靠地访问存储系统上的目标数据并且处理与一个或多个客户端设备的通信故障的应用,如上文所描述的。与应用528、io管理器524、其他实用程序526和存储装置相关联访问、交互或编辑的目标数据可以被存储在不同的通信信道或其他存储类型中。例如,可以使用目录服务722、门户网站724、邮箱服务726、即时消息存储库728或社交网站730、应用528、io管理器524、其他实用程序526来存储各种文档,并且存储系统可以使用用于使能数据利用的这些类型的系统等中的任一个系统,如在此所描述的。服务器720可以提供用于由在通用计算设备502和(一个或多个)移动设备600上操作的客户端通过网络715使用的存储系统。通过示例,网络715可以包括因特网或者任何其他类型的局域网或者广域网,并且客户端节点可以被实现为实现在个人计算机中的计算设备502、平板计算设备和/或移动计算设备600(例如,智能电话)。客户端计算设备502或600的这些示例中的任一个示例可以从存储716获得内容。

非限制性示例描述了包括存储器和至少一个处理器的系统,该处理器与存储器连接并且被配置为执行用于输入理解平台的组件的处理。系统包括用户交互中介组件,当系统不确定对输入的响应时,其评估针对输入的潜在响应选项。用户交互中介组件基于与潜在响应选项和潜在响应选项的参数相关联的不确定性值以及在潜在响应选项证明是不正确的情况下寻求潜在响应选项的误分类成本,来评估潜在响应选项。误分类成本是估计在潜在响应选项证明是不正确并且在与潜在响应选项相关联的参数证明是不正确的情况下的影响的成本值,并且其中误分类成本基于主观测量和经验数据中的至少一个而被确定。基于评估针对潜在响应选项的不确定性值和误分类成本,用户交互中介组件从潜在响应选项选择响应以传输到用户。

在其他示例中,输入理解平台还包括接收、处理和转译输入以用于识别的输入识别组件。输入识别组件还确定与输入的识别相关联的置信度值。输入理解平台还包括:输入理解组件,其用于分析输入以用于理解,包括确定经分析的输入的备选理解并且确定与经分析的输入的备选理解相关联的置信度值;以及输入上下文组件,其用于评估经分析的输入的上下文,包括基于对经分析的输入的上下文的评估来确定可能的响应选项,以及基于对每个潜在可能选项的参数的评估来确定针对每个潜在响应选项的置信度值。在一个示例中,用户交互中介组件聚合从输入识别组件、输入理解组件和输入上下文组件接收到的置信度水平值以确定不确定性值。

在示例中,用户交互中介组件基于所选择的上下文,确定在所选择的响应是对于输入的进一步澄清的请求的情况下澄清接收到的输入的模式;生成与所确定的澄清模式中的每一个相关联的成本值;基于针对所确定的澄清模式的所生成的成本值的评估,选择澄清输入的模式;以及基于使用由系统所管理的知识信息分析输入,标识与用于用户进行响应的澄清的模式相关联的参数。用户交互中介组件还针对所述响应通过以下各项之一确定执行动作还是请求进一步澄清:分析针对潜在响应的误分类成本和不确定性值的有区别的分类器,并且基于针对潜在响应的误分类成本和不确定性值的组合,对概率数据进行建模。

作为示例,接收到的输入是由系统接收到的声音输入,输入识别组件是语音识别组件,输入理解组件是口头语言理解组件,并且输入上下文组件是对话策略组件。

另一非限制性示例描述计算机实现的方法,该方法包括:使用输入识别组件、输入理解组件和输入上下文组件来分析接收到的输入;当存在关于对接收到的输入的响应的不确定性时,对于对接收到的输入的潜在响应,生成基于潜在响应和关联于潜在响应的参数所确定的不确定性值以及与在潜在响应证明是不正确的情况下寻求潜在响应相关联的误分类成本;以及基于分析针对潜在响应的所生成的误分类成本和所生成的不确定性值,选择响应以传输到用户。接收到的输入是以下各项中的至少一项:语音输入、姿态输入、文本输入和手写输入。响应是以下各项之一:响应于接收到的输入所执行的动作和对于接收到的输入的进一步澄清的请求,以及包括接收到的输入的隐含确认的响应。生成针对潜在响应的不确定性值的基于聚合对来自输入识别组件、输入理解组件和输入上下文组件中的每一个的接收到的输入的分析期间所获得的置信度值。响应的选择基于以下各项中的至少一项被确定:用于潜在响应中的每一个的所生成的误分类成本和所生成的不确定性值的经分析的有区别的分类器,以及将针对潜在响应的误分类成本和不确定性值组合的概率数据。

在示例中,计算机实现的方法还包括通过评估针对每个潜在响应的所生成的误分类成本和所生成的不确定性值来比较潜在响应,其中选择基于比较选择响应。

在又一示例中,计算机实现的方法还包括:将响应传输到用户;分析来自用户的另一接收到的输入,包括将与先前地接收到的输入相关联的知识数据应用到另一接收到的输入;当存在关于对另一接收到的输入的响应的不确定性时,对于对另一接收到的输入的潜在响应,生成基于对另一接收到的输入的潜在响应和与潜在响应相关联的参数而确定的不确定性值以及其中对另一接收到的输入的潜在响应证明是不正确的情况的误分类成本;以及基于分析对于对另一接收到的输入的潜在响应的所生成的误分类成本和所生成的不确定性值,选择另一响应以传输到用户。

在其他示例中,计算机实现的方法还包括:确定在所选择的响应是用于接收到的输入的进一步澄清的请求的情况下澄清接收到的输入的模式;生成与所确定的澄清模式中的每个模式相关联的成本值;以及基于对用于所确定的澄清模式的所生成的成本值的评估,选择澄清向用户提供的接收到的输入的模式。澄清模式的选择还包括:基于使用被存储在至少一个知识存储库中的知识数据分析,标识与对于用户接收到的输入进行响应的澄清模式相关联的参数。

在另一非限制性示例中,描述了包含指令的计算机可读存储设备。当计算机可读存储设备的指令被执行在至少一个处理器上时,处理器执行过程,过程包括:使用输入理解平台分析接收到的输入,其中置信度值基于输入理解平台的组件评估接收到的输入而被确定;聚合输入理解平台的组件所确定的置信度值以确定关于对接收到的输入的潜在响应的不确定性水平;基于评估针对潜在响应的不确定性水平和与在潜在响应选项证明是不正确的情况下寻求潜在响应选项相关联的误分类成本,确定是否请求来自用户的进一步澄清;以及基于确定,选择响应以传输到用户。作为示例,由处理器所执行的确定通过以下各项中的至少一项确定执行动作还是请求进一步澄清:分析用于潜在响应的误分类成本和不确定性水平的有区别的分类器,以及基于针对潜在响应的误分类成本和不确定性水平,对组合的数据进行分析。在另一示例中,由处理器所执行的选择通过比较针对潜在响应选项的不确定性水平和误分类成本,来从多个潜在响应选项选择响应。

在另一示例中,在处理器上被执行的过程包括:确定在所选择的响应是对于接收到的输入的进一步澄清的请求的情况下澄清接收到的输入的模式;生成与所确定的澄清模式中的每个模式相关联的成本值;以及基于对用于所确定的澄清模式的所生成的成本值的评估,选择澄清向用户提供的接收到的输入的模式。在示例中,澄清的模式的选择还包括:基于使用所存储的知识数据对接收到的输入分析,标识与对于用户进行响应的澄清的模式相关联的参数。

已经贯穿本说明书对“一个示例”或“示例”做出了参考,这意味着特定所描述的特征、结构或特点被包括在至少一个示例中。因此,这样的短语的使用可以指代超过仅一个示例。此外,所描述的特征、结构或特点可以以任何适合的方式组合在一个或多个示例中。

然而,相关领域的技术人员可以认识到,在没有特定细节中的一个或多个细节的情况下或在其他方法、资源、材料等的情况下,可以实践示例。在其他实例中,未详细示出或者描述众所周知的结构、资源或操作以仅观察示例的难以理解的方面。

虽然已经图示和描述示例样本示例和应用,但是应理解到,示例不限于上文所描述的精确配置和资源。在不脱离所要求保护的示例的范围的情况下,可以在本文所公开的方法和系统的布置、操作和细节中做出对本领域的技术人员明显的各种修改、改变和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1