首页> 中国专利> 多代理对话代理框架

多代理对话代理框架

摘要

本申请涉及多代理对话代理框架。一个实施例提供了一种方法,包括:在用于创建代表用户执行协商的对话代理的对话代理创建框架内,接收(i)对多个对话代理角色之一的选择,(ii)针对所选择的角色的协商约束,以及(iii)协商的对象;创建(i)具有所选择的角色并(ii)被编程有该协商约束的对话代理;识别(i)具有关于该对象的相对角色并(ii)被编程有相对角色协商约束的至少一个其他对话代理;以及在该对话代理与该至少一个其他对话代理之间进行对话会话,其中,该对话会话包括针对该对象的该协商,并且其中,该对话代理和该至少一个其他对话代理根据该协商约束和该相对角色协商约束来执行该协商。

著录项

  • 公开/公告号CN112445460A

    专利类型发明专利

  • 公开/公告日2021-03-05

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN202010869991.2

  • 申请日2020-08-26

  • 分类号G06F8/20(20180101);G06Q30/06(20120101);

  • 代理机构11247 北京市中咨律师事务所;

  • 代理人李永敏;于静

  • 地址 美国纽约

  • 入库时间 2023-06-19 10:06:57

说明书

背景技术

当用户有问题或疑问时,该用户可与对话代理(例如,聊天机器人、数字助理、虚拟助理等)进行交互。聊天机器人通常捕获基于文本的输入,例如,用户可访问对话窗口并将文本输入提供给该窗口。然后,聊天机器人处理该输入并提供响应输出,通常是基于文本的输出。数字或虚拟助理可包括接收语音输入、处理语音输入、然后例如通过音频、通过执行功能等提供响应输出的助理。对话代理为用户提供了一种不需要人工问问题或查询即可获得帮助的方法。对话代理被编程为处理输入并以类似于另一人将如何参与对话的方式响应于输入而提供输出。对话代理还可以用作系统助理,其协助用户执行任务,例如,构建机器学习模型、开发应用程序等。

发明内容

总之,本发明的一个方面提供了一种方法,包括:在用于创建代表用户执行协商的对话代理的对话代理创建框架内,接收(i)对多个对话代理角色之一的选择,该多个对话代理角色中的每一个对应于协商内的角色,(ii)针对所选择的角色的协商约束,以及(iii)协商的对象;在该对话代理创建框架内创建(i)具有所选择的角色并(ii)被编程有该协商约束的对话代理;在该对话代理创建框架内,识别(i)具有关于该对象的相对角色并(ii)被编程有相对角色协商约束的至少一个其他对话代理;以及在该对话代理与该至少一个其他对话代理之间进行对话会话,其中,该对话会话包括该对话代理与该对象的该至少一个其他对话代理之间的该协商,并且其中,在该对话会话内,该对话代理和该至少一个其他对话代理根据该协商约束和该相对角色协商约束来执行该协商。

本发明的另一方面提供了一种装置,包括:至少一个处理器;以及计算机可读存储介质,该计算机可读存储介质中体现有计算机可读程序代码,该计算机可读程序代码能够由该至少一个处理器执行,该计算机可读程序代码包括:被配置为在用于创建代表用户执行协商的对话代理的对话代理创建框架内接收以下内容的计算机可读程序代码:(i)对多个对话代理角色之一的选择,该多个对话代理角色中的每一个对应于协商内的角色,(ii)针对所选择的角色的协商约束,以及(iii)协商的对象;被配置为在该对话代理创建框架内创建(i)具有所选择的角色并(ii)被编程有该协商约束的对话代理的计算机可读程序代码;被配置为在该对话代理创建框架内识别(i)具有关于该对象的相对角色并(ii)被编程有相对角色协商约束的至少一个其他对话代理的计算机可读程序代码;以及被配置为在该对话代理与该至少一个其他对话代理之间进行对话会话的计算机可读程序代码,其中,该对话会话包括该对话代理与该对象的该至少一个其他对话代理之间的该协商,并且其中,在该对话会话内,该对话代理和该至少一个其他对话代理根据该协商约束和该相对角色协商约束来执行该协商。

