通过智能数字助理的用户培训的制作方法

文档序号:18351040发布日期:2019-08-06 22:25阅读:228来源:国知局
通过智能数字助理的用户培训的制作方法

本申请是国际申请号为pct/us2014/028785、国际申请日为2014年3月14日、进入国家阶段日为2015年9月11日、国家申请号为201480014613.9、发明名称为“通过智能数字助理的用户培训”的中国发明专利申请的分案申请。

本申请要求于2013年3月15日提交的名称为usertrainingbyintelligentdigitalassistant的美国临时专利申请号61/800,846的权益,所述专利申请据此全文以引用方式并入以用于所有目的。

本发明所公开的实施例整体涉及数字助理,并且更具体地讲涉及智能地向用户提供培训机会和辅助的数字助理。



背景技术:

正如人类个人助理一样,数字助理或虚拟助理可执行所请求的任务并提供所请求的建议、信息或服务。助理满足用户请求的能力取决于助理对请求或指令的正确理解。自然语言处理的最新进展使用户能够使用自然语言以语音或文本形式与数字助理交互,而非采用常规用户界面(例如菜单或程序命令)。此类数字助理可解译用户的输入以推断用户的意图、将所推断的意图转化成可执行的任务和参数、执行操作或部署服务以执行任务,以及产生可被用户理解的输出。理想的是,由数字助理所产生的输出应实现用户在用户和数字助理之间的自然语言交互期间所表达的意图。数字助理可响应于从用户接收的搜索请求,在选择域(例如餐厅域等)中执行搜索并呈现符合条件的选项(例如餐厅)。

数字助理系统对用户请求产生令人满意的响应的能力取决于由该系统所实现的自然语言处理、知识库和人工智能。常规数字助理响应于单一语言的用户命令,并以相同语言提供响应。当用户访问使用不同语言的区域时,这些数字助理无法胜任。此外,虽然一些常规数字助理响应于用户的培训或自定义,但常规数字助理尚未用于通过利用其自然语言和意图处理能力来向用户提供培训。



技术实现要素:

本文所公开的实施例提供了数字助理通过利用其自然语言处理和意图处理能力智能且主动地向用户提供培训机会和辅助,尤其是外语培训和辅助和/或向用户介绍特定于地区的口音/俚语的方法、系统、计算机可读存储介质和用户界面。具有多语言能力的智能数字助理在外语培训方面可更有效,因为它并非简单地执行用户输入的直接直译,而是根据基于用户输入所推断的用户意图来提供培训样本和外语辅助。意图推断可以根据上下文,并且可利用关于来自许多不同来源的用户当前需求的相关信息。可以避免直译的许多局限性(例如,由于拙劣和不正确的句子结构、语法和输入习惯造成的错误)。此外,数字助理知晓与用户相关联的当前上下文,并且可向用户提供针对当前上下文的更适当的外语培训练习并提供针对用户学习的激励和实景实践机会。

因此,一些实施例提供了用于操作数字助理的方法,该方法包括在包括存储器和一个或多个处理器的设备处存储一个或多个程序:接收来自用户的用第一语言说出的第一语音输入;基于采用该第一语言的至少第一语音输入来推断用户意图;基于所推断的用户意图生成采用第一语言的第一语音输入的一个或多个可供选择的表达;并且向用户提供介绍可供选择的表达作为比用户提供的第一语音输入更优选的输入以表达所推断的用户意图的反馈。

在一些实施例中,提供反馈还包括:采用不同于第一语言的第二语言来提供反馈,其中第二语言是与用户相关联的主要语言,并且第一语言是与用户相关联的次要语言。

在一些实施例中,第一语音输入的一个或多个可供选择的表达至少包括纠正第一语音输入中的至少一个字词的发音的相应的可供选择的表达。

在一些实施例中,第一语音输入的一个或多个可供选择的表达至少包括纠正第一语音输入中的至少一个字词的语法使用的相应的可供选择的表达。

在一些实施例中,第一语音输入的一个或多个可供选择的表达至少包括将第一语音输入中的至少一个字词或短语替换为另一个字词或短语的相应的可供选择的表达。

在一些实施例中,该方法还包括:提供至少命令模式和外语培训模式,其中数字助理在命令模式中执行任务流以实现所推断的用户意图,并且其中数字助理在外语培训模式中生成一个或多个可供选择的表达并向用户提供反馈。

在一些实施例中,该方法还包括:同时提供命令模式和外语培训模式两者,其中除了生成一个或多个可供选择的表达并向用户提供反馈之外,数字助理还执行任务流以实现所推断的用户意图。

在一些实施例中,该方法还包括:接收外语培训模式的用户选择;以及响应于外语培训模式的用户选择来启用外语培训模式。

在一些实施例中,该方法还包括:在没有用户干预的情况下,基于用户的当前位置来自动启用外语培训模式,其中与用户的当前位置相关联的主要语言为第一语言。

在一些实施例中,基于第一语言的第一语音输入来推断用户意图还包括:识别用户的第一语言的自定义语音转文本模型,其中已基于由第二语言的母语者(用户也是该第二语言的母语者)提供的培训样本来建立自定义语音转文本模型;使用自定义语音转文本模型处理第一语音输入以生成文本串;以及使用该文本串作为用于数字助理的意图推断模型的输入。

在一些实施例中,生成采用第一语言的第一语音输入的一个或多个可供选择的表达还包括:识别由第一语言的母语者先前提供的第二语音输入,其中第二语音输入已与和第一语音输入的所推断的用户意图相同的相应用户意图相关联,并且其中针对相应用户意图执行的任务流对所述母语者已是令人满意的;以及利用第二语音输入作为第一语音输入的可供选择的表达中的一个可供选择的表达。由母语者先前提供的语音输入是显示特定区域中的语言和词汇的习惯用法的示例表达的良好来源。

在一些实施例中,向用户提供介绍可供选择的表达作为更优选的输入以表达所推断的用户意图的反馈还包括:采用第二语言提供对第一可供选择的表达与第一语音输入之间的差异的说明,其中第二语言是与用户相关联的主要语言,并且第一语言是与用户相关联的次要语言。

在一些实施例中,该方法还包括:接收来自用户的采用第一语言的第二语音输入,该第二语音输入利用可供选择的表达中的至少一个可供选择的表达;确定第二语音输入是否为至少一个可供选择的表达的令人满意的声音话语;以及在确定第二语音输入是至少一个可供选择的表达的令人满意的声音话语时,执行任务流以实现所推断的用户意图。

在一些实施例中,该方法还包括:基于所推断的用户意图采用第二语言提供第一语音输入的改述,以确认所推断的用户意图的正确性,其中数字助理在接收到所推断的用户意图是正确的用户意图的用户确认之后,生成可供选择的表达并提供反馈。

在一些实施例中,基于采用第一语言的至少第一语音输入来推断用户意图还包括进一步基于与用户相关联的当前上下文来推断用户意图。

在一些实施例中,与用户相关联的当前上下文至少包括用户的当前位置。

在一些实施例中,与用户相关联的当前上下文至少包括接收第一语音输入的当前时间。

在一些实施例中,与用户相关联的当前上下文至少包括位于用户的当前位置的地点的类型。

在一些实施例中,与用户相关联的当前上下文至少包括用户的时间表项目与当前位置之间的相关性。

在一些实施例中,与用户相关联的当前上下文至少包括用户的时间表项目与当前时间之间的相关性。

在一些实施例中,与用户相关联的当前上下文至少包括用户的当前交通模式。

在一些实施例中,与用户相关联的当前上下文至少包括由用户输入的方向请求与用户的当前位置之间的相关性。

在一些实施例中,该方法还包括存储一个或多个可供选择的表达以由用户将来查看。

在一些实施例中,该方法还实施了上文和本说明书的剩余部分中所述的方法的任何组合的特征。

因此,一些实施例提供了用于操作数字助理的方法,该方法包括在包括存储器和一个或多个处理器的设备处存储一个或多个程序:接收来自用户的用第一语言说出的第一语音输入;基于至少该第一语音输入来推断用户意图;基于所推断的用户意图生成采用第二语言的第一语音输入的一个或多个可供选择的表达;以及当用户对理解第二语言的另一个用户说出一个或多个可供选择的表达中的至少一个可供选择的表达时,向用户提供介绍可供选择的表达作为实现所推断的用户意图的方法的反馈。在这些实施例中,数字助理并不提供信息或执行用户请求的任务,相反数字助理教导用户为获得信息和/或使任务完成需要对另一个人所说的话。这在数字助理仅能正确推断用户意图而不具有足够的能力为用户完成任务时可用。相反,数字助理教导用户正确的外语表达,使得用户可请求并采用不会说用户的母语的另一个人的帮助。

在一些实施例中,第一语言是与用户相关联的主要语言,并且第二语言是与用户当前所处的地理区域相关联的主要语言。

在一些实施例中,第一语言是与用户相关联的主要语言,并且第二语言是与用户相关联的次要语言。

在一些实施例中,第二语言不同于第一语言并且可供选择的表达中的至少一个可供选择的表达不是第一语音输入的从第一语言到第二语言的转换。

在一些实施例中,数字助理响应于外语辅助模式的用户选择而在外语辅助模式中生成可供选择的表达并提供反馈。

在一些实施例中,数字助理响应于检测到用户的当前位置在第一语言是主要语言的地理区域外来启动外语辅助模式,并且其中数字助理在外语辅助模式中生成可供选择的表达并提供反馈。

在一些实施例中,数字助理响应于检测到用户的当前位置在第一语言是主要语言的地理区域外并且数字助理不能实现所推断的用户意图来启动外语辅助模式。

在一些实施例中,该方法还包括:在向用户提供的反馈中,采用第一语言来呈现第二语言的名称作为一个或多个可供选择的表达的相应语言。

在一些实施例中,该方法还包括:为用户提供用于口头练习一个或多个可供选择的表达中的至少一个可供选择的表达的练习会话;以及在练习会话期间:接收来自用户的说出一个或多个可供选择的表达中的至少一个可供选择的表达的第二语音输入;确定第二语音输入是否为至少一个可供选择的表达的令人满意的声音话语;以及在确定第二语音输入是至少一个可供选择的表达的令人满意的声音话语时,为用户提供输出,该输出指示第二语音输入令人满意。

在一些实施例中,该方法还包括:在练习会话期间:向用户提供一个或多个可供选择的表达中的至少一个可供选择的表达的样本声音话语。

