首页 / 专利库 / 人工智能 / 对话代理 / 会话代理对话流用户界面

会话代理对话流用户界面

阅读:320发布:2020-05-12

专利汇可以提供会话代理对话流用户界面专利检索,专利查询,专利分析的服务。并且一个 实施例 提供了一种方法,该方法包括:获得涉及会话代理的多个 聊天 日志,其中该多个聊天日志表示用户和会话代理之间的交互;识别会话代理的对话状态,其中每个对话状态与会话代理的可能响应相对应;生成包括会话代理的一个或多个对话流的对话树,其中对话流表示在会话代理和用户之间发生的交互;以及为允许会话代理模拟用户和会话代理之间的交互的执行的会话回流系统提供会话回流 用户界面 ,其中会话回流系统基于由用户在会话回流用户界面处提供的输入、通过对话流推进,并且会话回流用户界面基于对话树的对话状态显示输出。,下面是会话代理对话流用户界面专利的具体信息内容。

1.一种方法,包括:
获得涉及会话代理的多个聊天日志,其中所述多个聊天日志表示用户和所述会话代理之间的交互;
识别所述会话代理的对话状态,其中每个对话状态与所述会话代理的可能响应相对应;
从所述多个聊天日志中生成包括所述会话代理的一个或多个对话流的对话树,其中对话流表示在所述会话代理和用户之间发生的交互,并且其中所述对话树(i)包括所述会话代理的可能对话状态,并且(ii)识别所识别的对话状态之间的转换频率;以及为会话回流系统提供会话回流用户界面,所述会话回流系统允许所述会话代理模拟用户和所述会话代理之间的交互的执行,其中所述执行基于对话树,其中所述会话回流系统基于由用户在所述会话回流用户界面处提供的输入、通过对话流推进,并且所述会话回流用户界面基于所述对话树的对话状态显示输出。
2.根据权利要求1所述的方法,其中,识别对话状态包括(i)从所述多个聊天日志中识别会话转变,以及(ii)对所识别的会话转变中的每一个进行分类。
3.根据权利要求1所述的方法,其中,识别对话状态包括(i)访问与所述会话代理相对应的模型,以及(ii)从所访问的模型中识别对话状态。
4.根据权利要求1所述的方法,其中,所述对话树包括(i)多个节点和(ii)多条边,每条边连接所述多个节点中的两个节点,其中所述节点表示对话状态,并且其中所述边表示连接节点之间的转换频率。
5.根据权利要求4所述的方法,其中,每条边具有表示用户响应的用户话语的相对应的聚类,所述用户响应导致从由边连接的一个对话状态到由边连接的第二对话状态的转换。
6.根据权利要求1所述的方法,其中,所述会话回流用户界面通过自动生成从一个对话状态转换到另一个对话状态的用户话语来提供通过所述对话流推进的自动模式。
7.根据权利要求6所述的方法,其中,所述会话回流用户界面提供生成对话流断点的图标。
8.根据权利要求7所述的方法,其中,所述会话回流用户界面提供图标,所述图标在自动模式下使得所述会话回流系统通过所述对话流自动推进到所述对话流断点。
9.根据权利要求1所述的方法,其中,所述会话回流用户界面提供返回到前一个对话状态的图标。
10.根据权利要求1所述的方法,其中,所述会话回流用户界面提供基于用户提供的用户响应通过所述对话流推进的标准模式。
11.一种装置,包括:
至少一个处理器;和
计算机可读存储介质,具有体现在其中并且可由所述至少一个处理器执行的计算机可读程序代码,所述计算机可读程序代码包括:
计算机可读程序代码,被配置为获得涉及会话代理的多个聊天日志,其中所述多个聊天日志表示用户和所述会话代理之间的交互;
计算机可读程序代码,被配置为识别所述会话代理的对话状态,其中每个对话状态与所述会话代理的可能响应相对应;
计算机可读程序代码,被配置为从所述多个聊天日志中生成包括所述会话代理的一个或多个对话流的对话树,其中对话流表示在所述会话代理和用户之间发生的交互,并且其中所述对话树(i)包括所述会话代理的可能对话状态,并且(ii)识别所识别的对话状态之间的转换频率;和
计算机可读程序代码,被配置为为会话回流系统提供会话回流用户界面,所述会话回流系统允许所述会话代理模拟用户和所述会话代理之间的交互的执行,其中所述执行基于对话树,其中所述会话回流系统基于由用户在所述会话回流用户界面处提供的输入、通过对话流推进,并且所述会话回流用户界面基于所述对话树的对话状态显示输出。
12.一种计算机程序产品,包括:
计算机可读存储介质,具有体现在其中的计算机可读程序代码,所述计算机可读程序代码可由处理器执行并且包括:
计算机可读程序代码,被配置为获得涉及会话代理的多个聊天日志,其中所述多个聊天日志表示用户和所述会话代理之间的交互;
计算机可读程序代码,被配置为识别所述会话代理的对话状态,其中每个对话状态与所述会话代理的可能响应相对应;
计算机可读程序代码,被配置为从所述多个聊天日志中生成包括所述会话代理的一个或多个对话流的对话树,其中对话流表示在所述会话代理和用户之间发生的交互,并且其中所述对话树(i)包括所述会话代理的可能对话状态,并且(ii)识别所识别的对话状态之间的转换频率;和
计算机可读程序代码,被配置为为会话回流系统提供会话回流用户界面,所述会话回流系统允许会话代理模拟用户和会话代理之间的交互的执行,其中所述执行基于对话树,其中所述会话回流系统基于由用户在所述会话回流用户界面处提供的输入、通过对话流推进,并且所述会话回流用户界面基于所述对话树的对话状态显示输出。
13.根据权利要求12所述的计算机程序产品,其中,识别对话状态包括(i)从所述多个聊天日志中识别会话转变,以及(ii)对所识别的会话转变中的每一个进行分类。
14.根据权利要求12所述的计算机程序产品,其中,识别对话状态包括(i)访问与所述会话代理相对应的模型,以及(ii)从所访问的模型中识别对话状态。
15.根据权利要求12所述的计算机程序产品,其中,所述对话树包括多个(i)多个节点和(ii)多条边,每条边连接所述多个节点中的两个节点;
其中所述节点表示对话状态,并且其中所述边表示连接节点之间的转换频率;并且其中每条边具有表示用户响应的用户话语的相对应的聚类,所述用户响应导致从由边连接的一个对话状态到由边连接的第二对话状态的转换。
16.根据权利要求12所述的计算机程序产品,其中,所述会话回流用户界面通过自动生成从一个对话状态转换到另一个对话状态的用户话语来提供通过所述对话流推进的自动模式。
17.根据权利要求16所述的计算机程序产品,其中,所述会话回流用户界面提供生成对话流断点的图标。
18.根据权利要求17所述的计算机程序产品,其中,所述会话回流用户界面提供图标,所述图标在自动模式下使得所述会话回流系统通过所述对话流自动推进到所述对话流断点。
19.根据权利要求12所述的计算机程序产品,其中,所述会话回流用户界面提供返回到前一个对话状态的图标。
20.一种方法,包括:
获得涉及会话代理的多个执行日志,其中所述多个执行日志表示用户与所述会话代理的交互;
从所述多个执行日志中产生包括所述会话代理的一个或多个对话流的对话树,其中对话流表示在所述会话代理和用户之间发生的交互,并且其中对话树(i)包括所述会话代理的可能对话状态,并且(ii)识别所述会话代理的对话状态之间的转换频率,其中对话状态与由所述会话代理提供的可能会话转变相对应;
所述对话树包括(i)多个节点,每个节点与对话状态相对应,以及(ii)连接所述多个节点中的两个节点的多条边,每条边与一个或多个用户响应相对应,所述一个或多个用户响应导致从由边连接的一个节点到由边连接的另一个节点的转换;以及
为会话代理系统提供会话代理对话流用户界面,所述会话代理系统允许会话代理模拟用户和所述会话代理之间的交互的执行,其中所述执行基于对话树,其中所述会话回流系统基于由用户在所述会话回流用户界面处提供的输入、通过对话流推进,并且所述会话回流用户界面基于所述对话树的对话状态显示输出。
21.一种计算机系统,所述系统包括分别用于执行根据权利要求1-10、20中任一项所述的方法的步骤的模

