基于栈的通信系统和方法技术方案

技术编号:29688088 阅读:63 留言:0更新日期:2021-08-13 22:13
提供了一种基于栈的对话引擎。对话引擎使基于话音或文本的虚拟助理能够以可扩展的方式创建交互式对话体验。对话引擎可以用于支持用户与虚拟助理之间的对话。对话引擎可以被配置为:从虚拟助理接收指定来自虚拟助理的意图的履行请求;将项目推送到存储的对话栈上,该项目包括意图的标识符;执行与意图相关联的动作处理程序以生成用于操纵对话栈的指令;根据指令来操纵对话栈;以及存储对话栈以用于在支持对话时的后续处理。

【技术实现步骤摘要】
【国外来华专利技术】基于栈的通信系统和方法相关申请本申请要求享有于2019年2月15日提交的题为“SystemsandMethodsforStack-BasedDataCommunications”的序列号为62/806,328美国临时申请和于2019年5月9日提交的题为“Stack-BasedCommunicationsSystemsandMethod”的序列号为16/407,571的美国非临时申请的优先权。这些申请中的每一个申请在此通过引用以其整体并入本文。
技术介绍
虚拟助理(例如,GoogleAssistant和AmazonAlexa)是与用户交互以代表用户执行任务或服务的软件代理。在完成这种任务或服务时,虚拟助理对人类语音或文本命令进行解释和响应以回答问题、控制设备、播放媒体以及管理其他设备以执行基本任务。为此,使用基于事务模型的框架对虚拟助理进行编程。该模型允许虚拟助理接收用户输入并生成输出,以促进虚拟助理与用户之间的信息交换,从而完成期望的任务或服务。
技术实现思路
在至少一个示例中,提供了一种计算机系统。该计算机系统被配置为支持用户与虚拟助理之间的对话。该计算机系统包括:存储器;以及耦合到存储器的至少一个处理器。该至少一个处理器被配置为:从虚拟助理接收履行请求,该履行请求指定这样的意图:请求信息和/或执行来自虚拟助理的动作;将项目推送到被存储在存储器中的对话栈上,该项目包括意图的标识符;执行与意图相关联的动作处理程序以生成用于操纵对话栈的一个或多个指令;根据一个或多个指令来操纵对话栈;以及将对话栈存储在存储器中,以用于对话内的后续处理。计算机系统的至少一些示例可以包括以下特征中的一个或多个。在计算机系统中,意图可以是第一意图,项目可以是第一项目,并且操纵对话栈可以包括将第二项目推送到对话栈上,该第二项目包括第二意图的标识符。至少一个处理器还可以被配置为:取回(peek)对话栈中的第二项目以生成对用户关于第二意图的响应;以及向虚拟助理发送履行响应,该履行响应包括对用户的响应。在计算机系统中,动作处理程序可以是第一动作处理程序,并且取回可以包括执行与第二项目相关联的第二动作处理程序。在计算机系统中,履行请求可以包括对话栈的完整表示。履行请求可以包括会话标识符。至少一个处理器还可以被配置为在存储器中存储对话栈与会话标识符之间的关联。在计算机系统中,其中,意图可以是第一意图,履行请求可以是第一履行请求,并且至少一个处理器还被配置为:接收包括第二意图的第二履行请求;以第二意图调用动作处理程序,以确定该动作处理程序是否可以处理第二意图;以及处理来自动作处理程序的响应消息。该响应消息可以指定对用户的响应和用于操纵对话栈的至少一个指令。至少一个处理器还可以被配置为:将对用户的响应附加到对用户的另一响应;以及根据至少一个指令来操纵对话栈。响应消息可以不指定额外动作,并且至少一个处理器还可以被配置为不采取关于响应消息的额外动作。在计算机系统中,项目可以是第一项目,并且至少一个处理器还可以被配置为:调用动作处理程序以指示在将第二项目推送到对话栈上之前,该第二项目将被放置在项目的顶部。在计算机系统中,执行动作处理程序可以包括生成对用户的响应,并且至少一个处理器还可以被配置为向虚拟助理发送履行响应,该履行响应包括对用户的响应。在计算机系统中,执行动作处理程序可以包括执行由用户请求的程序化动作。在至少一个示例中,提供了一种支持虚拟助理与用户之间的对话的方法。该方法包括以下动作:从虚拟助理接收指定意图的履行请求;将项目推送到被存储在存储器中的对话栈上,该项目包括意图的标识符;执行与意图相关联的动作处理程序,以生成包括对用户的响应的响应消息和用于操纵对话栈的一个或多个指令;根据一个或多个指令来操纵对话栈;将对话栈存储在存储器中,以用于对话内的后续处理;以及将履行响应发送到虚拟助理以继续对话,该履行响应包括对用户的响应。方法的至少一些示例可以包括以下特征中的一个或多个。在方法中,意图可以是第一意图,项目可以是第一项目,并且操纵对话栈可以包括将第二项目推送到对话栈上的动作,该第二项目包括第二意图的标识符。方法还可以包括以下动作:取回对话栈中的第二项目以生成对用户关于第二意图的额外响应;以及将对用户的额外响应附加到对用户的响应。在方法中,动作处理程序可以是第一动作处理程序,并且取回的动作可以包括执行与第二项目相关联的第二动作处理程序的动作。在方法中,意图可以是第一意图,履行请求可以是第一履行请求,并且方法还可以包括以下动作:接收包括第二意图的第二履行请求;以第二意图调用动作处理程序,以确定该动作处理程序是否可以处理第二意图;以及处理来自动作处理程序的另一响应消息。在方法中,项目可以是第一项目,并且方法还可以包括以下动作:调用动作处理程序以指示在将第二项目推送到对话栈上之前,该第二项目将被放置在第一项目的顶部。在至少一个示例中,提供了一种非暂时性计算机可读介质。该计算机可读介质存储可执行的指令序列,以实现支持用户与虚拟助理之间的对话的对话栈。指令序列包括用于进行以下操作的指令:从虚拟助理接收指定意图的履行请求;将项目推送被到存储在存储器中的对话栈上,该项目包括意图的标识符;执行与意图相关联的动作处理程序以生成用于操纵对话栈的一个或多个指令;根据一个或多个指令来操纵对话栈;将对话栈存储在存储器中,以用于对话内的后续处理;以及将履行响应发送到虚拟助理。计算机可读介质的至少一些示例可以包括以下特征中的一个或多个。在计算机可读介质中,意图可以是第一意图,项目可以是第一项目,并且用于操纵对话栈的指令可以包括用于将第二项目推送到对话栈上的指令,该第二项目包括第二意图的标识符。指令序列还可以包括用于进行以下操作的指令:取回对话栈中的第二项目以生成对用户关于第二意图的响应;以及将对用户的响应存储在履行响应中。在计算机可读介质中,动作处理程序可以是第一动作处理程序,并且用于取回的指令可以包括用于执行与第二项目相关联的第二动作处理程序的指令。在至少一个示例中,提供了一种系统。该系统包括至少一个虚拟助理设备以及经由网络与该至少一个虚拟助理设备进行通信的计算设备。该计算设备包括处理器和可由处理器访问的存储器。该处理器被配置为进行以下操作:接收关于用户针对在至少一个虚拟助理设备处接收到的通信的意图的信息,该意图是可基于至少一个虚拟助理设备的一组技能识别的;在存储器的数据结构中提供至少一个数据项目,该至少一个数据项目表示用户与至少一个虚拟助理设备之间的给定对话的多个上下文中的一个上下文,并且数据结构被构造和布置为数据项目的栈;基于接收到的信息来修改数据结构,对数据结构的修改包括基于用户的意图来改变数据项目的栈中的项目的数量或位置中的至少一个;以及使用修改后的数据结构提供对用户的响应,该响应是基于数据结构中的一个项目而针对对话的多个上下文中的一个上下文的,以防止以不正确的上下文传输响应。下面详细讨论其他方面、示例和这些方面和示例的优点。此外,应当理解,前述信息和下面的详细描述仅仅是各个方面和特征的说明性示例,并且旨在提供用于理解本文档来自技高网...