在一些实施例中,该方法还包括在练习会话期间:接收来自用户的说出一个或多个可供选择的表达中的至少一个可供选择的表达的第三语音输入;基于第三语音输入与至少一个可供选择的表达的标准声音话语之间的差异来检测第三语音输入中的错误;以及一次或多次向用户提供样本声音话语,所述样本声音话语被定制成用于纠正第三语音输入中的错误。

在一些实施例中,第一语言是与用户相关联的相应语言的第一方言,并且第二语言是相应语言的第二方言,并且其中第二方言不同于第一方言并且与用户当前所处的相应地理区域相关联。

在一些实施例中,第一语音输入的一个或多个可供选择的表达至少包括改变第一语音输入中的至少一个字词的发音的相应的可供选择的表达。

在一些实施例中,第一语音输入的一个或多个可供选择的表达至少包括改变第一语音输入中的至少一个字词的语法使用的相应的可供选择的表达。

在一些实施例中,第一语音输入的一个或多个可供选择的表达至少包括替换第一语音输入中的至少一个字词的相应的可供选择的表达。

在一些实施例中,替换第一语音输入中的至少一个字词或表达的相应的可供选择的表达是用户当前所处的地理区域中的至少一个字词或表达的当地俚语。

在一些实施例中,数字助理生成可供选择的表达并以外语辅助模式提供反馈,并且该方法还包括:在外语辅助模式中:接收来自用户的输入,以便用户进入实时会话以利用可供选择的表达中的至少一个可供选择的表达来实现所推断的用户意图;以及为用户提供实时会话;以及在实时会话期间:倾听用户对第二用户说出可供选择的表达中的至少一个可供选择的表达;倾听来自第二用户的言语响应;基于从第二用户接收到的言语响应确定用户需要另外的外语辅助;以及采用第二语言提供一个或多个语音输出,以帮助用户实现所推断的用户意图。

在一些实施例中,该方法还包括:在设备上显示的用户界面中,向用户提供数字助理和第二用户之间的言语交流的文本记录。

在一些实施例中,该方法还包括:在设备上显示的用户界面中,向用户提供文本记录的从第二语言到第一语言的转换。

在一些实施例中,该方法还包括存储外语辅助模式中进行的用户会话的记录以由用户将来查看。

在一些实施例中,数字助理根据与用户相关联的相应当前上下文针对所推断的用户意图生成一组不同的可供选择的表达。

在一些实施例中,与用户相关联的当前上下文包括用户的当前位置。

在一些实施例中,与用户相关联的当前上下文包括接收第一语音输入的当前时间。

在一些实施例中,与用户相关联的当前上下文包括位于用户的当前位置的地点的类型。

在一些实施例中,与用户相关联的当前上下文包括用户的时间表项目与当前位置之间的相关性。

在一些实施例中,与用户相关联的当前上下文包括用户的时间表项目与当前时间之间的相关性。

在一些实施例中,与用户相关联的当前上下文包括用户的当前交通模式。

在一些实施例中,与用户相关联的当前上下文包括由用户输入的方向请求与用户的当前位置之间的相关性。

在一些实施例中,该方法还实施了上文和本说明书的剩余部分中所述的方法的任何组合的特征。

因此,一些实施例提供了用于操作数字助理的方法,该方法包括在包括存储器和一个或多个处理器的设备处存储一个或多个程序:(1)在与用户的第一交互期间:当用户位于第一地理区域时接收来自用户的第一语音输入;基于第一语音输入来推断第一用户意图;基于所推断的第一用户意图来提供第一语音输入的第一改述;以及任选地执行相应任务流以实现所推断的第一用户意图;(2)在与用户的第二交互期间:当用户位于第二地理区域时接收来自用户的第二语音输入,第二语音输入基本上与第一语音输入相同;基于第二语音输入来推断第二用户意图,所推断的第二用户意图与所推断的第一用户意图相同;确定从第一地理区域到第二地理区域的位置变化与第二语音输入中的至少一个字词或表达的语言或特定于地区的词汇的变化相关联;响应于所述确定,基于第二所推断的用户意图来提供第二改述,其中基于语言或词汇的变化,第二改述不同于第一改述;以及任选地执行相应任务流以实现所推断的第二用户意图。

在一些实施例中,第一地理区域和第二地理区域均与用户的主要语言相关联。

在一些实施例中,特定于地区的词汇的变化包括使用第二语音输入中的至少一个字词或表达在第二地理区域中的相应当地俚语,并且其中第二改述利用相应当地俚语。

在一些实施例中,该方法还包括:接收用户输入以开始关于第二改述中提供的相应当地俚语的学习会话;并且响应于接收到用户输入,提供对第二地理区域中的相应当地俚语的用法的说明。

在一些实施例中,语言的变化包括使用第二语音输入中的至少一个字词或表达在第二地理区域中的相应当地口音,并且其中第二改述利用相应当地口音。

在一些实施例中,该方法还包括:接收用户输入以开始关于第二改述中提供的相应当地口音的学习会话;并且响应于接收到用户输入,提供第二地理区域中的相应当地口音的用法的一个或多个另外的实例。

在一些实施例中,该方法还实施了上文和本说明书的剩余部分中所述的方法的任何组合的特征。

因此,一些实施例提供了用于操作数字助理的方法,该方法包括在包括存储器和一个或多个处理器的设备处存储一个或多个程序:评估与用户相关联的目前上下文;识别与目前上下文相关联的相应外语培训方案;以及为用户提供外语培训会话,包含一个或多个外语练习的外语培训会话被定制成用于当前上下文。在一些实施例中,数字助理基于各种传感器(例如,gps、温度传感器、光传感器、加速度计、指南针等)和在设备上发生的事件(例如,电话、电子邮件通信、生成的通知、时间表项目报警、执行的搜索以及实现方向请求等)来跟踪与用户相关联的目前上下文。

在一些实施例中,该方法还包括:在没有用户干预的情况下,基于与用户当前所处的地理区域相关联的主要语言来自动选择用于一个或多个外语练习的相应语言;以及采用所自动选择的语言生成一个或多个外语练习。

在一些实施例中,该方法还包括:接收为一个或多个外语练习选择相应语言的用户输入;以及采用用户选择的语言生成一个或多个外语练习。

在一些实施例中,与用户相关联的目前上下文包括用户在位于相应外语为主要语言的地理区域中的商店内的出现,并且一个或多个外语练习至少包括与商店中购物相关联的采用相应外语的词汇或对话。

在一些实施例中,与用户相关联的目前上下文包括用户在位于相应外语为主要语言的地理区域中的公共交通工具终点附近的出现,并且一个或多个外语练习至少包括与公共交通工具的使用相关联的采用相应外语的词汇或对话。

在一些实施例中,与用户相关联的目前上下文包括用户在位于相应外语为主要语言的地理区域中的餐饮设施内的出现,并且一个或多个外语练习至少包括与在餐饮设施处就餐相关联的采用相应外语的词汇或对话。

在一些实施例中,与用户相关联的目前上下文包括用户在位于相应外语为主要语言的地理区域中的住宿设施内的出现,并且一个或多个外语练习至少包括与在住宿设施处住宿相关联的采用相应外语的词汇或对话。

在一些实施例中,与用户相关联的目前上下文包括用户在朝向目的地移动的公交车辆内的出现,所述用户最近已请求针对目的地的方向并且目的地位于相应外语为主要语言的地理区域中,并且其中一个或多个外语练习至少包括与访问所述目的地相关联的采用相应外语的词汇或对话。

在一些实施例中,与用户相关联的目前上下文包括用户在医疗设施内的出现,并且其中一个或多个外语练习至少包括与在该医疗设施处获得医疗服务相关联的采用相应外语的词汇或对话。

在一些实施例中,与用户相关联的目前上下文包括用户在提供酒水服务的经营场所内的出现,并且其中一个或多个外语练习至少包括与在该经营场所处点饮品相关联的采用相应外语的词汇或对话。

在一些实施例中,该方法还包括呈现与外语练习中所用词汇相关联的图像。

在一些实施例中,该方法还实施了上文和本说明书的剩余部分中所述的方法的任何组合的特征。

上述实施例和本说明书中所述的其他实施例可以帮助实现以下优点中的一个或多个优点。

在一些实施例中,数字助理基于从用户输入所推断的用户意图来提供用户输入的可供选择的表达。可供选择的表达可以从语法上讲更正确,具有更好的发音和/或更符合用户当前所处的地理区域的习惯。这有助于访问外国的非母语者(例如,留学生、商务旅行者、旅游者等)学习和记住当地语言和上下文用法。

此外,在一些实施例中,可供选择的表达不一定是用户输入的直译,而是基于从用户输入所推断的用户意图。基于意图生成的可供选择的表达比通过直译生成的结果更加正式、错误更少并且用户输入的信息丢失更少。因此,可以避免直译的许多局限性。

此外,在一些实施例中,意图推断根据上下文,并且可利用数字助理具有的关于用户的许多信息来源。因此,可通过数字助理提供更适当的表达以实现用户的真实意图。

在一些实施例中,可采用用户母语向用户介绍更好的表达,使得用户可更好地理解由数字助理提供的可供选择的表达与他/她的直接输入之间的细微差异。

在一些实施例中,在用户以他/她的母语表达他/她的意图之后,数字助理向用户教导可供选择的外语表达。当用户希望用外语对真人说出他/她的需求(例如,当真人仅懂得这门外语时)并且希望数字助理用这门外语教他/她正确表达时,这是可用的。由于数字助理的能力有时有限,一些辅助由真人更好地提供。让用户用他/她的母语对数字助理表达他/她的需求以及学习需要对真人所说的正确外语表达的能力,可极大地扩展数字助理在许多情况下(例如,当用户出国旅游时)的有益性。

在一些实施例中,在向用户教导外语表达之后,数字助理可继续倾听用户与第三方母语者之间的对话,并且在需要时提供另外的语言辅助。

在一些实施例中,数字助理服务提供方已经支持多种语言的输入和响应,并且对用户实施外语或混合语言辅助可有效利用数字助理的现有自然语言处理和意图处理能力。

