CN113728308A - 用于会话机器人的训练对话的可视化 - Google Patents

用于会话机器人的训练对话的可视化 Download PDF

Info

Publication number
CN113728308A
CN113728308A CN202080028970.6A CN202080028970A CN113728308A CN 113728308 A CN113728308 A CN 113728308A CN 202080028970 A CN202080028970 A CN 202080028970A CN 113728308 A CN113728308 A CN 113728308A
Authority
CN
China
Prior art keywords
training
tree form
dialog
chat
tree
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080028970.6A
Other languages
English (en)
Inventor
L·H·利登
S·K·舒克拉
S·沙延德
M·D·马佐拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/388,015 external-priority
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN113728308A publication Critical patent/CN113728308A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference methods or devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42382Text-based messaging services in telephone networks such as PSTN/ISDN, e.g. User-to-User Signalling or Short Message Service for fixed networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/35Aspects of automatic or semi-automatic exchanges related to information services provided via a voice call
    • H04M2203/355Interactive dialogue design tools, features or methods

Abstract

本文档涉及使用图形用户界面创建和/或更新聊天机器人。例如,针对聊天机器人的训练对话可以以树形式被显示在图形用户界面上。至少基于开发人员与图形用户界面之间的交互,训练对话可以以树形式被修改,并且训练对话可以基于经由图形用户界面在树形式上提供的修改而被更新。

Description