本发明的另一个方面提供了一种计算机程序产品,包括计算机可读存储介质,该计算机可读存储介质中体现有计算机可读程序代码,该计算机可读程序代码可由处理器执行并且包括:被配置为在用于创建代表用户执行协商的对话代理的对话代理创建框架内接收以下内容的计算机可读程序代码:(i)对多个对话代理角色之一的选择,该多个对话代理角色中的每一个对应于协商内的角色,(ii)针对所选择的角色的协商约束,以及(iii)协商的对象;被配置为在该对话代理创建框架内创建(i)具有所选择的角色并(ii)被编程有该协商约束的对话代理的计算机可读程序代码;被配置为在该对话代理创建框架内识别(i)具有关于该对象的相对角色并(ii)被编程有相对角色协商约束的至少一个其他对话代理的计算机可读程序代码;以及被配置为在该对话代理与该至少一个其他对话代理之间进行对话会话的计算机可读程序代码,其中,该对话会话包括该对话代理与针对该对象的该至少一个其他对话代理之间的该协商,并且其中,在该对话会话内,该对话代理和该至少一个其他对话代理根据该协商约束和该相对角色协商约束来执行该协商。

本发明的另一方面提供了一种方法,包括:提供聊天代理创建框架,该聊天代理创建框架提供彼此交互的聊天代理,每个聊天代理(i)具有在针对对象的交易中的角色并且(ii)具有关于该对象的货币目标;在该聊天代理创建框架内,定义具有卖方角色的卖方聊天代理,该定义是基于来自用户的标识(i)待售对象和(ii)该用户的该货币目标的输入;在该聊天代理创建框架内,定义具有买方角色的至少一个买方聊天代理,该定义是基于来自另一个用户的标识(i)购买该待售对象的愿望和(ii)该另一个用户的货币目标的输入;以及利用该卖方聊天代理和该至少一个买方聊天代理来参与包括针对该对象的协商的对话会话,其中,该卖方聊天代理和该至少一个买方聊天代理根据聊天代理的各自的货币目标来参与该协商。

为了更好地理解本发明的示例性实施例以及其其他的和进一步的特征和优点,结合附图来参考以下描述,并且本发明的要求保护的实施例的范围将在所附的权利要求书中指出。

附图说明

图1示出了提供用于多代理对话会话的对话代理创建框架的方法。

图2示出了示例对话会话,该对话会话利用针对该对话中的每个角色的对话代理。

图3示出了用于为多代理对话会话提供对话代理创建框架的示例系统体系结构。

图4示出了计算机系统。

具体实施方式

将容易地理解,如本文中的附图中总体上描述和示出的,除了所描述的示例性实施例之外,本发明的实施例的组件可以以各种不同的配置来布置和设计。因此,如附图所示,对本发明的实施例的以下更详细的描述并非旨在限制所要求保护的本发明的实施例的范围,而仅是表示本发明的示例性实施例。

在整个说明书中,对“一个实施例”或“实施例”(或类似物)的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,在整个说明书中各处出现的短语“在一个实施例中”或“在实施例中”等不一定都指同一实施例。

此外,可以以任何适当的方式在至少一个实施例中组合所描述的特征、结构或特性。在下面的描述中,提供了许多具体细节以提供对本发明实施例的透彻理解。然而,相关领域的技术人员可以很好地认识到,本发明的实施例可以在没有本发明的至少一个具体细节的情况下实践,或者可以以其他方法、组件、材料等来实践。在其他实例中,未详细示出或描述公知的结构、材料或操作,以避免混淆本发明的各个方面。

