数字助理请求的异步处理制造技术

技术编号:20083873 阅读:27 留言:0更新日期:2019-01-15 03:39
一种方法、系统和装置,包括存储在计算机可读存储介质上的计算机程序,用于异步执行客户端请求。在一些实现方式中,接收指示对数字助理的用户请求的数据。确定与用户请求相对应的动作。确定该动作被分类为要与用户请求异步执行的动作。发送确认消息以用于输出,并且该动作与用户请求异步执行。通过控制客户端设备来评估用户请求以确定针对请求同步地还是异步地执行特定请求,客户端设备可以处理临时网络中断和其他连接干扰。

Asynchronous Processing of Digital Assistant Requests

A method, system and device comprising a computer program stored on a computer-readable storage medium for asynchronous execution of client requests. In some implementations, data indicating user requests for a digital assistant is received. Determine actions that correspond to user requests. Determine that the action is classified as an action to be executed asynchronously with the user's request. An acknowledgement message is sent for output, and the action is executed asynchronously with the user's request. By controlling the client device to evaluate user requests to determine whether specific requests are executed synchronously or asynchronously for requests, the client device can handle temporary network interruptions and other connection interference.

【技术实现步骤摘要】
【国外来华专利技术】数字助理请求的异步处理相关申请的交叉引用本申请要求2016年6月27日提交的题为“ASYNCHRONOUSPROCESSINGOFDIGITALASSISTANTREQUESTS”的美国专利申请序列号15/193,929的优先权,其全部内容通过引用结合于此。
技术介绍
一些电话和其他设备提供允许用户提交查询并做出其他请求的数字助理功能。例如,用户可以向设备说出语音查询,并且设备可以响应于该查询获得并呈现搜索结果。数字助理功能可以涉及由服务器系统例如执行语音识别的处理。因此,数字助理功能对用户设备和服务器系统之间的无线通信信道的变化敏感,并且当信道上存在等待时间、临时降低数据速率或信道中断时,功能可能受到影响。这可能是由无线电信道条件引起的,例如由干扰或源自于网络的问题引起的。在对用户的设备执行请求的部分处理的情况下,设备的技术限制或设备资源在其他任务上的使用可能妨碍数字助理功能的操作。
技术实现思路
在一些实现方式中,对数字助理(例如,对话代理)做出的至少一些用户请求可以与用户的请求异步地执行。用户可以向数字助理提交各种类型的请求,其中一些可能不需要执行以立即或与用户的请求同步。服务器系统可以识别适合于异步执行的用户请求,并且将用于执行那些请求的定时与用户与数字助理的对话分离。结果,系统可以避免可能阻止用户向数字助理发出其他请求的延迟。例如,在同步执行的情况下,用户通常需要等待直到最近请求的动作完成之后,用户才能发出新请求。然而,可以通过异步处理来避免这些延迟,因为可以与先前请求的正在处理或计划执行的动作并行地接收和处理新请求。作为示例,当选择第一动作用于异步执行时,数字助理可以提供将要执行第一动作的确认,并且在第一动作完成之前接收并处理来自用户的进一步请求。服务器系统用于在用户请求的同步和异步动作之间进行选择的技术也可以由一个或多个客户端设备执行,或者由服务器系统和一个或多个客户端设备的组合执行。例如,客户端设备可以评估用户请求以确定是否针对请求同步地或异步地执行特定请求。如下所述,这可以使客户端设备能够处理临时网络中断和其他连接干扰。为了增强可靠性和可信任性,可以使异步执行受到某些时间限制。通过异步执行,不需要与请求顺序地或紧接在请求之后执行动作,因此可以在用户与数字助理的对话转移到其他主题之后执行。但是,服务器系统可以监视动作的执行,并采取措施确保在合理的时间内执行。例如,可以设置超时时段来执行动作。如果在超时时段内未完成执行,则服务器系统可以重试该动作或通知用户延迟或失败。这些约束可以实现为“软”实时约束,从而可以以一些可允许的延迟量执行动作,但是保证足够快地发生以使得与同步执行的差异对于用户可忽略不计。作为示例,用户可以请求在第二天的某个时间设置日历约会。数字助理系统可以确定设置约会的动作可以异步执行,例如,因为动作不需要立即处理或输出给用户。然而,数字助理系统可以设置时间约束,诸如从用户请求的时间起5分钟或15分钟,用于在用户的各种设备之间执行动作和同步数据。该约束允许数字助理系统延迟执行的灵活性,例如,用于负载平衡或管理第三方服务器系统的延迟,同时还限制用户的潜在不便,用户可能希望在进行请求之后不久就查看即将到来的约会。本说明书中描述的主题的一个创新方面体现在包括以下动作的方法中:接收指示对于数字助理的用户请求的数据;确定与用户请求相对应的动作;确定所述动作被分类为要与用户请求异步执行的动作;并且基于确定所述动作被分类为要与用户请求异步执行的动作:(i)发送用于输出的确认消息;(ii)使得动作与用户请求异步执行。该方面和其他方面的其他实施例包括相应的系统、装置和被配置为执行在计算机存储设备上编码的方法的动作的计算机程序。一个或多个计算机或其他处理设备的系统可以通过安装在系统上的软件、固件、硬件或它们的组合来如此配置,所述软件、固件、硬件或它们的组合在操作中使系统执行动作。一个或多个计算机程序可以通过具有指令来如此配置,所述指令当由数据处理装置执行时使装置执行动作。这些和其他实现方式可各自任选地包括一个或多个下列特征。在一些实现方式中,接收指示对数字助理的用户输入的数据包括接收包括语音命令的音频数据;该方法包括执行自动语音识别以确定语音命令的转录;并且确定与用户输入相对应的动作包括基于转录确定动作。在一些实现方式中,所述用户请求是来自用户的第一用户请求,并且其中使得所述动作与所述用户请求异步地执行包括:在执行第一用户请求所请求的动作之前,从所述用户接收对所述数字助理的一个或多个其他用户请求。在一些实现方式中,所述用户请求是第一用户请求,并且使得所述动作与所述用户请求异步地执行包括:在执行第一用户请求所请求的动作之前,执行与来自所述用户的对数字助理的一个或多个其他用户请求相对应的动作。在一些实现方式中,发送用于输出的确认消息包括发送指示将执行所述动作的确认消息。在一些实现方式中,使用文本到语音系统来生成包括合成语音的音频数据;以及发送确认消息包括发送包括合成语音的所生成的音频数据。在一些实现方式中,确定所述动作被分类为要与所述用户请求异步执行的动作包括:确定与特定动作类型相对应的所述动作;访问分配数据,该分配数据指示是否分配了与请求同步或异步执行的不同动作类型;以及基于分配数据确定特定动作类型被分配为与请求异步执行。在一些实现方式中,确定所述动作被分类为要与所述用户请求异步执行的动作包括:识别配置为执行动作的应用或服务器;以及确定对所识别的应用或服务器的请求已经被指定用于异步处理。在一些实现方式中,使得所述动作与所述用户请求异步地执行包括:存储指示所请求的动作的记录;以及基于存储的记录,向服务器系统发送请求以执行该动作。在一些实现方式中,使得所述动作与所述用户请求异步地执行包括:基于所识别的动作选择数据存储系统的区域;发送写入请求以在所选择的区域中存储关于动作的数据;响应于写入请求,发出远程过程调用以执行与数据存储系统的所选择的区域相对应的软件;以及使用执行的软件生成对应用服务器执行动作的请求。在一些实现方式中,使得所述动作与所述用户请求异步地执行包括:向服务器系统发送请求以执行该动作;设置完成操作的超时时段;在超时时段结束之前确定动作已完成;以及存储指示动作的执行的数据。在一些实现方式中,额外特征包括:接收指示对数字助理的第二用户请求的数据;确定与第二用户请求相对应的第二动作;确定第二动作未被分类为与第二用户请求异步执行的动作;以及基于确定第二动作未被分类为要与第二用户请求异步执行的动作,使第二动作与用户请求同步地执行。在一些实现方式中,额外特征包括:接收指示对数字助理的第二用户请求的数据;确定与第二用户请求相对应的第二动作;确定第二动作被分类为要与第二用户请求异步执行的动作;基于确定第二动作被分类为要与第二用户请求异步执行的动作,发起第二动作的执行;确定在超时时段内未执行第二动作;以及提供指示第二动作的执行失败的消息用于输出。有利实施方式可包括以下特征中的一个或多个。例如,本文档中公开的技术可以减少延迟,提高可靠性并提高处理诸如对数字助理的请求的用户请求的效率。在一些数字助理系统中,用户请求的处理可能导致阻止用户在完成第一请求之前做出额外请求的延迟。一些数字助理使用基于客户端和基于服本文档来自技高网...