说明书全文

会话代理对话流用户界面

技术领域

[0001] 本公开涉及会话代理对话流用户界面。

背景技术

[0002] 当用户有问题或询问时,用户可以与例如聊天机器人、数字助理、虚拟助理等的会话代理(agent)交互。聊天机器人通常捕获基于文本的输入,例如,用户可以访问会话窗口并向该窗口提供文本输入。然后,聊天机器人处理该输入并提供响应输出,通常作为基于文本的输出。数字或虚拟助理可以包括接收语音输入,处理语音输入,以及然后例如通过音频、通过执行功能等提供响应输出的助理。会话代理为用户提供了一种在不要求人类用户的情况下接收对问题或查询的帮助的方法。会话代理被编程为以类似于另一个人将如何参与会话的方式来处理输入并响应于该输入提供输出。发明内容
[0003] 概括地说,本发明的一个方面提供了一种方法,该方法包括:获得涉及会话代理的多个聊天日志(chatlog),其中多个聊天日志表示用户和会话代理之间的交互;识别会话代理的对话状态,其中每个对话状态与会话代理的可能响应相对应;从多个聊天日志中生成包括会话代理的一个或多个对话流的对话树,其中该对话流表示在会话代理和用户之间发生的交互,并且其中该对话树(i)包括会话代理的可能对话状态,并且(ii)识别所识别的对话状态之间的转换频率;以及为会话回流系统提供会话回流用户界面,该会话回流系统允许会话代理模拟用户和会话代理之间的交互的执行,其中该执行基于对话树,其中会话回流系统基于由用户在会话回流用户界面处提供的输入、通过对话流推进(advance),并且会话回流用户界面基于对话树的对话状态显示输出。
[0004] 本发明的另一方面提供了一种装置,包括:至少一个处理器;和计算机可读存储介质,具有被体现在其中并可由至少一个处理器执行的计算机可读程序代码,该计算机可读程序代码包括:计算机可读程序代码,被配置为获得涉及会话代理的多个聊天日志,其中多个聊天日志表示用户和会话代理之间的交互;计算机可读程序代码,被配置为识别会话代理的对话状态,其中每个对话状态与会话代理的可能响应相对应;计算机可读程序代码,被配置为从多个聊天日志中生成包括会话代理的一个或多个对话流的对话树,其中对话流表示在会话代理和用户之间发生的交互,并且其中对话树(i)包括会话代理的可能对话状态,并且(ii)识别所识别的对话状态之间的转换频率;和计算机可读程序代码,被配置为为会话回流系统提供会话回流用户界面,该会话回流系统允许会话代理模拟用户和会话代理之间的交互的执行,其中该执行基于对话树,其中会话回流系统基于由用户在会话回流用户界面处提供的输入、通过对话流推进,并且会话回流用户界面基于对话树的对话状态显示输出。
[0005] 本发明的附加方面提供了一种计算机程序产品,包括:计算机可读存储介质,具有被体现在其中的计算机可读程序代码,该计算机可读程序代码可由处理器执行并且包括:计算机可读程序代码,被配置为获得涉及会话代理的多个聊天日志,其中多个聊天日志表示用户和会话代理之间的交互;计算机可读程序代码,被配置为识别会话代理的对话状态,其中每个对话状态与会话代理的可能响应相对应;计算机可读程序代码,被配置为从多个聊天日志中生成包括会话代理的一个或多个对话流的对话树,其中对话流表示在会话代理和用户之间发生的交互,并且其中对话树(i)包括会话代理的可能对话状态,并且(ii)识别所识别的对话状态之间的转换频率;和计算机可读程序代码,被配置为为会话回流系统提供会话回流用户界面,该会话回流系统允许会话代理模拟用户和会话代理之间的交互的执行,其中该执行基于对话树,其中会话回流系统基于由用户在会话回流用户界面处提供的输入、通过对话流推进,并且会话回流用户界面基于对话树的对话状态显示输出。
[0006] 本发明的进一步的方面提供了一种方法,包括:获得涉及会话代理的多个执行日志,其中多个执行日志表示用户与会话代理的交互;从多个执行日志中产生,从多个执行日志中产生包括会话代理的一个或多个对话流的对话树,其中对话流表示在会话代理和用户之间发生的交互,并且其中对话树(i)包括会话代理的可能对话状态,并且(ii)识别会话代理的对话状态之间的转换频率,其中对话状态与由会话代理提供的可能会话转变(conversational turn)相对应;该对话树包括(i)多个节点,每个节点与对话状态相对应,以及(ii)连接多个节点中的两个节点的多条边,每条边与一个或多个用户响应相对应,该一个或多个用户响应导致从由边连接的一个节点到由边连接的另一个节点的转换;以及为会话代理系统提供会话代理对话流用户界面,该会话代理系统允许会话代理模拟用户和会话代理之间的交互的执行,其中该执行基于对话树,其中会话回流系统基于由用户在会话回流用户界面处提供的输入、通过对话流推进,并且会话回流用户界面基于对话树的对话状态显示输出。
[0007] 为了更好地理解本发明的示例性实施例及其其它和进一步的特征和优点,结合附图参考以下描述,并且本发明的要求保护的实施例的范围将在所附权利要求中指出。