通过参考附图将最好地理解本发明的所示实施例。以下描述仅旨在通过示例的方式,简单地示出了如本文所要求保护的本发明的某些选择的示例性实施例。应当注意,附图中的流程图和框图示出了根据本发明的各个实施例的系统、装置、方法和计算机程序产品的可能实现方式的体系结构、功能和操作。就这一点而言,流程图或框图中的每个框可表示模块、段或代码的部分,其包括用于实现指定的逻辑功能的至少一个可执行指令。

还应注意,在一些替代实施方式中,框中指出的功能可以不按图中指出的顺序发生。例如,取决于所涉及的功能,实际上可以基本上同时执行连续示出的两个框,或者有时可以以相反的顺序执行这些框。还应注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作的基于专用硬件的系统或者专用硬件和计算机指令的组合来实现。

在下文中将具体参考图1至图4。应当理解的是,可以基本上在任何合适的计算机系统或计算机系统集上或根据其执行其中广泛示出的过程、布置和产品,这些计算机系统或计算机系统集可以作为说明性的而非限制性的示例包括诸如图4中的12'所示的系统或服务器。根据示例实施例,可以通过诸如图4中分别在16'和28'处指示的那些的一个或多个处理单元和系统存储器(无论是在服务器计算机、客户端计算机、分布式网络中的节点计算机、或其任何组合上)来执行或利用相对于图1至3所讨论的大多数(如果不是全部)过程步骤、组件和输出。

常规的对话代理系统需要人类用户在对话的至少一侧。例如,用户可访问对话代理并与对话代理进行交互以接收有关疑问、问题或查询的帮助。在这样的系统中,只有单个用户和单个对话代理。作为另一个示例,多个用户可访问对话代理系统并与对话代理系统进行交互,以执行任务,例如,开发机器学习模型。在这样的系统中,有多个相同类型的用户和单个对话代理。作为另一个示例,用户可访问对话代理系统并与多个对话代理交互,其中,每个对话代理在该系统内执行唯一功能。在这样的系统中,只有单个用户和多个对话代理。但是,常规的对话代理系统所不允许的是与多个对话代理进行交互的不同类型的多个用户,或更具体地说,在同一对话会话中不同类型的多个用户由多个对话代理表示。

因此,实施例提供了一种用于提供用于多代理对话会话的对话代理创建框架的系统和方法。换句话说,该系统提供了一种技术,该技术允许多个用户由同一对话会话内的对话代理表示,从而消除了人类用户参与对话会话的需要。因此,该系统提供了人类用户可以为对话会话内的角色选择对话代理,而不同的代理在对话会话内具有相对的角色。该系统提供了一种对话代理创建框架,该框架用于创建对话代理以代表人类用户执行协商。该系统从用户接收对对话代理的角色选择。例如,用户可选择进行协商以销售/购买对象的买方或卖方角色。用户还提供协商约束,这些约束标识有关协商的对象的参数。例如,用户可将对象的货币值标识为购买价格或销售价格。用户还可标识要销售或购买的对象。

对话代理创建框架创建具有所选择的角色并编程有协商约束的对话代理。在对话代理框架内,具有特定角色的对话代理可以有许多实例。例如,可以有多个具有卖方角色的对话代理和多个具有买方角色的对话代理。然后,角色的每个实例可以与不同的用户、不同的对象、不同的约束等相关联。在创建对话代理之后,系统可尝试识别相对于框架内的对象是否存在具有相对角色的另一个对话代理。作为示例,系统可确定是否存在与想要购买卖方试图销售的对象的买方相对应的对话代理,或者相反地,是否存在与正试图销售买方正试图购买的对象的卖方相对应的对话代理。具有相对角色的对话代理也将编程有适合于该对话代理的角色的协商约束。一旦已经识别并创建了对话代理,系统就在所识别的代理之间进行对话会话,所识别的代理可包括两个以上的代理,以执行针对该对象的协商。考虑每个对话代理的协商约束来执行这些协商,以使对应于该对话代理的用户的目标最大化。