【技术保护点】
1.一种由一个或多个处理设备执行的方法,所述方法包括:由所述一个或多个处理设备接收指示对数字助理的用户请求的数据;由所述一个或多个处理设备确定与所述用户请求对应的动作;由所述一个或多个处理设备确定所述动作被分类为要与所述用户请求异步执行的动作;以及基于确定所述动作被分类为要与所述用户请求异步执行的动作:由所述一个或多个处理设备发送用于输出的确认消息;以及由所述一个或多个处理设备使得所述动作与用户请求异步地执行。

【技术特征摘要】
【国外来华专利技术】2016.06.27 US 15/193,9291.一种由一个或多个处理设备执行的方法,所述方法包括:由所述一个或多个处理设备接收指示对数字助理的用户请求的数据;由所述一个或多个处理设备确定与所述用户请求对应的动作;由所述一个或多个处理设备确定所述动作被分类为要与所述用户请求异步执行的动作;以及基于确定所述动作被分类为要与所述用户请求异步执行的动作:由所述一个或多个处理设备发送用于输出的确认消息;以及由所述一个或多个处理设备使得所述动作与用户请求异步地执行。2.如权利要求1所述的方法,其中,接收指示对所述数字助理的用户请求的数据包括:接收包括语音命令的音频数据;其中所述方法包括执行自动语音识别以确定所述语音命令的转录;以及其中确定对应于所述用户请求的动作包括基于所述转录确定所述动作。3.如权利要求1或2所述的方法,其中所述用户请求是来自用户的第一用户请求,并且其中使得所述动作与所述用户请求异步地执行包括:在执行由所述第一用户请求所请求的动作之前,从所述用户接收对所述数字助理的一个或多个其他用户请求。4.如权利要求1或2所述的方法,其中,所述用户请求是第一用户请求,并且其中,使得所述动作与所述用户请求异步地执行包括:在执行由所述第一用户请求所请求的动作之前,执行与来自所述用户的对所述数字助理的一个或多个其他用户请求相对应的动作。5.如前述权利要求中任一项所述的方法,其中发送用于输出的所述确认消息包括发送指示将执行所述动作的确认消息。6.如前述任一权利要求所述的方法,还包括使用文本到语音系统来生成包括合成语音的音频数据;以及其中,发送所述确认消息包括发送包括所述合成语音的所生成的音频数据。7.如前述权利要求中任一项所述的方法,其中确定所述动作被分类为要与所述用户请求异步执行的动作包括:确定所述动作与特定动作类型相对应;访问分配数据,该分配数据指示是否分配了与请求同步或异步执行的不同动作类型;以及基于所述分配数据确定所述特定动作类型被分配为与请求异步执行。8.如权利要求1至6中任一项所述的方法,其中,确定所述动作被分类为要与所述用户请求异步执行的动作包括:识别配置为执行所述动作的应用或服务器;以及确定对所识别的应用或服务器的请求已经被指定用于异步处理。9.如前述权利要求中任一项所述的方法,其中,使得所述动作与所述用户请求异步地执行包括:存储指示所请求的所述动作的记录;以及基于所存储的记录,向服务器系统发送请求以执行所述动作。10.如前述权利要求中任一项所述的方法,其中,使得所述动作与所述用户请求异步地执行包括:基于所识别的动作选择数据存储系统的区域;发送写入请求以在所选择的区域中存储关于所述动作的数据;响应于所述写入请求,发出远程过程调用以执行与所述数据存储系统的所选择的区域相对应的软件;以及使用所执行的软件生成对应用服务器的执行所述动作的请求。11.如前述权利要求中任一项所述的方法,其中,使得所述动作与所述用户请求异步地执行包括:向服务器系统发送请求以执行所述动作;设置完成所述动作的超时时段;在所述超时时段结束之前确定所述动作已完成;以及存储指示所述动作的执行的数据。12.如前述权利要求中任一项所述的方法,还包括:接收指示对所述数字助理的第二用户请求的...

【专利技术属性】
技术研发人员:SS宋DP惠普J钱
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1