用于会话机器人的训练对话的可视化
背景技术
近年来,互联网的广泛使用已经导致了用户可用的大量在线信息资源和服务。如今,人们花费大量且不断增加的时间与公司进行在线互动,并且公司也对用于处理与客户的用户互动的新方法越来越感兴趣。在某些情况下,利用聊天机器人以为了让用户更容易与公司互动并且完成他们所需的动作。
聊天机器人是指提供通信服务的计算机实现的会话系统,其中聊天机器人通常基于硬编码的声明性规则,这些规则使用户能够通过聊天界面的方式与聊天机器人进行交互。服务可以是任何合适的服务,诸如为被设计用于商业的网站提供客户支持,诸如订餐服务。在操作中,用户通过界面(其中界面可以是麦克风、接受输入的图形用户界面等)的方式向聊天机器人提供输入,并且聊天机器人利用(基于输入)被标识为对用户有帮助的(多个)响应对这种做出响应。由聊天机器人响应于输入所输出的响应可以是以下形式:文本、图形、音频、手势(例如通过机器人)或其他类型的人类可解释的内容。聊天机器人还可以通过编程方式与外部计算机系统交互,用于响应于输入发送或接收信息。
通常,创建聊天机器人和更新部署的聊天机器人可能是困难的任务。在示例中,聊天机器人通常可以通过编程的方式(即程序员对聊天机器人的交互模型进行编码)或者经由设计工具而被创建,该设计工具可以用于创建声明性规则,这些规则然后被聊天机器人用来确定对输入的适当响应。然而,这些创建聊天机器人的方法会带来困难,因为更新基于编程的聊天机器人可能需要计算机编程专业知识,并且当聊天机器人变得越来越复杂时,由于可视化的复杂性,更新声明性规则可能会给适当地确定聊天机器人的逻辑流程带来困难。
开发聊天机器人的备选方法包括使用基于由聊天机器人的开发人员提供的样本训练对话的机器学习。基于这些训练对话,聊天机器人可以尝试确定对意外输入的适当响应。然而,机器学习模型通常可以被视为针对开发人员的黑盒,因为它可能很难确认使用中的训练对话是否充分地覆盖聊天机器人处理不同情况所必需的逻辑流程或者什么聊天机器人可能依赖于基于输入来选择特定的决定。
因此,虽然训练对话的使用解决了与通过编程方式或使用声明性规则而被创建的聊天机器人相关联的一些问题,但是以有效的方式更新聊天机器人功能性仍然存在困难。
发明内容
提供本发明内容是为了以简化的形式介绍概念的选集,这些概念还将在下面的具体实施方式中进行描述。此发明内容既不旨在标识所要求的主题的主要特征或基本特征,也不旨在用于限制所要求的主题的范围。
本说明书通常涉及用于可视化和编辑聊天机器人训练对话和规则的技术。一个示例包括可以在计算设备上执行的方法或技术。方法可以包括访问与会话系统相关联的一个或多个存储的训练对话。方法还可以包括:接收用于以树形式显示训练对话的选择,以及至少部分地基于接收到的选择生成训练对话的树形式,该树形式将存储的训练对话显示为节点,该节点具有表示决策点的分支。方法还可以包括至少基于接收到的对树形式的修改,更新存储的训练对话。
另一示例包括可以在计算设备上执行的备选方法或技术。方法可以包括在图形用户界面(GUI)上显示视觉树,该视觉树表示与会话系统相关联的训练对话。该方法还可以包括:通经由GUI接收对一个或多个训练对话的修改,将修改传播给视觉树中的训练对话,视觉树中的训练对话取决于修改后的一个或多个训练对话,以及至少基于接收到的修改更新训练对话的数据库。
另一示例包括系统,包括:显示器,被配置为描绘图形用户界面;处理器;以及存储存储器,存储计算机可读指令,该计算机可读指令在由处理器执行时使处理器经由图形用户界面显示与训练对话相关联的数据,训练对话表示与聊天机器人的交互,接收来自系统的用户的、用于以树形式显示与训练对话相关联的数据的指示,确定以树形式被描绘的决策是至少基于声明性规则的,还是至少基于机器学习的,以及以不同于至少基于机器学习的训练对话的方式显示至少基于声明性规则的树形式决策。
上面列出的示例旨在提供快速参考以帮助读者,而不旨在定义本文中所描述的概念的范围。
附图说明
具体实施方式是参照附图进行描述的。在图中,参考数字的(多个)最左边的数字标识参考数字首次出现的数字。说明书和图中的不同实例中相似参考数字的使用可以指示相似或相同的项。
图1图示了与本概念的一些实施方式一致的示例系统。
图2至图4图示了与本概念的一些实施方式一致的示例图形用户界面。
图5图示了与本概念的一些实施方式一致的示例方法或技术。
具体实施方式
概述
如在互联网、电子消息传递、人工智能和自然语言理解的领域中所了解的,聊天机器人(除其他之外,也被称为chat bot、chatterbot、talkbot和chat robot)是基于计算机的会话代理/实体,其被设计为与一个或多个用户进行自然人类会话或交互(例如会话聊天、打手势或交互的其他视觉描绘,诸如显示器上的角色的动画)。出于本公开的目的,术语“会话”将被用来指终端用户与聊天机器人之间的交互,而不管系统的输入/输出。
更具体地,聊天机器人对来自用户的输入做出响应时,会以上下文有意义的方式推进会话,从而产生智能理解的错觉。许多聊天机器人的一般目标是通过尝试理解用户想要什么,然后向他们提供他们需要的信息或执行他们请求的(多个)动作,为用户提供价值和易用性。在本文中使用术语“用户”来指利用支持网络的终端用户计算设备与聊天机器人进行通信的人。支持网络的终端用户计算设备的示例类型在下面进行更详细的描述。
当今存在各种各样的计算(例如基于软件的)应用,人们可以使用这些应用来执行所需的动作,其中这些应用通常涉及数据通信网络,诸如互联网(在其他类型的网络中)上的信息传递。聊天机器人越来越多地被应用在这些计算应用中的许多计算应用中,以使人们更容易与应用进行交互,并且完成他们所需的动作。目前采用聊天机器人的示例计算应用包括电子商务和银行应用、在线食品服务、客户服务应用、电子消息传递应用以及提供“呼叫中心”和客户协助功能性(即,通过与用户的直接交互的方式,或者通过生成脚本以供客户服务代表使用)的自动在线协助应用。给定聊天机器人的会话智能通常被限于特定的上下文或与特定的计算应用(针对该特定的计算应用,聊天机器人被利用)对应的上下文的范围。
聊天机器人通常可以基于多种不同的输入风格与用户进行交互,并且在某些情况下,用户可以利用自然语言与聊天机器人进行通信(例如交互/会话/聊天)。在本文中使用术语“自然语言”来指在口头或书面通信中通常被人类用来进行相互通信的词语或短语或一个或多个完整的句子。然而,在某些情况下,其他类型的用户输入可以代替自然语言或结合自然语言被利用,诸如通过接收来自用户的鼠标/光标点击,接收被从用户上传的图像数据或通过确定与用户相关联的生物标识状态,诸如如果用户看起来紧张或高兴或悲伤。
这种聊天机器人通常基于由聊天机器人的开发人员创建的声明性规则集,这些规则被用来基于在输入中被发现的检测到的实体确定适当的响应。附加地或代替声明性规则,开发人员可以从编程的角度定义聊天机器人对输入的反应,这通常需要用编程语言对聊天机器人的单独动作进行编码。
更复杂的聊天机器人可以将编程或基于声明性规则的处理与机器学习技术结合。具体地,基本规则集可以是被开发人员为聊天机器人提供的,然后各种机器学习技术可以被用来提高聊天机器人的会话智能,从而扩大他们可以支持的上下文的范围。虽然基于声明性规则的系统通常可以被视为树或图表而被创建,但是机器学习的引入使集成变得困难,因为缺乏将机器学习方面与声明性规则结合起来可视化的能力。以这样,一种实施方式涉及提供能力来可视化机器学习方面和声明性规则并且实现对两者进行编辑。
在一种实施方式中,聊天机器人可以利用以下项:实体提取器模块,其可以被配置为标识和提取用户所提供的输入中的实体;以及响应模型,其可以被配置为响应于接收到来自用户的输入,选择要提供给用户的输出(其中响应模型的输出基于最近接收到的输入、会话中先前的输入、会话中被标识出的实体和API调用产生的现有数据)。响应模型可以基于声明性规则或基于从机器学习导出的信息。例如,响应模型可以是人工神经网络(ANN),诸如递归神经网络(RNN)或其他合适的神经网络,可以被配置为接收输入(诸如文本、位置等)并且基于这种输入和神经网络的当前状态提供输出。
为了训练这种聊天机器人,训练对话通常被用来提供若干示例对话,指示特定的输入以及对这些输入的正确响应。训练对话是指聊天机器人和开发人员之间的会话,该会话可以由开发人员进行,以训练实体提取器模块和/或响应模型。为了便于开发训练对话框,若干图形用户界面(GUI)特征可以被用来创建和/或更新聊天机器人。当开发人员向聊天机器人提供输入时,GUI特征可以标识由提取器模块标识出的用户输入中的实体,并且还标识聊天机器人的可能的响应。基于训练对话,聊天机器人可以适当地解析输入,并且尝试以智能方式对输入做出响应。
例如,GUI特征可以被配置为呈现实体的类型和与实体对应的规则,其中除了其他规则外,开发人员能够定制某些实体类型和相关联的规则,诸如实体类型是否可以出现在用户输入、系统响应或两者中并且实体类型是否支持多个值。GUI特征还可以呈现可用响应列表,并且还被配置为允许开发人员编辑现有响应或添加新响应。当开发人员表明要添加新响应时,响应模型可以被修改以支持新响应。同样,当开发人员表明现有响应要被修改时,响应模块可以被修改以支持修改后的响应。
对聊天机器人的备选和/或附加训练可以是基于解析日志对话,这些对话表示用户和聊天机器人之间的先前交互。聊天机器人然后可以至少基于日志中所反映出的这些先前交互而被训练。例如,开发人员可以被呈现终端用户(例如除了开发人员外)和聊天机器人之间的对话(例如会话),其中对话包括由用户提出的输入,并且还包括聊天机器人的相应响应。开发人员可以从聊天机器人选择不正确响应,并且可以将不同的正确响应通知给聊天机器人。实体提取器模块和/或响应模型然后可以基于开发人员所标识出的正确响应而被更新。
然而,由于复杂的聊天机器人有大量训练对话,通常可能很难正确地确定是否所有可能的训练对话已经基于例如训练对话的简单列表针对聊天机器人而被建立,并且随着时间的推移,开发人员可能会忘记基于输入中检测到的实体添加某些响应或可能没有意识到训练对话会导致聊天机器人逻辑中的冲突。因此,本文中所描述的GUI特征还可以被用来在视觉描绘中呈现训练对话,诸如树视图。在树视图中,与训练对话相关联的细节,诸如输入、动作或与动作相关联的规则(即基于实体的存在或不存在,允许动作被执行或对动作施加约束)可以被容易地查看和编辑。因此,训练对话的视觉描绘的集成可以使聊天机器人的开发更加高效和快速,因此,以下描述解决了充分确定聊天机器人的功能性是否通过使用视觉描绘而被适当地解决的技术问题,从而节省了开发人员的时间和精力,与这些GUI特征相关联的具体特征在下面被说明。
示例系统
参照图1,用于交互式地创建和/或修改聊天机器人的示例系统100被图示。聊天机器人是计算机实现的系统,可以被配置为提供基于输入的服务。聊天机器人可以被配置为接收来自用户的输入,诸如转录语音输入、由聊天界面提供的文本输入、位置信息、按钮已被选择的指示、图像信息、与用户相关联的生物标识信息等。因此,聊天机器人可以例如在服务器计算设备上执行并且提供对通过网页上的聊天界面被提出的输入的响应,该网页可以在客户端计算设备上被查看。在另一示例中,聊天机器人可以作为计算机实现的个人助理的部分在服务器计算设备上执行。
系统100可以包括客户端计算设备102,可以由希望创建新聊天机器人和/或更新现有聊天机器人的开发人员操作。客户端计算设备102可以是桌上型计算设备、膝上型计算设备、平板计算设备、移动电话、可穿戴计算设备(例如头戴式计算设备)等。客户端计算设备102包括显示器104,因此本文中所描述的图形特征将被显示在客户端计算设备102的显示器104上。
系统100还可以包括服务器计算设备106,该服务器计算设备106可以通过网络108(例如互联网或内联网)与客户端计算设备102进行通信,并且还可以与(多个)额外的云服务器110进行通信。服务器计算设备106可以包括处理器112和存储器114,其中存储器114可以有各种软件模块,可以由处理器112执行,用于聊天机器人开发。虽然示例系统100说明了正在服务器计算设备106上执行的各种模块,但是要理解,模块的全部或部分可以在客户端计算设备102或(多个)云服务器110上被备选地执行。备选地,虽然聊天机器人的某种开发可以使用服务器计算设备106来进行,但是开发的聊天机器人可以被开发以在远程计算设备(诸如(多个)云服务器110)或者远程或移动计算设备上执行,远程或移动计算设备可以连接到网络108或者可以不连接到网络108。
存储器114可以包括实体提取器模块116或有访问其的权限,其中实体提取器模块116可以被配置为标识被提供给实体提取器模块116的输入文本中的实体,其中实体有一个或多个预定义类型。例如并且根据下述示例,当聊天机器人被配置为协助下披萨的订单时,用户可以提出输入“我想要订一份有意大利辣香肠和蘑菇的披萨”。实体提取器模块116可以将“意大利辣香肠”和“蘑菇”标识为被从输入提取的实体。
本文中所使用的实体是指聊天机器人应当操作的输入的方面,并且每个实体都可以有相关联的类型。例如,假设聊天机器人接收到“我想要一个奶酪披萨”的输入,实体提取器模块可以将“奶酪”标记为类型“佐料”的实体,以被用于处理披萨订购请求。备选地,如果聊天机器人接收到“我想要一个方形的奶酪披萨”的输入,则实体提取器模块可以将“奶酪”标记为类型“佐料”的实体,并且将“方形的”标记为类型“披萨形状”的实体。
存储器114还可以包括响应模型118或有访问其的权限,该响应模型118可以被配置为提供输出,其中输出是被从用户接收到的输入的函数,以及其中输出可选地还是由提取器模块116标识出的实体的函数、响应模型118的先前输出、针对响应模型的先前输入和/或与聊天机器人相关联的给定状态。例如,响应模型118可以是或包括ANN,诸如RNN。
存储器114可以附加地包括计算机可执行应用程序接口(API)代码120,可以与实体提取器模块116和响应模型118接口连接。计算机可执行API代码120例如可以维护用户所提出的实体列表,在被请求(例如通过开发人员)时将实体添加到列表或在被请求时从列表中移除实体。附加地,计算机可执行API代码120可以接收来自响应模型118的输出并且在适当的时侯从存储器114返回实体。因此,当响应模型118输出“你的披萨上有$佐料”时,“$佐料”可以是对可以被用于代码120中的实体替换的功能性的调用,该调用从存储器114中的实体列表中检索“意大利辣香肠”和“蘑菇”,从而导致“你的披萨上具有意大利辣香肠和蘑菇”作为聊天机器人的输出而被提供。
在某些情况下,计算机可执行API代码120可以向响应模型118提供额外的信息,这可以导致聊天机器人的状态的变化。例如,基于从用户接收到的信息,计算机可执行API代码120可以确定客户会员等级(即白金级、黄金级、银级等),并且可以向响应模型118提供这种信息,用于确定聊天机器人的响应的最终考虑。
存储器114可以附加地包括图形用户界面(GUI)呈现器模块122,可以被配置为使GUI被显示在客户端计算设备102的显示器104上,其中GUI可以被配置为促进实体提取器模块116和/或响应模型118的交互式更新。各个示例GUI都在本文中被呈现,其中使GUI被GUI呈现器模块122呈现在客户端计算设备102的显示器104上。
存储器114还可以包括更新器模块124,可以被配置为在与被呈现在客户端计算设备102的显示器104上的一个或多个GUI进行交互时,基于被从开发人员接收到的输入更新实体提取器模块116和/或响应模型118。更新器模块124可以进行各种更新,诸如但不限于:1)基于包括实体的示例输入训练实体提取器模块116;2)更新实体提取器模块116以标识新实体;3)用新类型的实体更新实体提取器模块116;4)更新实体提取器模块116以停止标识某个实体或某种类型的实体;5)基于开发人员所提出的对话更新响应模型118;6)更新响应模型118以包括针对响应模型118的新输出;7)更新响应模型118以从响应模型118移除现有输出(即当规则禁止某些实体不存在时的某些动作时);8)基于用户与聊天机器人的对话更新响应模型118等。更新器模块124可以基于接收到的输入而被调用,例如经由GUI,其中开发人员已经修改了现有训练对话。在某些情况下,更新的模块124还可以向远程聊天机器人提供更新的训练对话,诸如在远程计算设备(诸如(多个)云服务器10)上操作的聊天机器人的副本。
存储器114还可以将一个或多个训练对话126存储在数据库中,该数据库目前可以是针对聊天机器人系统而被定义的。具体地,存储器114可以存储由开发人员经由GUI呈现器模块122所创建的各种GUI输入的新训练对话,并且还可以接收来自更新器模块124的更新并且适当地存储更新以供以后访问。
存储器114可以包括永久存储资源(诸如磁性或固态驱动)和易失性存储(诸如一个或多个随机存取存储器设备)。在某些情况下,上述模块作为可执行指令被提供,这些可执行指令被存储在永久存储设备上,被上传到随机存取存储器(RAM)中并且被处理器从RAM读取以供执行。
此外,可以有一个或多个(多个)用户设备128,可以被配置为使终端用户能够与正在开发的聊天机器人进行交互。例如,(多个)用户设备128可以是一个或多个移动电话,该移动电话可以通过(多个)网络108访问与聊天机器人相关联的基于Web的界面,使(多个)用户设备128的用户能够与聊天机器人进行交互。在某些情况下,(多个)用户设备128可以操作聊天机器人的本地副本,诸如通过可以被安装在(多个)用户设备上的聊天机器人界面应用。
最后,可以有一个或多个(多个)交互式设备130,被配置为在本地操作聊天机器人,实现通过例如语音命令与聊天机器人的人类交互。这种(多个)交互式设备可以包括例如各种“智能”家庭电子设备或“物联网”(IoT)设备,这些设备可以被通信耦合到(多个)网络108,或可以包括设备,其中聊天机器人可以被部署,而不需要访问(多个)网络108,诸如独立GPS单元等。最后,(多个)交互式设备130可以附加地包括人造人类设备,诸如可以响应于用户输入做出手势的机器人。
示例用户体验
图2至图4描绘了各种示例GUI,可以使这些GUI被GUI呈现器模块122显示在客户端计算设备102的显示器104上。这些GUI图示了更新现有聊天机器人,该聊天机器人可以被配置为协助用户订购披萨,但是GUI在本质上是说明性的,并且本文中所描述的特征适用于依赖声明性规则或机器学习规则,来生成输出的任何合适的聊天机器人。
图2描绘了示例GUI 200,其中响应于客户端计算设备102接收到来自开发人员的、所选择的聊天机器人要被更新的指示,GUI 200被呈现在客户端计算设备102的显示器104上。在示例GUI 200上,表明所选择的聊天机器人被配置为协助终端用户订购披萨,并且系统目前将聊天机器人正在使用的各种训练对话显示为文本列表。训练对话表示正确的会话示例,聊天机器人可以使用这些正确的会话示例并且从中学习。
具体地,GUI 200描绘了示例用户界面,其可以被开发人员用来创建、搜索、分类或过滤聊天机器人正在使用的各种训练对话。GUI 200包括各种菜单选项,包括新训练对话按钮202,其中响应于新训练对话按钮202被选择,开发人员与聊天机器人之间的新训练对话的创建被发起。GUI 200还可以包括树视图按钮204,其将显示聊天机器人正在使用的各种训练对话的视觉树形式。GUI 200还可以包括搜索字段206,允许开发人员插入对训练对话的查询,并且现有训练对话可以基于接收到的查询而被搜索。搜索字段206在已有大量训练对话时可能特别有用,从而允许开发人员相对快速地标识感兴趣的训练对话。GUI 200还可以包括标签过滤字段208、实体过滤字段210和动作过滤字段212,这允许现有训练对话基于各种输入(诸如与训练对话相关联的标签、在训练对话中被引用的实体和/或在训练对话中被执行的动作)而被过滤。这些字段可以是文本输入字段、下拉菜单等。
GUI 200还可以包括字段214,其包括针对现有训练对话的几行,其中每行都与对应的训练对话对应。每个训练日志都可以有相关联的描述(其可以指定初始输入和被从开发人员接收到的最后输入)、与特定训练对话相关联的标签(例如训练对话可以被标记为“预订”,因为与开发人员的交互引起餐厅处的预订)和训练对话中的数字“回合(turn)”(即开发人员与聊天机器人之间的对话回合的总数,其中对话回合是对话的部分)。
字段214中所显示的各种训练对话可由开发人员单独选择。在选择训练对话之后,GUI呈现器122可以生成用户界面,描绘与所选择的训练对话相关联的特定对话流。要理解,行中的信息被提出是为了协助开发人员区分各种训练对话并且找到所需的训练对话,并且可以协助开发人员执行这种任务的任何合适类型的信息都被考虑。
虽然GUI 200对通过字段214描绘聊天机器人正在使用的各种训练对话有用,但是对于复杂的聊天机器人来说,字段214中所显示的训练对话的数目可能变得巨大并且难以理解。还可能难以确定有多少会话空间已经被覆盖和聊天机器人是否可能会经历冲突决策分支,因为只有当开发人员单独选择特定的训练对话来看完整的回合数时,才能看到对话中的全部回合数。例如,在训练对话列表中,开发人员可能难以确定一个训练对话让聊天机器人接受特定的佐料,而另一训练对话可能会因为佐料缺货而拒绝该佐料,从而在聊天机器人的动作之间产生冲突,这取决于聊天机器人已经接收到了什么输入。
为了使训练对话开发过程对开发人员来说更容易,所有现有训练对话的视觉树视图可以被生成,以提供保存的训练对话126的当前状态的不同表示。在选择树视图按钮204之后,GUI呈现器模块122可以访问被存储在存储器114中的训练对话126,并且可以生成描绘所存储的训练对话的树视图。树视图可以在每次开发人员选择树视图按钮204时被生成,或在某些实施方式中,可以在每次开发人员使用例如GUI呈现器模块122所生成的各种GUI添加或修改训练对话时被预先生成并且被存储到存储器122。要认识到,在某些情况下,并不是所有所存储的训练对话都可能被显示,并且所存储的训练对话的子集可以被呈现在树视图中。备选地,用户可以经由GUI 200选择子集数目的训练对话,以在树视图中显示。
图3描绘了示例GUI 300,响应于树视图按钮204的选择,该GUI 300可以被呈现在客户端计算设备102的显示器104上。GUI 300描绘了与图2的训练对话对应的树形式,该树形式可以是因为开发人员选择了树视图按钮204而被生成的。GUI 300可以以简单的视觉方式描绘聊天机器人正在使用的各种训练对话以及决策树点。具体地,GUI 300可以将各种训练对话显示为树的节点,这些节点表示“轮次(round)”,诸如轮次304A。
树的每个节点都可以有与节点所表示的轮次相关联的属性,该属性可以由针对聊天机器人系统的一个或多个输入306(例如文本、图像等)、基于输入的聊天机器人在特定的时间点的一个或多个状态308以及聊天机器人响应于输入将采取的一个或多个动作310构成。要认识到,树视图302只是示例,并且在某些情况下,任何输入306、状态308和/或动作310都可以被显示为树视图中的单独节点。
输入306是指被从当前使用聊天机器人的用户接收到的输入,通常会是一些让聊天机器人操作的自然语言文本串,但是在某些情况下,可以包括按钮输入、图像输入、生物标识输入等。状态308是指聊天机器人的当前存储器状态,诸如当“辣椒”和“洋葱”作为佐料被请求时,聊天机器人的存储器状态可以将“佐料”反映为具有实体“辣椒”和“洋葱”。最后,动作310是指聊天机器人响应于输入采取的输出,考虑到聊天机器人的某种状态。
例如,所描绘的轮次304A可以表示多个不同的训练对话,这是基于聊天机器人系统确定针对训练对话的输入是相同输入的备选变型。参照轮次304A,聊天机器人系统可以确定输入306全部都是等效的,因为它们是引导聊天机器人来订购具有指定的至少一个佐料实体的披萨的输入。
一般来说,当聊天机器人的状态308反映了从输入中提取的实体集是共同的时,聊天机器人系统可以确定输入之间的等效性,不管实体的值(即佐料实体的存在,不管是蘑菇还是奶酪)。此外,聊天机器人可以确认先前回合中的实体是共同的(即两个训练对话具有指定例如“CrustType”的实体的先前回合),并且与训练对话相关联的动作310是共同的(即训练对话例如都发出对完成订单(FinalizeOrder)的调用)。在某些情况下,如果一个训练对话包括共享共同动作之后的额外动作,则两个训练对话仍然可以被确定为等效的。
以这样,虽然输入306被示出为图2的字段214中的单独训练对话,但是为了树视图的目的,它们可以被合并为单个轮次,因为输入(尽管不同)会导致一个或多个共同状态308和共同动作310。具体地,由于输入“订购奶酪披萨”、“具有辣椒和橄榄的披萨”和“蘑菇披萨”中的每个输入,聊天机器人可以确定一个或多个佐料实体被引入输入中,因此,聊天机器人的状态308将“(1)佐料”反映为表明聊天机器人状态存储器目前正在存储披萨的佐料。此外,要被聊天机器人采取的动作310在基于聊天机器人状态308的训练对话之间也是共同的。
与之相比,当生成树视图302时,聊天机器人系统可以创建第二轮次304B,至少基于需要采取不同的动作或至少基于聊天机器人的状态因输入而不同,该第二轮次304B可以被从轮次304A分割出来。参照轮次304B,因为与那些训练对话相关联的输入没有指定至少一个佐料(即没有佐料实体匹配),所以基于那些输入的聊天机器人的状态与和轮次304A相关联的状态不同,因为没有佐料被指定。相反,在被合并为轮次304A的训练对话中,用户已经简单地指示聊天机器人协助订购披萨,而不指定任何特定的佐料,因此,与轮次304B相关联的状态是“(0)”,这反映出当前没有任何东西被存储在聊天机器人的存储器中。
作为树视图302中的分支可能发生时的附加示例,轮次304C、304D和304E可以被比较。具体地,由于至少一个不同的动作被执行或出现了不同的聊天机器人状态,分支发生在三个轮次之间。虽然轮次304C和304D具有相同的状态308,但是与每个轮次相关联的动作310是不同的,因为与轮次304D相关联的输入表明用户不希望添加任何额外的佐料。因此,对代码120的API调用可以被执行来调用代码中的完成订单(FinalizeOrder)函数。因为“API:完成订单”的动作不是与轮次304C相关联的动作,所以树视图302描绘了这些轮次之间的决策分割。
类似地,轮次304E被描绘成决策分割,因为与该轮次相关联的聊天机器人状态308与轮次304C和304D不同,因为状态反映了“(2)佐料、缺货”,这是由于用户输入试图添加一个不在库存中的佐料而造成的。附加地,与轮次304E相关联的动作也是不同的,因为API调用必须被执行来调用缺货(OutOfStock)函数,以向用户指示所请求的佐料不可用。
在某些情况下,树视图302还可以向开发人员描绘有用的信息,指定正在由聊天机器人做出的决策的类型。如前所述,聊天机器人可以是多种学习方法的组合,例如通过使用由开发人员提供的声明性规则,然后可以由机器学习补充。在某些情况下,聊天机器人最初可以基于机器学习方法,并且一旦聊天机器人基于机器学习开发了一些初始逻辑,改善的声明性规则便可以被添加。
因此,树视图302可以被生成来指定聊天机器人的某些方面是由声明性规则造成的,还是由机器学习造成的。例如,如树视图302中所描绘的,从轮次304A到轮次304C的分支可能使用单条连接线,可以被用来向开发人员指示决策是基于声明性规则的,而从轮次304A到轮次304E的分支可以使用双连接线,可以被用来向开发人员指示决策是基于机器学习的。要认识到,分支的单线和/或双线的使用仅仅是示例,并且其他类型的标识特征可以被使用,诸如通过根据分支是基于规则还是基于机器学习给分支上不同的颜色。此外,虽然在树视图302中未被示出,但是根据与轮次相关联的某些状态是由声明性规则造成的,还是由机器学习造成的,轮次可以以不同的方式被显示。
GUI 300可以附加地具有返回按钮312,当被开发人员选择时,可以将开发人员返回到GUI 200所描绘的训练对话页面。在调用返回按钮312之后,聊天机器人系统可以自动记录由于开发人员与树视图302的交互而对训练对话和/或规则做出的任何变化,并且可以更新被存储在存储器114中的训练对话126以及可能已经被更新的任何相关联的规则。在某些情况下,训练对话126的更新可以与经由树视图302而被接收到的编辑一起同时发生,因此,调用返回按钮312可能需要简单地从存储器114中重新加载训练对话126,而不需要任何额外的处理。
图3B更详细地描绘了聚焦于轮次304C的树视图302的一小部分,示出了与轮次相关联的输入306、状态308和动作310。当被生成时,树视图302不仅可以为开发人员提供基于当前训练对话可视化聊天机器人的逻辑流的能力,还可以允许开发人员基于可视化的树视图编辑任何训练对话。具体地,树视图302的各个元素可由开发人员使用例如鼠标光标314通过GUI选择。
在一个示例中,假设开发人员想要通过添加动作使聊天机器人询问用户喜欢的外壳类型,编辑“添加额外的奶酪”的训练对话。开发人员可以使用鼠标光标314来选择特定的训练对话,并且在接收到训练对话的选择之后,与“添加额外的奶酪”相关联的完整训练对话可以被显示在GUI上,其中开发人员可以添加与该训练对话相关联的一个或多个回合,以确定要使用的适当外皮。在返回到树视图302之后,轮次304C可以基于对训练对话所做出的变化而被更新。
此外,开发人员可能想要添加与动作310相关联的新规则,因此可以单击有问题的特定动作,诸如通过借助于光标314单击动作“添加了$佐料!”。例如,开发人员可以将额外的规则添加到该动作,指定至少一个“佐料”实体必须处于状态308才能使动作有效,从而提供额外的检查,以确保对某些动作的适当把关控制被执行。
如图3B中所示,因为树视图302将“添加橄榄”、“添加额外的奶酪”和“添加意大利辣肠”的训练对话视为等同物(由于它们常用佐料实体),所以对“添加额外的奶酪”训练对话的变化也可以被注入到与轮次304C相关联的其他训练对话中,因为它们的等同性质。因此,新的输入、状态、动作和/或规则可以由开发人员在树视图302中的单独轮次上指定。此外,因为某些其他轮次可以被分支出轮次304C,所以通过树视图302对轮次304C所做出的任何变化都可以被注入到基于轮次304C的任何轮次中。附加地,开发人员可以使用鼠标光标314来选择任何状态308或动作310,以显示与状态或动作相关联的关联逻辑和/或规则。
在某些情况下,如果开发人员将新方面添加到树视图,诸如轮次、输入、状态、动作或规则,则新方面的引入可能改变现有训练对话的行为。例如,如果开发人员添加了新规则,则具有训练对话的某些依赖轮次可能变得不可访问,因为新规则会阻止对那些决策分支的访问。因此,GUI 300可以允许开发人员基于新创建的规则“重放”训练对话,并且树视图302可以突出显示潜在无效的轮次和/或需要被更新的训练对话。因此,开发人员可以在提交规则变化之前潜在地可视化新规则或规则变化的影响。
开发人员还可以利用可以提供额外的编辑能力的选项区域316。例如,通过选择选项按钮316,开发人员可以被提供选项,即添加新的决策分支或复制轮次以便于开发额外的分支。选项区域316还可以为开发人员提供如下能力,即将特定的轮次拖动到树视图302的不同部分或区域,导致与该轮次相关联的各种训练对话被注入到不同的决策分支中。
当生成树视图302时,聊天机器人系统还可以尝试确定树结构中是否有任何逻辑缺口或任何训练对话是否与树结构的另一部分中的其他训练对话冲突。例如,轮次304C的最终动作是问用户“你还想要点别的吗?”,因此,开发人员应当为该最终动作指定肯定回答路径和否定回答路径,但是在某些情况下,开发人员可能会忘记包括一条路径。在另一个示例中,当两个轮次具有共同的状态时,聊天机器人系统还可以警告开发人员,但是与该共同状态相关联的动作可能会发生冲突或不同。
因此,在该示例中,轮次304C可以显示警告符号318或其他这样的标志,警告开发人员当前树结构此时有潜在的问题。例如,聊天机器人系统可以警告开发人员,轮次304A具有响应于状态“(1)佐料”显示“你已经添加了$佐料”的动作,而轮次304C响应于状态“(1)佐料”使用不同的动作“添加了$佐料!”,并且可以建议开发人员修改动作以保持一致性。在某些情况下,开发人员可以选择警报符号,并且可能的问题的描述可以被呈现给开发人员。此时,开发人员可以通过编辑训练对话解决问题,可以表明聊天机器人系统应忽略问题(即为了通过聊天机器人系统解决误报)或在某些情况下,可以基于聊天机器人系统所采用的逻辑查看问题的推荐解决方案。
备选实施方式
图4描绘了根据另一种实施方式的示例GUI 400,其中图表视图402是基于训练对话126而被描绘的。在这种实施方式中,代替使用树形式来可视化训练对话,有向图表可以被用来描绘与聊天机器人系统相关联的逻辑流。具体地,虽然图表视图402中所描绘的各个轮次都可以涉及与它们的训练对话相关联的不同输入、状态和/或动作,但是逻辑流中的每条路径最终都可以利用共同的训练对话。
例如,图表视图402中的多个轮次可以具有最终动作“你还想要点别的吗?”,因此通常依赖于对这个动作的否定输入。此时,聊天机器人的状态可以被确定为在各个轮次之间都是共同的,并且最终动作在对代码120中的完成订单进行API调用时是共同的。因此,在生成图表视图402时,聊天机器人系统可以确定该轮次404在各个其他轮次之间是共同的,并且通过图表视图402指定这些连接。
此外,要认识到,虽然本讨论聚焦于聊天机器人,但是一般视觉编辑方面在任何会话情况下都可能同样有用,在该会话情况下,决策是基于规则或涉及神经网络的情况而做出的。例如,树视图可视化过程可以被用来准确地确定AI所采取的动作,不管应用,因此本文中所描述的技术可以应用于诸如自动驾驶汽车、智能防御系统等领域。
示例聊天机器人更新方法
以下讨论呈现了可以使聊天机器人能够通过树视图更新的功能性的概述。图5图示了符合本概念的示例性方法500。方法500可以由单个设备实施,例如服务器106,或可以被分布在一个或多个服务器、客户端设备等上。此外,方法500可以由一个或多个模块执行,诸如GUI呈现器模块122和更新器模块124。
在框502处,可以存储在存储器114中的一个或多个训练对话可以被访问,这些训练对话与会话系统(诸如聊天机器人)相关联。例如,开发人员可以利用GUI来加载特定的聊天机器人,诸如披萨订购机器人,并且与披萨订购机器人相关联的所存储的训练对话可以从存储器144中被检索出来,由GUI呈现器模块122显示为列表,诸如通过生成GUI 200。
在框504处,系统可以接收输入以生成由例如GUI 200呈现的训练对话的树视图。例如,开发人员可以选择树视图按钮204,这可以引起GUI呈现器模块122访问存储器114中所存储的训练对话126,以生成树视图。
在框506处,GUI呈现器模块122可以解析所存储的训练对话以创建所存储的训练对话的树视图。在开发所存储的训练对话的树视图时,GUI呈现器模块122可以执行树构建例程,这些树构建例程是被存储在存储器114中的代码120的部分。
如先前关于图3所说明的,训练对话的树视图创建一个或多个轮次,针对聊天机器人指定输入、状态和动作,并且可以将轮次描绘为树的节点,该树具有表示聊天机器人逻辑中的决策点的分支。此外,多个训练对话可以至少基于确定与一个训练对话相关联的状态和/或动作与和另一训练对话相关联的状态和/或动作匹配而被合并为单个轮次。因此,即使输入被发现针对训练对话不同,树构建例程也可以将训练对话一起合并为单个轮次,以在树视图中显示。
在框508处,聊天机器人系统可以接收对被显示在树视图上的轮次的修改。具体地,对训练对话中的一个训练对话的修改可以至少基于以下而被接收:开发人员选择与特定的轮次相关联的一个训练对话并且修改与该训练对话相关联的某些方面。备选地,开发人员可以选择与特定的轮次相关联的一个动作并且提供对与轮次相关联的规则的修改。
接下来,在框510处,对任何训练对话和/或规则的修改然后可以被注入到作为相同轮次的部分的其他训练对话或规则中。附加地,修改可以被注入到任何训练对话或规则中,这些训练对话或规则可能取决于修改后的轮次的修改后的方面。要认识到,更新器模块124可以临时更新受影响的训练对话和/或规则,以防止意外覆盖所存储的数据。基于修改,GUI呈现器模块122可以重新生成树视图,以准确地反映修改。
最后,在框512处,更新器模块124可以至少基于接收到确认以保存修改,更新被存储在存储器114中的训练对话126以及任何更新的规则。例如,开发人员可以选择GUI 300中所描绘的返回按钮312,以返回到GUI 200中所描绘的训练对话列表,并且聊天机器人系统可以向开发人员显示关于以下的确认:在树视图中被接收到的修改是否应被传播给所存储的训练对话和规则。
附加示例
各种设备示例均在上面被描述。附加示例在下面被描述。一个示例包括在计算设备上被执行的方法。该方法可以包括访问与会话系统相关联的一个或多个存储的训练对话。该方法还可以包括:接收用于以树形式显示训练对话的选择,以及至少部分地基于接收到的选择,生成训练对话的树形式,该树形式将存储的训练对话显示为节点,节点具有表示决策点的分支。该方法还可以包括至少基于接收到的对树形式的修改,更新存储的训练对话。
另一示例可以包括上面的和/或下面的示例中的任何示例,并且还可以包括在图形用户界面上将存储的训练对话的列表显示为文本列表,并且响应于接收到的、用于以树形式显示训练对话的选择,在图形用户界面上显示生产的树形式。
另一示例可以包括上面的和/或下面的示例中的任何示例,其中节点描绘一个或多个输入、针对会话系统的一个或多个当前状态以及一个或多个动作。
另一示例可以包括上面的和/或下面的示例中的任何示例,其中对树形式的修改包括:接收用户选择以更改与树形式的一个或多个节点相关联的属性。
另一示例可以包括上面的和/或下面的示例中的任何示例,其中多个存储的训练对话可以至少基于共享共同状态和共同动作而被合并为一个或多个共同节点。
另一示例可以包括上面的和/或下面的示例中的任何示例,其中生成训练对话的树形式还可以包括确定一个或多个训练对话是否导致冲突,在生成的树形式上突出显示一个或多个训练对话之间的冲突,以及响应于用户输入解决了一个或多个训练对话之间的冲突,更新生成的树形式。
另一示例可以包括上面的和/或下面的示例中的任何示例,并且还可以包括通过树形式接收新的训练对话。
另一示例可以包括上面的和/或下面的示例中的任何示例,其中决策点中的一个或多个决策点至少基于机器学习。
另一示例可以包括上面的和/或下面的示例中的任何示例,其中决策点中的一个或多个决策点至少基于声明性规则。
另一示例可以包括上面的和/或下面的示例中的任何示例,其中树形式与表示至少基于机器学习的决策点的分支一起同时显示表示至少基于声明性规则的决策点的分支。
另一示例可以包括上面的和/或下面的示例中的任何示例,并且还可以包括响应于与会话系统的用户交互而检索更新的存储的训练对话,更新的存储的训练对话对话反映了对树形式所做出的修改,并且由会话系统,至少基于更新的存储的训练对话输出对用户交互的自然语言响应。
另一示例包括在计算设备上被执行的方法。该方法可以包括在图形用户界面(GUI)上显示视觉树,该视觉树表示与会话系统相关联的训练对话。该方法还可以包括:经由GUI接收对一个或多个训练对话的修改,将修改传播给视觉树中的训练对话,视觉树中的训练对话取决于修改后的一个或多个训练对话,以及至少基于接收到的修改更新训练对话的数据库。
另一示例可以包括上面的和/或下面的示例中的任何示例,并且还可以包括确定对一个或多个训练对话的修改是否导致冲突,并且经由GUI提供指示,来指示由修改造成的冲突。
另一示例可以包括上面的和/或下面的示例中的任何示例,并且还可以包括在用户解决冲突时更新视觉树。
另一示例可以包括上面的和/或下面的示例中的任何示例,并且还可以包括接收用于以文本列表形式显示训练对话的选择,其中接收到的修改以文本列表形式被反映。
另一示例可以包括上面的和/或下面的示例中的任何示例,并且还可以包括经由GUI指示视觉树中的决策是由于声明性规则而被造成的,还是由于机器学习而被造成的。
另一示例包括系统,该系统包括:显示器,被配置为描绘图形用户界面;处理器;以及存储存储器,存储计算机可读指令,该计算机可读指令在由处理器执行时使处理器经由图形用户界面显示与训练对话相关联的数据,训练对话表示与聊天机器人的交互,接收来自系统的用户的、用于以树形式显示与训练对话相关联的数据的指示,确定以树形式被描绘的决策是至少基于声明性规则的,还是至少基于机器学习的,以及与至少基于机器学习的决策不同地显示至少基于声明性规则的决策。
另一示例可以包括上面的和/或下面的示例中的任何示例,其中至少基于声明性规则的决策使用与至少基于机器学习的决策不同的颜色而被显示。
另一示例可以包括上面的和/或下面的示例中的任何示例,其中树形式的至少基于声明性规则的节点使用与树形式的至少基于机器学习的节点不同的图标而被显示。
另一示例可以包括上面的和/或下面的示例中的任何示例,其中计算机可读指令在被硬件处理单元执行时使硬件处理单元接收对树形式的节点的选择,并且显示与所选择的节点相关联的可编辑数据。
设备实施方式
如上面关于图1所描述的,系统100可以包括几个设备,包括客户端设备102、服务器106、(多个)云服务器110、(多个)用户设备128和(多个)交互式设备。也如上所述,并不是所有设备实施方式都可以被说明,并且从上面和下面的描述中,其他设备实施方式对于熟练的技术人员来说应当是显而易见的。
本文中所使用的术语“设备”、“计算机”、“计算设备”、“客户端设备”、“服务器”和/或“服务器设备”可以指有一些硬件处理能力和/或硬件存储/存储器能力的任何类型的设备。处理能力可以由一个或多个硬件处理器(例如硬件处理单元/内核)提供,这些硬件处理器可以执行计算机可读指令以提供功能性。计算机可读指令和/或数据可以被存储在永久存储或易失性存储器上。本文中所使用的术语“系统”可以指单个设备、多个设备等。例如,“聊天机器人系统”可以包括执行自然语言的处理的一个或多个设备,诸如服务器106、(多个)云服务器110、(多个)用户设备128或(多个)交互式设备130。
存储资源可以在与它们相关联的对应设备的内部或外部。存储资源尤其可以包括以下任何一项或多项:易失性或非易失性存储器、硬盘驱动器、闪存设备和/或光学存储设备(例如CD、DVD等)。如本文中所使用的,术语“计算机可读介质”可以包括信号。相反,术语“计算机可读存储介质”不包括信号。计算机可读存储介质包括“计算机可读存储设备”。除了别的之外,计算机可读存储设备的示例包括易失性存储介质(诸如RAM)和非易失性存储介质(诸如硬盘驱动器、光盘和闪速存储器)。
在某些情况下,设备被配置有通用硬件处理器和存储资源。在其他情况下,设备可以包括片上系统(SOC)型设计。在SOC设计实施方式中,由设备提供的功能性可以被集成在单个SOC或多个耦合的SOC上。一个或多个相关联的处理器可以被配置为与共享资源(诸如存储器、存储设备等)和/或一个或多个专用资源(诸如被配置为执行某个特定功能性的硬件块)协调。因此,本文中所使用的术语“处理器”、“硬件处理器”或“硬件处理单元”还可以指中央处理单元(CPU)、图形处理单元(GPU)、控制器、微控制器、处理器内核或其他类型的处理设备,适用于在传统计算架构和SOC设计中实施。
备选地或附加地,本文中所描述的功能性可以至少部分地被一个或多个硬件逻辑组件执行。例如,但不限于,可以被使用的说明类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。
在一些配置中,本文中所讨论的任何模块/代码都可以在软件、硬件和/或固件中被实施。在任何情况下,模块/代码可以在设备的制造过程中被提供,也可以由中介提供,该中介准备将设备出售给终端用户。在其他情况下,终端用户可以在以后安装这些模块,诸如通过下载可执行代码并且将可执行代码安装在相应设备上。
还应注意,设备通常可以有输入和/或输出功能性。例如,计算设备可以有各种输入机制,诸如键盘、鼠标、触摸板、语音标识、手势标识(例如使用深度摄像头(诸如立体或飞行时间摄像头系统、红外摄像头系统、RGB摄像头系统)或使用加速度计/陀螺仪、面部标识等)。设备还可以有各种输出机制,诸如打印机、监控器等。
还应注意,本文中所描述的设备可以以独立或合作的方式用于实施所描述的技术。例如,本文中所描述的方法可以在单个计算设备上执行和/或跨多个计算设备(诸如IoT设备)分布,这些设备通过(多个)网络108进行通信。在不受限制的情况下,(多个)网络108可以包括一个或多个局域网(LAN)、广域网(WAN)、互联网等。
总结
虽然主题已经用特定于结构特征和/或方法动作的语言进行了描述,但是应理解,所附权利要求中所定义的主题不一定受限于上述特定特征或动作。更确切地说,上述特定特征和动作是作为实施权利要求的示例形式而被公开的,并且本领域技术人员将认识到的其他特征和动作在权利要求的范围内。