在一些实施例中,当用户被发现处于该位置时,数字助理教导用户关于该特定于地区的口音或俚语。例如,如果用户在一个位置提供输入,并且输入与本地语言用法完全一致,则数字助理执行任务而不提供任何语言培训。然而,当用户在不同位置提供相同输入,并且用户输入在一个或多个方面不同于本地语言用法时,数字助理除了执行任务,还任选地提供关于那些差异的一些“上下文中语言培训”。这对于一门语言的母语者和一门语言的非母语者两者均是有益的,因为即使对于相同语言仍存在许多区域差异(例如,表达、字词用法、口音、俚语等)。

在一些实施例中,为了减少培训过程中的干扰,数字助理提供了用户输入与用户输入的改述中的特定于地区的表达之间的差异,使得用户可听到差异,并且在不花费过多时间和精力的情况下学习新的语言信息。在一些实施例中,在用户请求下,可以向用户提供关于那些特定于地区的语言差异的另外的信息。

在一些实施例中,数字助理跟踪与用户相关联的当前上下文,并且基于用户的当前上下文向用户提供外语培训机会。例如,当数字助理检测到用户在商店内时,可向用户提供与购物相关的培训练习。可以根据用户所在的商店类型向用户提供更具体的培训练习和词汇。有时,除用户当前访问的地点的类型之外,先前的方向请求、用户的日历项目以及用户执行的搜索也可用于确定当前上下文,然后使用该当前上下文为用户生成相关的外语培训练习。这些上下文相关的外语练习可帮助激励用户的学习,并且周围环境也提供了另外的机会和视觉提示以帮助用户实践和记忆外语练习的内容。

在附图和以下说明中阐述了本说明书描述的主旨的一个或多个实施例的细节。根据说明书、附图以及权利要求,主旨的其他特征、方面和优点将显而易见。

附图说明

图1为示出根据一些实施例的数字助理在其中操作的环境的框图。

图2为示出根据一些实施例的数字助理客户端系统的框图。

图3a为示出根据一些实施例的数字助理系统或其服务器部分的框图。

图3b为示出根据一些实施例的图3a中所示的数字助理的功能的框图。

图3c为根据一些实施例的知识本体的一部分的图示。

图4a-4e为根据一些实施例的向用户智能地提供语言培训的示例性过程的流程图。

图5a-5f为根据一些实施例的向用户智能地提供语言辅助的示例性过程的流程图。

图6a-6b为根据一些实施例的向用户智能地提供特定于地区的语言培训的示例性过程的流程图。

图7a-7c为根据一些实施例的智能地提供基于上下文的语言培训的示例性过程的流程图。

相似的参考标号是指整个附图中的相应部件。

具体实施方式

图1为根据一些实施例的数字助理的操作环境100的框图。术语“数字助理”、“虚拟助理”、“智能自动化助理”或“自动数字助理”是指解译口头和/或文本形式的自然语言输入以推断用户意图并基于所推断的用户意图来执行动作的任何信息处理系统。例如,为了进行所推断的用户意图,系统可执行以下内容中的一个或多个:通过设计用以实现所推断的用户意图的步骤和参数来识别任务流,将来自所推断的用户意图的具体要求输入到任务流中;通过调用程序、方法、服务、api等来执行任务流;以及生成对用户的听觉(例如,语音)和/或视觉形式的输出响应。

具体地讲,数字助理能够接受至少部分地为自然语言命令、请求、声明、讲述和/或询问的形式的用户请求。通常,用户请求要么寻求数字助理作出信息性回答,要么寻求数字助理执行任务。针对用户请求的令人满意的响应是提供所请求的信息性回答、执行所请求的任务、或这两者的组合。例如,用户可以向数字助理问问题,诸如“我现在在哪里?”基于用户的当前位置,数字助理可以回答“你在中央公园。”用户还可以请求执行任务,例如“请在今天下午4点提醒我给妈妈打电话。”作为响应,数字助理可以确认请求,然后在用户的电子时间表中创建适当的提醒项目。在执行所请求的任务期间,数字助理有时以连续对话与用户进行交互,所述对话涉及在较长时间段内的多个信息交换。存在与数字助理进行交互以请求信息或执行各种任务的许多其他方法。除提供言语响应和采取程序化动作之外,数字助理还提供了其他视觉或听觉形式的响应,例如,文本、警报、音乐、视频、动画等形式。在一些实施例中,数字助理接受不止一种语言的输入,并以输入的语言、用户的主要语言、用户的选择的语言和/或多种语言的混合来提供响应。

数字助理的一个实例在提交于2011年1月10日的申请人的美国实用专利申请序列号12/987,982“intelligentautomatedassistant”中有所描述,该专利申请的全部公开内容以引用方式并入本文。

如图1中所示,在一些实施例中,数字助理根据客户端-服务器模型来实施。数字助理包括在用户设备104a,104b上执行的客户端侧部分102a,102b(后文称作“da客户端102”),以及在服务器系统108上执行的服务器侧部分106(后文称作“da务器106”)。da客户端102通过一个或多个网络110与da服务器106通信。da客户端102提供客户端侧功能诸如面向用户的输入和输出处理,并且与da服务器106通信。da服务器106为任意数量的da客户端102提供服务器侧功能,所述任意数量的da客户端102各自位于相应的用户设备104上。

在一些实施例中,da服务器106包括面向客户端的i/o接口112、一个或多个处理模块114、数据与模型116,以及到外部服务的i/o接口118。面向客户端的i/o接口促成数字助理服务器106的面向客户端的输入和输出处理。所述一个或多个处理模块114利用数据与模型116基于自然语言输入来确定用户的意图,并基于所推断的用户意图来进行任务执行。在一些实施例中,da服务器106通过一个或多个网络110与外部服务120通信,以用于任务完成或信息采集。到外部服务的i/o接口118促成此类通信。

用户设备104的实例包括但不限于手持式计算机、个人数字助理(pda)、平板电脑、膝上型计算机、台式计算机、蜂窝电话、智能电话、增强型通用分组无线电服务(egprs)移动电话、媒体播放器、导航设备、游戏控制器、电视机、遥控器、或者这些数据处理设备中任意两种或更多种的组合或其他数据处理设备。有关用户设备104的更多细节参照图2中示出的示例性用户设备104提供。

一个或多个通信网络110的实例包括局域网(“lan”)和广域网(“wan”),例如互联网。一个或多个通信网络110任选地使用任何已知的网络协议,包括各种有线或无线协议,诸如例如以太网、通用串行总线(usb)、火线、全球移动通信系统(gsm)、增强型数据gsm环境(edge)、码分多址(cdma)、时分多址(tdma)、蓝牙、wi-fi、互联网电话协议(voip)、wi-max、或任何其他合适的通信协议来实施。

服务器系统108在计算机的一个或多个独立式数据处理装置或分布式网络上实施。在一些实施例中,服务器系统108还采用第三方服务提供方(例如,第三方云服务提供方)的各种虚拟设备和/或服务来提供服务器系统108的潜在计算资源和/或基础结构资源。

虽然图1中示出的数字助理包括客户端侧部分(例如,da客户端102)和服务器侧部分(例如,da服务器106)两者,但在一些实施例中,数字助理的功能作为安装在用户设备上的独立应用程序实施。此外,数字助理的客户端部分与服务器部分之间的功能划分在不同的实施例中可能变化。例如,在一些实施例中,da客户端为仅提供面向用户的输入和输出处理功能,并且将数字助理的所有其他功能委派给后端服务器的瘦客户端。

图2为根据一些实施例的用户设备104的框图。用户设备104包括存储器接口202、外围设备接口206以及一个或多个处理器204。用户设备104中的各种部件通过一条或多条通信总线或信号线耦接。用户设备104包括各种传感器、子系统、以及耦接至外围设备接口206的外围设备。传感器、子系统、以及外围设备采集信息和/或促成用户设备104的各种功能。

例如,运动传感器210、光传感器212、以及接近传感器214耦接至外围设备接口206以促成取向、照明和接近感测功能。一个或多个其他传感器216,诸如定位系统(例如,gps接收器)、温度传感器、生物测定传感器、陀螺仪、指南针、加速度计等,连接至外围设备接口206,以促成相关功能。

在一些实施例中,相机子系统220和光学传感器222用于促成相机功能,诸如拍摄照片和记录视频剪辑。通过一个或多个有线和/或无线通信子系统224来促成通信功能,所述有线和/或无线通信子系统可包括各种通信端口、射频接收器与发射器和/或光学(如红外)接收器与发射器。音频子系统226耦接至扬声器228和麦克风230以促进启用语音的功能,诸如语音识别、语音复制、数字记录和电话功能。

在一些实施例中,i/o子系统240还耦接至外围设备接口206。i/o子系统240包括触摸屏控制器242和/或一个或多个其他输入控制器244。触摸屏控制器242耦接至触摸屏246。触摸屏246和触摸屏控制器242可例如使用多种触摸灵敏度技术中的任一种来检测接触和移动或它们的间断,所述多种触摸灵敏度技术诸如电容技术、电阻技术、红外技术、表面声波技术、接近传感器阵列等。可将一个或多个其他输入控制器244耦接至其他输入/控制设备248,诸如一个或多个按钮、摇臂开关、拇指滚轮、红外端口、usb端口和/或指针设备诸如触笔。

在一些实施例中,存储器接口202耦接至存储器250。存储器250可包括高速随机存取存储器和/或非易失性存储器,诸如一个或多个磁盘存储设备、一个或多个光学存储设备,和/或闪存存储器(例如nand、nor)。

在一些实施例中,存储器250存储操作系统252、通信模块254、图形用户界面模块256、传感器处理模块258、电话模块260和应用程序262。操作系统252包括用于处理基础系统服务以及用于执行硬件相关任务的指令。通信模块254促成与一个或多个附加设备、一个或多个计算机和/或一个或多个服务的通信。图形用户界面模块256促成图形用户界面处理。传感器处理模块258促成与传感器相关的处理和功能。电话模块260促成与电话相关的过程和功能。应用程序模块262促成用户应用程序的各种功能,诸如电子消息传送、网页浏览、媒体处理、导航、成像和/或其他过程和功能。

如本说明书中所述,存储器250还存储客户端侧数字助理指令(例如,在数字助理客户端模块264中)以及各种用户数据266(例如,特定于用户的词汇数据、偏好数据,和/或其他数据诸如用户的电子通讯录、待办事项列表、购物清单等)以提供数字助理的客户端侧功能。