这样的系统通过提供一种允许创建在对话会话中具有不同的相对角色的对话代理并且可以自动且自主地彼此通信以实现与对话代理相对应的用户目标的系统来提供对当前对话代理系统的技术改进。在协商进行期间,用户不必在场,从而允许用户在无法以其他方式有空或用户不希望直接参与协商的时间进行协商。另外,由于对话代理可以自主采取行动,因此用户可以为许多不同的对象或协商设置多个对话代理。因此,所描述的系统和方法提供了新的对话代理框架,该框架允许在同一系统和对话会话中创建并利用具有不同角色的多个对话代理。换句话说,所描述的系统和方法提供了新的对话代理框架,该框架允许对话代理代表人类用户在彼此之间进行交互,而不需要人类用户进行干预,除非用户想要干预。在当前需要至少一个人类用户进行交互的当前常规对话代理框架中不存在这样的系统。

图1示出了一种提供用于多代理对话会话的对话代理创建框架的方法。该系统可提供对话代理创建框架,该对话代理创建框架允许人类用户创建与其他用户或代表该用户的对话代理进行交互的对话代理、聊天机器人或聊天代理。例如,对话代理可与其他对话代理交互,以便代表人类用户执行协商、仲裁(arbitration)或交易。因此,在对话代理创建框架内,用户可以为对话代理提供对角色的选择。对话代理创建框架中的不同角色可具有不同的意图和实体。在本申请的上下文中,意图是指对话代理意图并且对应于对话代理的目标或目的。因此,对话代理创建框架内的每个角色具有特定的意图,这些意图对于该角色和/或所生成的对话代理是唯一的。

对话代理创建框架包括可由用户基于用户想要完成的事情来选择的多个角色。另外,对话代理创建框架包括相对的角色,例如,将在协商的相对侧的角色。为了易于阅读,本申请将参考一个卖家想销售绘画并且至少一个买方想要购买该绘画的工作实例。然而,该示例仅是说明性的,并且应当理解,所描述的对话代理创建框架可以用于生成用于任何类型的协商、仲裁或交易的对话代理,并且因此允许选择将支持这种协商、仲裁或交易的相对角色。使用买卖示例,对话代理创建框架包括买方角色和卖方角色,这两个角色是协商中购买/销售该绘画的相对角色。

用户还提供与所选择的角色的协商约束相对应的信息。协商约束与用户的目标有关。因此,协商约束可以是用户关于协商具有的任何类型的要求。示例协商约束包括但不限于货币约束、地理约束、时间约束等。作为示例,如果用户已经选择了对话代理的卖方角色,则用户可标识与用户针对该对象愿意接受的最小金额相对应的硬货币值。用户还可标识与用户针对该对象想要获得的期望金额相对应的软货币值。软货币值通常高于硬货币值,但可以相同,也可以完全不提供。

用户还可标识用于列出待售物品的特定地理区域,用户愿意将该物品运送到该特定地理区域或在其中销售该物品。用户还可标识:物品应被标识为在特定时间范围内待售。所有这些参数都可以用作协商约束。相反,如果用户已经选择了对话代理的买方角色,则用户可标识与针对卖方角色所讨论的类似约束或目标。但是,用户会将用户愿意为物品支付的最大货币金额标识为硬货币金额,并将用户更愿意支付的货币金额确定为软货币金额。最后,用户还标识协商的对象。使用工作示例,卖方将该绘画标识为待售对象,而买方将该绘画标识为要购买的对象。用户还可提供其他信息,例如,该用户和/或对象的标识信息(例如地理位置、名称、该对象的描述、用户标识符等)、该对象的图片、用户偏好等。

在102处,系统在对话代理创建框架内创建对话代理。系统可首先创建仲裁或协商实例。对话代理创建框架可包括多个仲裁实例,每个实例对于对象和/或用户是唯一的。换句话说,对于将成为仲裁或协商的主体的每个对象,即使这些对象与框架中的其他对象相似,该系统也会创建一个唯一的仲裁实例。在仲裁实例中,系统会添加与该对象相对应的仲裁实体。每个仲裁实体可具有与该仲裁实体的对象相对应的对象标识符。示例对象标识符包括对象名称、对象价格(例如,起始价格、要价、请求价格等)等。如果仲裁包括多个对象,例如,卖方正在销售带有多于一个对象的套装,卖方正在销售多个相同对象,等等,则系统为每个对象创建一个仲裁实体。使用该工作示例,将为该绘画创建仲裁实体,该仲裁实体将在该仲裁实体内包括描述标识符、价格标识符等。

