由智能数字助理进行的中断的上下文相关处理的制造方法与工艺

文档序号:11293702阅读:190来源:国知局
由智能数字助理进行的中断的上下文相关处理的制造方法与工艺
本发明所公开的实施例整体涉及数字助理,并且更具体地涉及基于当前的上下文来智能地处理用户发起和/或系统发起的中断的数字助理。

背景技术:
正如人类个人助理一样,数字助理或虚拟助理可执行所请求的任务并提供所请求的建议、信息或服务。助理的满足用户请求的能力取决于助理对请求或指令的正确理解。自然语言处理的新进展已使得用户能够使用口语或文本形式的自然语言而不是采用常规的用户界面(例如,菜单或经编程的命令)来与数字助理进行交互。此类数字助理可解释用户的输入以推断用户的意图;将所推断出的意图转化成可执行的任务和参数;执行操作或部署服务以执行任务;以及产生可被用户理解的输出。理想的是,由数字助理产生的输出应满足在用户和数字助理之间的自然语言交互期间所表达的用户的意图。数字助理系统对用户请求产生令人满意的响应的能力取决于由该系统实施的自然语言处理、知识库和人工智能。经良好设计的响应过程可改善在与系统进行交互的过程中的用户体验并提升对系统的服务和能力的用户的信心。