【技术保护点】
1.一种计算机系统,被配置为支持用户与虚拟助理之间的对话,所述计算机系统包括:/n存储器;以及/n至少一个处理器,其耦合到所述存储器并且被配置为:/n从所述虚拟助理接收履行请求,所述履行请求指定这样的意图:/n请求信息和/或执行来自所述虚拟助理的动作;/n将项目推送到被存储在所述存储器中的对话栈上,所述项目包括所述意图的标识符;/n执行与所述意图相关联的动作处理程序以生成用于操纵所述对话栈的一个或多个指令;/n根据所述一个或多个指令来操纵所述对话栈;以及/n将所述对话栈存储在所述存储器中,以用于所述对话内的后续处理。/n

【技术特征摘要】
【国外来华专利技术】20190215 US 62/806,328;20190509 US 16/407,5711.一种计算机系统,被配置为支持用户与虚拟助理之间的对话,所述计算机系统包括:
存储器;以及
至少一个处理器,其耦合到所述存储器并且被配置为:
从所述虚拟助理接收履行请求,所述履行请求指定这样的意图:
请求信息和/或执行来自所述虚拟助理的动作;
将项目推送到被存储在所述存储器中的对话栈上,所述项目包括所述意图的标识符;
执行与所述意图相关联的动作处理程序以生成用于操纵所述对话栈的一个或多个指令;
根据所述一个或多个指令来操纵所述对话栈;以及
将所述对话栈存储在所述存储器中,以用于所述对话内的后续处理。