该仲裁实例提供了一种结构,在其中可以填充该仲裁的其他参数、实体和对象。因此,一旦该仲裁实例被创建,则系统可以添加与该仲裁相对应的对话代理。系统创建与用户选择的角色相对应的对话代理。使用该工作示例,系统创建具有关于该绘画的卖方角色的对话代理。当创建该对话代理时,系统用由该用户标识的协商约束对该对话代理进行编程。这些协商约束中的某些约束将被编程为特定于角色的意图。每个角色都有不同的意图、目标或目的。例如,卖方角色将具有与想要销售对象相对应的意图,以及与卖方希望针对该对象收取的价格相对应的意图。相反,买方角色将具有与想要购买对象相对应的意图,以及与买方愿意为该对象支付的价格相对应的意图。可以从用户在101处提供的约束中识别这些意图。

对话代理还用一些特定于角色和/或用户的实体进行编程。一些示例实体包括该用户的用户名、该用户或对象的地理位置或地址等。对话代理也可使用特定于目标的意图来编程。这些意图可对应于对应用户的需求。例如,特定于目标的意图可以是在仲裁/协商系统内注册用户,以便以特定价格销售/购买对象。作为另一示例,对于卖方而言,特定于目标的意图可以是销售对象的最低价格和销售对象的期望价格。最低价格可以是卖方愿意针对该对象接受的最低价格,而期望价格可以是卖方实际希望针对该对象收取的价格。作为另一示例,对于买方而言,特定于目标的意图可以是期望购买价格和最大购买价格。期望价格可以是买方想要购买物品的金额,而最大购买价格可以是买方愿意为该对象支付的最高金额。

系统还可在仲裁实例内编程或添加附加组件。例如,系统可创建包括与该仲裁实例相对应的所有数据(包括元数据)的仲裁存储器规范(specification)。这些数据不仅可包括与该实例本身有关的数据,而且可包括与该实例中包括的任何组件有关的数据,例如,与该对象、仲裁实例内的对话代理、角色等相对应的数据。该数据还可包括该仲裁的状态。该仲裁的状态可标识仲裁的进度,例如其是否完成、协商正在进行、协商根本没有开始等等。因此,该状态可被标识为未解决、未完成、协商已开始、已解决、已完成、发现潜在的买方等。所有这些信息被存储在与仲裁实例对应的存储器中。

仲裁规范还可包括与仲裁本身有关的意图。这些意图可对应于仲裁的状态,并且还可对应于对话代理可以自动采取的不同步骤,以满足用户的目标。一个示例意图可能是卖方期望尚未被满足。因此,另一个意图可对应于说服输入,以说服买方增加所提供的金额。相反,如果买方期望未被满足,则意图可以是说服卖方降低对该对象的要价。在协商停滞不前的情况下,这意味着对话代理本身无法制定出满足买方和卖方目标的解决方案,仲裁意图可被用于向与对话代理之一相对应的用户请求附加输入。作为示例,系统可要求与卖方对话代理相对应的用户降低要价。

系统还可具有对话树,该对话树包括可以由仲裁实例内的对话代理访问的不同对话节点。这些节点是基于仲裁规范以及对话代理角色和约束而生成的。因此,在协商期间,对话代理和/或系统可访问对话树内的节点以便执行协商。除了为仲裁实例和/或特定的对话代理专门编程之外,对话树类似于用于常规对话代理的对话树或对话流。