Claims (15)

1.一种方法,包括:
访问与会话系统相关联的一个或多个存储的训练对话;
接收用于以树形式显示所述训练对话的选择;
至少基于接收到的所述选择,生成所述训练对话的所述树形式,所述树形式将所述存储的训练对话显示为节点,所述节点具有表示决策点的分支;以及
至少基于接收到的对所述树形式的修改,更新所述存储的训练对话。
2.根据权利要求1所述的方法,还包括:
在图形用户界面上将所述存储的训练对话的列表显示为文本列表;以及
响应于接收到的、用于以树形式显示所述训练对话的所述选择,在所述图形用户界面上显示生成的所述树形式。
3.根据权利要求2所述的方法,其中节点描绘一个或多个输入、针对所述会话系统的一个或多个当前状态以及一个或多个动作。
4.根据权利要求1所述的方法,其中对所述树形式的所述修改包括:接收用户选择以更改与所述树形式的所述一个或多个节点相关联的属性。
5.根据权利要求1所述的方法,其中多个存储的训练对话至少基于共享共同状态和共同动作而被合并和显示在共同的节点中。
6.根据权利要求1所述的方法,其中所述生成所述训练对话的所述树形式还包括:
确定一个或多个训练对话是否导致冲突;
在生成的所述树形式上突出显示所述一个或多个训练对话之间的所述冲突;以及
响应于用户输入解决了所述一个或多个训练对话之间的所述冲突,更新生成的所述树形式。
7.根据权利要求1所述的方法,还包括通过所述树形式接收新的训练对话。
8.根据权利要求1所述的方法,还包括:
响应于与所述会话系统的用户交互而检索更新的所述存储的训练对话,更新的所述存储的训练对话反映对所述树形式所做出的所述修改;以及
由所述会话系统,至少基于更新的所述存储的训练对话,输出对所述用户交互的自然语言响应。
9.根据权利要求1所述的方法,其中所述决策点中的一个或多个所述决策点至少基于机器学习。
10.根据权利要求1所述的方法,其中所述决策点中的一个或多个所述决策点至少基于声明性规则。
11.根据权利要求1所述的方法,其中所述树形式与表示至少基于机器学习的决策点的分支一起同时显示表示至少基于声明性规则的决策点的分支。
12.一种系统,包括:
所述系统的显示器,被配置为描绘图形用户界面;
处理器;以及
存储存储器,所述存储存储器存储计算机可读指令,所述计算机可读指令在由所述处理器执行时,使所述处理器:
经由所述图形用户界面,显示与训练对话相关联的数据,所述训练对话表示与聊天机器人的交互;
接收来自所述系统的用户的、用于以树形式显示与所述训练对话相关联的所述数据的指示;
确定以所述树形式被描绘的决策是至少基于声明性规则的,还是至少基于机器学习的;以及
与至少基于机器学习的决策不同地显示至少基于声明性规则的决策。
13.根据权利要求12所述的系统,其中所述至少基于声明性规则的决策使用与所述至少基于机器学习的决策不同的颜色而被显示。
14.根据权利要求12所述的系统,其中所述树形式的至少基于声明性规则的节点使用与所述树形式的至少基于机器学习的节点不同的图标而被显示。
15.根据权利要求12所述的系统,其中计算机可读指令在由所述处理器执行时,还使所述处理器:
接收对所述树形式的节点的选择;以及
显示与所选择的所述节点相关联的可编辑数据。
CN202080028970.6A 2019-04-18 2020-03-11 用于会话机器人的训练对话的可视化 Pending CN113728308A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/388,015 US11521114B2 (en) 2019-04-18 2019-04-18 Visualization of training dialogs for a conversational bot
US16/388,015 2019-04-18
PCT/US2020/021934 WO2020214282A1 (en) 2019-04-18 2020-03-11 Visualization of training dialogs for a conversational bot