2.根据权利要求1所述的计算机系统,其中,所述意图是第一意图,所述项目是第一项目,并且操纵所述对话栈包括将第二项目推送到所述对话栈上,所述第二项目包括第二意图的标识符,并且所述至少一个处理器还被配置为:
取回所述对话栈中的所述第二项目以生成对所述用户关于所述第二意图的响应;以及
向所述虚拟助理发送履行响应,所述履行响应包括对所述用户的所述响应。


3.根据权利要求2所述的计算机系统,其中,所述动作处理程序是第一动作处理程序,并且取回包括执行与所述第二项目相关联的第二动作处理程序。


4.根据权利要求1所述的计算机系统,其中,所述履行请求包括所述对话栈的完整表示。


5.根据权利要求1所述的计算机系统,其中,所述履行请求包括会话标识符,并且所述至少一个处理器还被配置为在所述存储器中存储所述对话栈与所述会话标识符之间的关联。


6.根据权利要求4或权利要求5所述的计算机系统,其中,所述意图是第一意图,所述履行请求是第一履行请求,并且所述至少一个处理器还被配置为:
接收包括第二意图的第二履行请求;
以所述第二意图调用所述动作处理程序,以确定所述动作处理程序是否能够处理所述第二意图;以及
处理来自所述动作处理程序的响应消息。


7.根据权利要求6所述的计算机系统,其中,所述响应消息指定对所述用户的响应和用于操纵所述对话栈的至少一个指令,并且所述至少一个处理器还被配置为:
将对所述用户的所述响应附加到对所述用户的另一响应;以及
根据所述至少一个指令来操纵所述对话栈。


8.根据权利要求6所述的计算机系统,其中,所述响应消息不指定额外动作,并且所述至少一个处理器还被配置为不采取关于所述响应消息的额外动作。


9.根据权利要求6所述的计算机系统,其中,所述项目是第一项目,并且所述至少一个处理器还被配置为:调用所述动作处理程序以指示在将第二项目推送到所述对话栈上之前,所述第二项目将被放置在所述项目的顶部。


10.根据权利要求1所述的计算机系统,其中,执行所述动作处理程序包括生成对所述用户的响应,并且所述至少一个处理器还被配置为向所述虚拟助理发送履行响应,所述履行响应包括对所述用户的所述响应。


11.根据权利要求1所述的计算机系统,其中,执行所述动作处理程序包括执行由用户请求的程序化动作。


12.一种支持虚拟助理与用户之间的对话的方法,所述方法包括:
从所述虚拟助理接收指定意图的...

【专利技术属性】
技术研发人员:J·R·布尔频
申请(专利权)人:思杰系统有限公司
类型:发明
国别省市:美国;US

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

1