在各种实施例中,数字助理客户端模块264能够通过用户设备104的各种用户界面(例如,i/o子系统244)接受语音输入(例如,声音输入)、文本输入、触摸输入和/或手势输入。数字助理客户端模块264还能够提供音频(例如,声音输出)、视觉和/或触觉形式的输出。例如,可将输出提供为语音、声音、警报、文本消息、菜单、图形、视频、动画、振动和/或以上两者或更多者的组合。在操作期间,数字助理客户端模块264使用通信子系统224来与数字助理服务器通信。

在一些实施例中,数字助理客户端模块264利用各种传感器、子系统外围设备来从用户设备104的周围环境采集附加信息以建立与用户、当前用户交互和/或当前用户输入相关联的上下文。在一些实施例中,数字助理客户端模块264将上下文信息或其子集与用户输入一起提供至数字助理服务器以帮助推断用户的意图。在一些实施例中,数字助理还使用上下文信息确定如何向用户准备和递送输出。

在一些实施例中,伴随用户输入的上下文信息包括传感器信息,例如,照明、环境噪声、环境温度、周围环境的图像或视频等。在一些实施例中,上下文信息还包括设备的物理状态,例如,设备取向、设备位置、设备温度、功率电平、速度、加速度、运动模式、蜂窝信号强度等。在一些实施例中,还将与用户设备106的软件状态相关的信息,例如,用户设备104的运行过程、已安装程序、过去和当前的网络活动、后台服务、错误日志、资源使用等,作为与用户输入相关联的上下文信息提供至数字助理服务器。

在一些实施例中,da客户端模块264响应于来自数字助理服务器的请求而选择性地提供存储在用户设备104上的信息(例如,用户数据266)。在一些实施例中,数字助理客户端模块264还在数字助理服务器106请求时引出来自用户经由自然语言对话或其他用户界面的附加输入。数字助理客户端模块264将所述附加输入传送至数字助理服务器106,以帮助数字助理服务器106进行意图推断和/或满足在用户请求中表达的用户意图。

在多个实施例中,存储器250包括附加指令或更少的指令。此外,可以在硬件和/或固件中,包括在一个或多个信号处理和/或专用集成电路中,实施用户设备104的各种功能。

图3a为根据一些实施例的示例性数字助理系统300的框图。在一些实施例中,数字助理系统300在独立式计算机系统上实施。在一些实施例中,数字助理系统300跨多个计算机分布。在一些实施例中,数字助理的模块和功能中的一些被划分成服务器部分和客户端部分,其中客户端部分位于用户设备(例如,用户设备104)上并通过一个或多个网络与服务器部分(例如,服务器系统108)通信,例如如图1中所示。在一些实施例中,数字助理系统300为图1中所示的服务器系统108(和/或数字助理服务器106)的实施例。应当指出,数字助理系统300仅为数字助理系统的一个实例,且该数字助理系统300可具有比示出更多或更少的部件、可组合两个或更多个部件、或可具有部件的不同配置或布置。图3a中所示的各种部件可以在硬件、用于由一个或多个处理器执行的软件指令、固件(包括一个或多个信号处理集成电路和/或专用集成电路),或它们的组合中实现。

数字助理系统300包括存储器302、输入/输出(i/o)接口306、网络通信接口308,以及一个或多个处理器304。这些部件通过一条或多条通信总线或信号线310彼此通信。

在一些实施例中,存储器302包括非暂态计算机可读介质,诸如高速随机存取存储器和/或非易失性计算机可读存储介质(例如,一个或多个磁盘存储设备、闪存存储器设备、或其他非易失性固态存储器设备)。

在一些实施例中,i/o接口306将数字助理系统300的输入/输出设备316诸如显示器、键盘、触摸屏、和麦克风耦接至用户界面模块322。i/o接口306,与用户界面模块322结合,接收用户输入(例如,语音输入、键盘输入、触摸输入等)并相应地对这些输入进行处理。在一些实施例中,例如,当数字助理在独立式用户设备上实施时,数字助理系统300包括相对于图2中的用户设备104所描述的部件和i/o接口及通信接口中的任一者。在一些实施例中,数字助理系统300代表数字助理具体实施的服务器部分,并且通过位于用户设备(例如,图2中所示的用户设备104)上的客户端侧部分与用户进行交互。

在一些实施例中,网络通信接口308包括一个或多个有线通信端口312和/或无线传输和接收电路314。一个或多个有线通信端口经由一个或多个有线接口,例如以太网、通用串行总线(usb)、火线等,接收和发送通信信号。无线电路系统314从通信网络及其他通信设备接收rf信号和/或光学信号以及将rf信号和/或光学信号发送至通信网络及其他通信设备。无线通信任选地使用多种通信标准、协议和技术中的任一种,诸如gsm、edge、cdma、tdma、蓝牙、wi-fi、voip、wi-max、或任何其他合适的通信协议。网络通信接口308使数字助理系统300与网络,诸如互联网、内联网和/或无线网络诸如蜂窝电话网络、无线局域网(lan)和/或城域网(man),以及其他设备之间的通信成为可能。

在一些实施例中,存储器302或存储器302的计算机可读存储介质存储程序、模块、指令和数据结构,包括以下内容中的全部或其子集:操作系统318、通信模块320、用户界面模块322、一个或多个应用程序324和数字助理模块326。一个或多个处理器304执行这些程序、模块和指令,并从数据结构读取数据或将数据写到数据结构。

操作系统318(例如,darwin、rtxc、linux、unix、osx、windows、或嵌入式操作系统诸如vxworks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电源管理等)的各种软件部件和/或驱动器,并促成各种硬件、固件与软件部件之间的通信。

通信模块320促成数字助理系统300与其他设备之间通过网络通信接口308进行的通信。例如,通信模块320任选地与图2中所示的设备104的通信接口254通信。通信模块320还包括用于处理被无线电路314和/或有线通信端口312所接收的数据的各种部件。

用户界面模块322经由i/o接口306接收来自用户(例如,来自键盘、触摸屏、指向设备、控制器和/或麦克风)的命令和/或输入,并在显示器上生成用户界面对象。用户界面模块322还经由i/o接口306(例如,通过显示器、声频通道、扬声器和触摸板等)向用户准备和递送输出(例如,语音、声音、动画、文本、图标、振动、触觉反馈和光等)。

应用程序324包括被配置为由所述一个或多个处理器304执行的程序和/或模块。例如,如果数字助理系统在独立式用户设备上实施,则应用程序324任选地包括用户应用程序,诸如游戏、日历应用程序、导航应用程序或邮件应用程序。如果数字助理系统300在服务器场上实施,则应用程序324任选地包括例如资源管理应用程序、诊断应用程序、或调度应用程序。

存储器302还存储数字助理模块(或数字助理的服务器部分)326。在一些实施例中,数字助理模块326包括以下子模块或其子集或超集:输入/输出处理模块328、语音转文本(stt)处理模块330、自然语言处理模块332、对话流处理模块334、任务流处理模块336、服务处理模块338和用户培训模块340。这些模块中的每个模块均具有对以下数字助理326的数据和模型中的一者或多者或其子集或超集的访问权限:知识本体360、词汇索引344、用户数据348、任务流模型354、服务模型356和用户培训数据358。

在一些实施例中,使用在数字助理模块326上实施的处理模块、数据和模型,数字助理执行以下内容中的至少一些:识别在接收自用户的自然语言输入中所表达的用户意图;积极引发并获取用于充分推断用户意图(例如,通过对字词、名称、意图消除歧义等)所需的信息;确定用于满足所推断的意图的任务流;以及执行任务流以满足所推断的意图。在本说明书中,关于用户培训模块340及其用户培训数据358的应用的更多细节随后在图4a-7c和所附描述中提供。

在一些实施例中,如图3b中所示,i/o处理模块328通过图3a中的i/o设备316与用户交互或通过图3a中的网络通信接口308与用户设备(例如,图1中的用户设备104)交互以获得用户输入(例如,语音输入)以及提供对用户输入的响应(例如,语音输入)。i/o处理模块328随同接收到用户输入一起或在接收到用户输入之后不久任选地获得与来自用户设备的用户输入相关联的上下文信息。上下文信息包括特定于用户的数据、词汇、和/或与用户输入有关的偏好。在一些实施例中,上下文信息还包括在接收到用户请求时所述设备(例如,图1中的用户设备104)的软件和硬件状态,和/或与在接收到用户请求时用户的周围环境相关的信息。在一些实施例中,i/o处理模块328还向用户发送与用户请求有关的跟进问题,并从用户接收回答。当用户请求被i/o处理模块328接收到并且用户请求包含语音输入时,i/o处理模块328将语音输入转发至语音转文本(sti)处理模块330以进行语音转文本转换。

语音转文本处理模块330通过i/o处理模块328接收语音输入(例如,在语音记录中捕捉的用户话语)。在一些实施例中,语音转文本处理模块330使用各种声音和语言模型来将语音输入识别为音素的序列,并最终将其识别为以一种或多种语言书写的字词或符号的序列。语音转文本处理模块330可使用任何合适的语音识别技术、声音模型以及语言模型,诸如隐马尔可夫模型、基于动态时间规正(dtw)的语音识别以及其他统计和/或分析技术,来加以实施。在一些实施例中,语音转文本处理可至少部分地由第三方服务执行或在用户的设备上执行。在一些实施例中,语音转文本处理模块330处理多种语言的输入并且具有被定制成用于每种语言和特定于地区的输入的特定于地区的声音模型和语言模型。在一些实施例中,语音转文本处理模块330包括用于单种语言的多种声音和语言模型,以适应地区变化和其他变化。一旦语音转文本处理模块330获得语音转文本处理的结果,例如字词或符号的序列,它便将结果传送至自然语言处理模块332以进行意图推断。

关于语音转文本处理的更多细节在提交于2011年9月20日的美国实用专利申请序列号13/236,942的“consolidatingspeechrecognitionresults”中有所描述,该专利申请的全部公开内容以引用方式并入本文。

数字助理的自然语言处理模块332(“自然语言处理器”)取得由语音转文本处理模块330生成的字词或符号的序列(“符号序列”),并尝试将该符号序列与由数字助理所识别的一个或多个“可执行意图”相关联。“可执行意图”表示可由数字助理执行并且具有在任务流模型354中实施的相关联的任务流的任务。相关联任务流是数字助理为了执行任务而采取的一系列经编程的动作和步骤。数字助理的能力范围取决于已在任务流模型354中实施并存储的任务流的数量和种类,或换言之,取决于数字助理所识别的“可执行意图”的数量和种类。然而,数字助理的有效性还取决于助理从以自然语言表达的用户请求中推断出正确的“一个或多个可执行意图”的能力。

在一些实施例中,自然语言处理模块332处理多种语言的输入并且具有被定制成用于每种语言和特定于地区的输入的特定于地区的词汇和语言用法模型。在一些实施例中,自然语音处理模块332包括用于单种语言的多种特定于地区的词汇和语言用法模型,以适应地区变化和其他变化。

在一些实施例中,除了从语音转文本处理模块330获得的字词或符号的序列之外,自然语言处理器332还接收与用户请求相关联的上下文信息,例如来自i/o处理模块328。自然语言处理器332任选地使用上下文信息来明确、补充和/或进一步定义在从语音转文本处理模块330接收的符号序列中包含的信息。上下文信息包括例如用户偏好、用户设备的硬件和/或软件状态,在用户请求之前、期间或之后不久收集的传感器信息,数字助理与用户之间的先前交互(例如对话)等等。

在一些实施例中,自然语言处理基于知识本体360。知识本体360为包含许多节点的分级结构,每个节点表示“可执行意图”或与“可执行意图”或其他“属性”中的一者或多者相关的“属性”。如上所述,“可执行意图”表示数字助理能够执行的任务,即该任务“可执行”或可被进行。“属性”代表与可执行意图、域概念或实体、或另一属性的子方面相关联的参数。知识本体360中可执行意图节点与属性节点之间的连接定义由属性节点代表的参数如何从属于由可执行意图节点代表的任务。

在一些实施例中,知识本体360由可执行意图节点和属性节点组成。在知识本体360内,每个可执行意图节点直接连接至或通过一个或多个中间属性节点连接至一个或多个属性节点。类似地,每个属性节点直接连接至或通过一个或多个中间属性节点连接至一个或多个可执行意图节点。例如,如图3c中所示,知识本体360可以包括“餐厅预订”节点(即,可执行意图节点)。属性节点“餐厅”(由属性节点代表的域实体)和属性节点“日期/时间”(用于预订)以及“同行人数”各自直接连接至可执行意图节点(即,“餐厅预订”节点)。此外,属性节点“菜系”、“价格范围”、“电话号码”和“位置”是属性节点“餐厅”的子节点,并且各自通过中间属性节点“餐厅”连接至“餐厅预订”节点(即,可执行意图节点)。又如,如图3c中所示,知识本体360还可以包括“设定提醒”节点(即,另一个可执行意图节点)。属性节点“日期/时间”(针对设定提醒)和“主题”(针对提醒)均连接至“设定提醒”节点。由于属性“日期/时间”同时与进行餐厅预订的任务和设定提醒的任务相关,因此属性节点“日期/时间”同时连接至知识本体360中的“餐厅预订”节点和“设定提醒”节点。

可执行意图节点连同其连接的概念节点一起可描述为“域”。在本讨论中,每个域与相应的可执行意图相关联,并涉及与特定可执行意图相关联的一组节点(以及其间的关系)。例如,图3c中示出的知识本体360包括在知识本体360内的餐厅预订域362的实例和提醒域364的实例。餐厅预订域包括可执行意图节点“餐厅预订”、属性节点“餐厅”、“日期/时间”和“同行人数”以及子属性节点“菜系”、“价格范围”、“电话号码”和“位置”。提醒域364包括可执行意图节点“设定提醒”和属性节点“主题”和“日期/时间”。在一些实施例中,知识本体360由多个域组成。每个域可以与一个或多个其他域共享一个或多个属性节点。例如,除了餐厅预订域362和提醒域364之外,“日期/时间”属性节点还可与许多不同域(例如,行程安排域、旅游预订域、电影票域等)相关联。

尽管图3c示出知识本体360内的两个实例域,但其他域(或可执行意图)包括例如“发起电话呼叫”、“查找方向”、“安排会议”、“发送消息”和“提供问题的回答”等。“发送消息”域与“发送消息”可执行意图节点相关联,并且任选地还包括属性节点,诸如“一个或多个接收人”、“消息类型”和“消息正文”。属性节点“接收人”任选地例如由子属性节点诸如“接收人姓名”和“消息地址”进一步定义。

在一些实施例中,知识本体360包括数字助理能够理解并对其起作用的所有域(以及因而可执行意图)。在一些实施例中,知识本体360任选地诸如通过添加或移除全部域或节点,或者通过修改知识本体360内的节点之间的关系来修改。

在一些实施例中,任选地将与多个相关可执行意图相关联的节点群集在知识本体360中的“超级域”下。例如,“旅行”超级域任选地包括与旅行有关的属性节点和可执行意图节点的群集。与旅行有关的可执行意图节点任选地包括“机票预订”、“酒店预订”、“汽车租赁”、“路线规划”、“寻找兴趣点”,等等。同一超级域(例如,“旅行”超级域)下的可执行意图节点有时具有多个共用的属性节点。例如,针对“机票预订”、“酒店预订”、“汽车租赁”、“路线规划”、“寻找兴趣点”的可执行意图节点有时共享属性节点“起始位置”、“目的地”、“出发日期/时间”、“到达日期/时间”及“同行人数”中的一个或多个。

在一些实施例中,知识本体360中的每个节点与跟由节点代表的属性或可执行意图有关的一组字词和/或短语相关联。与每个节点相关联的相应组的字词和/或短语是所谓的与节点相关联的“词汇”。可将与每个节点相关联的相应组的字词和/或短语存储在与由节点所代表的属性或可执行意图相关联的词汇索引344中。例如,返回图3b,与“餐厅”属性的节点相关联的词汇任选地包括字词诸如“美食”、“酒水”、“菜系”、“饥饿”、“吃”、“披萨”、“快餐”、“膳食”等。又如,与“发起电话呼叫”可执行意图的节点相关联的词汇任选地包括字词和短语诸如“呼叫”、“打电话”、“拨打”、“与……通电话”、“呼叫该号码”、“打电话给”等。词汇索引344任选地包括不同语言的字词和短语。

自然语言处理器332从语音转文本处理模块330接收符号序列(例如,文本串),并确定符号序列中的字词牵涉哪些节点。在一些实施例中,如果发现符号序列中的字词或短语与知识本体360中的一个或多个节点相关联(经由词汇索引344),则所述字词或短语将“触发”或“激活”那些节点。基于已激活节点的数量和/或相对重要性,自然语言处理器332将选择可执行意图中的一个作为用户意图让数字助理执行的任务。在一些实施例中,选择具有最多“已触发”节点的域。在一些实施例中,选择具有最高置信度(例如,基于其各个已触发节点的相对重要性)的域。在一些实施例中,基于已触发节点的数量和重要性的组合来选择域。在一些实施例中,在选择节点的过程中还考虑附加因素,诸如数字助理先前是否已正确解译来自用户的类似请求。

在一些实施例中,数字助理还将特定实体的名称存储在词汇索引344中,使得当在用户请求中检测到这些名称中的一个名称时,自然语言处理器332将能够识别该名称涉及知识主体中属性或子属性的特定实例。在一些实施例中,特定实体的名称是企业、餐厅、人、电影等的名称。在一些实施例中,数字助理可从其他数据源中搜索并识别特定实体名称,所述其他数据源诸如用户的通讯录、电影数据库、音乐家数据库和/或餐厅数据库。在一些实施例中,当自然语言处理器332识别出符号序列中的字词是特定实体的名称(诸如用户通讯录中的名称)时,在于用户请求的知识主体内选择可执行意图的过程中,为该字词赋予附加重要性。

例如,当从用户请求识别到字词“santo先生”且在词汇索引344中发现姓“santo”是用户联系人列表中的联系人之一时,则用户请求可能对应于“发送消息”或“发起电话呼叫”域。又如,当在用户请求中发现字词“abc咖啡馆”且在词汇索引344中发现词语“abc咖啡馆”是用户所在城市中的特定餐厅的名称时,则用户请求可能对应于“餐厅预订”域。

用户数据348包括特定于用户的信息,诸如特定于用户的词汇、用户偏好、用户地址、用户的默认语言和次要语言、用户的联系人列表,以及每位用户的其他短期或长期信息。在一些实施例中,自然语言处理器332使用特定于用户的信息来补充用户输入中所包含的信息以进一步限定用户意图。例如,针对用户请求“邀请我的朋友参加我的生日派对”,自然语言处理器332能够访问用户数据348以确定“朋友”是哪些人以及“生日派对”将于何时何地举行,而不需要用户在其请求中明确地提供此类信息。

基于字符串搜索知识本体的其他细节在提交于2008年12月22日的美国实用专利申请序列号12/341,743的“methodandapparatusforsearchingusinganactiveontology”中有所描述,该专利申请的全部公开内容以引用方式并入本文。

在一些实施例中,一旦自然语言处理器332基于用户请求识别出可执行意图(或域),自然语言处理器332便生成结构化查询以表示所识别的可执行意图。在一些实施例中,结构化查询包括域内针对可执行意图的一个或多个节点的参数,并且所述参数中的至少一些参数填充有在用户请求中指定的特定信息和要求。例如,用户可以说:“通知寿司店预定晚上7点的座位。”在这种情况下,自然语言处理器332能够基于用户输入将可执行意图正确地识别为“餐厅预订”。根据知识本体,“餐厅预订”域的结构化查询任选地包括参数诸如{菜系}、{时间}、{日期}、{同行人数}等。在一些实施例中,基于包含在用户话语中的信息,自然语言处理器332针对餐厅预订域生成部分结构化的查询,其中部分结构化的查询包括参数{菜系=“寿司类”}和{时间=“晚上7点”}。然而,在该实例中,用户话语包含不足以完成与域相关联的结构化查询的信息。因此,基于当前可用信息,在结构化查询中未指定其他必要参数诸如{同行人数}和{日期}。在一些实施例中,自然语言处理器332用所接收的上下文信息来填充结构化查询的一些参数。例如,在一些实施例中,如果用户请求“我附近的”寿司店,则自然语言处理器332用来自用户设备104的gps坐标来填充结构化查询中的{位置}参数。

在一些实施例中,自然语言处理器332将结构化查询(包括任何已完成的参数)传送至任务流处理模块336(“任务流处理器”)。任务流处理器336被配置为接收来自自然语言处理器332的结构化查询,完成结构化查询(如果需要的话),以及执行“完成”用户最终请求所需的动作。在一些实施例中,完成这些任务所必需的各种过程在任务流模型354中提供。在一些实施例中,任务流模型包括用于获取来自用户的附加信息的过程,以及用于执行与可执行意图相关联的动作的任务流。