附图说明

[0008] 图1示出了从多个聊天日志提供会话代理对话流用户界面的方法。
[0009] 图2示出了示例会话代理对话流用户界面。
[0010] 图3示出了计算机系统

具体实施方式

[0011] 将容易理解,除了所描述的示例性实施例之外,如这里的附图中一般描述和示出的本发明的实施例的组件可以以多种不同的配置来布置和设计。因此,如附图所示,本发明的实施例的以下更详细的描述并不意图限制所要求保护的本发明的实施例的范围,而是仅仅表示本发明的示例性实施例。
[0012] 贯穿说明书,对“一个实施例”或“实施例”(等)的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,贯穿说明书,短语“在一个实施例中”或“在实施例中”等在不同地方的出现不一定都指相同的实施例。
[0013] 此外,所描述的特征、结构或特性可以在至少一个实施例中以任何合适的方式组合。在下面的描述中,提供了大量具体细节来给出对本发明的实施例的透彻理解。然而,相关领域的技术人员可以很好地认识到,本发明的实施例可以在没有其至少一个具体细节的情况下被实践,或者可以用其它方法、组件、材料等来实践。在其它情况下,没有详细示出或描述众所周知的结构、材料或操作,以避免使本发明的各方面模糊。
[0014] 通过参考附图,将最好地理解本发明的示出的实施例。以下描述仅意图作为示例,并且简单地示出了如这里所要求保护的本发明的某些选择的示例性实施例。应当注意,附图中的流程图框图说明了根据本发明各种实施例的系统、装置、方法和计算机程序产品的可能实施的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以表示代码的模、段或部分,该代码包括用于实施(多个)指定逻辑功能的至少一个可执行指令。
[0015] 还应当注意,在一些替代实施方式中,方框中标注的功能可以以不同于图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个方框实际上可以基本上并行地执行,或者这些方框有时可以以相反的顺序执行。还将注意到,框图和/或流程图图示中的每个方框、以及框图和/或流程图图示中的方框的组合可以由执行特定功能或动作的基于专用硬件的系统或者专用硬件和计算机指令的组合来实施。
[0016] 下面将具体参考图1-图3。应当理解,其中广泛示出的过程、布置和产品可以在基本上任何合适的计算机系统或计算机系统集合上执行,或者根据这些计算机系统或计算机系统集合来执行,作为说明性而非限制性的示例,这些计算机系统或计算机系统集合可以包括诸如图3中12’所指示的系统或服务器。根据示例实施例,针对图1-图2讨论的所有处理步骤、组件和输出可以通过一个或多个处理单元和系统存储器(诸如分别在图3中的16’和28’处指示的那些)无论是在服务器计算机、客户端计算机、分布式网络中的节点计算机还是它们的任意组合上执行或利用。
[0017] 会话代理开发者试图使会话代理准确地以类似人类的方式响应用户。会话代理使用的人工智能在允许会话变得更准确和更接近于与另一个人的会话方面变得更好。例如,改进自然语言的生成和理解,使得会话代理系统能够更准确地识别用户请求并提供更准确的响应或结果。此外,使用数据分析和协作过滤也使对话系统更加准确和更加类似人类。
[0018] 会话代理是由提供对话流设计的会话代理设计者/程序员/开发者编程或设计的。对话流包括多个节点,每个节点表示识别可以由会话代理提供的可能响应的对话状态。随着会话进行,会话代理处理从用户接收的输入,并访问对话流内响应于所接收的输入的节点。因此,会话代理设计者创建节点,并向会话代理提供算法,以便会话代理可以选择和遍历对话流的节点。然而,为了让会话代理开发者确定对话流是否有效,开发者必须手动评估对话流。通常,这种手动评估是通过访问会话代理的聊天或执行日志来执行的。
[0019] 聊天或执行日志包括用户与会话代理交互的转录或日志。日志包括由用户提供的响应或输入的记录,并指示会话代理访问对话流内的哪个(哪些)节点来响应用户。开发者可以使用用户对不同对话流节点提供的响应来识别用户如何响应会话代理,并因此识别会话代理在响应用户方面是否有效。基于这种分析,开发者可以重构会话代理的对话流或用户界面,以使代理更加准确和有效。然而,聊天日志是非结构化的、冗长的,并且难以浏览。因此,开发者手动访问和查看聊天日志会导致耗时且无效的冗长过程。
[0020] 因此,这里描述的技术和系统提供了一种用于从会话代理聊天日志提供会话代理对话流用户界面的系统和技术。系统获得与会话代理相关的多个聊天日志(也称为“执行日志”)。系统还识别会话代理的对话状态。该对话状态与会话代理的可能响应相对应。换句话说,对话状态表示会话代理的可能会话转变。对话状态的识别可以通过访问会话代理的模型并提取对话状态来执行。另外或可替换地,可以通过分析聊天日志来执行对话状态的识别,以将会话代理的每个会话转变分类为对话状态。
[0021] 从聊天日志,系统生成表示会话代理的对话流的对话树。对话树包括表示每个对话状态的节点和连接节点中的两个节点的边。每条边表示从一个节点或对话状态到另一个节点或对话状态的转换,并且因此表示由用户提供的导致从一个节点到另一个节点的转换的响应、输入或话语。对话树还识别所识别的对话状态之间的转换频率。换句话说,对话树识别用户响应导致从一个对话状态转换到另一个对话状态的频率。从对话树,系统可以为会话回流系统提供会话回流或对话流用户界面。用户界面允许用户或开发者通过提供导致系统执行会话代理对话流的不同输入来与会话代理的对话树交互。换句话说,用户界面提供了允许开发者以类似于软件程序在调试模式下如何执行的模式来执行会话代理的界面。因此,用户界面提供类似于软件程序调试模式的不同输入图标,并允许开发者或用户通过会话代理的对话流顺序地推进。
[0022] 这种系统通过提供一种提供允许访问会话代理设计和对话流的用户界面的系统,提供了对当前系统的技术改进,以用于改进会话代理。这里描述的系统和方法可以从聊天或执行日志生成对话树。使用对话树,系统提供了用户界面,该用户界面可以在执行期间像会话代理一样执行。使用用户界面,开发者或其它用户可以向用户界面提供使得会话代理以特定方式响应的输入。因此,用户界面允许开发者识别用户在会话代理的实施期间已经如何响应会话代理,以及会话代理如何响应用户,从而允许开发者理解会话代理的有效性,而开发者不必手动查看和分析聊天或执行日志。换句话说,所描述的系统通过提供一种可以自动解析和分析冗长且非结构化的会话代理执行日志的系统来提供对当前系统的技术改进,以便创建用户友好且直观的用户界面,该用户界面允许开发者分析会话代理设计,而不必经历如传统方法和技术中所提供的冗长、乏味和无效的手动分析过程。
[0023] 图1示出了用于从会话代理聊天日志提供会话代理对话流用户界面的方法。在101处,系统可以获得与会话代理相关的多个聊天日志。获得聊天日志可以包括用户向系统提供聊天日志,例如,向系统上载信息、向系统可访问的数据存储位置提供信息等。可替换地,系统可以例如通过访问与会话代理相关联的存储库、作为后台应用与会话代理运行等来主动捕获或获得信息。获得聊天日志可以包括识别的技术的任何组合或者可以用于获得聊天日志的任何其它技术。聊天日志也可以在会话代理在线或部署的同时被接收。换句话说,所描述的系统不要求会话代理停止服务来分析聊天日志。
[0024] 聊天日志可以包括与用户和会话代理之间的交互相对应的转录或其它日志。换句话说,在部署会话代理的同时,会话代理系统或与会话代理相关联的其它系统记录与会话代理相关的信息,包括记录用户和会话代理之间的交互。这些记录的交互可以包括由用户提供的输入、响应或话语的转录,以及然后包括由会话代理提供的响应。由用户或会话代理提供的响应中的每个响应可以被称为会话转变。记录的交互可以包括附加信息,例如,接收/提供每个会话转变的时间戳、识别用户和/或会话代理的识别信息、与响应或会话代理相关联的元数据等。
[0025] 在102处,系统可以识别会话代理的对话状态,其中每个对话状态与会话代理的可能响应相对应。换句话说,对话状态对应于会话代理可以提供的可能会话转变。并非所有对话状态都可以在每次交互期间被会话代理访问。为了识别对话状态,系统可以访问与识别不同对话状态的会话代理相对应的对话或会话模型。对话或会话模型可以包括由程序员或设计者创建的模型,该模型识别与会话代理可以提供的可能响应相对应的不同对话状态或节点。因此,在模型可被系统访问或被提供给系统的情况下,为了识别对话状态,系统可以简单地从模型中读取并识别模型内的节点。
[0026] 可替换地或另外,对话状态的识别可以包括识别多个聊天日志内的会话转变,并将识别的会话转变中的每一个分类为对话状态。换句话说,系统可以分析对话日志并识别由会话代理提供的响应。然后,系统可以将这些响应中的每一个分类为对话状态。换句话说,因为对话状态对应于由会话代理提供的可能响应,所以系统可以将由会话代理提供的响应归因于对话状态。使用多个对话日志,系统可以识别被包括在会话代理设计中的不同对话状态。换句话说,利用多个对话日志,系统可以为会话代理生成对话模型的类型。另外,对话日志提供对话状态中的每一个对话状态发生的频率的指示。换句话说,对话日志提供了在与用户的会话期间对话状态发生频率的指示。
[0027] 在103处,系统可以生成包括会话代理的一个或多个对话流的对话树。对话流表示会话代理的编程对话流。对话流指示在当会话代理处接收到响应时,应该由会话代理提供哪些响应。换句话说,对话流表示会话代理在与用户的交互期间访问的不同对话状态。生成对话树可以包括解析和分析聊天日志以识别由用户提供的响应,以便识别导致从一个对话状态到另一个对话状态的转换的用户输入。因此,系统自动分析聊天日志以生成对话树,从而消除了开发者手动分析聊天日志的需要。在生成对话树时,系统可以使用多个聊天日志来识别所识别的对话状态之间的转换频率。换句话说,系统可以识别聊天日志中的用户响应导致从一个对话状态到另一个对话状态的转换频率。
[0028] 从一个对话状态到另一个对话状态的每个转换可以是不同用户响应的结果。换句话说,多个用户响应类型可以导致一个对话状态和另一个对话状态之间的转换。因此,在每个转换处,系统可以聚类不同的用户话语或响应。可以使用诸如话语嵌入、意图识别、实体识别等语言特征来执行对不同用户话语、响应或输入的聚类。这些聚类可以表示相似的并且可以由用户提供的用户话语、响应或输入,这将导致从第一对话状态到另一对话状态的转换。
[0029] 对话树可以被表示为多个节点和边。对话树内的每个节点可以与不同的对话状态相对应。每条边连接树中的节点中的两个节点,并表示从由边连接的一个节点到由边连接的另一个节点的转换。因此,每条边可以表示导致从第一连接节点到第二连接节点的转换的用户话语、输入或响应。由于不同的用户输入可能导致相同节点之间的转换,因此每个节点可以具有多于一个的连接边,包括连接相同两个节点的多于一个的边。换句话说,可以从多于一个的节点转换到单个节点,并且两个节点可以具有导致两个节点之间转换的多个用户输入。边可以包括附加信息,例如,两个节点之间的转换频率。
[0030] 在104处,系统可以为会话回流系统提供会话回流或对话流用户界面。用户界面允许与会话代理的对话树的交互。换句话说,用户界面提供了一种用户友好的技术,该技术允许会话代理开发者通过对话树推进,以使用聊天日志来识别会话代理的有效性,而开发者不必手动分析聊天日志中包括的非结构化信息。类似于软件程序调试程序,基于由用户或开发者提供的输入,用户界面通过对话流推进。输入指示会话回流系统应该如何通过对话流推进。基于该输入,会话回流系统使用对话树提供输出。换句话说,用户界面允许开发者提供指示会话回流系统应该如何通过对话树推进的输入,其中会话回流系统使用对话树通过用户界面提供输出,该用户界面表示在部署期间会话代理将如何提供输出。
[0031] 图2示出了示例用户界面200。该用户界面仅仅是一个示例,并且其它用户界面、用户界面布局等是可能的和预期的。用户界面包括窗口,该窗口包括由用户202C提供的输入和由会话代理201提供的响应。用户界面还提供了用于用户输入的输入区域202A和将用户输入提交给会话代理的发送按钮202B。这些区域可以与用户在与部署的会话代理交互时看到区域的类似。该用户界面200还包括转换的指示,例如,在图2“#问候(#greetings)”中。该转换可以与对话树内的边相对应。换句话说,会话回流系统已经将用户输入分类为转换,使得它可以提供与连接到对话树内的转换的对话状态相对应的响应。
[0032] 会话回流系统允许两种不同的模式,自动模式和标准模式。在标准模式下,用户或开发者在用户输入区域提供用户输入。然后,系统使用对话树来提供对用户输入的响应。可替换地,会话回流系统可以以自动模式执行。在这种模式下,系统将自动使用对话树通过对话流推进。换句话说,系统自动生成导致不同对话状态之间的转换的用户响应或话语,从而允许聊天日志的回放(playback)。使用这种回放,开发者可以识别会话代理无效的区域。
[0033] 为了在自动模式下通过对话流推进,用户界面提供推进到下一个对话状态的图标、按钮或其它用户输入界面,例如“下一个(next)”图标203。为了进行此推进,系统基于目前为止的会话来识别当前会话的轨迹,并且还识别当前对话。然后,系统搜索聊天日志,并识别具有至少一个对话状态或会话转变的所有交互,其中会话上下文和/或对话节点与当前会话的会话上下文和/或对话节点相匹配。然后,这种过滤的对话列表被系统用来生成典型地由用户在当前会话的上下文中提供的所有用户输入的列表。系统基于具有通用语言属性(例如,矢量嵌入等)的会话代理模型来对基于语义属性(例如实体、意图等)的这些输入进行聚类。从聚类的输入,系统可以选择可以被提供的一个或多个可能用户输入。取决于用户设置,系统可以自动选择用户输入中的一个进行提供,以便推进到新的对话状态。可替换地,系统可以提供包括一个或多个可能用户输入的下拉菜单,并且用户或开发者可以选择他们中的一个进行提供,以便推进到新的对话状态。
[0034] 用户界面还提供返回到前一个对话状态的图标、按钮或其它用户输入界面,例如“prev(前一个)”图标204。换句话说,“prev(前一个)”图标204使系统后退一步。随着系统通过对话流推进,系统写入本地聊天日志存储库,该本地聊天日志存储库存储由会话代理提供的响应和对会话转变以及由用户手动提供或选择的或者由系统自动生成的用户输入。该本地聊天日志存储库维持用户输入序列和当前会话的会话状态。因此,当请求系统后退时,系统访问本地聊天日志存储库,并将会话状态回滚(roll back)到前一个提供的用户输入。另外,系统从本地聊天日志存储库中移除最后的用户输入、提供的用户输入的条目,以移动到当前正从其转换回来的对话状态。系统还从用户界面移除最后的用户输入,并且在接收到前一个的用户输入之后,会话代理内部状态被更新为会话代理的状态。换句话说,系统将会话代理和用户界面返回到随后被移除的最后的用户输入之前的状态。这种后退模式允许开发者通过执行的聊天日志返回。
[0035] 用户界面还提供识别开发者希望会话回流系统将对话流推进到的特定对话状态的图标、按钮或其它用户输入界面,例如“设置断点(set breakpoints)”图标205。为了设置断点,向用户显示用户界面,该用户界面允许开发者将布尔条件(Boolean condition)指定为对话节点、意图和实体上的断言(assertion)的结合,也称为断点条件。会话回流系统使用这种条件过滤聊天日志中的所有会话,以识别在当前会话的当前会话上下文和由断点条件建模的会话上下文之间具有会话路径的聊天日志。这种过滤器也可以应用于与“下一个”203图标相关的聊天日志。换句话说,如果开发者设置断点条件,当系统过滤与“下一个”203图标相关的聊天日志时,系统将根据断点条件过滤聊天日志。开发者还可以一次设置多个断点。
[0036] 用户界面还提供将当前会话推进到使用“设置断点”图标205设置的断点的图标、按钮或其它用户输入界面,例如“Cont(继续)”图标206。系统自动生成用户输入,以便将当前对话推进到断点。如上所述,系统过滤聊天日志以识别哪些聊天日志包括所识别的断点。从聊天日志的聚类集合中,系统可以随机选择聊天日志或聊天日志会话,以提供用户输入来推进到期望的断点。然后,利用被提供以推进到断点位置的用户输入的添加,系统更新本地聊天日志存储库。另外,系统还更新用户界面以描述被提供以推进到断点的会话代理的用户输入和响应,并且还更新本地会话上下文。换句话说,系统利用示出系统自动生成为用户输入的响应和会话代理推进到所期望的断点的响应所需的信息来更新会话代理、用户界面和聊天日志存储库。
[0037] 因此,所描述的系统和方法提供了一种技术,该技术用于通过自动解析和分析聊天或执行日志来识别会话代理的有效性,而不要求开发者经历分析聊天日志的耗时、乏味和无效的手动过程。另外,该系统提供一种用户界面,该用户界面允许基于聊天日志通过与会话代理相对应的对话流的推进,该用户界面允许开发者在调试模式类型的环境中分析会话代理。因此,这里所述的系统和方法提供了一种更加用户友好且直观的方案来分析非结构化的、冗长的和难以浏览的聊天日志,这是使用传统的手动方法和技术不可能实现的。
[0038] 如图3所示,计算节点10’中的计算机系统/服务器12’以通用计算设备的形式表现。计算机系统/服务器12’的组件可以包括但不限于:至少一个处理器或者处理单元16’,系统存储器28’,连接不同系统组件(包括系统存储器28’和处理单元16’)的总线18’。总线18’表示几类总线结构中至少一种包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0039] 计算机系统/服务器12’典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12’访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0040] 系统存储器28’可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30’和/或高速缓存存储器32’。计算机系统/服务器12’可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34’可以用于读写不可移动的、非易失性磁介质(图中未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM、DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过至少一个数据介质接口与总线18’相连。存储器28’可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0041] 具有一组(至少一个)程序模块42’的程序/实用工具40’,可以存储在例如存储器28’中,这样的程序模块42’包括——但不限于——操作系统、至少一个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42’通常执行本发明所描述的实施例中的功能和/或方法。
[0042] 计算机系统/服务器12’也可以与一个外部设备14’(例如键盘、指向设备、显示器24’等)通信,还可与至少一个使得用户能与该计算机系统/服务器12’交互的设备通信,和/或与使得该计算机系统/服务器12’能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22’进行。并且,计算机系统/服务器12’还可以通过网络适配器20’与至少一个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20’通过总线18’与计算机系统/服务器12’的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12’使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0043] 为了说明和描述的目的已经呈现了本公开,但并不意图穷举或限制。许多修改和变化对于本领域普通技术人员来说是显而易见的。选择和描述实施例是为了解释原理和实践应用,并且使本领域普通技术人员能够理解本公开。
[0044] 尽管这里已经参考附图描述了本发明的说明性实施例,但是应当理解,本发明的实施例不限于那些精确的实施例,并且在不脱离本公开的范围或精神的情况下,本领域技术人员可以对其进行各种其它改变和修改。
[0045] 在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0046] 计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过波导或其它传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号
[0047] 这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0048] 用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的传统编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0049] 这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其它设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0050] 这些计算机可读程序指令也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0051] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