技术实现要素:
本文所公开的实施例提供了数字助理用于智能地并且动态地确定如何基于当前的上下文来处理用户发起和/或系统发起的对当前进行的现有任务的中断的方法、系统、计算机可读存储介质以及用户界面。在一些实施例中,数字助理评估递送与现有任务相关联的输出和递送与中断相关联的输出之间的相对紧迫性,并基于所确定的相对紧迫性来确定如何排定输出的递送的优先级。在一些实施例中,基于形成当前的上下文的多个相关因素(例如,还被称为“优先级参数”)来评估该相对紧迫性。在一些实施例中,仅当数字助理检测到默认递送时间和两个输出的输出通道之间的冲突时,该相对紧迫性才被评估并用于排定与现有任务和中断相关联的相应输出的递送的优先级。在一些实施例中,基于动态地确定的相对紧迫性,数字助理排定两个输出的递送的优先级并根据优先级实时地执行递送。在一些实施例中,除了该相对紧迫性之外,数字助理还评估在该输出的相应默认递送时间递送该输出的重要程度,即,在输出的递送时间方面的相对灵活性。在一些实施例中,数字助理基于两个输出之间的所确定的相对紧迫性以及所确定的相对灵活性两者来调节输出中一者或两者的递送时间。因此,一些实施例提供了用于操作数字助理的方法,该方法包括,在包括存储一个或多个程序的存储器以及一个或多个处理器的设备处:从用户接收第一语音输入;响应于接收到第一语音输入而发起第一信息提供过程,该第一信息提供过程包括准备对第一语音输入的至少第一响应和第二响应;将第一响应提供至用户;在将第一响应提供至用户之后或同时,但在将第二响应提供至用户之前,检测用于发起第二信息提供过程的事件;响应于检测到该事件而发起第二信息提供过程,该第二信息提供过程包括准备对该事件的至少第三响应;确定第二响应和第三响应之间的相对紧迫性;并且基于所确定的相对紧迫性以一定次序将第二响应和第三响应中的一者提供至用户。在一些实施例中,第一响应和第二响应是对第一语音输入的一系列离散子响应中的两个连续子响应。在一些实施例中,第一信息提供过程还包括在延长的时间段内一次一个地将该一系列离散子响应提供至用户,而无需来自用户的另外的提示。在一些实施例中,提供该一系列离散子响应中的全部离散子响应使第一信息提供过程终止。在一些实施例中,第一语音输入为导航请求,并且第一响应和第二响应为响应于导航请求而准备的与沿着路线的两个不同路点相关联的两个导航指令。在一些实施例中,第一语音输入为搜索请求,并且第一响应和第二响应为用于读出响应于该搜索请求而检索到的两个不同搜索结果的语音输出。在一些实施例中,第一语音输入为列表读出请求,并且第一响应为对信息项列表或信息项子集进行汇总的语音输出,或者为用于读出信息项列表中的至少一个信息项的内容的语音输出。在一些实施例中,列表读出请求为对读出以下中的一者的请求:烹饪菜谱、电子邮件消息列表、搜索结果列表、指令列表、诊断过程列表、常规锻炼项目列表、日历条目列表、提醒列表、导航指令列表、语音邮件消息列表以及SMS消息列表。在一些实施例中,第一语音输入为对建立将在稍后的时间由指定的触发事件的发生来触发的提醒的请求,第一响应为对第一语音输入的确认,并且第二响应为将在稍后的时间被递送至用户的警示项。在一些实施例中,事件为从用户接收到第二语音输入。在一些实施例中,第三响应为对第二语音输入的完整响应。在一些实施例中,第三响应为对将在延长的时间段内提供至用户的第二语音输入的一系列子响应中的初始子响应。在一些实施例中,事件为针对先前建立的提醒的触发事件的发生。在一些实施例中,第三响应为用于提供提醒的内容的语音输出。在一些实施例中,事件为推送通知的到达。在一些实施例中,第三响应为用于提供推送通知的内容的语音输出。在一些实施例中,事件为接收到不改变第二响应的有效性的第二语音输入。在一些实施例中,事件包括接收到定向至数字助理的语音输入以及通过当前由数字助理控制的应用程序或过程来生成警示或提醒。在一些实施例中,第一语音输入为第一信息请求,事件为接收到第二信息请求,并且第二响应和第三响应为用于提供由第一信息请求和第二信息请求所请求的相应信息的两个语音输出。在一些实施例中,第一语音输入为对建立将在稍后的时间被递送的提醒的请求,事件为接收到信息请求,第二响应为用于提供所建立的提醒的内容的警示项,并且第三响应为用于提供响应于信息请求而检索到的信息的语音输出。在一些实施例中,第一语音输入为信息请求,事件为针对先前建立的提醒的触发事件的发生或推送通知的到达,第二响应为用于提供响应于信息请求而检索到的信息的语音输出,并且第三响应为用于提供先前建立的提醒或推送通知的内容的警示项。在一些实施例中,该方法还包括:确定数字助理当前是否正在免提模式或免视模式下工作;并且当确定数字助理当前正在免提模式或免视模式下工作时,确定第二响应和第三响应之间的相对紧迫性。在一些实施例中,该方法还包括:检测到用户当前正在运动;并且当检测到用户当前正在运动时,调用数字助理的免提模式或免视模式。在一些实施例中,该方法还包括:检测到用户当前正在执行以下动作中的一个动作:对车辆进行导航、行走、慢跑、锻炼以及操作当前不由数字助理控制的设备或应用程序;并且根据所述检测,调用免提模式或免视模式。在一些实施例中,该方法还包括:确定第二响应和第三响应是否适合在设备的不同输出通道上并行地被提供;并且当确定第二响应和第三响应不适合在设备的不同输出通道上并行地被提供时,确定第二响应和第三响应之间的相对紧迫性。在一些实施例中,该方法还包括:检测到数字助理正在免提或免视模式下工作;并且当检测到数字助理正在免提或免视模式下工作时,确定第二响应和第三响应不适合在不同输出通道上并行地被提供。在一些实施例中,该方法还包括:检测到数字助理正在免提或免视模式下工作;并且提供第二响应和第三响应作为经由设备的音频输出通道的相应语音输出。在一些实施例中,第一信息提供过程还包括:处理第一语音输入以识别第一语音输入中所表达的信息请求;识别多个信息项以满足该信息请求;并且准备对第一语音输入的一系列离散子响应,该一系列离散子响应至少包括各自描述所述多个信息项中的相应的一个或多个信息项的第一响应和第二响应,并且该一系列子响应共同构成对第一语音输入的完整响应。在一些实施例中,该方法还包括:确定用于递送对第一语音输入的该一系列子响应中的每个子响应的相应默认时间。在一些实施例中,该方法还包括基于第二响应和第三响应之间的所确定的相对紧迫性来动态地覆写用于递送第二响应的相应默认时间。在一些实施例中,该方法还包括:确定用于将第三响应递送至用户的相应默认时间;并且基于第二响应和第三响应之间的所确定的相对紧迫性来动态地覆写用于递送第三响应的相应默认时间。在一些实施例中,信息请求为导航请求,第二响应为沿预先确定的路线的导航指令,并且其中第一信息提供过程还包括确定用于在车辆导航期间提供导航指令的相应默认时间。在一些实施例中,确定用于提供导航指令的相应默认时间还包括:基于用户的当前位置和沿预先确定的路线与第二响应相关联的相应路点之间的预先确定的接近度来确定该相应默认时间。在一些实施例中,该方法还包括:确定用于递送第三响应的相应默认时间;并且动态地覆写用于递送第二响应和第三响应的相应默认递送时间中的至少一个相应默认递送时间。在一些实施例中,用于递送第三响应的相应默认时间为紧接在第三响应变得可用之后的时间。在一些实施例中,用于递送第三响应的相应默认时间为紧接在发生针对第三响应的预先确定的触发事件之后的时间。在一些实施例中,预先确定的触发事件为到达基于系统时钟的预先确定的触发时间。在一些实施例中,预先确定的触发事件为预先确定的触发消息到达设备处。在一些实施例中,确定第二响应和第三响应之间的相对紧迫性还包括:确定与用户相关联的目前的上下文;并且基于与用户相关联的目前的上下文来确定第二响应和第三响应之间的相对紧迫性。在一些实施例中,与用户相关联的目前的上下文由以下中的一者或多者形成:用户的当前位置、用户的当前速度、用户的当前行进方向、当前时间、一个或多个预先确定的用户偏好、与第二响应相关联的位置、与第三响应相关联的位置、将第二响应递送至用户所需的时间段、将第三响应递送至用户所需的时间段、用于将第二响应递送至用户的默认时间、用于将第三响应递送至用户的默认时间、第二响应和第三响应之间的冲突程度、第二响应的内容、第三响应的内容、第二响应将可能保持相关的时间窗口、第三响应将可能保持相关的时间窗口、在第三响应之前递送第二响应的可能结果、以及在第二响应之前递送第三响应的可能结果。在一些实施例中,确定第二响应和第三响应之间的相对紧迫性还包括确定第二响应是否与在距用户的当前位置预先确定的距离内的位置相关联。在一些实施例中,预先确定的距离基于用户的当前速度。在一些实施例中,确定第二响应和第三响应之间的相对紧迫性还包括确定用户是否可能在距当前时间预先确定的时间窗口内经过与第二响应相关联的位置。在一些实施例中,预先确定的时间窗口基于将第三响应递送至用户所需的相应时间段。在一些实施例中,确定第二响应和第三响应之间的相对紧迫性还包括:当确定用户可能在距当前时间预先确定的时间窗口内经过与第二响应相关联的位置时,向第二响应分配比第三响应更高的紧迫性级别。在一些实施例中,确定第二响应和第三响应之间的相对紧迫性还包括:当确定用户不可能在距当前时间预先确定的时间窗口内经过与第二响应相关联的位置时,向第三响应分配比第二响应更高的紧迫性级别。在一些实施例中,确定与用户相关联的目前的上下文还包括:监测用户的当前位置、当前方向和当前速度;并且基于该监测来确定目前的上下文。在一些实施例中,第二响应响应于第一语音输入而提供信息项,并且第三响应为针对先前建立的提醒或推送通知的到达所生成的警示项,并且其中该方法还包括:基于目前的上下文,确定在第二响应的相应默认递送时间递送第二响应是否可能不利地影响对用户的提醒或推送通知的实用性。在一些实施例中,该方法还包括:当确定在相应默认递送时间递送第二响应可能影响提醒或通知的实用性时,向第二响应分配比第三响应更低的相对紧迫性;并且延迟递送第二响应,直到将提醒或推送通知递送至用户之后。在一些实施例中,该方法还包括:当确定在相应默认递送时间递送第二响应不可能影响提醒或通知的实用性时,向第二响应分配比第三响应更高的相对紧迫性;并且延迟递送提醒或推送通知的警示项,直到将第二响应递送至用户之后。在一些实施例中,检测用于发起第二信息提供过程的事件还包括在提供对第一语音输入的任何响应之前接收第二语音输入,并且接收第二语音输入用于发起第二信息过程。在一些实施例中,检测用于发起第二信息提供过程的事件还包括在提供对第一语音输入的一系列响应中的至少一个响应之后并且在将该一系列响应中的全部响应提供至用户之前接收第二语音输入。在一些实施例中,该方法还包括:基于第二响应和第三响应的相应默认递送时间来检测在第二响应和第三响应的递送之间是否存在定时冲突;当检测到该定时冲突时,确定第二响应和第三响应之间的相对紧迫性;并且基于所确定的相对紧迫性来覆写第二响应和第三响应中的一者的相应默认递送时间。在一些实施例中,第二响应的相应默认递送时间为第二响应的预计递送时间,如同第二响应是等待被递送至用户的唯一响应那样。在一些实施例中,第三响应的相应默认递送时间为第三响应的预计递送时间,如同第三响应是等待被递送至用户的唯一响应那样。在一些实施例中,检测是否存在定时冲突还基于当被递送至用户时第二响应和第三响应的相应持续时间。在一些实施例中,一种方法包括上述方法的任何组合的特征。在一些实施例中,一种非暂态计算机可读介质,所述非暂态计算机可读介质上存储有指令,该指令当由一个或多个处理器执行时使得处理器执行上述方法中的任一方法。在一些实施例中,一种系统包括一个或多个处理器;以及存储器,所述存储器上存储有指令,该指令当由一个或多个处理器执行时使得处理器执行上述方法中的任一方法。在一些实施例中,一种操作数字助理的方法,包括:在具有存储器和一个或多个处理器的设备处:从用户接收导航请求;响应于该导航请求而发起第一信息提供过程,该第一信息提供过程包括准备至少第一导航指令和第二导航指令;在与第一导航指令相关联的相应默认递送时间处将第一导航指令递送至用户;在递送第一导航指令之后或同时,检测用于发起第二信息提供过程的事件;响应于检测到事件而发起第二信息提供过程,该第二信息提供过程包括准备将被递送至用户的关于该事件的相应输出;确定第二导航指令和关于该事件的输出之间的相对紧迫性;并且基于所确定的相对紧迫性以一定次序提供第二导航指令以及关于该事件的输出。在一些实施例中,该方法还包括:确定第二导航指令和关于该事件的输出的相应默认递送时间;并且根据第二导航指令和关于该事件的输出的相应默认递送时间来确定在两者的递送之间是否存在定时冲突。在一些实施例中,该方法还包括:当检测到定时冲突时,确定第二导航指令和关于该事件的输出之间的相对紧迫性。在一些实施例中,该方法还包括:基于所确定的相对紧迫性来覆写第二导航指令和关于该事件的输出的相应默认递送时间中的至少一个相应默认递送时间。在一些实施例中,检测该事件还包括从用户接收信息请求,其中该信息请求不修改方向请求。在一些实施例中,关于该事件的输出至少包括语音输出,该语音输出包含响应于信息请求而检索到的信息。在一些实施例中,检测该事件还包括检测针对先前建立的提醒的触发事件的发生。在一些实施例中,关于该事件的输出至少包括提供先前建立的提醒的内容的警示项。在一些实施例中,用于递送关于该事件的输出的相应默认时间为在先前建立的提醒中指定的提醒时间。在一些实施例中,检测该事件还包括:检测到来自当前不由数字助理控制的应用程序或过程的推送通知的到达;并且在向用户呈现推送通知之前拦截推送通知。在一些实施例中,关于该事件的输出为由数字助理准备的关于推送通知的到达的语音输出。在一些实施例中,用于递送关于该事件的输出的相应默认时间紧接在推送通知的到达之后。在一些实施例中,基于所确定的相对紧迫性以一定次序提供第二导航指令和关于该事件的输出还包括:确定第二导航指令具有比关于该事件的输出更高的相对紧迫性;并且在关于该事件的输出之前递送第二导航指令。在一些实施例中,基于所确定的相对紧迫性以一定次序提供第二导航指令和关于该事件的输出还包括:确定第二导航指令具有比关于该事件的输出更低的相对紧迫性;并且在关于该事件的输出之后递送第二导航指令。在一些实施例中,用于提供第二导航指令的相应默认时间基于用户的当前位置和与第二导航指令相关联的相应路点之间的预先确定的接近度。在一些实施例中,确定第二导航指令和关于该事件的输出之间的相对紧迫性还包括:确定与用户相关联的目前的上下文;并且基于与用户相关联的目前的上下文来确定第二响应和第三响应之间的相对紧迫性。在一些实施例中,确定第二导航指令和关于该事件的输出之间的相对紧迫性还包括:确定第二导航指令是否与在距用户的当前位置预先确定的距离内的路点相关联。在一些实施例中,确定第二导航指令和关于该事件的输出之间的相对紧迫性还包括:确定用户是否可能在距当前时间预先确定的时间窗口内经过与第二导航指令相关联的路点。在一些实施例中,预先确定的时间窗口基于将第三响应递送至用户所需的相应时间缓冲。在一些实施例中,确定第二导航指令和关于该事件的输出之间的相对紧迫性还包括:当确定用户可能在距当前时间预先确定的时间窗口内经过与第二导航指令相关联的路点时,向第二导航指令分配比关于该事件的输出更高的紧迫性级别。在一些实施例中,确定第二导航指令和关于该事件的输出之间的相对紧迫性还包括:当确定用户不可能在距当前时间预先确定的时间窗口内经过与第二导航指令相关联的路点时,向第二导航指令分配比关于该事件的输出更高的紧迫性级别。在一些实施例中,确定与用户相关联的目前的上下文还包括:监测用户的当前位置、当前方向和当前速度;并且基于该监测来确定目前的上下文。在一些实施例中,关于该事件的输出是针对先前建立的提醒或第三方通知的到达而生成的警示项,并且确定相对紧迫性还包括:基于目前的上下文,确定在第二导航指令的相应默认递送时间递送第二导航指令是否可能不利地影响对用户的提醒或通知的实用性。在一些实施例中,该方法还包括:当确定在第二导航指令的相应默认递送时间递送第二导航指令可能影响提醒或通知的实用性时,向第二导航指令分配比警示项更低的相对紧迫性;并且延迟递送第二导航指令,直到将针对提醒或通知的警示项递送至用户之后。在一些实施例中,该方法还包括:当确定在第二导航指令的相应默认递送时间递送第二导航指令不可能影响提醒或通知的实用性时,向第二导航指令分配比针对提醒或通知的警示项更高的相对紧迫性;并且延迟递送针对提醒或通知的警示项,直到将第二导航指令递送至用户之后。在一些实施例中,在先前建立的提醒中指定的提醒时间和在先前建立的提醒中指定的事件时间之前所需的阈值量的准备时间之间的周期期间,提醒或通知的实用性不可能受到影响。根据一些实施例,电子设备包括存储器、一个或多个处理器和一个或多个程序;该一个或多个程序被存储在存储器中并被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行上述方法中的任一方法的操作的指令。根据一些实施例,计算机可读存储介质已将指令存储在其中,当该指令由电子设备执行时使得该设备执行上述方法中的任一方法的操作。根据一些实施例,电子设备包括用于执行上述方法中的任一方法的操作的装置。根据一些实施例,在电子设备中使用的信息处理装置包括用于执行上述方法中的任一方法的操作的装置。根据一些实施例,电子设备包括:语音接收单元,该语音接收单元被配置为从用户接收第一语音输入;第一信息提供单元,该第一信息提供单元被配置为响应于接收到第一语音输入而发起第一信息提供过程,该第一信息提供过程包括准备对第一语音输入的至少第一响应和第二响应;第一响应提供单元,该第一响应提供单元被配置为将第一响应提供至用户;检测单元,该检测单元被配置为在将第一响应提供至用户之后或同时,但在将第二响应提供至用户之前,检测用于发起第二信息提供过程的事件;第二信息提供单元,该第二信息提供单元被配置为响应于检测到事件而发起第二信息提供过程,该第二信息提供过程包括准备对事件的至少第三响应;紧迫性确定单元,该紧迫性确定单元被配置为确定第二响应和第三响应之间的相对紧迫性;以及第二响应提供单元,该第二响应提供单元被配置为基于所确定的相对紧迫性以一定次序将第二响应和第三响应中的一者提供至用户。根据一些实施例,电子设备包括:请求接收单元,该请求接收单元被配置为从用户接收导航请求;第一信息提供单元,该第一信息提供单元被配置为响应于导航请求而发起第一信息提供过程,该第一信息提供过程包括准备至少第一导航指令和第二导航指令;递送单元,该递送单元被配置为在与第一导航指令相关联的相应默认递送时间处将第一导航指令递送至用户;检测单元,该检测单元被配置为在递送第一导航指令之后或同时,检测用于发起第二信息提供过程的事件;第二信息提供单元,该第二信息提供单元被配置为响应于检测到事件而发起第二信息提供过程,该第二信息提供过程包括准备将被递送至用户的关于该事件的相应输出;紧迫性确定单元,该紧迫性确定单元被配置为确定第二导航指令和关于该事件的输出之间的相对紧迫性;以及指令提供单元,该指令提供单元被配置为基于所确定的相对紧迫性以一定次序提供第二导航指令以及关于该事件的输出。在附图和以下说明书中阐述了本说明书中所述的主题的一个或多个实施例的细节。根据说明书、附图及权利要求,该主题的其他特征、方面和优点将变得显而易见。附图说明图1为示出根据一些实施例的数字助理在其中工作的环境的框图。图2为示出根据一些实施例的数字助理客户端系统的框图。图3A为示出根据一些实施例的数字助理系统或其服务器部分的框图。图3B为示出根据一些实施例的图3A所示的数字助理的功能的框图。图3C为根据一些实施例的知识本体的一部分的图示。图4为根据一些实施例的用于智能地处理用户发起和/或系统发起的对现有任务的中断的示例性过程的流程图。图5A为示出根据一些实施例的示例性场景的图示,其中当数字助理正于车辆导航期间递送导航指令时智能地处理用户发起和/或系统发起的中断。图5B为根据一些实施例的示例性过程的流程图,该示例性过程用于当数字助理正于导航期间递送导航指令时智能地处理用户发起或系统发起的中断。图6示出根据一些实施例的电子设备的功能框图。图7示出根据一些实施例的电子设备的功能框图。在整个附图中,类似的附图标号是指对应的部件。具体实施方式图1为根据一些实施例的数字助理的工作环境100的框图。术语“数字助理”、“虚拟助理”、“智能自动化助理”或“自动数字助理”是指解释口头和/或文字形式的自然语言输入以推断用户意图并基于所推断出的用户意图来执行动作的任何信息处理系统。例如,为遵照所推断出的用户意图来执行动作,系统可执行以下操作中的一个或多个操作:识别具有被设计来实现所推断出的用户意图的步骤和参数的任务流,将来自所推断出的用户意图的特定要求输入到该任务流中;通过调用程序、方法、服务、API等来执行该任务流;以及以可听(例如,语音)和/或可视形式来生成对用户的输出响应。具体地,数字助理能够接受至少部分地为自然语言命令、请求、声明、讲述和/或查询的形式的用户请求。通常,用户请求或者寻求信息性回答,或者寻求由数字助理来执行任务。对用户请求的令人满意的响应是提供所请求的信息性回答、执行所请求的任务、或这两者的组合。例如,用户可向数字助理提出一个问题,例如“我现在在哪里?”基于用户的当前位置,数字助理可回答“您在西门附近的中央公园。”用户还可请求执行某个任务,例如“请邀请我的朋友下周参加我女朋友的生日派对。”作为响应,数字助理可通过说出“是的,马上,”来确认该请求,然后代表用户向用户的电子通讯录中所列出的用户的朋友中的每个朋友发送合适的日历邀请。在执行所请求的任务期间,数字助理有时以连续对话的形式来与用户进行交互,该连续对话涉及在延长的时间段内的多次信息交换。存在与数字助理进行交互以请求信息或执行各种任务的许多其他方法。除提供语音响应和采取经编程的动作之外,数字助理还提供其他视觉或音频形式的响应,例如作为文本、警示、音乐、视频、动画等。在于2011年1月10日提交的标题为“IntelligentAutomatedAssistant”的美国实用新型专利申请序列号12/987,982中描述了虚拟助理的一个实例,该专利申请的全部公开内容以引用的方式并入本文。如图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)移动电话、媒体播放器、导航设备、游戏机、电视机、遥控器、或这些数据处理设备中任意两者或更多者的组合或其他数据处理设备。参考图2所示的示例性用户设备104提供了有关用户设备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来促进通信功能,该一个或多个有线和/或无线通信子系统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子系统240)接受语音输入(例如,声音输入)、文本输入、触摸输入和/或手势输入。数字助理客户端模块264还能够提供音频(例如,语音输出)、视觉和/或触觉形式的输出。例如,可将输出提供为语音、声音、警报、文本消息、菜单、图形、视频、动画、振动、和/或以上两者或更多者的组合。在操作期间,数字助理客户端模块264使用通信子系统224来与数字助理服务器通信。在一些实施例中,数字助理客户端模块264利用各种传感器、子系统和外围设备来从用户设备104的周围环境采集附加信息以建立与用户、当前用户交互和/或当前用户输入相关联的上下文。在一些实施例中,数字助理客户端模块264将上下文信息或信息项子集与用户输入一起提供至数字助理服务器以帮助推断用户的意图。在一些实施例中,数字助理还使用上下文信息来确定如何准备输出并将输出递送至用户。在一些实施例中,伴随用户输入的上下文信息包括传感器信息,例如照明、环境噪声、环境温度、周围环境的图像或视频等。在一些实施例中,上下文信息还包括设备的物理状态,例如设备取向、设备位置、设备温度、功率水平、速度、加速度、运动模式、蜂窝信号强度等。在一些实施例中,将与用户设备104的软件状态相关的信息例如用户设备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包括无线发送和接收电路314和/或一个或多个有线通信端口312。一个或多个有线通信端口经由一个或多个有线接口,例如,以太网、通用串行总线(USB)、火线等来接收和发送通信信号。无线电路314从通信网络及其他通信设备接收RF信号和/或光学信号并将RF信号和/或光学信号发送至通信网络及其他通信设备。无线通信可使用多种通信标准、协议和技术中的任一种通信标准、协议和技术,诸如GSM、EDGE、CDMA、TDMA、蓝牙、Wi-Fi、VoIP、Wi-MAX、或任何其他合适的通信协议。网络通信接口308实现数字助理系统300与网络(诸如互联网、内联网和/或无线网络,该无线网络诸如蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN))以及其他设备之间的通信。在一些实施例中,存储器302或存储器302的计算机可读介质存储程序、模块、指令和数据结构,这些程序、模块、指令和数据结构包括下列中的全部或子集:操作系统318、通信模块320、用户界面模块322、数字助理模块326、以及一个或多个应用程序324。一个或多个处理器304执行这些程序、模块和指令,并从数据结构读取数据或将数据写到数据结构。操作系统318(例如,Darwin、RTXC、LINUX、UNIX、OSX、WINDOWS、或嵌入式操作系统诸如VxWorks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电源管理等)的各种软件部件和/或驱动器,并促进和各种硬件、固件和软件部件之间的通信。通信模块320促进通过网络通信接口308在数字助理系统300和其他设备之间的通信。例如,通信模块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中实施的处理模块、数据和模型,数字助理执行以下操作中的至少一些操作:识别在从用户所接收的自然语言输入中所表达的用户的意图;主动引出并获取完全推断出用户的意图所需的信息(例如,通过对词、名称、意图等进行消歧);确定用于满足所推断出的意图的任务流;以及执行该任务流以满足所推断出的意图。在本说明书中,稍后在图4至图5B以及随附描述中提供与中断处理模块及其对优先级参数的使用有关的更多的细节。在一些实施例中,如图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将语音输入转发至语音至文本(STT...
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1