Publications (1)

Publication Number Publication Date
CN113728308A true CN113728308A (zh) 2021-11-30

Family

ID=70110404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080028970.6A Pending CN113728308A (zh) 2019-04-18 2020-03-11 用于会话机器人的训练对话的可视化

Country Status (4)

Country Link
US (1) US11521114B2 (zh)
EP (1) EP3956767A1 (zh)
CN (1) CN113728308A (zh)
WO (1) WO2020214282A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11163960B2 (en) * 2019-04-18 2021-11-02 International Business Machines Corporation Automatic semantic analysis and comparison of chatbot capabilities
US20220103491A1 (en) * 2020-09-29 2022-03-31 Salesforce.Com, Inc. Customizing chatbots based on user specification

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1298539A1 (en) * 2001-10-01 2003-04-02 Sun Microsystems, Inc. Method and device for marking and filtering data elements in a database
US7606714B2 (en) 2003-02-11 2009-10-20 Microsoft Corporation Natural language classification within an automated response system
US20050246174A1 (en) * 2004-04-28 2005-11-03 Degolia Richard C Method and system for presenting dynamic commercial content to clients interacting with a voice extensible markup language system
US7512580B2 (en) 2005-08-04 2009-03-31 Sap Ag Confidence indicators for automated suggestions
AU2009335623B2 (en) 2009-01-08 2012-05-10 Servicenow, Inc. Chatbots
US8798999B2 (en) 2009-05-01 2014-08-05 Alpine Electronics, Inc. Dialog design tool and method
US8612233B2 (en) 2011-01-05 2013-12-17 International Business Machines Corporation Expert conversation builder
US20140122083A1 (en) 2012-10-26 2014-05-01 Duan Xiaojiang Chatbot system and method with contextual input and output messages
US20140122619A1 (en) 2012-10-26 2014-05-01 Xiaojiang Duan Chatbot system and method with interactive chat log
US9384522B2 (en) * 2012-12-28 2016-07-05 Qualcomm Incorporated Reordering of command streams for graphical processing units (GPUs)
US10088972B2 (en) 2013-12-31 2018-10-02 Verint Americas Inc. Virtual assistant conversations
US9576017B2 (en) * 2014-02-03 2017-02-21 Software Ag Systems and methods for managing graphical model consistency
US9380010B2 (en) 2014-06-03 2016-06-28 International Business Machines Corporation Conversation branching for more efficient resolution
EP3195307B1 (en) 2014-09-14 2020-01-29 Google LLC Platform for creating customizable dialog system engines
US10803479B2 (en) 2015-01-23 2020-10-13 Conversica, Inc. Systems and methods for management of automated dynamic messaging
US20190221133A1 (en) 2015-01-23 2019-07-18 Conversica, Inc. Systems and methods for improving user engagement in machine learning conversation management using gamification
US20190220774A1 (en) 2015-01-23 2019-07-18 Conversica, Inc. Systems and methods for configuring message exchanges in machine learning conversations
US10382623B2 (en) 2015-10-21 2019-08-13 Genesys Telecommunications Laboratories, Inc. Data-driven dialogue enabled self-help systems
US11397952B2 (en) 2016-03-31 2022-07-26 ZenDesk, Inc. Semi-supervised, deep-learning approach for removing irrelevant sentences from text in a customer-support system
US10831802B2 (en) 2016-04-11 2020-11-10 Facebook, Inc. Techniques to respond to user requests using natural-language machine learning based on example conversations
US10949748B2 (en) 2016-05-13 2021-03-16 Microsoft Technology Licensing, Llc Deep learning of bots through examples and experience
US20180054523A1 (en) 2016-08-16 2018-02-22 Rulai, Inc. Method and system for context sensitive intelligent virtual agents
US10403273B2 (en) 2016-09-09 2019-09-03 Oath Inc. Method and system for facilitating a guided dialog between a user and a conversational agent
US11128579B2 (en) 2016-09-29 2021-09-21 Admithub Pbc Systems and processes for operating and training a text-based chatbot
US20180189794A1 (en) 2016-12-23 2018-07-05 OneMarket Network LLC Customization of transaction conversations
WO2018127810A1 (en) * 2017-01-03 2018-07-12 Modular Management Group Stockholm Ab System for product architecture lifecycle management
US10586530B2 (en) 2017-02-23 2020-03-10 Semantic Machines, Inc. Expandable dialogue system
US10762892B2 (en) 2017-02-23 2020-09-01 Semantic Machines, Inc. Rapid deployment of dialogue system
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US20180331979A1 (en) 2017-05-09 2018-11-15 ROKO Labs, LLC System and method for creating conversations to launch within applications
US10348658B2 (en) 2017-06-15 2019-07-09 Google Llc Suggested items for use with embedded applications in chat conversations
US20180367480A1 (en) 2017-06-18 2018-12-20 Rapportboost.Ai, Inc. Optimizing chat-based communications
US10694038B2 (en) 2017-06-23 2020-06-23 Replicant Solutions, Inc. System and method for managing calls of an automated call management system
US10313521B2 (en) 2017-08-15 2019-06-04 Genesyc Telecommunications Laboratories, Inc Automatic quality management of chat agents via chat bots
US11394667B2 (en) 2017-10-03 2022-07-19 Rupert Labs, Inc. Chatbot skills systems and methods
US10424302B2 (en) 2017-10-12 2019-09-24 Google Llc Turn-based reinforcement learning for dialog management
US10698581B2 (en) 2017-11-03 2020-06-30 Salesforce.Com, Inc. Dialog reuse for a visual bot builder
US11334785B2 (en) 2017-11-03 2022-05-17 Salesforce.Com, Inc. Bot builder dialog map
WO2019094462A1 (en) * 2017-11-07 2019-05-16 Schneider Electric Software, Llc Interactive guidance system for selecting thermodynamics methods in process simulations
US11004013B2 (en) 2017-12-05 2021-05-11 discourse.ai, Inc. Training of chatbots from corpus of human-to-human chats
CA3084496A1 (en) 2017-12-29 2019-07-04 XBrain, Inc. Session handling using conversation ranking & augmented agents
US10845937B2 (en) 2018-01-11 2020-11-24 International Business Machines Corporation Semantic representation and realization for conversational systems
US10617959B2 (en) 2018-01-18 2020-04-14 Moveworks, Inc. Method and system for training a chatbot
US10678406B1 (en) 2018-02-05 2020-06-09 Botsociety, Inc. Conversational user interface design
EP3757806A4 (en) 2018-02-23 2021-03-10 Fujitsu Limited PROGRAM FOR CALL CONTROL, METHOD FOR CALL CONTROL AND DEVICE FOR CALL CONTROL
US20190289058A1 (en) * 2018-03-14 2019-09-19 Scaled Inference, Inc. Methods and systems for transforming computing analytics frameworks into cross-platform real-time decision-making systems through a decision-making agent
US11030412B2 (en) 2018-04-10 2021-06-08 Verizon Patent And Licensing Inc. System and method for chatbot conversation construction and management
US20190340527A1 (en) 2018-05-07 2019-11-07 Microsoft Technology Licensing, Llc Graphical user interface features for updating a conversational bot
KR20210104880A (ko) * 2018-12-27 2021-08-25 구글 엘엘씨 착신 호출 수락 대기시 렌더링하기 위한 통화전 컨텐츠 생성 및/또는 우선 순위화