如上所述,为了完成结构化查询,任务流处理器336有时需要发起与用户的附加对话,以便获得附加信息,和/或弄清可能有歧义的话语。当此类交互有必要时,任务流处理器336调用对话处理模块334(“对话处理器334”)以进行与用户的对话。在一些实施例中,对话处理器334确定如何(和/或何时)向用户询问附加信息,并接收和处理用户响应。通过i/o处理模块328将问题提供给用户并从用户接收回答。在一些实施例中,对话处理器334经由音频和/或视频输出向用户呈现对话输出,并接收经由口头或物理(例如,点击)响应的来自用户的输入。继续上文的实例,当任务流处理器336调用对话流处理器334以针对与域“餐厅预订”相关联的结构化查询来确定“同行人数”和“日期”信息时,对话流处理器335生成问题诸如“共有多少人用餐?”和“具体哪天用餐?”以传送至用户。一旦接收到来自用户的回答,对话流处理器334便可用缺失信息填充结构化查询,或将信息传递给任务流处理器336以根据结构化查询完成缺失信息。

在一些情况下,任务流处理器336接收具有一个或多个具有歧义的属性的结构化查询,例如,当“发送信息”域的结构化查询指示预期接收人为“bob”并且用户刚好拥有多个名为“bob”的联系人时。在这种情况下,任务流处理器336任选地请求对话处理器334消除结构化查询的该属性的歧义。继而,对话处理器334任选地询问用户“哪个bob?”,并显示(或读出)名为“bob”的联系人的列表,用户可从该列表中进行选择。

一旦任务流处理器336已针对可执行意图完成结构化查询,任务流处理器336就继续执行与可执行意图相关联的最终任务。因此,任务流处理器336根据结构化查询中包含的特定参数来执行任务流模型中的步骤和指令。例如,针对可执行意图“餐厅预订”的任务流模型任选地包括用于联系餐厅并实际上请求在特定时间针对特定同行人数的预订的步骤和指令。例如,通过使用结构化查询诸如:{餐厅预订,餐厅=abc咖啡馆,日期=2012/3/12,时间=下午7点,同行人数=5人},任务流处理器336任选地执行以下步骤:(1)登录abc咖啡馆的服务器或餐厅预订系统诸如(2)在网站上的表格中输入日期、时间和同行人数信息,(3)提交表格,以及(4)在用户日历中针对该预订制作日历条目。

在一些实施例中,任务流处理器336在服务处理模块338(“服务处理器”)的辅助下完成用户输入中所请求的任务或者提供用户输入中所请求的信息性回答。例如,服务处理器338可代替任务流处理器336发起电话呼叫、设置日历条目、调用地图搜索、调用用户设备上安装的其他用户应用程序或与所述其他用户应用程序交互,以及调用第三方服务(例如,餐厅预订门户网站、社交网站、银行门户网站等)或与第三方服务交互。在一些实施例中,可通过服务模型356中的相应服务模型指定每项服务所需的协议和应用程序编程接口(api)。服务处理器338针对服务访问适当的服务模型,并依据服务模型根据该服务所需的协议和api生成针对该服务的请求。

例如,如果餐厅已启用在线预订服务,则餐厅可提交服务模型,该服务模型指定进行预订的必要参数以及将必要参数的值传送至在线预订服务的api。在被任务流处理器336请求时,服务处理器338可使用存储在服务模型中的web地址来建立与在线预订服务的网络连接,并将预订的必要参数(例如,时间、日期、同行人数)以根据在线预订服务的api的格式发送至在线预订接口。

在一些实施例中,自然语言处理器332、对话处理器334以及任务流处理器336共同且反复地使用以推断并限定用户的意图、获得信息以进一步明确并提炼用户意图、并最终生成响应(即,输出至用户,或完成任务)以满足用户的意图。

在一些实施例中,在已执行满足用户请求所需的所有任务之后,数字助理326制定确认响应,并通过i/o处理模块328将该响应发送回用户。如果用户请求寻求信息性回答,则确认响应向用户呈现所请求的信息。在一些实施例中,数字助理还请求用户指示用户是否对数字助理326产生的响应满意。

关于数字助理的更多细节可见于提交于2011年1月10日名称为“intelligentautomatedassistant”的美国实用专利申请号12/987,982、提交于2011年6月3日的名称为“generatingandprocessingdataitemsthatrepresenttaskstoperform”的美国临时专利申请号61/493,201中,所述申请的全部公开内容以引用方式并入本文。

如本说明书中所述,在一些实施例中,数字助理向用户提供了培训,具体地讲,特定于地区的语言培训和/或外语培训和辅助。以下提供的示例性过程可通过用户培训模块340,使用存储在用户培训数据358中的信息来实施。在一些实施例中,用户培训数据358包括合适的可供选择的表达和通过用户意图索引的多种语言的词汇,以及用于附加外语练习的模板。

图4a-4e示出了根据一些实施例向用户提供针对直接用户输入的可供选择的表达的示例性过程400。在一些实施例中,基于用户培训数据358(例如,图3a和3b中所示),通过数字助理326的用户培训模块340执行过程400。

在过程400中,数字助理接收来自用户的用第一语言说出的第一语音输入(402)。数字助理基于采用该第一语言的至少第一语音输入来推断用户意图(404)。基于所推断的用户意图,数字助理生成采用第一语言的第一语音输入的一个或多个可供选择的表达(406)。数字助理向用户提供介绍可供选择的表达作为比由用户提供的第一语音输入更优选的输入以表达所推断的用户意图的反馈(408)。

在实例方案中,用户用英语向数字助理提供语音输入“wherecanibuyatorch?”用户(母语不为英语者)可能不知道与在其他讲英语的国家不同,术语“torch”在美国具有不同含义。接收语音输入的数字助理知道术语“torch”在不同地区的不同含义(例如,在英国,“torch”是指一类依赖于干电池的照明设备(即,美国的“flashlight”),但在美国,“torch”是指一类依赖于燃烧或有机燃料的照明设备)。数字助理基于用户输入推断意图,并确定用户更有可能询问使用干电池的照明设备类型。基于所推断的意图和用户的当前位置(例如,位于美国),数字助理生成针对术语“torch”的至少一个可供选择的表达,诸如“flashlight”,并将该可供选择的表达提供给用户。例如,在一些实施例中,数字助理在用户界面显示销售flashlight的商店(例如,五金店)的名称和方向,并且此外,数字助理还教导用户在美国术语“flashlight”比术语“torch”更常用。在一些实施例中,与直接教导用户术语“torch”不同,数字助理任选地提供用户的语音输入的改述,其中改述向用户介绍术语“flashlight”。例如,由数字助理提供的改述可为确认请求“你的意思是你想要购买使用干电池而非燃料的‘flashlight’吗?”的形式。或者,数字助理任选地说出“搜索附近销售flashlight的商店......”

在另一个实例中,当母语不为英语者用英语提供语音输入时,但所说的一个或多个字词具有很重的口音。数字助理可基于语音输入和当前上下文中的其他内容来推断用户意图。基于所推断的用户意图,数字助理可生成纠正特定字词的口音的可供选择的表达。例如,许多专有名词(例如,国际商店和企业的名称)在全球范围内使用,并且这些专有名词的发音在不同国家和地区被本地化。当非母语者在请求中向数字助理说出那些专有名词时,他们经常用他们的母语发音,尽管该请求的其余部分用正确的英语口音说出。基于所推断的用户意图,数字助理可确定那些字词是什么,并提供具有美式口音或英式口音的正确发音的可供选择的表达。例如,当用户说出“iwanttofineamaidanglaotogetaburger”时。虽然用户的发音并不完美,但数字助理推断出用户想要找个mcdonald’s买份汉堡包,并呈现语音输出“好的,你想找到mcdonald’s。我将为你指明方向。”数字助理任选地将重音放在术语“mcdonald’s”和“找到”上,以向用户指示这些字词的正确发音。在一些实施例中,字词“mcdonald’s”和“找到”的拼写也会在用户界面向用户示出。

在一些实施例中,在向用户提供反馈时,数字助理采用不同于第一语言的第二语言来提供反馈,其中第二语言是与用户相关联的主要语言,并且第一语言是与用户相关联的次要语言(410)。例如,如果用户不是母语为英语者,并且用英语提供语音输入,则数字助理任选地采用说话者的母语(例如中文)来提供反馈。换言之,由数字助理提供的部分响应是用用户的母语,而可供选择的表达是用英语。继续先前的实例,数字助理可以提供语音输出“_____________mcdonald’s_____________。”该语音输出的英语翻译为“我认为你想要找到mcdonald’s。我在附近找到两个。”

在一些实施例中,第一语音输入的一个或多个可供选择的表达至少包括纠正第一语音输入中的至少一个字词的发音的相应的可供选择的表达(412)。

在一些实施例中,第一语音输入的一个或多个可供选择的表达至少包括纠正第一语音输入中的至少一个字词的语法使用的相应的可供选择的表达(414)。

在一些实施例中,第一语音输入的一个或多个可供选择的表达至少包括将第一语音输入中的至少一个字词或短语替换为另一个字词或短语的相应的可供选择的表达(416)。

在一些实施例中,数字助理提供至少命令模式和外语培训模式,其中数字助理(1)在命令模式中执行任务流以实现所推断的用户意图,并且(2)在外语培训模式中生成一个或多个可供选择的表达并向用户提供反馈(418)。

在一些实施例中,数字助理同时提供命令模式和外语培训模式两者(例如,以混合模式),其中除了生成一个或多个可供选择的表达并向用户提供反馈之外,数字助理还执行任务流以实现所推断的用户意图(420)。

在一些实施例中,数字助理接收外语培训模式的用户选择(422);以及响应于外语培训模式的用户选择来启用外语培训模式(424)。

在一些实施例中,数字助理在没有用户干预的情况下,基于用户的当前位置自动启用外语培训模式,其中与用户的当前位置相关联的主要语言为第一语言(426)。

在一些实施例中,为基于采用第一语言的第一语音输入来推断用户意图(428),数字助理识别用户的第一语言的自定义语音转文本模型,其中已基于由第二语言的母语者提供的培训样本来建立自定义语音转文本模型,其中该用户也是该第二语言的母语者(430)。然后数字助理使用自定义语音转文本模型处理第一语音输入,以生成文本串(432)。在一些实施例中,数字助理使用该文本串作为用于数字助理的意图推断模型的输入(434)。

在一些实施例中,为生成采用第一语言的第一语音输入的一个或多个可供选择的表达(436),数字助理识别由第一语言的母语者先前提供的第二语音输入,其中第二语音输入已与和第一语音输入的所推断的用户意图相同的相应用户意图相关联,并且其中针对相应用户意图执行的任务流对所述母语者已是令人满意的(438)。然后数字助理利用第二语音输入作为第一语音输入的可供选择的表达中的一个可供选择的表达(440)。

在一些实施例中,为向用户提供介绍可供选择的表达作为更优选的输入以表达所推断的用户意图的反馈(442),数字助理采用第二语言提供对第一可供选择的表达与第一语音输入之间的差异的说明,其中第二语言是与用户相关联的主要语言,并且第一语言是与用户相关联的次要语言(444)。

在一些实施例中,数字助理接收来自用户的采用第一语言的第二语音输入,利用可供选择的表达中的至少一个可供选择的表达的第二语音输入被提供给用户(446)。在一些实施例中,数字助理确定第二语音输入是否为至少一个可供选择的表达的令人满意的声音话语(448)。在一些实施例中,在确定第二语音输入为至少一个可供选择的表达的令人满意的声音话语后,数字助理执行任务流以实现所推断的用户意图(450)。

在一些实施例中,数字助理基于所推断的用户意图采用第二语言提供第一语音输入的改述,以确认所推断的用户意图的正确性,其中数字助理在接收到所推断的用户意图是正确的用户意图的用户确认之后,生成可供选择的表达并提供反馈(452)。

在一些实施例中,基于采用第一语言的至少第一语音输入来推断用户意图还包括进一步基于与用户相关联的当前上下文来推断用户意图(454)。

在一些实施例中,与用户相关联的当前上下文至少包括用户的当前位置(456)。

在一些实施例中,与用户相关联的当前上下文至少包括接收第一语音输入的当前时间(458)。

在一些实施例中,与用户相关联的当前上下文至少包括位于用户的当前位置的地点的类型(460)。

在一些实施例中,与用户相关联的当前上下文至少包括用户的时间表项目与当前位置之间的相关性(462)。

在一些实施例中,与用户相关联的当前上下文至少包括用户的时间表项目与当前时间之间的相关性(464)。

在一些实施例中,与用户相关联的当前上下文至少包括用户的当前交通模式(466)。

在一些实施例中,与用户相关联的当前上下文至少包括由用户输入的方向请求与用户的当前位置之间的相关性(468)。

在一些实施例中,数字助理存储一个或多个可供选择的表达以由用户将来查看(470)。

在一些实施例中,过程400包括上文和本说明书的剩余部分中所述的特征的任何组合。

图5a-5f示出了根据一些实施例的基于表达用户意图和需求的直接用户输入为用户提供外语辅助的示例性过程500。在一些实施例中,基于用户培训数据358(例如,图3a和3b中所示),通过数字助理326的用户培训模块340执行过程500。

在一些实施例中,在过程500中,数字助理接收来自用户的用第一语言说出的第一语音输入(502)。数字助理基于至少第一语音输入来推断用户意图(504)。基于所推断的用户意图,数字助理生成采用第二语言的第一语音输入的一个或多个可供选择的表达(506)。然后当用户对理解第二语言的另一个用户说出一个或多个可供选择的表达中的至少一个可供选择的表达时,数字助理向用户提供介绍可供选择的表达作为实现所推断的用户意图的方法的反馈(508)。

在实例方案中,用户位于外国(例如,中国)并且不会讲该地区(例如,中国南方)的母语(例如,中文)。用户可采用他/她的数字助理的辅助,但有时数字助理的能力不足以应付当前情形。例如,如果用户拜访客户“santo先生”并且用户已处于santo先生的办公大楼中。他不能向数字助理询问关于santo先生在办公大楼中的行踪的信息。相反,用户需要以该地区理解的外语(例如,普通话)对真人说话。在这种情况下,用户向数字助理请求外语辅助。例如,用户可以启用外语辅助模式,并以他的母语(例如,英语)“ineedtofindmr.santo”向数字助理请求语音输入。数字助理可基于用户的语音输入正确地推断用户意图。与给用户提供方向不同,数字助理为用户提供可用于寻求中国人的帮助的中文表达。例如,数字助理任选地提供样本语音输出“_____________,_____________santo_____________?”(意思是“您好,santo先生在哪层楼?”),和/或“_____________,_____________santo_____________?”(意思是“先生,santo先生在吗?”),和/或“_____________,_____________santo_____________,_____________?”(意思是“女士,我在寻找santo先生。他今天在这里吗?”)。在一些实施例中,数字助理用中文提供这些可供选择的表达中的每个可供选择的表达,并且回放这些可供选择的中文表达的样本录音。在一些实施例中,数字助理还帮助用户练习这些用中文表达的发音,例如,通过提供这些句子的音标拼写。

在另一个实例中,如果用户(例如,说英语的人)在国外地区(例如,中国台湾)开车,并且遭遇了爆胎。用户可以请求数字助理在地图上找到轮胎店或拖车公司,但在不说本地语言的情况下可能不能得到所需的服务。在一些实施例中,用户启用外语辅助模式,并且提供了解释他/她的需求的语音输入。例如,用户可以用英语对数字助理说“ihaveaflattireandneedtocallatowtruck”。数字助理处理该语音输入,并确定用户需要对拖车服务处的人说话。基于用户意图,数字助理以本地语言(例如,普通话)生成多种表达,并将表达提供给用户。例如,在数字助理的输出界面中,数字助理任选地提供以下表达:“_____________,_____________,_____________a_________10_____________”(意思是“您好,我需要拖车服务。我在a街与10号公路的十字路口”),和/或“_____________,_____________,_____________”(意思是“您好,我的轮胎爆了。我需要拖车或机修工。”)。在一些实施例中,数字助理教导用户如何正确地用外语说出这些表达,并让用户练习几次,然后才让用户呼叫当地道路救援服务。在一些实施例中,如本实例中所示,数字助理任选地在表达中包括助理拥有的关于用户的附加信息(例如,用户的当前位置),即使用户本人可能没有掌握该信息或已将该信息包含在他/她对数字助理的语音输入中。

在一些实施例中,第一语言是与用户相关联的主要语言,并且第二语言是与用户当前所处的地理区域相关联的主要语言(510)。

在一些实施例中,第一语言是与用户相关联的主要语言,并且第二语言是与用户相关联的次要语言(512)。

在一些实施例中,第二语言不同于第一语言并且可供选择的表达中的至少一个可供选择的表达不是第一语音输入的从第一语言到第二语言的转换(514)。

在一些实施例中,数字助理响应于外语辅助模式的用户选择而在外语辅助模式中生成可供选择的表达并提供反馈(516)。

在一些实施例中,数字助理响应于检测到用户的当前位置在第一语言是主要语言的地理区域外来启动外语辅助模式,并且其中数字助理在外语辅助模式中生成可供选择的表达并提供反馈(518)。

在一些实施例中,数字助理响应于检测到用户的当前位置在第一语言是主要语言的地理区域外并且数字助理不能实现所推断的用户意图来启动外语辅助模式(520)。

在一些实施例中,在提供给用户的反馈中,数字助理采用第一语言来呈现第二语言的名称作为一个或多个可供选择的表达的相应语言(522)。

在一些实施例中,数字助理为用户提供用于口头练习一个或多个可供选择的表达中的至少一个可供选择的表达的练习会话(524)。在练习会话期间(526):数字助理接收来自用户的说出一个或多个可供选择的表达中的至少一个可供选择的表达的第二语音输入(528);确定第二语音输入是否为至少一个可供选择的表达的令人满意的声音话语(530);以及在确定第二语音输入是至少一个可供选择的表达的令人满意的声音话语时,向用户提供输出,该输出指示第二语音输入令人满意(532)。

在一些实施例中,在练习会话期间,数字助理向用户提供一个或多个可供选择的表达中的至少一个可供选择的表达的样本声音话语(534)。

在一些实施例中,在练习会话期间,数字助理接收来自用户的说出一个或多个可供选择的表达中的至少一个可供选择的表达的第三语音输入(536)。在一些实施例中,数字助理基于第三语音输入与至少一个可供选择的表达的标准声音话语之间的差别来检测第三语音输入中的错误(538)。在一些实施例中,数字助理一次或多次向用户提供样本声音话语,该样本声音话语被定制成用于纠正第三语音输入中的错误(540)。

在一些实施例中,第一语言是与用户相关联的相应语言的第一方言,并且第二语言是相应语言的第二方言,并且其中第二方言不同于第一方言并且与用户当前所处的相应地理区域相关联(542)。

在一些实施例中,第一语音输入的一个或多个可供选择的表达至少包括改变第一语音输入中的至少一个字词的发音的相应的可供选择的表达(544)。

在一些实施例中,第一语音输入的一个或多个可供选择的表达至少包括改变第一语音输入中的至少一个字词的语法使用的相应的可供选择的表达(546)。

在一些实施例中,第一语音输入的一个或多个可供选择的表达至少包括替换第一语音输入中的至少一个字词的相应的可供选择的表达(548)。

在一些实施例中,替换第一语音输入中的至少一个字词或表达的相应的可供选择的表达是用户当前所处的地理区域中的至少一个字词或表达的当地俚语(550)。

在一些实施例中,数字助理在外语辅助模式中生成可供选择的表达并提供反馈(552)。在一些实施例中,在外语辅助模式中(554),数字助理接收来自用户的输入,以便用户进入实时会话以利用可供选择的表达中的至少一个可供选择的表达来实现所推断的用户意图(556)。在一些实施例中,数字助理为用户提供实时会话(558)。在一些实施例中,在实时会话期间(560),数字助理倾听用户对第二用户说出可供选择的表达中的至少一个可供选择的表达(562)。数字助理还倾听来自第二用户的言语响应(564)。基于从第二用户接收的言语响应,数字助理确定用户需要附加的外语辅助(566);并采用第二语言提供一个或多个语音输出,以辅助用户实现所推断的用户意图(568)。

在一些实施例中,数字助理在设备上显示的用户界面中,向用户提供数字助理和第二用户之间的言语交流的文本记录(570)。