在103处,系统确定在对话代理创建框架内是否存在具有相对于对象的相对角色的对话代理。与所有对话代理一样,具有相对角色的对话代理也将被编程有协商约束(仅出于易于阅读的目的,这被称为相对角色协商约束)。这些约束的目的与所有对话代理的约束相同,并且像其他对话代理一样,对于创建对话代理的用户而言是唯一的。使用该工作示例,如果在101处选择并在102处创建的对话代理角色是该绘画的卖方角色,则系统在103处确定该框架内是否存在对该绘画具有买方角色的对话代理。为了做出该确定,系统可以在仲裁实例之间比较实体,以确定是否存在与具有相对角色的对话代理相对应的匹配对象实体。还可考虑其他参数或约束(例如,标识用户期望的对象的地理位置的位置约束、标识用于执行协商的时间范围的时间约束,等等)来作出该确定。如果没有找到匹配,则在105处,系统继续监控用于具有相对角色的对话代理的框架。

然而,如果找到匹配,则在104处,系统在对话代理与相对角色对话代理之间进行对话会话。在存在具有相对角色的多于一个对话代理的情况下,对话会话可包括相对角色对话代理中的所有或多于一个相对角色对话代理。例如,如果有多于一个买方对卖方试图销售的对象感兴趣,则对话会话可发生在卖方对话代理与多个买方的对话代理中的每个对话代理之间。对话会话是对话代理之间为解决仲裁而进行的协商。使用该工作示例,协商是在试图销售该绘画的卖方的对话代理与试图购买该绘画的买方的对话代理之间进行的。鉴于对话代理的每个约束来执行该对话会话。另外,对话代理试图最大化对应用户的目标。约束是保密的,并且不是对于框架内的每个其他对话代理全局已知的。因此,该协商可以如像人类用户之间进行协商一样发生。

在进行对话会话时,对话代理可遍历对话树中包括的节点以在对话代理之间进行通信。在对话会话期间,系统可确定一个或多个对话代理的一个或多个目标未被满足。例如,如果来自买方的初始出价低于卖方愿意接受的最低价格,则卖方对话代理目标还未被满足。在这种情况下,系统可提供说服输入。说服输入可被用来使相对对话代理更改出价,例如,使买方对话代理提高出价。说服输入可被包括在对话树中,并且可基于仲裁规范。

在对话会话期间,系统可确定该协商已经停止,例如,卖方和买方的目标无法达成成功的结果。例如,如果卖方的最低价格高于买方的最高价格,则系统将无法解决该协商。在这种情况下,系统可请求来自与对话代理相对应的一个或多个用户的输入。例如,如果对应于买方的对话代理将不增加出价以匹配卖方所标识的最低价格,则系统可请求来自卖方的输入。所请求的输入可包括通知用户该协商的状态并且请求该用户标识当前条款是否对该用户可接受。一旦协商成功,则系统可将仲裁实例的状态更改或标记为已解决、完成等。

图2示出了在对应于卖方的对话代理与两个对应于买方的对话代理之间的示例对话会话。在201处,卖方提供针对对象的期望,包括期望价格45美元和最低价格42美元。然后,在202处,与卖方相对应的对话代理通知已经对该物品表现出兴趣的买方。寻找已表现出兴趣的买方可包括搜索框架以找到具有相对角色(在该示例中为买方)的对话代理。然后,针对买方的对话代理在203A处提供了40美元的起始出价,在203B提供了35美元的起始出价。由于未满足卖方的期望,因此在204处,卖方对话代理提供说服输入,要求买方提高出价。针对买方的对话代理在205A处标识买方#1的出价确定为40美元,在205B处标识买方#2的出价被提高至38美元。由于仍然没有满足卖方的期望,因此在206处,卖方的对话代理请求来自卖方的输入,询问40美元是否可接受。在207处,卖方提供指示最低价格仍为$42的输入。