Also Published As

Publication number Publication date
WO2020214282A1 (en) 2020-10-22
US11521114B2 (en) 2022-12-06
EP3956767A1 (en) 2022-02-23
US20200334568A1 (en) 2020-10-22

Similar Documents

Publication Publication Date Title
US11157244B2 (en) System and method for delivering interactive tutorial platform and related processes
US20190340527A1 (en) Graphical user interface features for updating a conversational bot
de Souza et al. Can inspection methods generate valid new knowledge in HCI? The case of semiotic inspection
US9348479B2 (en) Sentiment aware user interface customization
US20130031476A1 (en) Voice activated virtual assistant
US10580176B2 (en) Visualization of user intent in virtual agent interaction
US20070214136A1 (en) Data mining diagramming
CN112639827A (zh) 从计算应用自动地生成对话式服务
US20210042110A1 (en) Methods And Systems For Resolving User Interface Features, And Related Applications
Vaziri et al. Generating chat bots from web API specifications
US20220180052A1 (en) Management of presentation content including interjecting live feeds into presentation content
CN113728308A (zh) 用于会话机器人的训练对话的可视化
Li et al. Teaching agents when they fail: end user development in goal-oriented conversational agents
Prajwal et al. Universal semantic web assistant based on sequence to sequence model and natural language understanding
US20220043973A1 (en) Conversational graph structures
US11526780B2 (en) Converting nonnative skills for conversational computing interfaces
US20230004360A1 (en) Methods for managing process application development and integration with bots and devices thereof
US20220188523A1 (en) Methods for conducting a conversation in an application enabled by a virtual assistant server and devices thereof
US20220300307A1 (en) Providing assistive user interfaces using execution blocks
Giakoumakou Development of a web application for an automated user assistant
CN114594884A (zh) 图形化交易策略生成方法、装置、电子设备及存储介质
CN111837118A (zh) 作者创建的数字代理
CN115129303A (zh) 一种可视化编译方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination