用于理解不完整的自然语言查询的方法转让专利

申请号 : CN201680005437.1

文献号 : CN107533542B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : R·萨里卡亚刘小虎

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

摘要 :

使用n元分析和上下文信息来对不完整的自然语言表达的分析允许一个或多个域预测。对于每个域而言,使用n元分析和上下文信息来确定用户的可能意图。意图可以与域应用的功能相对应。在这样的情况中,可以使用n元分析和/或上下文信息来填充对于执行应用的功能所需要的信息。应用可以然后被呈现给用户以用于对意图的确认。对意图的确认连同不完整的自然语言表达和上下文信息一起可以然后被用于训练用于基于不完整的自然语言表达来预测用户意图的一个或多个模型。

权利要求 :

1.一种计算系统,包括:

至少一个处理器;以及

存储器,其编码计算机可执行指令,所述计算机可执行指令当由至少一个处理器执行时执行用于解译不完整的自然语言表达的方法,所述方法包括:从客户端设备接收输入,所述输入包括不完整的自然语言表达,所述不完整的自然语言表达是缺少一个或多个字符的字符串;

从所述不完整的自然语言表达提取一个或多个n元;

分析所提取的所述一个或多个n元以确定可能域集合;

向所述可能域集合中的每个可能域分配置信度水平,其中针对至少一个可能域的所述置信度水平超过预定置信度阈值;

预测与所述至少一个可能域相关联的用户的意图;以及发起至少一个域应用以用于执行所预测的所述意图;

预测用于执行至少一个功能的至少一个槽;

接收选择,其中接收到的所述选择指示所述至少一个功能反映所述用户的实际意图的确认;以及至少基于指示确认的接收到的所述选择,训练自然语言分析部件。

2.根据权利要求1所述的系统,还包括:呈现图形用户接口以用于发起所述至少一个域应用,所述至少一个域应用与用于执行所预测的所述意图的至少一个功能相关联。

3.根据权利要求1所述的系统,还包括:分析上下文信息以确定所述可能域集合。

4.根据权利要求1所述的系统,其中所述可能域集合包括日历域、闹钟域以及旅行域。

5.根据权利要求1所述的系统,其中所述n元是词语n元、部分词语n元或者字符n元。

6.一种计算机实现的方法,包括:

从客户端设备接收输入,所述输入包括不完整的自然语言表达,所述不完整的自然语言表达是缺少一个或多个字符的字符串;

从所述不完整的自然语言表达提取一个或多个n元;

分析所提取的所述一个或多个n元以确定可能域集合;

向所述可能域集合中的每个可能域分配置信度水平,其中针对至少一个可能域的所述置信度水平超过预定置信度阈值;

预测与所述至少一个可能域相关联的用户的意图;

发起至少一个域应用以用于执行所预测的所述意图;

预测用于执行至少一个功能的至少一个槽;以及接收选择,其中接收到的所述选择指示所述至少一个功能反映所述用户的实际意图的确认;

至少基于指示确认的接收到的所述选择和上下文信息,训练自然语言分析部件。

7.根据权利要求6所述的方法,还包括:呈现图形用户接口以用于发起所述至少一个域应用,所述域应用与用于执行所预测的所述意图的至少一个功能相关联。

8.根据权利要求7所述的方法,还包括:预测用于执行所述至少一个功能的至少一个槽;以及接收选择,其中接收到的所述选择指示所述至少一个功能反映所述用户的实际意图的确认。

9.根据权利要求6所述的方法,其中分配置信度水平包括向每个可能域分配从1到0的数字。

10.根据权利要求6所述的方法,还包括:分析上下文信息以确定所述可能域集合。

11.根据权利要求6所述的方法,其中所述可能域集合包括日历域、闹钟域以及旅行域。

12.根据权利要求6所述的方法,其中所述n元是词语n元、部分词语n元或者字符n元。

13.一种计算机可读存储设备,其存储当被执行时执行方法的指令,所述方法包括:从客户端设备接收文本输入,所述文本输入包括不完整的自然语言表达,所述不完整的自然语言表达是缺少一个或多个字符的字符串;

从所述不完整的自然语言表达提取一个或多个n元;

分析所提取的所述一个或多个n元以确定第一可能域集合;

向所述第一可能域集合中的每个可能域分配置信度水平,其中针对至少一个可能域的所述置信度水平超过预定置信度阈值;

预测与所述至少一个可能域相关联的用户的意图;

发起至少一个域应用以用于执行所预测的所述意图;

预测用于执行至少一个功能的至少一个槽;以及接收选择,其中接收到的所述选择指示所述至少一个功能反映所述用户的实际意图的确认;

至少基于指示确认的接收到的所述选择,训练自然语言分析部件。

14.根据权利要求13所述的计算机可读存储设备,还包括:呈现图形用户接口以用于发起所述至少一个域应用,所述域应用与用于执行所预测的所述意图的至少一个功能相关联。

15.根据权利要求14所述的计算机可读存储设备,还包括:预测用于执行所述至少一个功能的至少一个槽;以及接收选择,其中接收到的所述选择指示所述至少一个功能反映所述用户的实际意图的确认。

16.根据权利要求13所述的计算机可读存储设备,其中分配置信度水平包括向每个可能域分配从1到0的数字。

17.根据权利要求13所述的计算机可读存储设备,还包括:分析上下文信息以确定第二可能域集合。

18.根据权利要求13所述的计算机可读存储设备,其中所述可能域集合包括日历域、闹钟域以及旅行域。

19.根据权利要求13所述的计算机可读存储设备,其中所述n元是词语n元、部分词语n元或者字符n元。

说明书 :

用于理解不完整的自然语言查询的方法

背景技术

[0001] 各种计算设备使用语言理解应用(例如,数字辅助应用)来从用户接收输入。然而,语言理解应用常常接收不完整的输入(诸如文本和音频输入)。例如,作为用户类型或姿态,输入是不完整的,至少直到用户停止输入该输入。因此,输入的实时解译要求对不完整的输入的理解。不完整的自然语言表达的实时理解可以改进计算机和用户效率二者,这是因为要求用户完成表达浪费用户时间并且使得计算机将响应递送给用户所花费的时间减慢。在这方面中,数字辅助应用可能具有解译不完整的文本输入和音频输入的需要。
[0002] 解译不完整的输入提出了挑战。例如,用户可能期望计算机在录入不完整的输入时执行特定(一个或多个)动作。“动作”是在计算机上可执行的任何功能,例如,“创建会议”、“获得路线”、“创建任务”、“设定闹钟”等。“期望的动作”是用户在录入不完整的输入时试图执行的(一个或多个)特定动作((一个或多个)期望的动作在此将被称为“用户的意图”或“用户意图”)。一些语言理解应用基于不完整的输入,将自动完成的建议提供给用户。然而,这些建议未能解决用户的意图(例如,未能促进期望的动作的实施)。
[0003] 关于这些和其他一般考虑,已经做出了技术的各个方面。此外,虽然已经讨论了相对特定的问题,但是应当理解,实施例不应当限于背景中所标识的特定问题。