在一些实施例中,数字助理在设备上显示的用户界面中,向用户提供文本记录的从第二语言到第一语言的转换(572)。

在一些实施例中,数字助理存储在外语辅助模式中进行的用户会话的记录以由用户将来查看(574)。

在一些实施例中,数字助理根据与用户相关联的相应当前上下文针对所推断的用户意图生成一组不同的可供选择的表达(576)。

在一些实施例中,与用户相关联的当前上下文包括用户的当前位置(578)。

在一些实施例中,与用户相关联的当前上下文包括接收第一语音输入的当前时间(580)。

在一些实施例中,与用户相关联的当前上下文包括位于用户的当前位置的地点的类型(582)。示例性地点的类型包括购物地点(例如,大型购物中心、杂货店、服装批发商点、鞋店、电子商店、超级市场等)、喝酒水的地点(例如,酒吧、酒馆等)、喝咖啡或其他饮品的地点(例如,咖啡店、果汁吧、冰淇淋店、茶座等)、用餐地点(例如,finingdining餐厅、快餐店、咖啡馆、自助餐厅等)、发送邮件的地点(例如,邮局、信箱、商业运输服务等)、获取医疗服务的地点(例如,医院和诊所、紧急服务等)、获取银行服务的地点(例如,银行、支票兑现服务等)、乘坐公共交通工具的地点(例如,火车站、公交汽车站、机场等)、看电影的地点(例如,剧院、电影院、视频商店、音像出租商店等)、旅游景点、获取警察帮助的地点(例如,警察局、通过警察调度员)等。

在一些实施例中,与用户相关联的当前上下文包括用户的时间表项目与当前位置之间的相关性(584)。

在一些实施例中,与用户相关联的当前上下文包括用户的时间表项目与当前时间之间的相关性(586)。

在一些实施例中,与用户相关联的当前上下文包括用户的当前交通模式(588)。

在一些实施例中,与用户相关联的当前上下文包括由用户输入的方向请求与用户的当前位置之间的相关性(590)。

在一些实施例中,过程500还实施了上文和本说明书的剩余部分中所述的特征的任何组合。

图6a-6b示出了根据一些实施例的响应于用户的当前位置的变化提供特定于地区的语言信息的示例性过程600。在一些实施例中,基于用户培训数据358(例如,图3a和3b中所示),通过数字助理326的用户培训模块340执行过程600。

在过程600中,在一些实施例中,在与用户的第一交互期间(602):当用户位于第一地理区域中时,数字助理接收来自用户的第一语音输入(604)。数字助理基于第一语音输入来推断第一用户意图(606)。数字助理基于所推断的第一用户意图来提供第一语音输入的第一改述(608)。然后数字助理执行相应的任务流以实现所推断的第一用户意图(610)。在与相同用户的第二交互期间(612):当用户位于第二地理区域中时,数字助理接收来自用户的第二语音输入,该第二语音输入与第一语音输入基本上相同(614)。数字助理基于第二语音输入来推断第二用户意图,所推断的第二用户意图与所推断的第一用户意图相同(616)。数字助理确定从第一地理区域到第二地理区域的位置变化与第二语音输入中的至少一个字词或表达的语言或特定于地区的词汇的变化相关联(618)。响应于所述确定,数字助理基于第二所推断的用户意图来提供第二改述,其中基于语言或词汇的变化,第二改述不同于第一改述(620)。在一些实施例中,数字助理执行相应的任务流以实现所推断的第二用户意图(622)。

在实例方案中,在一个用户会话期间,如果在用户位于美国时用户说“我想买一些铅笔和橡皮”,数字助理将推断用户需要找到文具店,并提供附近一个或多个文具店的搜索结果和方向。在一些实施例中,为确认用户意图,数字助理任选地提供用户输入的改述,例如“搜索销售橡皮和铅笔的商店......这里是我找到的一些文具店......”。当用户旅行至语言用法和词汇在一定程度上不同于美国的不同位置(例如,英国),数字助理任选地为用户提供学习本地语言用法和词汇的机会。例如,在用户位于英国时发生的另一个用户会话中,如果用户说“我想买一些橡皮和铅笔”,数字助理将如上所述推断相同的用户意图(例如,用户需要找到文具店)。除了提供附近一个或多个文具店的搜索结果和方向之外,数字助理任选地提供用户输入的不同改述。在该改述中,数字助理可教导用户关于术语“eraser”在美国和英国的语言差异。例如,数字助理任选地提供改述“搜索销售橡皮和铅笔的商店......这里是我找到的一些文具店......”或“eraser在英国被称为‘rubber’。这里是我找到的一些销售橡皮和铅笔的文具店。”通过在改述中包括语言或特定于地区的词汇的变化,数字助理可向上下文中的用户提供一些信息,而无需与用户进行太累赘的交互。其他类似实例包括“gas”和“petrol”、“apartment”和“flat”、“can”和“tin”、、“closet”和“wardrobe”、“elevator”和“lift”等。

在一些实施例中,第一地理区域和第二地理区域均与用户的主要语言相关联(624)。

在一些实施例中,特定于地区的词汇的变化包括使用第二语音输入中的至少一个字词或表达在第二地理区域中的相应当地俚语,并且其中第二改述利用相应当地俚语(626)。

在一些实施例中,数字助理接收用户输入以开始关于第二改述中提供的相应当地俚语的学习会话(628)。响应于接收到用户输入,数字助理提供对第二地理区域中的相应当地俚语的用法的说明(630)。

在一些实施例中,语言的变化包括使用第二语音输入中的至少一个字词或表达在第二地理区域中的相应当地口音,并且其中第二改述利用相应当地口音(632)。

在一些实施例中,数字助理接收用户输入以开始关于第二改述中提供的相应当地口音的学习会话(634)。响应于接收到用户输入,数字助理提供第二地理区域中的相应当地俚语的用法的一个或多个附加实例(636)。

在一些实施例中,数字助理还实施了上文和本说明书的剩余部分中所述的特征的任何组合。

图7a-7c示出了根据一些实施例的基于与用户相关联的当前上下文提供基于上下文的外语培训练习的示例性过程700。在一些实施例中,基于用户培训数据358(例如,图3a和3b中所示),通过数字助理326的用户培训模块340执行过程700。

在过程700中,在一些实施例中,数字助理评估与用户相关联的目前上下文(702)。数字助理识别与目前上下文相关联的相应的外语培训方案(704)。然后数字助理为用户提供外语培训会话,包含一个或多个外语练习的外语培训会话被定制成用于当前上下文(706)。

在实例方案中,当用户位于外国时,数字助理跟踪用户的当前位置。当用户位于外国的杂货店中时,数字助理任选地生成适用于当前上下文的外语练习。例如,外语练习可以包括关于食品的词汇(例如,食品名称的字词、食品的类别、食品的描述、食品的营养成分、价格、折扣等)。此外,外语练习还可以包括与杂货店中常发生的交互相关的对话和/或短语。例如,数字助理任选地生成与以下相关的外语练习:请求帮助定位特定食品项目,请求食品的不同替代品,询问特定类型食品的来源或源,询问特定食品的折扣,以及特定食品的价格误差和/或账单总额等。

在一些实施例中,数字助理可与用户进行外语对话,以练习杂货店中购物的各个方面。基于当前上下文动态地生成外语练习有助于用户更快地学习外语。当他或她可亲自看见那些字词描述的特定项目时,用户可以更好地记忆外语的字词。当用户在上下文中看见相同字词(例如,杂货店中的食品标签),并且听到由现实生活中的母语者(例如,在杂货店中询问价格和折扣的其他顾客)谈论的对话时,也可加强外语对话和词汇的理解和记忆。

在一些实施例中,数字助理在没有用户干预的情况下,基于与用户当前所处的地理区域相关联的主要语言来自动选择用于一个或多个外语练习的相应语言(708)。然后,数字助理采用所自动选择的语言生成一个或多个外语练习(710)。

在一些实施例中,数字助理接收选择一个或多个外语练习的相应语言的用户输入(712),并且采用用户选择的语言生成一个或多个外语练习(714)。

在一些实施例中,与用户相关联的目前上下文包括用户在位于相应外语为主要语言的地理区域中的商店内的出现,并且一个或多个外语练习至少包括与商店中购物相关联的采用相应外语的词汇或对话(716)。

在一些实施例中,与用户相关联的目前上下文包括用户在位于相应外语为主要语言的地理区域中的公共交通工具终点附近的出现,并且一个或多个外语练习至少包括与公共交通工具的使用相关联的采用相应外语的词汇或对话(718)。

在一些实施例中,与用户相关联的目前上下文包括用户在位于相应外语为主要语言的地理区域中的餐饮设施内的出现,并且一个或多个外语练习至少包括与在餐饮设施处用餐相关联的采用相应外语的词汇或对话(720)。

在一些实施例中,与用户相关联的目前上下文包括用户在位于相应外语为主要语言的地理区域中的住宿设施内的出现,并且一个或多个外语练习至少包括与在住宿设施处住宿相关联的采用相应外语的词汇或对话(722)。

在一些实施例中,与用户相关联的目前上下文包括用户在朝向目的地移动的公交车辆内的出现,所述用户最近已请求针对目的地的方向并且目的地位于相应外语为主要语言的地理区域中,并且其中一个或多个外语练习至少包括与访问所述目的地相关联的采用相应外语的词汇或对话(724)。

在一些实施例中,与用户相关联的目前上下文包括用户在医疗设施内的出现,并且其中一个或多个外语练习至少包括与在该医疗设施处获得医疗服务相关联的采用相应外语的词汇或对话(726)。

在一些实施例中,与用户相关联的目前上下文包括用户在提供酒水服务的经营场所内的出现,并且其中一个或多个外语练习至少包括与在该经营场所处点饮品相关联的采用相应外语的词汇或对话(728)。

在一些实施例中,数字助理呈现与外语练习中所用词汇相关联的图像(730)。

在一些实施例中,数字助理还实施了上文所述特征的任何组合。

为了解释的目的,前面的描述是通过参考具体实施例来进行描述的。然而,上面的示例性的讨论并非意图是详尽的,也并非意图要将本发明限制到所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施例是为了充分阐明本发明的原理及其实际应用,以由此使得本领域的其他技术人员能够充分利用具有适合于所构想的特定用途的各种修改的本发明以及各种实施例。

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