在208处,卖方对话代理提供另一说服输入,指示卖方的最低可接受价格。在209A,买方#1的对话代理表示未达成交易。在209B,买方#2的对话代理指示该价格是可以接受的。然后,在210处,卖方对话代理标识将以42美元的销售价格卖给买方#2。在该框架内,系统随后将该交易、仲裁或协商标记为完成。完成后,系统还可向用户提供附加信息以完成该交易,例如,支付细节、运输细节、提货细节等。因此,对话代理能够在几乎没有任何人类用户交互的情况下执行协商。另外,可以在没有人类用户任何交互的情况下频繁地执行协商。

图3示出了系统框架的示例系统图。该框架包括设计规范300A。设计规范300A包括被编程有意图301A和实体301B的对话代理角色301。设计规范300A还包括被编程有实体302A、意图302B和仲裁约束302C的仲裁实例302。设计规范300A还包括对话树303。来自这些组件中的每个组件的信息被其他组件利用,以构成框架内针对每个仲裁的设计规范。设计规范300A被用于创建和编程该仲裁。

该框架还包括仲裁运行环境(runtime)300B,其提供执行仲裁所必需的编程。仲裁运行环境300B利用设计规范300A来执行仲裁。运行环境300B接收用户授权304以执行仲裁。用户通过选择所期望的角色305来创建对话代理。该对话代理然后基于角色分类被编程有特定于角色的意图306。一旦标识出用于协商或仲裁的对话代理,则利用对话管理307执行对话会话。对话管理307可包括用户发起的对话307A和代理或仲裁器(arbitrator)对话307B。仲裁器具有系统发起的对话310,该对话是基于仲裁意图309和仲裁约束308并根据仲裁意图309和仲裁约束308来执行。对话管理307还能够从上下文变量312和仲裁存储器311中提取(pull)信息,上下文变量312和仲裁存储器311是从设计规范300A生成的。

因此,所描述的系统和方法表示对当前对话代理系统的技术改进。所描述的系统不是具有其中对话会话中的至少一方是人类用户的对话代理系统,而是允许执行对话代理而无需在执行对话会话期间要求用户输入。换句话说,对话代理可以在维持与对话代理相对应的人类用户的目标的同时自动执行对话会话。代替不允许具有不同的并且通常相对的角色的多个对话代理的规范的当前系统,所描述的系统允许这些多个角色代理。因此,所描述的系统和方法需要更少的用户输入,并且因此需要人类用户更少的时间投入。另外,由于对话代理可以自主执行,因此人类用户可以有同时进行分开的协商或仲裁的多个代理,这使得用常规的协商系统即使不是不可能,也是非常难以实现的。

如图4所示,以通用计算设备的形式示出了计算节点10'中的计算机系统/服务器12'。计算机系统/服务器12'的组件可包括但不限于至少一个处理器或处理单元16'、系统存储器28'和将包括系统存储器28'的各种系统组件耦接到处理器16'的总线18'。总线18'表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。

计算机系统/服务器12'典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12'访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器28'可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30'和/或高速缓存存储器32'。计算机系统/服务器12'可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34'可以用于读写不可移动的、非易失性磁介质(图中未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18'相连。存储器28'可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块42'的程序/实用工具40',可以存储在例如存储器28'中,这样的程序模块42'包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42'通常执行本发明所描述的实施例中的功能和/或方法。

计算机系统/服务器12'也可以与一个或多个外部设备14'(例如键盘、指向设备、显示器24'等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12'交互的设备通信,和/或与使得该计算机系统/服务器12'能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12'还可以通过网络适配器20'与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20'通过总线18'与计算机系统/服务器12'的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12'使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

已经出于说明和描述的目的呈现了本公开,但是本公开并不旨在是穷举的或限制性的。对于本领域普通技术人员而言,许多修改和变型将是显而易见的。选择和描述实施例是为了解释原理和实际应用,并使本领域的其他普通技术人员能够理解本公开。

尽管本文已经参考附图描述了本发明的说明性实施例,但是应该理解,本发明的实施例不限于那些精确的实施例,并且在不脱离本公开的范围或精神的情况下,本领域技术人员可以在其中进行各种其他改变和修改。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号