发明内容

[0004] 本公开总体涉及通过计算设备解译不完整的自然语言输入。在技术的方面中,一个或多个设备基于不完整的自然语言表达来采取动作。例如,不完整的自然语言表达可以由计算设备被接收作为输入。输入可以是以下各项中的一项或多项:文本、姿态或语音输入。从该不完整的自然语言表达,做出关于在其中用户希望操作的(一个或多个)域(即,一组相关动作,诸如日历域、闹钟域等)的一个或多个预测。
[0005] 此外,本技术的方面包括预测用户的意图涉及特定域的特定动作的可能性。例如,一个域是日历域,并且在日历域中可以采取的动作的示例包括设置约会、取消约会或移动约会。基于不完整的自然语言表达,针对域中的每个动作创建针对每个动作的意图假设。意图假设是域中的动作是用户的意图(即,期望的动作)的预测。由于可以预测多个域,并且每个域可以具有多个动作,因而多个域预测可能导致多个意图假设。
[0006] 在一方面中,如果意图假设是使用附加信息的假设(例如,意图是创建日历约会,其将使用日期、时间、参加者等),那么对不完整的自然语言表达和/或其他上下文信息的分析发生,以获得附加信息(例如,找到与日期、时间和参加者有关或与不完整的输入有关的信息)。
[0007] 此外,可以针对每个预测域生成多个可选择的选项(例如,用于日历域应用的GUI),并且每个可选择的选项可以被呈现给用户。可选择的选项可以基于预测域反映用户的意图的可能性的分析而被排名,其中信息被预填充在可选择的选项中(例如,对于潜在会议的日期和时间)。在技术的方面中,对于可选择的选项的选择使得图形用户接口将域应用呈现在用户设备上。域应用是用于执行特定域中的一个或多个动作的应用。域应用使用功能或函数来执行动作。例如,日历域应用可以使用功能“create_meeting”来创建会议。如此,特定域应用的呈现可以允许用户填充域应用从不完整的自然语言表达和/或其他上下文信息未检测到或推断出的任何附加信息。
[0008] 此外,技术的方面包括构建不完整的自然语言表达分析模型的后端学习模块。后端学习模块可以使用测试不完整的自然语言表达。每个测试不完整的自然语言表达将反映用户的真实世界意图。测试不完整的自然语言表达(或表达的元素)将使用各种技术被分析,以创建可以用于基于不完整的自然语言表达来预测意图的预测算法。在一方面中,测试不完整的自然语言表达将等同于一个或多个完整的完全查询自然语言表达模型。通过这种方式,构建不完整的自然语言表达分析模型的过程可以利用先前构建的完全查询自然语言表达模型。

附图说明

[0009] 参考以下附图描述非限制性和非排他性的示例。
[0010] 图1图示了根据示例实施例的被实现在用于理解不完整的自然语言表达的客户端计算设备处的示例性动态系统。
[0011] 图2图示了根据一个或多个方面的用于解译不完整的自然语言表达的网络化系统。
[0012] 图3图示了用于解译不完整的自然语言表达的方法。
[0013] 图4图示了用于接收并且显示根据不完整的自然语言表达推断出的预测信息的方法。
[0014] 图5是图示利用其可以实践本公开的方面的计算设备的物理部件(例如,硬件)的框图。
[0015] 图6A图示了用于实现本技术的方面的移动计算设备600的一个方面。
[0016] 图6B是图示移动计算设备的一个方面的架构的框图。
[0017] 图7图示了用于处理在计算设备处从远程源(诸如计算设备、平板电脑或移动设备)接收到的数据的系统的架构的一个方面。
[0018] 图8图示了可以执行在此所公开的一个或多个方面的示例性平板计算设备。
[0019] 图9图示了构建不完整的自然语言表达分析模型的系统。

具体实施方式

[0020] 在以下详细描述中,对附图进行了参考。这些附图是本公开的一部分,并且每副附图提供本技术的特定方面的示例。本技术的应用比附图中所图示的示例更宽。实际上,在不脱离本公开的精神或范围的情况下,可以组合所图示的方面,可以利用其他方面,以及可以做出结构改变。方面可以被实践为方法、系统或设备。因此,方面可以采取硬件实现、完全软件实现、或者组合软件和硬件方面的实现的形式。因此,以下详细描述将不以限制性的意义被理解,并且本公开的范围由所附权利要求和其等价物限定。
[0021] 本公开总体上涉及理解不完整的自然语言表达。不完整的自然语言表达是缺少一个或多个字符或词语的字符串、词语和/或姿态。不完整的自然语言表达的非限制性示例包括不完整的文本输入、触摸输入、姿态输入或语音输入。例如,由用户输入到数字助理的实时文本是不完整的,至少直到用户完成键入输入。本技术包括对输入的识别和提取、对输入的分析以确定可能用户意图、以及基于可能用户意图执行一个或多个应用。
[0022] 考虑例如当用户正打字时,自然语言表达可能是不完整的(例如,“Tomorrow morning I can't mee”)。用户可能在键入完整的自然语言表达(例如,“Tomorrow morning I can't meet with Jason at 9am.Cancel the meeting at 9am”)的过程中。本技术包括对不完整的输入的识别、提取和分析。在一个方面中,这实时地发生(例如,在接收到输入时的时间期间或与接收到输入基本上同时地)。
[0023] 本技术的一个方面可以确定用户的不完整的输入涉及特定域(诸如日历域)的高可能性。例如,以上完整表达明确地标识用户取消会议的意图,其是可以在日历域中执行的动作。然而,还可以从接收到的不完整的输入推断用户取消会议的意图。例如,短语“Ican't mee”可能具有与短语“I can't meet”的可能相关性。根据短语“I can't meet”和上下文信息(如果可用的话)(例如,针对用户的日历中的明天早晨设定的会议),可以确定取消会议的第一可能用户意图。因此,本技术可以开始运行日历域应用。计算机可以将信息预填充在日历域应用中,以基于不完整的自然语言表达,引起特定会议的取消。输入的预填充可以是满足日历域应用的一个或多个功能。
[0024] 此外,本技术的一个方面包括确定第二可能用户意图。例如,基于不完整的自然表达“Tomorrow morning I can't mee”,可以确定用户正尝试访问旅行域。这可以基于可用的其他上下文信息而发生。例如,如果确定输入建议会议取消,并且用户还将在安排的会议之前飞行到会议目的地,则可以做出用户可能希望取消飞行的确定。因此,旅行域应用可以开始运行并且预填充足以取消旅行安排的信息。
[0025] 本技术的方面包括使每个域应用并行地运行。在一个方面中,向用户生成输出,该输出允许用户确认不完整的自然语言表达的(一个或多个)意图。
[0026] 应当注意,出于说明性目的,提供了以上示例。虽然本技术可以被用于分析不完整的自然语言表达,但是不存在计算系统能够识别或知道自然语言表达不完整的要求。相反,本技术的方面包括对任何接收到的输入运行不完整的自然语言表达分析。
[0027] 图1图示了用于理解不完整的自然语言表达的动态系统100的一个方面。在一些方面中,动态系统100可以被实现在客户端计算设备104上。在基本配置中,客户端计算设备104是具有输入元件和输出元件二者的计算设备。客户端计算设备104可以是用于实现用于理解不完整的自然语言表达的动态系统100的任何适合的计算设备。例如,客户端计算设备
104可以是以下各项中的至少一项:移动电话、智能电话、平板电脑、平板手机、智能手表、可穿戴计算机、个人计算机、台式计算机、膝上型计算机,等等。该列表仅是示例性的并且不应当被认为是限制性的。可以使用用于实现用于理解不完整的自然语言表达的动态系统100的任何适合的客户端计算设备。
[0028] 在一些方面中,动态系统100可以包括输入识别部件110、提取部件120、自然语言分析部件130、域设定预测器135、假设生成部件140、域部件150以及输出生成部件190。可以使用硬件、软件、或者硬件和软件的组合来实现各种部件。
[0029] 动态系统100可以被配置为处理不完整的自然语言表达。在该方面中,动态系统100可以促进接收不完整的自然语言表达。在一个示例中,不完整的自然语言表达可以包括以口头或符号语言输入(例如,用户查询和/或请求)的形式的短语、词语和/或术语。在另一示例中,自然语言表达可以包括以文本语言输入(例如,用户查询和/请求)的形式的短语、词语和/或术语。例如,不完整的自然语言表达“Tomorrow morning,I can't mee”将缺少一个或多个字符并且不形成完整的自然语言表达。
[0030] 在本技术的方面中,输入识别部件110从用户接收被说出、被符号化或被键入的输入。输入识别部件110将输入解译为由计算设备可理解的一系列字符。例如,动态系统100可以包括作为文本输入部件的输入识别部件110。在一些方面中,文本输入部件可以被配置为经由触摸屏或键盘来接收输入。
[0031] 此外,动态系统100可以包括作为语音识别部件的输入识别部件110。在一些方面中,语音识别部件可以包括本领域的技术人员已知的标准语音识别技术(诸如“自动语音识别”(ASR)、“计算机语音识别”和“语音转文本”(STT))。在一些情况下,语音识别部件可以包括本领域的技术人员已知的标准文本转语音技术(诸如“文本转语音”)。本领域的技术人员将认识到,语音识别部件可以包括一个或多个各种不同的类型的语音识别和/或文本识别部件。
[0032] 此外,动态系统100可以包括作为姿态识别部件的输入识别部件110。姿态识别部件可以包括立体照相机、深度意识照相机、有线设备(诸如手套)、陀螺仪设备、控制器设备、单个照相机,等等。
[0033] 在一些方面中,在由输入识别部件110接收之后,输入然后被发送到提取部件120。本技术的一个方面包括提取部件120,其具有字符n元(n-gram)提取器122。字符n元提取器
122将输入解析为一个或多个连续的字符的序列(被称为字符n元)。如在本公开中所使用的,字符n元中的字符的数目将确定特定n元的名称。例如,以“字符三元”格式提取的字符将包括输入的三个连续的字符。如此,如果以三元格式提取词语“reminder”,则所提取的三元是:“re m”、“e m i”、“m i n”、“i n d”、“n d e”以及“d e r”。可以针对单个不完整的自然语言表达提取多个n元。
[0034] 在本技术的一些方面中,字符n元提取器122提取整个表达,而不管表达中的每个词语是否是词语。因此例如短语“Find Car”可以被提取到字符三元作为:“F i n”、“i n d”、“n d_”、“d_C”、“_C a”和“C a r”,其中“_”字符指示空格。在其他实施例中,忽视空格。可以使用其他字符n元。
[0035] 此外,提取部件120可以具有词语n元提取器部件124。词语n元提取器部件124将不完整的自然语言表达解析为一个或多个词语n元。例如,词语n元提取器部件124可以将不完整的自然语言表达“find car at”解析为词语二元作为“find car”和“car at”。应当注意,还可以由词语n元提取器部件124提取部分词语n元。例如,不完整的自然语言表达“find ca”可以被解析为词语一元“find”和“ca”。因此,词语n元提取器部件124可以将部分词语提取为词语n元和/或将全部词语提取为n元。
[0036] 提取部件120将所提取的n元发送到自然语言分析部件130。在实施例中,n元周围的上下文词语还被发送到自然语言分析部件130。例如,以下是上下文词语“create”的示例,其中部分字符一元到部分字符七元从不完整的输入“reminde”被提取。这些部分词语n元中的每一个可以然后被发送到自然语言分析部件130以用于分析。
[0037] a.create r
[0038] b.create re
[0039] c.create rem
[0040] d.create remi
[0041] e.create remin
[0042] f.create reminde
[0043] 应当理解,可以实时地提取这些n元中的每一个。因此,例如,如果用户将尝试键入“create reminder at 6:00pm”,则在每个字母被接收之后,提取部件120将向自然语言分析部件130发送n元。
[0044] 在本技术的一些方面中,自然语言分析部件130分析每个所提取的n元(包括完全词语n元),以创建可能域集合。例如,自然语言分析部件130可以基于完全词语n元“create”和与不完整的输入“reminde”相关联的每个所提取的n元来标识可能域集合。在一个方面中,可能域之一是闹钟域。其他可能域可以包括联系人域、任务域、日历域或旅行域。自然语言分析部件130可以具有分析接收到的字符n元的字符n元分析器132,以及分析接收到的词语n元的词语n元分析器134。
[0045] 在一方面中,域设定预测器135接收由自然语言分析部件130所标识的可能域集合。在实施例中,域设定预测器使用由自然语言分析部件130标识的可能域,并且基于其他上下文信息来添加、修改或改变可能域。例如,先前接收到的信息、回合制信息(下面进一步讨论的)以及显示信息可以全部被用于提炼可能域集合。在一方面中,可能域集合被预设并且包括与动态系统100相关联的所有域。
[0046] 在一方面中,一旦可能域集合已经被标识,所标识的可能域就连同相关n元和/或上下文信息传递到假设生成部件140。假设生成部件140分析信息并且将置信度数目分配给与由域设定预测器135预测的每个可能域相关联的一个或多个用户意图(即,期望的动作)。置信度得分是排名(诸如0与1之间的数字),其表示特定所预测的意图是用户的实际意图的可能性。例如,当分析不完整的自然语言表达是否针对闹钟域中的“create an alarm”意图时,假设生成部件140可以确定跟随有以下部分词语n元的全词语n元“create”的置信度得分,如所指示的:
[0047] N元              置信度得分
[0048] a.create r       0.5125763
[0049] b.create re      0.5324858
[0050] c.create rem     0.5567417
[0051] d.create remi    0.6224860
[0052] e.create remin   0.6629963
[0053] f.create reminde 0.7343581
[0054] 因此,假设生成部件140分析跟随有部分词语七元“reminde”的完全词语n元“create”以确定用户的意图是否是将创建闹钟域中的闹钟。例如,分析导致~0.73的置信度得分。应当注意,假设生成部件140可以在每个字符被接收之后生成意图假设(例如,当用户键入字符时实时地)。
[0055] 其他上下文信息可以由假设生成部件140使用。例如,自然语言分析部件130可以确定不完整的自然语言表达“show me directions to wash”指示用户的目标可以与地图域(例如,可能域)相关联。在这样的确定之后,假设生成部件140可以使用不完整的自然语言表达来做出意图预测。意图预测可以基于一个或多个n元。例如,对于不完整的自然语言表达“show me directions to wash”而言,假设生成部件140可以确定用户102的第一预测意图是对位置“得到方向”(期望的动作),其是可以被执行在第一可能域(例如,地图域)中的动作。为了实现第一预测意图,访问第一域应用160(诸如地图应用)的选项可以被提供给用户。这样的意图预测可以基于部分词语n元“Wash”是地理位置(诸如“Washington Oregon”或“Washington,D.C.”)的简称的高可能性。可能性的确定可以基于设备接近于包含4元wash的位置和/或来自上下文短语“show me directions to”的、由假设生成部件140导致的确定。
[0056] 域设定预测器135和假设生成部件140二者可以分别使用其他信息来标识用户的(一个或多个)可能域和/或(一个或多个)预测意图。例如,对单轮场景和/或多轮场景二者中的不完整的自然语言表达的分析(下面更详细描述的)可以发生。在单轮场景和多轮场景二者处,可以或者单独地或者结合上文所描述的n元分析使用来各种n元。
[0057] 单轮场景是其中在用户102与动态系统100之间的一轮期间隔离处理输入/自然语言表达的场景。单轮场景可以专有地利用来自当前分析的不完整的自然语言表达的信息来分析不完整的自然语言表达。这包括当接收到输入时对不完整的自然语言表达的实时分析。
[0058] 多轮场景是其中在超过一轮期间分析不完整的自然语言表达的场景。一轮可以包括用户102向数字助理应用键入请求,该数字助理应用可以利用输入识别部件110来识别来自用户102的输入。该轮可以在数字助理应用被激活并且用户开始键入时开始。该轮可以在用户停止键入和/或数字辅助应用被去激活时结束。
[0059] 一轮包括自然语言表达和由动态系统100造成的响应/动作。即,第一轮可以包括自然语言表达和/或由动态系统100造成的响应/动作。在其他方面中,在检测到来自用户的响应(例如,对特定域应用的选择)的情况下,该响应被认为是该轮的一部分。在其他方面中,多轮场景指示来自多轮的信息可以被用于做出关于不完整的自然语言表达的预测。
[0060] 因此,在一些方面中,域设定预测器135可以使用从组合n元分析上文所描述的多轮场景获取的上下文信息来执行域预测。此外,假设生成部件140还可以使用从多轮场景所获得的上下文信息。例如,第一轮可以包括不完整的自然语言表达“how is the weather tomor”。在该示例中,给定上下文轮,域设定预测器135可以将可能域预测为天气域。另外,假设生成部件140可以分析n元“tomor”并且分配用户的天气域中的意图是“get weather for tomorrow”的高置信度得分。
[0061] 第二轮可以包括不完整的自然语言表达“how about this wee”。在该示例中,域设定预测器135可以将天气域预测为可能域。例如,域设定预测器135可以解析“how is the weather tomor”的第一轮以表示用户旨在天气域中(经由例如与用户的进一步的交互),并且使用该解析预测用于后续接收到的不完整的自然语言表达“howabout this wee”的相同可能域(即,天气域)。
[0062] 此外,由假设生成部件140鉴于上下文信息导致的对部分词语n元“wee”的分析可以允许假设生成部件140预测用户将寻找关于本周或者本周末的天气信息的高置信度。也即,基于第一轮是关于与天气域相关联的天气的请求,假设生成部件140可以预测“how about this wee”的不完整的自然语言表达与第一表达“how is the weather tomorrow”有关。假设生成部件140可以从域设定预测器135接收不完整的自然语言表达“how about this wee”旨在请求域天气中的信息,并且然后进一步分析短语“how about this”的上下文中的部分n元“wee”以确定用户的意图是“get weather for this week or weekend.”。
[0063] 在另一方面中,域设定预测器135可以并行地做出不完整的自然语言表达“how about this wee”与先前轮无关的确定。相反,例如,域设定预测器135可以做出用户想要访问SMS文本域的确定。这可以例如当域设定预测器135已经将用户的行为与尝试在发送文本相关联时而发生,而不利用“send text”将请求加上前言。
[0064] 在可能域集合被标识并且置信度得分被给到用于每个可能域的每个预测意图之后,如上文所描述的,信息可以被发送到域部件150。信息可以包括用户的(一个或多个)预测意图、一个或多个n元、不完整的自然语言表达、和/或任何上下文信息。如所图示的,域部件150与一个或多个域应用(诸如第一域应用160、第二域应用170和第三域应用180)相关联。这些域应用可以与以下各项中的一项或多项有关:闹钟域应用、日历域应用、通信域应用、备忘录域应用、提醒域应用,等等。预期其他域应用。在一方面中,当置信度得分到达预定置信度阈值时,发送信息。
[0065] 在从假设生成部件140接收第一预测意图时,域部件150打开应用(诸如与第一预测意图相对应的第一域应用160)。例如,如果第一预测意图是从用户的当前位置到华盛顿州西雅图的“get aroute”,则域部件150可以打开地图域应用。
[0066] 与由域部件150存储或对域部件150可访问的域应用相关的信息可以由域部件150发送到与域部件150相关联的域应用中的任一个。例如,在一方面中,第一域应用160可以是执行功能“get_route”的地图域应用。地图域应用可以使用输入(例如,用户目的地、用户原点等)和/或其他信息(例如,基于全球定位系统(GPS)的当前位置)以便执行功能“get_route”。
[0067] 由域应用被用于执行功能的信息被称为槽(slot)。而且,在多个域已经到达高置信度的情况下,域部件150可以标识用于各种域应用的多个槽的信息,包括第一域应用160、第二域应用170、和/或第三域应用180中的任一个。一个或多个域应用的一个或多个槽的标识被称为槽预测。
[0068] 在一个方面中,使用不完整的自然语言表达执行槽预测,这包括n元分析。例如,槽预测可以包括利用从不完整的自然语言表达提取的语义加载的词语获取的信息来标识和填充第一域应用160的槽(诸如第一槽162)。继续以上示例,“show me directions to wash”可以被解译为用户试图得到向Washington、Oregon的方向。也即,词语n元“wash”可以被解译为表示具有足够高置信度水平的“Washington,Oregon”,其将使得域部件150做出关于地图应用中的目的地的位置的槽预测。
[0069] 例如,在第一域应用160是地图应用并且期望的功能是“get_route”功能的情况下,地图应用可能需要利用目的地位置来填充第一槽162。因此,在该示例中,域部件150可以预测Washington、Oregon是填充第一槽162的目的地位置。域部件150可以不具有足够的信息来填充第一域应用的其他槽以执行“get_route”功能(诸如第二槽164)。当动态系统100接收更多信息时,可以稍后填充这样的槽。
[0070] 此外,多轮场景可以向域部件150提供填充用于域应用的附加槽的信息(诸如第二槽164)。实际上,先前轮的n元和其他信息可以被用于供应意图信息以便域部件150做出槽预测。
[0071] 例如,轮中的第一轮可以包括不完整的自然语言表达“create a meeting with Jas”。在该示例中,域设定预测器135可以预测日历域,并且假设生成部件140可以使用例如功能“create_meeting”将高置信度水平分配给“create a meeting”的预测意图。域部件150可以然后执行对字符三元“J A S”的分析。基于上下文短语“create a meeting”,域部件150可以推断字符3元“J A S”表示用户的与Jason创建会议的意图,并且可以利用用于名为Jason的联系人的信息来填充第一槽162。
[0072] 类似地,相同轮中的第二轮可以包括不完整的自然语言表达“from 2pm to 4”。在该示例中,域设定预测器135可以预测日历域。假设生成部件140可以预测用户的意图是“set a meeting time”,并且域部件150可以做出对于“start_time=2pm”和“end_time=4pm”的槽预测。
[0073] 可以使用n元分析做出这样的确定。例如,域部件150可以确定一元4旨在是具有基于上下文短语“2pm to”的足够高置信度以及先前轮与日历域有关的高置信度排名的“4pm”。
[0074] 动态系统100可以评估不完整的自然语言表达,以使用来自当前处理的不完整的自然语言表达的信息以及使用来自其他源的其他上下文信息来确定用于域、意图和槽的置信度得分。上下文信息可以包括从轮中的每一轮提取的信息。此外,上下文信息可以包括由动态系统100造成的先前轮的响应。例如,对先前轮的响应可以包括动态系统100如何对来自用户的先前请求(例如,什么动态系统被提供给用户)、被定位在客户端计算设备104的显示器上的项、被定位在客户端计算设备104的显示器上的文本等做出响应。在另一情况下,上下文信息可以包括客户端上下文。例如,客户端上下文可以包括客户端计算设备104上的联系人列表、客户端计算设备104上的日历、GPS信息(例如,客户端计算设备104的位置)、当前时间(例如,早晨、夜晚、时区)、活动(例如,反映用户会见客户、锻炼、驾驶等的信息),等等。在另一情况下,上下文信息可以包括知识内容。例如,知识内容可以包括将来自不完整的自然语言表达的特征映射到所存储的数据的知识数据库。
[0075] 在一些方面中,输出生成部件190向用户102生成输出。例如,输出生成部件190可以生成图形用户接口,其指示具有预测槽的一个或多个域已经由动态系统100先前推断。因此,输出生成部件190可以将一个或多个域应用呈现给用户102。用户102可以选择适当的域应用(诸如第一域应用160、第二域应用170和第三域应用180)。在一方面中,对适当的域应用的选择将向动态系统100确认域目标和用户的实际意图。
[0076] 图2图示了根据一个或多个方面的用于理解不完整的自然语言表达的网络化系统200。在一些方面中,网络化系统200将使用存储客户端计算环境203的客户端计算设备204的用户202连接到存储自然语言分析环境206的一个或多个服务器201。此外,服务器计算设备204可以向客户端计算设备204提供数据并且从客户端计算设备204接收数据。这样的数据交换可以通过网络205发生。在一个方面中,网络205是分布式计算网络(诸如因特网)。
[0077] 客户端计算设备204存储客户端计算环境203。客户端计算环境203可以包括输入识别部件210、域部件250,其存储第一域应用260、第二域应用270以及第三域应用280。此外,输出生成部件290还可以存在于客户端计算环境203中。
[0078] 如所图示的,服务器计算设备201存储自然语言分析环境206。虽然图示被实现在单个服务器计算设备201,但是在一些方面中,自然语言分析环境206可以被实现在超过一个服务器计算设备(诸如多个服务器计算设备)上。
[0079] 自然语言分析环境206可以包括提取部件220,其存储字符n元提取器222和词语n元提取器224。此外,自然语言分析环境206还可以存储自然语言分析部件230,其存储字符n元分析器232和词语n元分析器234。自然语言分析环境206还可以存储域设定预测器235和假设生成部件240。
[0080] 网络化系统200可以被配置为处理不完整的自然语言表达。在这方面中,网络化系统200可以使用n元分析和上下文信息来促进对不完整的自然语言表达的理解。输入识别部件210、提取部件220、自然语言分析部件230、域设定预测器235、假设生成部件240、域部件250、第一域应用260、第二域应用270、第三域应用280以及输出生成部件290被配置为与关于图1所描述的类似命名的附图标记类似或者相同。
[0081] 如上文所讨论的,被存储在服务器计算设备201的自然语言分析环境206可以通过网络205向客户端计算设备204提供数据和从客户端计算设备204获得数据。可以通过适于发送数据的任何网络传递数据。在一些方面中,网络205是计算机网络(诸如因特网)。在这方面中,网络205可以包括局域网(LAN)、广域网(WAN)、因特网、无线和有线传输介质。在这方面中,不完整的自然语言表达可以由输入识别部件210接收。输入识别部件210可以通过网络205发送输入,以用于由服务器计算设备201上的自然语言分析环境206处理。将理解到,输入识别部件110/210、提取部件120/220、自然语言分析部件130/230、域设定预测器135/235、假设生成部件140/240、域部件150/250(其存储一个或多个域应用)、以及输出生成部件190/290可以以任何组合被定位在客户端计算设备、服务器计算设备、和/或客户端计算设备和服务器计算设备二者处。图1和图2仅是示例性的并且不应当被认为是限制性的。实际上,包括客户端计算设备和服务器计算设备的部件的任何适合的组合可以被用于理解不完整的自然语言表达。
[0082] 图3图示了用于理解不完整的自然语言表达的方法。方法300在操作302处开始,其中接收不完整的自然语言表达。例如,不完整的自然语言表达可以是包含一个或多个不完整的短语或词语的自然语言表达。如此,不完整的自然语言表达可以包括多个部分词语n元、多个词语n元以及多个字符n元。在一个示例中,不完整的自然语言表达可以包括以文本输入、姿态输入和/或口头语言输入(例如,用户查询和/或请求)的形式的不完整的短语、词语和/或术语。也即,不完整的自然语言表达可以具有缺少的信息。
[0083] 当在系统处接收不完整的自然语言表达时,流继续进行到操作304,其中通过分析不完整的自然语言表达的各种n元来创建可能域集合。例如,可以从短语“how about tomo”提取部分词语、词语和字符n元。在该示例中,一个可能域可以是日历域(与例如完整的自然语言表达“how about tomorrow”相对应)和/或另一可能域可以是网络搜索域(与“tamales”的网络搜索相对应)。
[0084] 可能域的标识还可以基于上下文信息。在一个方面中,上下文信息可以包括从轮中的多轮所提取的信息。所提取的信息可以使得系统能够基于先前轮(例如,来自当前轮的先前的自然语言表达/请求)做出一个或多个域预测、意图预测和/或槽预测(例如,结果)。
[0085] 在附加方面中,上下文信息可以包括客户端上下文。例如,客户端可以包括客户端计算设备上的联系人列表、客户端计算设备上的日历、GPS信息(例如,客户端计算设备的位置)、当前时间(例如,早晨、夜晚、会议中、锻炼中、驾驶等),等等。在另一情况下,上下文信息可以包括知识内容。例如,知识内容可以包括将来自不完整的自然语言表达的特征映射到所存储的数据的知识数据库。作为示例,“John Howie”可以被映射到知识数据库中的餐馆。在这方面中,可以针对接收到的不完整的自然语言表达生成多个可能域。
[0086] 在创建可能域集合之后,流继续进行到操作306,其中针对每个可能域确定一个或多个预测意图。例如,每个可能域可以具有与域相关联的对应的功能集合,并且每个功能可以与期望的动作(例如,用户意图)相对应。在一种情况下,可以针对每个可能域中的每个功能(例如,每个意图)分析n元和上下文信息,以确定用于每个功能的置信度得分。
[0087] 当生成意图集合时,流继续进行到排名操作308。在排名操作308中,每个意图根据给定置信度得分进行排名。例如,基于上下文信息和n元分析,可以给定置信度得分。
[0088] 在意图集合被排名之后,流继续进行到操作310,其中移除具有低置信度得分的意图。在一些方面中,意图的移除基于预定的置信度阈值发生。例如,在置信度得分在0与1之间的情况下,将移除具有小于0.7的置信度得分的任何意图。备选地,如果其在排名的底部中,则可以移除意图。例如,在已经标识十个意图的情况下,将移除最后七个(通过置信度得分)。在一些方面中,没有意图被移除。具有大于预定置信度阈值的置信度得分的那些意图可以被标识为预测意图。
[0089] 然后流继续进行到操作312,其中预测意图的槽被预测。例如,在预测意图是“get a route”并且地图域应用的功能是“get_route”的情况下,那么功能get_route可以要求用于执行的信息。这样的信息可以包括目的地位置或原点位置。可以使用上下文信息和n元分析来预测该信息(或槽)。
[0090] 在预测槽操作312之后,流继续到确定314。在确定314中,确定附加可能域是否在集合中。如果附加可能域在集合中,则方法返回确定用于集合中的下一可能域的假设。如果没有可能域剩余,则方法300结束。
[0091] 图4图示了用于接收和显示根据不完整的自然语言表达推断的预测信息的方法。方法400在操作402处开始,其中接收不完整的自然语言表达。例如,不完整的自然语言表达可以是包含一个或多个不完整的短语或词语的自然语言表达。可以以姿态、语音或文本输入的形式来接收所接收的输入。
[0092] 从操作402,流继续进行到操作404,其中输入被发送出以用于处理。在一方面中,信息被发送到一个或多个服务器以用于不完整的自然语言表达的分析。可以通过网络(诸如因特网)发送输入。
[0093] 在操作406处,接收一个或多个意图预测。一个或多个意图预测与一个或多个可能域相对应。意图预测可以基于不完整的自然语言表达的上下文信息和n元分析。
[0094] 流程然后转到操作408,其中槽被预测。例如,在意图是“get_route”并且槽是目的地位置的情况下,上下文信息和n元分析可以允许槽的预测是Washington,DC的目的地位置。
[0095] 然后,流继续进行到显示预测意图操作410。在显示预测意图操作410中,一个或多个预测意图连同预测槽一起可以经由例如图形用户接口被呈现给用户。例如,可以通过打开图形用户接口中的地图应用来显示预测意图。地图应用还可以发起用于获得路线的功能并且可以填充用于功能的预测槽(诸如目的地位置和当前位置)。用户可以与图形用户接口交互以指示特定预测意图是用户的实际意图。
[0096] 图5是图示利用其可以实践本公开的方面的计算设备500的物理部件(例如,硬件)的框图。下面所描述的计算设备部件可以具有用于例如客户端和/或计算机的数字助理应用513的计算机可执行指令、用于例如客户端的输出生成部件511的计算机可执行指令,其可以被执行以采用在此所公开的方法300到方法400。在基本配置中,计算设备500可以包括至少一个处理单元502和存储器系统504。取决于计算设备的配置和类型,系统存储器504可以包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器或这样的存储器的任何组合。系统存储器504可以包括操作系统505和适于运行软件应用520(诸如区别关于图1至图3的模糊请求应用并且特别地数字助理应用513或输出生成部件511)的一个或多个程序模块506。例如,操作系统505可以适于控制计算设备500的操作。此外,本公开的实施例可以结合图形库、其他操作系统或任何其他应用程序被实践并且不限于任何特定应用或系统。通过虚线508内的那些部件在图5中图示该基本配置。计算设备500可以具有附加的特征或功能。例如,计算设备500还可以包括附加的数据存储装置(可移除和/或不可移除的),诸如例如磁盘、光盘或磁带。通过可移除的存储装置509和不可移除的存储装置510在图5中图示这样的附加存储设备。
[0097] 如上文所陈述的,若干程序模块和数据文件可以被存储在系统存储器504中。当在处理单元502上执行时,程序模块506(例如,输出生成部件511或数字助理应用513)可以执行包括但不限于各方面的过程,如在此所描述的。可以根据本公开的方面并且特别地用于理解不完整的自然表达来使用其他程序模块。
[0098] 此外,本公开的实施例可以实践在包括分离的电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路中或包含电子元件或微处理器的单个芯片上。例如,本公开的实施例可以经由片上系统(SOC)被实践,其中图5中所图示的每个或许多部件可以被集成到单个集成电路上。这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和全部被集成(或“被烧制”)到芯片衬底上作为单个集成电路的各种应用功能。当经由SOC操作时,关于客户端交换协议的能力的在此所描述的功能可以经由与单个集成电路(芯片)上的计算设备500的其他部件集成的专用逻辑被操作。本公开的实施例还可以使用能够执行逻辑操作(诸如例如AND、OR和NOT)的其他技术被实践,包括但不限于机械、光学、流体和量子技术。另外,本公开的实施例可以被实践在通用计算机内或在任何其他电路或系统中。
[0099] 计算设备500还可以具有一个或多个输入设备512(诸如键盘、鼠标、笔、声音或语音输入设备、触摸或滑动输入设备等)。还可以包括(一个或多个)输出设备514(诸如显示器、扬声器、打印机等)。前述设备是示例并且可以使用其他示例。计算设备500可以包括允许与其他计算设备518通信的一个或多个通信连接516。适合的通信连接516的示例包括但不限于RF发射器、接收器和/或收发器电路;通用串行总线(USB)、并行和/或串行端口。
[0100] 如在此所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以用于信息(诸如计算机可读指令、数据结构或程序模块)的存储的任何方法或技术中实现的易失性和非易失性、可移除和不可移除的介质。系统存储器504、可移除的存储装置509和不可移除的存储装置510全部是计算机存储介质示例(例如,存储器存储装置)。计算机存储介质可以包括RAM、ROM、电可擦只读存储器(EEPROM)、闪速存储器或其他存储器技术、CD-ROM、数字多用光盘(DVD)或其他光学存储装置、磁带盒、磁带、磁盘存储或其他磁性存储设备或可以被用于存储信息并且可以由计算设备500访问的任何其他制品。任何这样的计算机存储介质可以是计算设备500的一部分。计算机存储介质不包括载波或其他传播或调制数据信号。
[0101] 可以由计算机可读指令、数据结构、程序模块或经调制的数据信号(诸如载波或其他传输机制)中的其他数据实现通信介质,并且其包括任何信息递送介质。术语“经调制数据信号”可以描述具有以关于将信息编码在信号中的这样的方式设定或改变的一个或多个特性的信号。以示例而非限制的方式,通信介质包括有线介质(诸如有线网络或直接有线连接)和无线介质(诸如声学、射频(RF)、红外和其他无线介质)。
[0102] 图6A和图6B图示了利用其可以实践本公开的实施例的移动计算设备600(例如,移动电话、智能电话、可穿戴计算机(诸如智能手表)、平板个人计算机、膝上型计算机等)。在一些方面中,客户端可以是移动计算设备。参考图6A,图示了用于实现方面的移动计算设备600的一个方面。在基本配置中,移动计算设备600是具有输入元件和输出元件二者的手持式计算机。移动计算设备600通常包括显示器605和一个或多个输入按钮610,其允许用户将信息输入到移动计算设备600中。移动计算设备600的显示器605还可以用作输入设备(例如,触摸屏显示器)。如果被包括的话,可选侧面输入元件615允许进一步的用户输入。侧面输入元件615可以是旋转开关、按钮或任何其他类型的手动输入元件。在备选方面中,移动计算设备600可以包含或多或少输入元件。例如,在一些实施例中,显示器605可以不是触摸屏。在又一备选示例中,移动计算设备600是便携式电话系统(诸如蜂窝电话)。移动计算设备600还可以包括可选的小键盘635。可选的小键盘635可以是物理小键盘或触摸屏显示器上生成的“软”小键盘。在各种实施例中,输出元件包括用于示出图形用户接口(GUI)、视觉指示器620(例如,发光二极管)和/或音频换能器625(例如,扬声器)的显示器605。在一些方面中,移动计算设备600包含用于向用户提供触觉反馈的振动换能器。在又一方面中,移动计算设备600包含输入和/或输出端口,诸如音频输入(例如,麦克风插孔)、音频输出(例如,头戴式耳机插孔)、以及用于将信号发送到外部设备或从外部设备接收信号的视频输出(例如,HDMI端口)。
[0103] 图6B是图示移动计算设备的一个方面的架构的框图。也即,移动计算设备600可以包含实现一些方面的系统(例如,架构)602。在一个实施例中,系统602被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些方面中,系统602被集成为计算设备(诸如集成个人数字助理(PDA)和无线电话)。
[0104] 一个或多个应用程序可以被加载到存储器662中,并且在操作系统664上运行或与操作系统664相关联。应用程序的示例包括电话拨号器程序、电子邮件程序、个人信息管理(PIM)程序、字处理程序、电子数据表程序、因特网浏览器程序、消息程序等。系统602还包括存储器662内的非易失性存储区域666。非易失性存储区域666可以被用于存储在系统602断电的情况下不应当丢失的持久信息。应用程序666可以使用并且存储非易失性存储区域666中的信息(诸如电子邮件或由电子邮件应用使用的其他消息等)。同步应用(未示出)还驻留在系统602上并且被编程为与驻留在主机计算机上的对应的同步应用交互,以保持存储在非易失性存储区域666中的信息与被存储在主机计算机处的对应的信息同步。如应当理解,其他应用可以被加载到存储器662中并且在移动计算设备600上运行,包括创建如在此所描述的日历事件的指令(和/或可选地日历事件创建模块711)。
[0105] 系统602具有电源670,其可以被实现为一个或多个电池。电源670可能进一步包括外部电源(诸如对电池补充或再充电的加电对接支架)。
[0106] 系统602还可以包括无线电672,其执行发射和接收射频通信的功能。无线电672经由通信载波或服务提供商来促进系统602与“外部世界”之间的无线连接。在操作系统664的控制下进行到达和来自无线电672的传输。换句话说,由无线电672所接收的通信可以经由操作系统664被传播到应用程序666,并且反之亦然。
[0107] 视觉指示器620可以被用于提供视觉通知,和/或音频接口674可以被用于经由音频换能器625产生可听通知。在所图示的实施例中,视觉指示器620是发光二极管(LED),并且音频换能器625是扬声器。这些设备可以直接耦合到电源670,使得当被激活时,其即使处理器660和其他部件可能关闭以用于保存电池电量,其也保持由通知机制所指示的持续时间。LED可以被编程以保持无限的直到用户采取动作指示设备的加电状态。音频接口674被用于将可听信号提供给用户和从用户接收可听信号。例如,除被耦合到音频换能器625之外,音频接口674还可以被耦合到麦克风以接收可听输入(诸如促进电话交谈)。根据本公开的实施例,麦克风还可以用作音频传感器以促进通知的控制,如下文将描述的。系统602可以进一步包括视频接口676,其使得板上照相机630的操作能够记录静止图像、视频流等。
[0108] 实现系统602的移动计算设备600可以具有附加的特征或功能。例如,移动计算设备600还可以包括附加的数据存储装置(可移除和/或不可移除的),诸如磁盘、光盘或磁带。通过非易失性存储区域668在图6B中图示这样的附加存储装置。
[0109] 由移动计算设备600生成或采集并且经由系统602存储的数据/信息被本地存储在移动计算设备600上,如上文所描述的,或者数据可以被存储在任何数目的存储介质,其可以由设备经由无线电672或者经由移动计算设备600与关联于移动计算设备600(例如,分布式计算网络(诸如因特网)中的服务器计算机)的分离的计算设备之间的有线连接来访问。如应当理解的,可以由移动计算设备600经由无线电672或者经由分布式计算网络来访问这样的数据/信息。类似地,根据众所周知的数据/信息传送和存储机制(包括电子邮件和合作数据/信息共享系统),这样的数据/信息可以在计算设备之间容易地传送以用于存储和使用。
[0110] 图7图示了用于在计算设备处处理从远程源(诸如通用计算设备704、平板电脑706或移动设备708)接收到的数据的系统的架构的一个方面,如上文所描述的。被显示在服务器702处的内容可以被存储在不同的通信信道或其他存储类型中。例如,可以使用目录服务722、门户网站724、邮箱服务726、即时消息存储库728或社交联网站点730来存储各种文档。
可以通过与服务器720通信的客户端采用客户端计算环境203。服务器702可以通过网络715提供到达和来自客户端计算设备(诸如个人计算机704、平板计算设备706和/或移动计算设备708(例如,智能电话))的数据。通过示例,关于图1至图2上文所描述的计算机系统可以被实现在个人计算机704、平板计算设备706和/或移动计算设备708(例如,智能电话)中。除了接收到可用于在图形发起系统处预处理或者在接收计算系统处后处理的图形数据之外,计算设备的这些实施例中的任一个可以从存储库716获得内容。
[0111] 图8图示了可以执行在此所公开的一个或多个方面的示例性平板计算设备8。另外,在此所描述的方面和功能可以在分布式系统(例如,基于云的计算系统)上进行操作,其中应用功能、存储器、数据存储和取回以及各种处理功能可以在分布式计算网络(诸如因特网或内联网)上彼此远离进行操作。可以经由机载计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元来显示各种类型的用户接口和信息。例如,各种类型的用户接口和信息可以被显示在各种类型的用户接口和信息被投影到其上的墙面上并且与其交互。与利用其可以实践本发明的实施例的许多计算设备的交互包括但不限于击键输入、触摸屏输入语音或者其他音频输入、其中相关联的计算设备装备有用于采集和解译用于控制计算设备的功能的用户姿态的检测(例如,照相机)功能的姿态输入等。
[0112] 图9图示了用于构建不完整的自然语言表达分析模型的系统900。在一些方面中,系统900使用注释的测试数据来构建自然语言模型和不完整的自然语言模型。例如,系统900可以将完全查询或部分查询用作注释的测试数据,并且通过n元分析特征提取器传递查询以便创建资源语言模型。系统可以分析自然语言模型,以将注释用作引导来确定准确性。
此外,系统可以然后使用那些相同完全查询、移除字符以创建不完整的自然语言表达、通过n元分析特征提取器传递不完整的自然语言表达,以便创建不完整的自然语言模型。模型可以然后被比较,以将注释用作引导来确定准确性。此外,先前处理的不完整的自然语言查询可以通过不完整的自然语言模型被使用并且被传递以训练模型。系统900的各种部件可以然后被修改以便得到更准确的自然语言模型和/或更准确的不完整的自然语言模型。
[0113] 在技术的一些方面中,系统900包括被存储在注释的存储设备910中的注释的测试数据913。利用与域、意图和/或槽有关的信息来标记注释的训练数据手段数据。例如,查询“remind me to move my car in two hours”用户的意图被标记为“create_single_reminder,”域被标记为“reminder”域,槽信息提醒文本被标记为“move my car”并且槽信息提醒开始时间被标记为“in two hours”。被标记意味着域、意图和槽预测已经被标识为正确地反映用户意图。
[0114] 此外,注释的测试数据可以包括先前处理的不完整的自然语言表达的结果。处理可以通过自然语言分析部件(诸如分别参考图1和图2讨论的自然语言分析部件130或自然语言分析部件230)而发生。例如,用户可以已经确认由用于解译自然语言表达的系统(诸如动态系统100和网络化系统200)所生成的预测域、意图和槽的准确性。因此,注释的测试数据913可以包括不完整的自然语言表达,并且将利用如由用户确认的域、意图和槽来标记表达。
[0115] 上下文信息还可以与注释的测试数据913相关联。例如,在注释的测试数据913利用先前处理的不完整的自然语言表达被填充的情况下,上下文信息可以包括从轮中的每一轮所提取的信息、对被定位在客户端计算设备的显示器上的先前项的响应、被定位在客户端计算设备的显示器上的文本、客户端上下文(例如,客户端联系人列表、日历、GPS信息、接收不完整的自然语言的时间)等。
[0116] 自然语言查询可以然后被传递到n元分析特征提取器930。n元分析特征提取器930可以具有词语n元特征提取器932、字符n元特征提取器934以及部分词语n元特征提取器936。每个提取器可以提取部分词语n元、词语n元以及字符n元以创建第一特征训练数据集
940。可以以类似方式执行N元提取,如在图1和图2中所提到的。
[0117] 特征化训练数据集940可以然后由被存储在自然语言理解(NLU)部件950中的自然语言模型用于预测域、意图和槽。对域、意图和槽的预测可以与上文所描述的预测类似或相同地发生。
[0118] 各种特征被用于训练NLU模型950。例如,词语n元、部分n元和部分词语n元可以被用于训练自然语言模型。此外,实体词汇可以被用于然后训练NLU模型。每个词汇是属于相同语义种类的实体集合。例如,电影名称、应用名称等的集合全部被认为是实体词汇。训练NLU模型导致更准确的域、意图和槽预测。
[0119] 前缀模块920可以根据被传递到NLU模型的相同查询创建不完整的自然语言表达。继续以上示例,查询“remind me to move my car”可以被解译为“remind m”、“remind me”、“remind me t”等。
[0120] 备选地,当使用先前处理的不完整的自然语言表达时,注释的测试数据没有通过前缀模块进行传递,但是仅传递到不完整的n元分析特征提取器930。
[0121] 不完整的自然语言表达可以然后传递到n元分析特征提取器930。n元自然语言特征提取器930提取词语n元、部分词语n元和字符n元,如上文所描述的。该所提取的信息然后被传递到特征化测试数据960。
[0122] 特征化测试数据960可以然后由被存储在不完整的自然语言理解(INLU)部件965中的不完整的自然语言模型用于预测域、意图和槽。对域、意图和槽的预测可以与上文所描述的预测类似或相同地发生。
[0123] 各种特征被用于训练INLU模型965。例如,词语n元、部分n元和部分词语n元可以被用于训练自然语言模型。此外,实体词汇可以被用于然后训练INLU模型。每个词汇是属于相同语义种类的实体集合。例如,电影名称、应用名称等的集合全部被认为是实体词汇。训练INLU模型导致更准确的域、意图和槽预测。
[0124] 在一方面中,针对标记的实际域、意图和槽,评估对NLU模型和/或INLU模型的预测。如果适当的话,调整NLU模型和/或INLU模型。
[0125] 例如,上文参考根据本公开的各方面的方法、系统和计算机程序产品的框图和/或操作图示描述了本公开的方面。块中所指出的动能/动作可以脱离如任何流程图中所示的顺序而发生。例如,连续所示的两个块可以实际上基本上并发执行或可以有时以相反的顺序执行,这取决于所涉及的功能/动作。
[0126] 本申请中所提供的一个或多个方面的描述和图示不旨在限定或限制如以任何方式所要求保护的本公开的范围。本申请中所提供的方面、示例和细节被认为足以传达所有权并且使得他人能够制造和使用要求保护的本公开的最好模式。要求保护的本公开不应当被解释为限于本申请中所提供的任何方面、示例或细节。不管是否组合地或分离地示出或描述,各种特征(结构的和方法二者)旨在选择性地被包括或被省略,以产生具有特定特征集的实施例。已经提供本申请的描述和图示,本领域的技术人员可以预想落入被实现在不脱离的要求保护的本公开的较宽的范围的、本申请中的一般发明构思的较宽的方面的精神内的变型、修改和替换方面。