Nothing Special   »   [go: up one dir, main page]

CN114730429A - 用于管理联系中心系统和其用户之间的对话的系统和方法 - Google Patents

用于管理联系中心系统和其用户之间的对话的系统和方法 Download PDF

Info

Publication number
CN114730429A
CN114730429A CN202080079965.8A CN202080079965A CN114730429A CN 114730429 A CN114730429 A CN 114730429A CN 202080079965 A CN202080079965 A CN 202080079965A CN 114730429 A CN114730429 A CN 114730429A
Authority
CN
China
Prior art keywords
behavior tree
tree
contact center
conversation
agent
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
CN202080079965.8A
Other languages
English (en)
Inventor
C·麦克盖恩
C·拉姆
F·I·怀斯
谷文锦
S·道尔
M·奥尔
P·布雷斯林
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.)
Genesys Cloud Services Inc
Original Assignee
Genesys Telecommunications Laboratories Inc
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
Application filed by Genesys Telecommunications Laboratories Inc filed Critical Genesys Telecommunications Laboratories Inc
Publication of CN114730429A publication Critical patent/CN114730429A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/5183Call or contact centers with computer-telephony arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/5175Call or contact centers supervision arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • H04M3/5237Interconnection arrangements between ACD systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了存储具有流控制节点和多个子节点的根行为树。该流控制节点可确定子节点的执行序列。第一级行为树被存储和执行以完成具有相关联意图的任务。该第一级树包括该根树的子节点和定义动作的节点。在通信信道上托管联系中心和用户之间的对话,并且处理器接收来自该对话的输入并且作为响应执行该根树和作为该根树的子节点的该第一级树。在检测到输入和数据模式之间的匹配时,更改该根树或另外的树内的该执行序列。响应于该更改的序列,提供输出以引起动作。

Description

用于管理联系中心系统和其用户之间的对话的系统和方法
背景技术
本发明整体涉及电信系统和方法。更具体地,本发明涉及联系中心的操作和联系中心中的对话的管理。
在许多联系中心的操作中,根据对话来管理与用户的交互和用户之间的交互(该术语包括联系中心的代理、与联系中心通信的客户或外部团体、以及联系中心的参与与其他用户的通信的自动化系统)。此类对话是在通信会话的上下文内的输入和输出的序列。
在其最简单的形式中,且众所周知的,对话可采取由联系中心代理采用以管理与外部团体的会话的脚本的形式。在考虑到某些目标的情况下编写该脚本,诸如确保令人满意的交互、进行销售或提供服务,或者有效地处理与外部团体的交互。此类脚本的缺点在于它们相对刻板并且不灵活。
当尝试使脚本的执行自动化例如以便向代理工作站创建一系列提示时,在提示的呈现取决于交互的最新进展的情况下,产生该方法的另一缺点。可能难以或甚至不可能预期特定交互由于未预期的响应或问题而可能如何发展,因为人类相交互的奇想使一方在脚本内单独迎合的主题之间跳跃,而其中从一个主题到另一个主题之间不存在功能链接(functional link)。
使联系中心中的对话自动化的常规方法是采用有限状态机(FSM)来管理对话。这种模型展望一系列状态(即确定要呈现给代理的提示的对话或脚本中的当前点)和定义要在满足条件时或在检测到事件时执行的一个或多个动作的相关联过渡,诸如例如将执行移动到另一状态,或触发自动化联系中心系统,或终止对话。使用FSM范例的对话的良好操作预设所有过渡都被恰当地正确建模,即在对话中的给定点处,所接收的输入和事件将映射到适当的下一步骤。出于已经提及的原因,真实世界交互和会话通常脱离其预期进程,并且如果对给定事件或输入没有所定义过渡,则FSM模型可能瓦解。这可能导致代理被剥夺任何有用的提示,其中该脚本回退到通用回退点或者不正确地正向移动到提示,该提示因缺乏更好的过渡而不适合输入。
相关专利申请的交叉引用
本申请要求于2019年11月22日在美国专利商标局提交的名称为“SYSTEM ANDMETHOD FOR MANAGING A DIALOG BETWEEN A CONTACT CENTER SYSTEM AND A USERTHEREOF”的美国临时专利申请号62/938951的权益。
发明内容
呈现了用于管理联系中心系统和其用户之间的对话的系统和方法。在一个实施方案中,提供了一种用于管理联系中心系统和其用户之间的对话的计算机实现的方法,该方法包括以下步骤:存储包括至少一个流控制节点和多个子节点的根行为树,所述至少一个流控制节点确定所述子节点的执行序列;存储可被执行以完成具有相关联意图的任务的至少一个第一级行为树,其中所述至少一个第一级行为树是根行为树的子节点,并且其中所述至少一个第一级行为树包括定义要由联系中心系统的部件执行的动作的节点;托管所述联系中心和其所述用户之间的对话,其中对话在用户和联系中心的部件之间的通信信道上执行;由处理器接收来自所述对话的输入;响应于所述输入,执行根行为树和作为根行为树的子节点的所述至少一个第一级行为树;由所述处理器检测来自所述对话的输入和数据模式之间的匹配;在检测到所述匹配时更改根行为树或至少一个另外的行为树内的执行序列;并且响应于所述更改的执行序列,提供使联系中心的部件执行所述动作中的一个动作的输出。
与管理对话的常规方法(诸如使用有限状态机模型)相比,该方法更好地适于响应于来自对话的检测到的数据模式(诸如当检测到上下文切换时)动态地改变对话,从而指示必须迎合新的意图。尽管常规技术要求脚本将在内部编码有针对每个此类上下文切换的过渡,但该方法中采用的行为树模型使得执行能够以更无缝和自适应的方式平稳地传递到行为树的另一部分或至少一个另外的行为树。
在一个实施方案中,所述数据模式与指示至少一个另外的行为树的根行为树内所需的执行序列的更改的意图相关联。
在一个实施方案中,所述数据模式是存储在能够由所述处理器访问的存储器中的预定义数据模式。
在一个实施方案中,在方法的执行期间动态地生成所述数据模式。
在一个实施方案中,根据在根行为树或至少一个另外的行为树的一次或多次执行迭代之后的习得行为来修改所述数据模式。
在一个实施方案中,所述对话在用户和联系中心的自动化会话机器人之间的通信信道上执行,并且其中所述输出有效地使所述通信信道被重定向到由联系中心的人类代理使用的通信设备,以由此使用户与所述人类代理会话。
在一个实施方案中,步骤中的所述对话在用户和由联系中心的人类代理使用的通信设备之间的通信信道上执行,并且其中所述输出有效地使所述通信信道被重定向到由联系中心的不同人类代理使用的不同通信设备,以由此使用户与所述不同人类代理会话。
在一个实施方案中,所述检测到的匹配具有指示需要从一个人类代理到另一个人类代理的升级的数据模式。
在一个实施方案中,所述不同人类代理是监督者。
在一个实施方案中,所述至少一个第一级行为树被定义为捕获异常,并且响应于捕获到异常而使执行返回到所述根行为树。
在一个实施方案中,该方法还包括存储多个另外的行为树,并且其中该多个另外的行为树中的至少一个行为树是第一级行为树的子节点。
在一个实施方案中,所述多个另外的行为树中的另一个行为树是所述至少一个另外的行为树的子节点。
在一个实施方案中,该方法还包括:存储当前上下文状态,该当前上下文状态确定正执行的行为树的执行序列;并且通过所述处理器检测来自所述对话的输入和与上下文切换相关联的预定义数据模式之间的匹配。
在一个实施方案中,响应于检测到与上下文切换相关联的匹配,存储所述上下文切换作为用于未来执行的意图。
在一个实施方案中,响应于检测到与上下文切换相关联的匹配,将执行从正执行的行为树转移到不同行为树。
在一个实施方案中,该方法是递归的并且包括多个嵌套上下文切换。
在一个实施方案中,预定义数据模式包括多个嵌套上下文切换。
在一个实施方案中,选自所述根行为树、第一级行为树和另外的行为树中的一者的行为树的至少一个子节点是使消息在由所述代理操作的联系中心设备处提供的输出。
在一个实施方案中,选自所述根行为树、第一级行为树和另外的行为树中的一者的行为树的至少一个子节点是使消息发送到所述用户的输出。
在一个实施方案中,选自所述根行为树、第一级行为树和另外的行为树中的一者的行为树的至少一个子节点是使请求被发送到与所述联系中心相关联的自动化系统的输出。
在一个实施方案中,响应于所述请求,接收来自所述自动化系统的响应,并且所述响应是用于确定当前行为树的执行的输入。
在一个实施方案中,选自所述根行为树、第一级行为树和另外的行为树中的一者的行为树的至少一个子节点定义使与用户的通信从自动化对话转移到与联系中心系统的代理的现场对话的动作。
在一个实施方案中,选自所述根行为树、第一级行为树和另外的行为树中的一者的行为树的至少一个子节点定义使与用户的通信终止的动作。
在一个实施方案中,选自第一级行为树和另外的行为树中的一者的行为树的至少一个子节点定义使执行转移到根行为树的动作。
在一个实施方案中,该方法还包括以下步骤:根据从先前的对话获取的数据生成习得行为树,所述习得行为树优化联系中心的目标。
在一个实施方案中,该方法还包括将所述习得行为树部署为现有存储行为树的子节点。
在一个实施方案中,一个行为树的至少一个节点被定义为具有执行标志并且与存储器相关联的存储器节点,其中在执行所述存储器节点时,数据被存储在所述存储器中,并且所述执行标志被标记,从而使在存储器节点形成其一部分的行为树的后续迭代上时跳过该存储器节点的执行。
还提供了一种用于管理联系中心系统和其用户之间的对话的系统,该系统包括:处理器;和存储器,其中该存储器存储指令,这些指令在由处理器执行时使处理器来:存储包括至少一个流控制节点和多个子节点的根行为树,所述至少一个流控制节点确定所述子节点的执行序列;存储可被执行以完成具有相关联意图的任务的至少一个第一级行为树,其中所述至少一个第一级行为树是根行为树的子节点,并且其中所述至少一个第一级行为树包括定义要由联系中心系统的部件执行的动作的节点;托管所述联系中心和其所述用户之间的对话,其中对话在用户和联系中心的部件之间的通信信道上执行;接收来自所述对话的输入;响应于所述输入,执行根行为树和作为根行为树的子节点的所述至少一个第一级行为树;检测来自所述对话的输入和数据模式之间的匹配;在检测到所述匹配时更改根行为树或至少一个另外的行为树内的执行序列;并且响应于所述更改的执行序列,提供使联系中心的部件执行所述动作中的一个动作的输出。
在另一个实施方案中,提供了一种支持联系中心系统的代理参与与用户的对话的计算机实现的方法,该方法包括以下步骤:由处理器接收来自在所述代理和所述用户之间的通信信道上执行的对话的输入;存储包括多个条目的知识库,其中所述条目的子集被定义为更高优先级条目;由所述处理器检测来自所述对话的输入和多个所述知识库条目之间的匹配;检索对应于所述匹配的所述多个条目中的至少一个条目;将所述多个条目中的所述至少一个条目作为输出推送给由所述用户操作的设备和由所述代理操作的设备中的一个或多个设备;由所述处理器检测来自所述对话的输入和所述知识库中的更高优先级条目之间的另外的匹配;并且在对话持续时将所述更高优先级条目推送给由所述代理操作的设备。
在一个实施方案中,所述更高优先级条目包括对所述代理设备的与实现所定义目标相关的一个或多个提示。
在一个实施方案中,所述至少一个设备是由所述代理使用的设备,其中所述一个或多个提示指导代理实现所定义目标。
在一个实施方案中,该方法还包括所述处理器继续接收来自所述对话的输入,并且响应于进一步检测到的输入将所更新的提示推送给所述代理,由此通过对话指导代理。
在一个实施方案中,行为树被定义来实施匹配的检测,所述行为树在对话的整个持续时间内执行并且接收来自所述对话的输入,其中检测到的匹配致使在行为树内进行的处理从树的一个节点转移到树的另一个节点。
进一步提供了一种用于支持联系中心系统的代理参与与用户的对话的系统,该系统包括:处理器;和存储器,其中存储器存储指令,这些指令在由处理器执行时使处理器来:接收来自在所述代理和所述用户之间的通信信道上执行的对话的输入;访问包括多个条目的知识库,其中所述条目的子集被定义为更高优先级条目;检测来自所述对话的输入和多个所述知识库条目之间的匹配;检索对应于所述匹配的所述多个条目中的至少一个条目;将所述多个条目中的所述至少一个条目作为输出推送给由所述用户操作的设备和由所述代理操作的设备中的一个或多个设备;检测来自所述对话的输入和所述知识库中的更高优先级条目之间的另外的匹配;并且在对话持续时将所述更高优先级条目推送给由所述代理操作的设备。
在另外的方面中,提供了一种用于管理联系中心系统和其用户之间的对话的计算机实现的方法,该方法包括以下步骤:在所述联系中心的自动化对话和其所述用户之间的通信信道上托管对话,所述对话包括在两个方向上在所述自动化对话引擎和所述用户之间发送的消息;所述自动化对话引擎接收来自所述用户的输入消息,并且响应于所述输入而确定响应消息;从所述对话的所述消息检测匹配规则的触发事件;响应于检测到所述触发事件:向所述代理站提供所述对话的汇总;并且向所述代理站提供对所述自动化对话引擎的控制。
在一个实施方案中,该方法还包括以下步骤:在检测到所述触发事件之后暂停由自动化对话引擎进行的对响应消息的提供。
在一个实施方案中,汇总包括对话的抄本。在另一个实施方案中,汇总包括基于所述对话从多个数据源获得的信息。
在一个实施方案中,暂停对响应消息的提供,直到在所述代理站处选择适当的响应消息为止。
在一个实施方案中,所述代理站由所述自动化对话引擎提供多个可能的响应消息,从而容许从该多个可能的响应消息选择适当的响应消息。
在一个实施方案中,适当响应消息通过由所述代理站的用户创建所述消息来选择。
在一个实施方案中,在检测到所述触发事件之后,除非从所述代理站接收到暂停对响应消息的提供的控制命令,否则自动化对话引擎继续自主地确定和发送响应消息。
在一个实施方案中,触发事件由匹配选自以下的条件的规则确定:确定一个或多个输入消息中的关键字;确定一个或多个输入消息中的观点;确定说话音量或音调的改变;确定无法恰当地解释输入消息;确定响应于输入消息无法确定响应消息;确定与潜在响应消息相关联的置信度水平低于预先确定的阈值;确定一个或多个输入消息与代理干预已被定义为强制的主题相关;确定一个或多个输入消息与代理干预已被定义为优选的主题相关;并且确定所述联系中心的所述用户已请求代理干预。
在一个实施方案中,该方法还包括:自动化对话引擎根据响应于观察到从所述代理站接收的控制输入生成哪些响应消息来更改规则。
进一步提供了一种用于管理联系中心系统和其用户之间的对话的系统,该系统包括:处理器;和存储器,其中存储器存储指令,这些指令在由处理器执行时使处理器来:操作自动化对话引擎系统,该自动化对话引擎系统参与在所述联系中心的通信信道上托管的与其所述用户的对话,所述对话包括在两个方向上在所述自动化对话引擎系统和所述用户之间发送的消息;接受来自所述用户的输入消息,并且响应于所述输入而确定响应消息;从所述对话的所述消息检测匹配规则的触发事件;响应于检测到所述触发事件:向所述代理站提供所述对话的消息的复本;并且向所述代理站提供对所述自动化对话引擎的控制。
附图说明
图1是示出了联系中心系统的实施方案的图。
图2是示出了用于会话编排引擎系统的逻辑架构的实施方案的图。
图3是示出了用于对话引擎的系统架构的实施方案的图。
图4是示出了用于对话引擎的系统架构的实施方案的图。
图5是由会话编排引擎使用的行为树结构的示例。
图6是由会话编排引擎使用的行为树结构的示例。
图7是由会话编排引擎使用的行为树结构的示例。
图8是示出了意图、上下文和行为树之间的关系的实施方案的图。
图9是会话编排引擎的操作的流程图。
图10是支持联系中心系统的代理参与与用户的对话的流程图。
图11是用于管理联系中心系统和其用户之间的对话的方法的流程图。
图12A和图12B是示出了可在本发明的实施方案中采用的计算设备的实施方案的图。
具体实施方式
为了促进理解本发明原理的目的,现在将参考附图中示出的实施方案,并且将使用特定语言来描述这些实施方案。然而,应当理解,由此不旨在限制本发明的范围。如本发明所涉及的领域的技术人员通常会想到的,设想了所述实施方案中的任何改变和进一步修改,以及如本文所述的本发明原理的任何进一步应用。
在联系中心环境中,对话通常可能包括两方或更多方(例如,客户、代理和/或系统)之间的会话以解决问题、服务请求或以其他方式完成某一任务/实现某一目标。可通过多种媒体信道执行会话,诸如语音、聊天、台式计算机、web等(列举一些非限制性示例)。可使用引擎(例如,对话引擎)以理解每一轮对话的状态。轮可能包括从任一方到会话或交互的事件,诸如响应或问题。对话引擎可进一步用于控制通过系统采取的下一个动作,以将会话移动到联系中心或业务目标。对话引擎包括‘会话AI’,该会话AI还包括在自然语言、多模态媒体中通过与客户的交互进行上下文感知决策。操作可以多种方式与各方相关。例如,动作可通过用于对话的信道中的消息与客户相关。在另一个示例中,动作可通过直接向代理推荐响应与代理相关或间接作为代理的台式计算机上的教程技巧或其他辅助指南。在另一个示例中,动作可以信息请求或保留的执行的形式与系统相关。
会话AI(或会话人工智能)对联系中心和企业提出了若干挑战,包括不确定性、多模态、会话和复杂性。会话AI内使用的自然语言理解(NLU)是易错的,使得采用会话AI的系统是不确定的。例如,一方可在对话中采取主动(其不仅仅是直接对话),从而使得难以管理会话中的上下文。会话AI是多模式体验,并且不仅仅是简单的聊天机器人。交互需要在多方(包括客户、代理和系统,列举一些非限制性示例)之间编排。附加地,存在要考虑的许多会话信道(语音、数字等)以及需要与之集成的后端系统,诸如:交易性API、知识库、企业信息存储等。此外,交互需要是会话和自然声音。这通常意味着传达品牌的语音并且改编各方(客户和/或代理)的(客户和/或代理的)上下文。根据复杂性的角度来看,会话AI通常包括若干多步过程和编排客户的行程的域知识集成,以及使编排和行程发生的资源(代理和系统)。
为了处理对话中的模块化、分级的和分级可缩放行为,可使用行为树。对话的构建块以使得它们可被重新使用的方式并且还以交互被编排的方式构造并组装在一起。在一个实施方案中,编排是反应性的,从而允许不按顺序的执行和目标导向的执行(诸如例如追求任务)。行为树也适用于机器学习和自动化计划/优化。可实现‘空位填充’、多轮上下文管理和与后端系统的集成。如果需要,可通过在采取动作之前根据需要处理不按顺序的信息、过度告知和提示丢失信息来证明空位填充。通过意图跨多轮持续存在、空位跨多轮持续存在和上下文感知的空位切换来证明多轮上下文管理。后端系统通过用于自定义动作和API呼叫的插件并且使用用于变换数据(例如,将日期变成月份)以便更加优雅呈现的功能被集成。下文更详细地描述行为树及其在对话引擎内的使用。
联系中心系统
图1是示出大体以100指示的通信基础设施的实施方案的图。例如,图1示出了用于在提供联系中心服务时支持联系中心的系统。联系中心可以是业务或企业的内部设施,以用于在相对于通过企业可得的产品和服务执行销售和服务功能时服务于企业。在另一个方面,联系中心可由第三方服务提供方操作。在一个实施方案中,联系中心可作为混合系统操作,其中联系中心系统的一些部件被托管在联系中心楼宇处并且其他部件被远程托管(例如,在基于云的环境中)。联系中心可被部署在专用于企业或第三方服务提供方的装备上,和/或部署在远程计算环境中,诸如具有用于为多个企业支持多个联系中心的基础设施的私有或公共云环境。联系中心系统的各种部件也可分布在各种地理位置和计算环境中,并且不一定包含在单个位置、计算环境或甚至计算设备中。
大体以100指示的通信基础设施的部件包括:多个最终用户设备105A、105B、105C;通信网络110;交换机/媒体网关115;呼叫控制器120;交互式媒体响应(IMR)服务器125;路由服务器130;存储设备135;统计服务器140;包括工作仓146A、146B、146C的多个代理设备145A、145B、145C;多媒体/社交媒体服务器150;web服务器155;交互(iXn)服务器160;通用联系服务器(UCS)165;报告服务器170;媒体服务175,该媒体服务可包括媒体管理器和媒体实例;和会话编排引擎205。
在一个实施方案中,联系中心系统管理资源(例如,人员、计算机、电信装备等)以使得能够经由电话或其他通信机制递送服务。此类服务可取决于联系中心的类型而变化,并且其范围可从顾客服务到帮助台、紧急响应、远程营销、接订单等。
期望从联系中心接收服务的顾客、潜在顾客或其他最终用户(统称为顾客或最终用户)可经由最终用户设备105A、105B和105C(统称为105)发起到联系中心的入站通信(例如,电话呼叫、电子邮件、聊天等)。最终用户设备105中的每一者可以是本领域中常规的通信设备,诸如电话、无线电话、智能电话、个人计算机、电子平板电脑、膝上型电脑等(列举一些非限制性示例)。操作最终用户设备105的用户可发起、管理和响应于电话呼叫、电子邮件、聊天、文本消息、web浏览会话和其他多媒体交易。虽然为简单起见在100处示出了三个最终用户设备105,但可存在任何数量的最终用户设备。
来自和到达最终用户设备105的入站通信和出站通信可遍历网络110,这取决于正在使用的设备的类型。网络110可包括电话、蜂窝和/或数据服务的通信网络,并且还可包括专用或公共交换电话网络(PSTN)、局域网(LAN)、专用广域网(WAN)和/或公共WAN诸如互联网(列举非限制性示例)。网络110还可包括无线运营商网络,该无线运营商网络包括码分多址(CDMA)网络、全球移动通信系统(GSM)网络或本领域中常规的任何无线网络/技术,包括但不限于3G、4G、LTE等。
在一个实施方案中,联系中心系统包括耦接到网络110的交换机/媒体网关115以用于在最终用户和联系中心之间接收和传输电话呼叫。交换机/媒体网关115可包括电话交换机或通信交换机,其被配置为用作用于中心内的代理级别路由的中心交换机。交换机可以是硬件交换系统或经由软件实现的软交换机。例如,交换机115可包括自动呼叫分配器、专用交换分机(PBX)、基于IP的软件交换机和/或具有专用硬件和软件的任何其他交换机,该专用硬件和软件被配置为从客户接收互联网来源的交互和/或电话网络来源的交互,并且将那些交互路由到例如代理电话或通信设备。在该示例中,交换机/媒体网关通过例如在顾客的电话设备和代理电话设备之间建立连接来建立呼叫顾客和代理电话设备之间的语音路径/连接(未示出)。
在一个实施方案中,交换机耦接到呼叫控制器120,该呼叫控制器可例如用作交换机与联系中心的路由、监测和其他通信处理部件的其余部分之间的适配器或接口。呼叫控制器120可被配置为处理PSTN呼叫、VoIP呼叫等。例如,呼叫控制器120可被配置有用于与交换机/媒体网关和联系中心装备接合的计算机电话集成(CTI)软件。在一个实施方案中,呼叫控制器120可包括用于处理SIP呼叫的会话发起协议(SIP)服务器。呼叫控制器120还可提取关于顾客交互的数据,诸如呼叫者的电话号码(例如,自动号码识别(ANI)号码)、顾客的互联网协议(IP)地址或电子邮件地址,并且在处理交互时与系统100的其他部件通信。
在一个实施方案中,系统100还包括交互式媒体响应(IMR)服务器125。IMR服务器125也可被称为自助系统、虚拟助理等。IMR服务器125可类似于交互式语音响应(IVR)服务器,不同的是IMR服务器125不限于语音并且另外可覆盖各种媒体信道。在示出语音的示例中,IMR服务器125可被配置有IMR脚本以用于向客户查询其需求。例如,银行的联系中心可经由IMR脚本告知客户如果他们希望检索其账户余额,则“按下1”。通过与IMR服务器125继续交互,客户可以能够完成服务而无需与代理说话。IMR服务器125还可询问开放式问题,诸如“我怎样可以帮助您?”,并且客户可说出或以其他方式输入联系该联系中心的原因。路由服务器130可使用顾客的响应以将呼叫或通信路由到适当的联系中心资源。
如果要将通信路由到代理,则呼叫控制器120与路由服务器(也称为编排服务器)130交互以找到用于处理交互的适当代理。用于路由入站交互的适当代理的选择可基于例如路由服务器130所采用的路由策略,并且进一步基于有关例如由统计服务器140提供的代理可用性、技能和其他路由参数的信息。
在一个实施方案中,路由服务器130可查询顾客数据库,该顾客数据库存储关于现有客户端的信息,诸如联系信息、服务级别协议(SLA)要求、先前顾客联系的性质以及联系中心为解决任何顾客问题而采取的动作等。数据库可以是例如Cassandra或任何NoSQL数据库,并且可存储在大容量存储设备135中。数据库也可以是SQL数据库并且可由任何数据库管理系统管理,诸如Oracle、IBM DB2、Microsoft SQL服务器、Microsoft Access、PostgreSQL等(列举一些非限制性示例)。路由服务器130可经由ANI从顾客数据库查询顾客信息或查询由IMR服务器125收集的任何其他信息。
一旦适当代理被识别为可用于处理通信,就可在顾客与所识别代理的代理设备145A、145B和/或145C(统称为145)之间建立连接。虽然为简单起见在图1中示出了三个代理设备,但可存在任何数量的设备。关于顾客和/或顾客历史信息的所收集的信息也可被提供给代理设备,以帮助代理更好地为通信提供服务。就这一点而言,每个代理设备145可包括适于常规电话呼叫、VoIP呼叫等的电话。代理设备145还可包括用于与联系中心的一个或多个服务器通信并执行与联系中心操作相关联的数据处理,以及用于经由语音和其他多媒体通信机制与顾客进行交互的计算机。
联系中心系统100还可包括多媒体/社交媒体服务器150以用于参与除与最终用户设备105和/或web服务器155的语音交互之外的媒体交互。媒体交互可与例如电子邮件、语音邮件(通过电子邮件的语音邮件)、聊天、视频、文本消息收发、网络、社交媒体、共同浏览等相关。多媒体/社交媒体服务器150可采用本领域中常规的具有用于接收、处理和转发多媒体事件的专用硬件和软件的任何IP路由器的形式。
web服务器155可包括例如最终用户可订阅的各种已知社会交互站点(诸如Facebook、Twitter、Instagram等,列举几个非限制性示例)的社会交互站点主机。在一个实施方案中,尽管web服务器155被描绘为联系中心系统100的一部分,但web服务器也可由第三方提供和/或保持在联系中心楼宇之外。web服务器155还可为正由联系中心系统100支持的企业提供网页。最终用户可浏览网页并获取关于企业的产品和服务的信息。网页还可提供用于经由例如web聊天、语音呼叫、电子邮件、web实时通信(WebRTC)等来联系该联系中心的机制。
在一个实施方案中,除实时交互之外,还可将可延期的交互/活动路由到联系中心代理。可延期的交互或活动可包括后台工作或可离线执行的工作,诸如对电子邮件、信件的响应,参加训练,或不需要与顾客的实时通信的其他活动。交互(iXn)服务器160与路由服务器130进行交互以用于选择适当的代理来处理活动。一旦被分配给代理,活动就可被推送给代理,或者可作为要由代理完成的任务出现在代理的工作仓146A、146B、146C(统称146)中。代理的工作仓可经由本领域中常规的任何数据结构(诸如链接列表、阵列等)来实现。在一个实施方案中,工作仓146可例如保持在每个代理设备145的缓冲存储器中。
在一个实施方案中,大容量存储设备135可存储与代理数据(例如,代理配置文件、计划表等)、顾客数据(例如,顾客配置文件)、交互数据(例如,与顾客的每个交互的细节,包括但不限于:交互的原因、处置数据、等待时间、处理时间等)等相关的一个或多个数据库。在另一个实施方案中,一些数据(例如,顾客配置文件数据)可保持在托管于大容量存储设备135或其他地方的顾客关系管理(CRM)数据库中。大容量存储设备135可采用如本领域中常规的硬盘或磁盘阵列的形式。
在一个实施方案中,联系中心系统可包括通用联系服务器(UCS)165,其被配置为检索存储在CRM数据库中的信息并引导将信息存储在CRM数据库中。UCS 165还可被配置为有利于保持顾客偏好历史和交互历史,并且捕获和存储关于来自代理的评论、顾客通信历史等的数据。
联系中心系统还可包括报告服务器170,其被配置为根据由统计服务器140聚合的数据生成报告。此类报告可包括与资源状态有关的近实时报告或历史报告(诸如平均等待时间、放弃率、代理占用等)。报告可自动生成或响应于来自请求者(例如,代理/管理员、联系中心应用程序等)的特定请求而生成。
图1的各种服务器可各自包括执行计算机程序指令并且与用于执行本文所述的各种功能的其他系统部件进行交互的一个或多个处理器。计算机程序指令存储在使用标准存储器设备诸如随机存取存储器(RAM)来实现的存储器中。计算机程序指令还可存储在其他非暂态计算机可读介质(诸如CD-ROM、闪存驱动器等)中。虽然每个服务器的功能被描述为由特定服务器提供,但本领域的技术人员应当认识到,在不脱离本发明的实施方案的范围的情况下,各种服务器的功能可被组合或集成到单个服务器中,或者特定服务器的功能可分布在一个或多个其他服务器上。
在一个实施方案中,术语“交互”和“通信”可互换使用,并且通常是指使用任何通信通道的任何实时和非实时交互,包括但不限于电话呼叫(PSTN或VoIP呼叫)、电子邮件、语音邮件、视频、聊天、屏幕共享、文本消息、社交媒体消息、WebRTC呼叫等。
媒体服务175可提供音频和/或视频服务以支持联系中心特征,诸如IVR或IMR系统的提示(例如,音频文件的回放)、保持音乐、语音邮件/单方记录、多方记录(例如,音频和/或视频呼叫的多方记录)、语音识别、双音多频(DTMF)识别、传真、音频和视频转码、安全实时传输协议(SRTP)、音频会议、视频会议、教程(例如,支持教练收听顾客和代理之间的交互以及支持教练在顾客未听到评论的情况下向代理提供评论)、呼叫分析和关键字定位。
在一个实施方案中,会话编排引擎205使用AI机器人和会话服务来调解最终用户105A、105B、105C和代理145A、145B、145C之间的对话,以适当地引导对话并且对输入作出反应,如下文将进一步描述。在另一个实施方案中,会话编排引擎205还可以自助服务对话交互调解最终用户和机器人之间的对话(即终端用户在没有代理与交互相关联的情况下与机器人谈话)。
如上所述,联系中心可作为混合系统操作,其中一些或所有部件被远程托管,诸如在基于云的环境中。
会话编排引擎
图2是示出大体以200指示的用于会话编排引擎系统的逻辑架构的实施方案的图。在一个实施方案中,系统200可在联系中心系统100(图1)中采用。会话编排引擎系统200的部件包括:会话编排引擎205、语音信道210、语音信道连接器215、数字信道220、数字信道连接器225、语音网关230、实时抄写(TTS)服务235、语音到文本(ASR)服务240、机器人网关245、机器人250、知识库网关255、知识库260、API网关265、设备网关270和代理设备145。
客户105可与联系中心系统100通信,其中使用诸如语音信道210和数字(或视频)信道220的通信信道来实施会话编排引擎系统200。可类似地支持其他信道,诸如文本信道、web聊天信道和多媒体信道,并且使得能够与联系中心外部的方通信。
信道连接器215处理在会话编排引擎205和信道210、220之间的传入和传出信息流。信道连接器215可以是平台特定的或跨多个平台通用的(例如,用于Apple BusinessChat、Facebook的集线器)。
语音网关230提供对TTS服务235和ASR服务240的访问,使得语音数据可被转换成文本,反之亦然。联系中心的采用基于文本的输入和输出的其他部件因此可使用包含语音作为输入的音频数据,或者可将它们的输出转换成可识别的语音音频信号。在一个实施方案中,用于语音信道的TTS服务235可以是第三方。在一个实施方案中,用于语音信道的ASR服务235也可以是第三方。
机器人网关245提供用于一个或多个机器人250的连接,从而允许该一个或多个机器人与编排引擎205交互。
机器人250可以是第三方(例如,“Bring Your Own Bot”)或不可分割的(即内置到联系中心中使用的对话引擎中)。机器人知识(词汇集和动作集)包括域。域的元素还包括实体、空位、意图、话语、行为树、上下文和信道特定的具体实施。下文进一步描述这些的细节。
知识库260响应于查询提供内容。知识库可以是第三方知识库或不可分割的方案。中间服务(知识库网关255)用于允许基于对话的上下文搜索与在网关中登记的知识源联合。
会话编排引擎205充当导管,该导管响应于会话流而编排整个联系中心的动作。会话编排引擎205包括平台特定的服务和通用服务,这些服务也可并入对话引擎作为原生会话AI能力的一部分。会话编排引擎还可使用第三方系统,从而提供基于语音和文本的会话接口,像Google’sDialogflow或Amazon Lex。该会话编排引擎充当编排所有事件流的导管。会话编排引擎255取决于平台和目标部署模型(云、楼宇、混合)来结构化。具有该引擎提供了在几乎任何水平下维持通用上下文和仲裁动作的能力。
代理设备145(图1)包括接口,该接口容许联系中心代理参与与客户105的交互或会话,以及容许与其他代理、监督者和联系中心的自动化实体(诸如机器人250)的交互。中间服务(设备网关270)处理信息向代理的设备145的推送,并且服务从设备到会话编排引擎205的查询。
API网关265使得会话编排引擎205能够经由应用程序接口(包括内部和外部系统和服务)与广泛范围的其他系统和服务交互。
图3是示出了大体以300指示的用于对话引擎的系统架构的实施方案的图。在一个实施方案中,系统300可用于混合微服务架构中。对话引擎系统300的部件包括:对话引擎305、后台数据库服务310、存储数据库315、自然语言理解(NLU)服务320、互联网(或web)325、管理员程序330、设计者程序335、机器人340和分析员程序345。管理员程序330使得管理员能够通过经由web 325的UserAPI来控制对话引擎305内的用户管理。设计者程序335使得系统设计者能够通过连接到web 325的APIs创建机器人应用程序和机器人模型。NLU服务320可以是人工智能服务,其能够根据受过训练的语言模型接收和解释自然说出的语音数据。训练NLU模型,然后将其与机器人模型一起上载到存储数据库315。机器人340通过API输入对话。可能存在任意数量的机器人实例,诸如例如与用户的每一对话会话一个机器人。对话引擎305从存储数据库315下载机器人模型,并且可接着处理对话行为树,如下文更详细地描述。处理会话被上载到存储数据库315。Web 325包括训练模型的后台服务310。将受过训练的模式提供给存储数据库315以供对话引擎305使用。分析员程序345请求机器人性能和调谐的报告。对话引擎系统300被实施为会话编排引擎205内的部件(图2)。
图4是示出了大体以400指示的用于对话引擎的系统架构的实施方案的图。在一个实施方案中,系统400可用于云原生微服务架构中。对话引擎400的部件包括:设计者程序335、机器人340、分析员程序345、web325、链接到多个库410a-d的机器人集线器405、机器人服务415、机器人会话存储装置420、机器人分析存储装置425、机器人分析模块430以及提取、变换和负载(ETL)模块435。
将对话引擎305垂直地分成系统400内的三个服务(例如,机器人集线器405、机器人服务415和机器人分析模块430)允许每个服务被部署、升级并单独缩放以满足其自身的要求。例如,机器人服务415可能需要快速访问其会话存储装置。作为通用分布式存储器高速缓存系统的缓存系统(memcached)可放置在数据库存储装置的顶部上,以便通过在RAM中高速缓存数据和对象来加速数据访问,以减少必须读取数据库存储装置的次数。另外,机器人服务415通常需要响应于实时负载的快速可扩展性(上下)。相反,机器人分析430可能不需要实时处理并且可以批处理方式运行。机器人集线器405需要被高度安全、交易和良好版本控制。该机器人集线器也可需要全局访问。机器人集线器405充当用于机器人建模的前端和后端。用户能够拉动、保存和发布所有机器人设计伪影,并且跨来自库410a-d的项目重新使用这些机器人设计伪影。在部署期间,机器人服务415还可从机器人集线器405拉动域文件和受过训练的NLU模型。库410a-d包括web钩子库410a、自然语言理解(NLU)模型库410b、行为树库410c和机器人库410d。
机器人服务415实时提供现场机器人服务。机器人服务415能够与全信道多媒体集成,该全信道多媒体诸如语音、信使服务(例如,Facebook Messenger、Slack、Skype)、社交媒体(Twitter)。还提供实时监测,从而允许代理“闯入”。
机器人分析模块430提供机器人分析,这些机器人分析通过使用ETL模块435挖掘来自机器人会话存储装置420的过去的聊天抄本来深入了解联系中心的操作。来自机器人分析模块430的反馈,诸如无法成为解释的用户话语、出乎意料的用户意图、不良业务实践、不良动作、不良网络钩子请求等,可用于进一步改进机器人建模和存储425,以供其他部件(诸如机器人app库410d)使用。机器人实施行为树形式的操作以控制、引导或管理与联系中心的客户发生的会话。
通常,如先前所提及,机器人知识(例如,词汇集和动作集)包括域。域的元素还包括实体、空位、意图、话语、行为树、上下文和信道特定的具体实施。
实体可以是数据类型的另一名称。实体可被内置,像字符串和日期。它们可被定义为:“插件名称:de.entities.BuiltIn”。该字符串声明称为“名称”的实体由特定插件类别实施。实体可被预先登记为变得可访问。也可针对自定义实体指定路径。
空位包括实体的实例。空位可具有名称、实体,并且当空位填充时可具有使用提示。提示是由引擎生成的话语的示例,并且可用模板定义。
意图是分配给话语的语义标签。例如:
Figure BDA0003649303170000181
意图还可包括可用于确认行为的display_name。意图还包括用于自然语言文本的标签。
话语或提示包括由机器人生成的消息。可使用具有参数的模板来定义话语,这些参数从上下文填充或者在话语被选择时明确地传递。话语可包括另选的模板,从而允许对话的变化。并非所有模板都可具有相同参数。取决于上下文中的信息的量,变化也可以是优选的。例如,“I made a booking for you.Booking details sent to{{email}}”,and“Youare good to go{{name}}.Booking details sent to{{email}}”。
行为树
通常,行为树包括单根有向树,其中叶节点是条件或动作,并且中间节点对它们的子控制执行语义。行为树的执行从根开始,该根向其子发送具有某一频率的钩号。钩号是允许执行或评估子的启用信号。当评估条件节点时,其返回SUCCESS或FAILURE。当评估动作节点时,其返回SUCCESS或FAILURE或RUNNING。对每一轮的重新评估和RUNNING状态的使用的组合允许节点具有在多于一轮上运行的语义。当包括独立的行为时,这非常有用。以遍历、左边到右边、顶部到底部的前序从根中评估树。已经在复杂性变化的对话上发现行为树为高度表达的、简单的、模块化的、分层组成的并且适用于自动化合成。
行为树包括条件、动作、序列、节点(例如,回退、平行、分支、装饰器、存储器、动作等)、上下文。条件是具有快捷方式语法以指定意图作为条件的布尔函数。表达为意图的条件(例如,条件:buy_car)在逻辑上等同于以下暗示语义:top_intent()==buy_car andprob(buy_car)>=THRESHOLD。意图在原则上是概率性的,但在本文所述的实施方案中用作布尔。如果需要,这可驱动确认行为。条件的概念可被概括为包括返回SUCCESS或FAILURE的任何表达或功能。表达语法当前限于意图和功能。条件功能可被宣布为插件。例如,
插件greater_than:de.conditions.plugin
并且用作:
-condition:greater_than(age,18)
话语或提示包括动作的特殊案例。在一个实施方案中,动作是能够由对话呼叫的插件。动作可登记为:
Plugin weather_lookup:travel_bot.weather_lookup
Plugin calc_month:travel_bot.calculate_month
动作遵循具有名称implementation_class的实体插件的模式。在一个实施方案中,可提供预登记动作。域中的动作可由参数定义。
在行为树内,序列包括汇编在一起作为相继运行的语句。也可在行为树内应用多种流控制节点。不同类型的节点可能包括:选择器节点、回退节点、序列节点、并行节点、分支节点、存储器节点、装饰器节点等(列举一些非限制性示例)。
选择器节点通常可用于定义执行对可能的子节点的优先级,并且向行为树给予模块化和组成的特性。
回退节点用于找到和执行(或打钩)未失败的第一子,使得回退节点停止“打钩”以便返回SUCCESS的第一子节点(回退节点)和返回FAILURE的第一子节点(序列节点)上的后续子节点。当回退节点的子中的一个子返回SUCCESS或RUNNING时该回退节点将立即返回状态代码SUCCESS或RUNNING。子从左到右以重要性次序打钩。
在伪代码中,用于回退组成的算法可表示为:
Figure BDA0003649303170000191
Figure BDA0003649303170000201
序列节点用于找到和执行尚未成功的第一子。当序列节点的子中的一个子返回FAILURE或RUNNING时该序列节点将立即返回状态代码FAILURE或RUNNING。子以从左到右的次序打钩。
在伪代码中,用于序列组成的算法为:
Figure BDA0003649303170000202
并行节点是序列和回退节点之间的混合。并行节点将从左到右遍历节点,并且M个或N个节点必须接替节点以接替。在一个实施方案中,可使用这些节点,其中当机器人用于辅助代理时,多个更新模式在联系中心的代理台式计算机上同时可用。例如,到监督者的标志升级,对代理的所建议的行内响应、表面知识、跟踪和发布情绪等等。
分支节点实施if-then-else语义。分支节点解决行为树上形式的间隙,其中表达不方便:
if condition_clause
then then_action
else else_action
分支节点类似于:
-fallback:
-action condition_clause:then_action
-action not(condition_clause):else_action
分支节点可能示出为:
Figure BDA0003649303170000212
具体实施被描述为:
Figure BDA0003649303170000211
所有节点都是三值的。
存储器节点可用于通过允许它们的最后执行结果被高速缓存来避免重新评估,并且在节点成功时将被跳过。在下文的示例性表示中,用*注释存储器节点。这抑制了完成的子的重新评估。由此,打钩的执行一轮接一轮地得到序列的一部分。例如:
Figure BDA0003649303170000221
将通常预测高速缓存的结果对空位的值或所考虑的节点使用的变量的重新使用。这在输入数据均未改变时允许跳过节点,同时在用户明确地改变其中一个空位的值时允许重新评估。例如,可使用装饰器模式。如果变量x和y尚未改变,则使用x和y执行的动作可能需要跳过执行。memo()装饰器可用于包装动作(或任何节点)。例如:
-action memo(x,y):do_action(x,y)
装饰器被评估为对执行的保护,并且其状态针对上下文中的该精确node_id可在上下文中高速缓存。例如,使用没有引数的退化意味着装饰节点将一直最多一次地运行。这可能与问候一起使用,并且可容易地扩展到开启和关闭子树。
可容易地创建新的节点类型以扩展基于行为树的范例。例如,用于基于机器学习的对话的节点使用对话的示例(例如,问题答案对)或更详尽的“故事”来训练用于下一个最佳动作的策略。可能使用回退节点,其中执行次序由基于用于选择节点次序的机器学习算法来确定,这些节点次序以上下文依赖的方式最大化成功的机会,同时最小化轮数。此外,在一个实施方案中,类似项可能用于选择任何给定话语的另选话语消息以便优化某一结果,只要可捕获该结果。例如,当空位正确地填充有最小轮数时,任何空位填充行为都很好地完成。这可能会产生征求最佳响应的提示线。
图5示出了在联系中心中使用以管理当客户被放置成与联系中心通信时遇到的问候对话的简单行为树500的示例。
行为树500包括根节点505、‘欢迎消息’话语510、回退节点515、序列节点520、‘问候’条件节点525、‘utter_greeting’话语节点530和‘待机消息’话语节点535。
行为树的执行从根节点505开始,该根节点依次向其子中的每个子发送钩号,即“欢迎消息”话语节点510和回退节点515。在一个实施方案中,‘欢迎消息’话语节点被标记为运行一次,使得客户在首次连接时播放欢迎消息。欢迎消息可以是在正执行图5的行为树作为机器人服务的编排引擎205(图2)的控制下由IMR服务器125(图1)播放的记录消息。因此,图5所示的示例性行为树充当用于控制与客户的对话的流程图。
在‘欢迎消息’话语510的第一次执行之后,在每个周期上将钩号发送到回退节点515,该回退节点评估其子中的每个子以找到和执行未失败的第一子。子从左向右被依次打钩,即序列节点520和‘待机消息’节点535。
当序列节点520被打钩时,其尝试找到和执行尚未成功的第一子,即‘问候’条件节点525和‘utter_greeting’节点530。如前所述,当序列节点的子中的一个子返回FAILURE或RUNNING并且子以从左到右的次序被打钩时该序列节点将立即返回状态代码FAILURE或RUNNING。
如果代理自由地或即将变得自由地处理与客户的会话,则要播放自动化问候。因此,‘问候’条件节点525检查代理可用性以确定是否播放自动化问候。如果没有代理可用,则问候条件节点返回FAILURE,这导致序列节点520继而向回退节点515返回FAILURE。
因此,回退节点(该回退节点正执行以找到未失败的第一子)将钩号发送到‘待机消息’话语节点535,结果是待机消息被播放给客户。超时(未示出)通常将先于该消息的播放,使得在仍然没有代理空闲的情况下,时段在待机消息之间流逝。‘待机消息’话语节点返回RUNNING,这导致回退节点515也向根节点返回RUNNING。
系统继续评估回退节点,只要相同的条件保持,即没有代理是空闲的。一旦代理空闲,对下一个钩号上的‘问候’条件节点525的评估从FAILURE改变到SUCCESS。执行接着传递到‘utter_greeting’话语节点530,这继而返回成功。因为两个子节点已返回SUCCESS,所以序列节点520类似地返回SUCCESS,并且因此回退节点515还将向根节点505返回SUCCESS。
根节点505可终止执行,或者其可继续向其子发送钩号,该子继续返回相同状态,只要不改变任何材料。在图5的示例性行为树中,将不预期改变,因为‘待机消息’节点510使其标志保留为已经运行一次,并且‘问候’条件节点525和‘utter_greeting’话语节点530保持它们的SUCCESS状态,这继而意味着在每个钩号上序列节点520和回退节点515继续无限期地返回SUCCESS。
图6是行为树600的示例,其中相对于图5所示的示例添加更多功能,从而为联系中心提供完整对话管理系统的基础。在一个实施方案中,根节点605具有两个子,即启动节点610和分支节点615。
启动节点610本身是包含其自身的子并且在交互开始时定义期望功能的行为树。子未被示出,但是可通过在节点的图标的底部边缘处扩展“+”符号而向用户揭示从中捕获图6的接口。在该启动节点610下定义的行为树的功能可例如与图5根节点相同。
在一个实施方案中,分支节点615具有三个子:条件检查620、主循环行为树625和话语630。在分支节点的每次迭代时向条件检查620发送钩号,该钩号对会话状态值‘IsSessionEnded’执行检查,并且在会话仍持续时返回SUCCESS,并且在会话已结束时返回FAILURE。只要返回值为成功,则分支节点615将向主循环行为树625发送钩号。当从条件检查620返回FAILURE值时,分支节点615将会将执行传递到话语630,该话语通常将是“再见”消息。
主循环行为树625可具有以下任何编程功能,其中一些示例在下文描述。该主循环行为树将具有自身的子,其中至少一些子凭自身的因素通常将是完整的行为树。例如,在披萨订购联系中心中,可能存在处理或验证客户细节、送货地址等的树,处理个人披萨的订购的树,处理构建个人披萨的完成订单的树以及处理支付的树。
图7示出了行为树700的实施方案,该行为树与图6的行为树600相同,但区中启动行为树610和主循环行为树625两者都被扩展以示出下一级子。
在该实施方案中,启动行为树610提供比图5的功能更简单的功能,并且播放欢迎消息705,之后在动作节点710中将标志‘IsSessionEnded’的值设置为否。启动节点被标记为仅运行一次。诸如当检测到订单完成或查询回答以及客户没有另外的要求或问题时,可在整个行为树700的其他部分上设置对标志的另外的改变。
主循环行为树625的子是三个节点—‘bt_basics’715、‘bt_tasks’720和‘bt_offer_help’725—该主循环行为树自身是具有其自身功能和其自身子的行为树,图7中未示出。
‘bt_basics’树715可执行服务客户所需的初始服务,诸如验证客户身份、确定查询的性质、执行交互式媒体响应会话、确定所需的代理技能组和代理分配。
主循环行为树节点作为序列节点操作,该序列节点在其子中的任一子(从左到右依次轮询)返回RUNNING时返回RUNNING。因此,该主循环行为树节点将执行传递到‘bt_basics’树,该‘bt_basics’树维持RUNNING状态,直到确定执行已经完成为止,此时‘bt_basics’不再返回RUNNING。因此,在下一个钩号上,控制被传递到‘bt_tasks’树720。
‘bt_tasks’树720可定义用于代理或用于机器人执行多个潜在任务或场景的详细对话管理,其中适当的任务由客户的检测到的意图通过‘bt_basics’树715中的初始呼叫处理或通过根据另外的会话识别存在需要处理的附加或另选意图来确定。
当会话遇到引起‘bt_tasks’树内的任务失败的困难时,调用‘bt_offer_help’树725。因此例如,如果客户要求对监督者或人类代理说话,或者如果无法理解客户的响应,或者如果检测到‘bt_tasks’树720内不存在所定义的对话的意图,则‘bt_tasks’树可返回FAILURE,并且执行传递到‘bt_offer_help’树,该树可使用人类或自动化装置来解决检测到的困难。
捕获装饰器730设置在主循环行为树上,该主循环行为树检测到异常已经被抛到不存在良好表现的异常的子树中的任何子树内,并且可例如使交互被重启或根据已经建立的值、意图和会话历史返回到其子节点内的任何给定点。
上下文可在行为树内用于:行为树执行的状态(其中节点具有存储器);主动空位和意图;候选空位和意图;打钩意图;通过限制预期空位、值和意图来增强NLU;子意图;继续意图;传递到节点中的状态;等等。上下文可能实际上包括在任何给定时间主动用于对话的空位和意图的集合。已经获得的对信息的了解和记忆对于自然语言语句是重要的。例如,
System:..The Grand Hotel is 99Euro per night,and has 3stars
Customer:Does it have a pool?
System:..Yes,the Grand Hotel has a 25m lap lane swimming pool.
当前酒店为“Grand Hotel”的上下文允许后续问题,其中为了理解起见引用通过“其”来暗示。考虑意图和识别短语的以下示例:
Figure BDA0003649303170000261
该意图声明允许模式识别聚焦于非常特定的模式,这些模式可得到可接着以上下文依赖的方式解释的值以解析共参考分辨率。存储器空位还可跨多轮提供上下文的另一个示例。在下文示例中,城市是已知的。查询的日期已改变。但系统已经保留了这是天气查询的上下文。
Customer:..What is the temperature in Paris in September
System:..The average temperature in Paris in September is 22degrees
Customer:..How about October
System:..The average temperature in Paris in October is 17degrees
空位值在被设置时必须跨多轮被保留,并且一些意图必须跨多轮被保留,而其他意图不被保留。
可定义上下文。例如:
上下文任务:
意图:
-ask_temperature
-book_hotel
-book_car
上下文名称在以上示例中称为‘任务’。其引用一组相互排斥的意图。图8例如是示出了大体以800指示的意图、上下文和行为树之间的关系的实施方案的图。图5描绘了与命名上下文805相关的意图以及如何经由具有意图的条件节点825将这些意图链接到行为树820中的演示。当NLU检测到任务上下文上的意图810a-c(例如,预定汽车810a、预定酒店810b、查询天气810c,列举一些非限制性示例)时,如果已经不存在任何值,则对话引擎将设置context[task]=‘Book Car’。分配由于已经被自动存储而因此跨多轮被保留。在后续轮中,例如,如果客户告知城市位置或询问价格,则保留context[tasks]的意图。这通过简单地指定关于意图的条件825来在行为树820中使用。例如,条件:book_car。
对话引擎还跟踪主动上下文。存在一个插件(is_active),该插件列出上下文的列表,并且在所有上下文有效时返回True,否则返回False。如果意图已经被分配给上下文,并且从相同的上下文检测到新的意图,则该意图被跟踪为context_switch,该context_switch可经由对话通过询问用户以阐明他们希望如何处理切换,或者简单地将策略写入行为树来识别和仲裁。上下文切换被提供为接受位置引数的条件。例如,
-context_switch():#True if any context switch found
-context_switch(c1):#True if any context switch for context cl
-context_switch(cl,il):#True if any context switch on cl from il
默认情况下,在下一个事件上清除一轮的所有context_switches,而不影响系统状态。然而,提供行为以处理上下文切换,并且对话提供intent_backlog的堆栈表示。条件可用于检查是否存在待办意图:has_backlog。
用于处理上下文切换的关键动作可能包括:push_intent(intent);intent–pop_intent();subsume_intent(intent_1,intent_2);set_intent(intent);clear_intent(intent);和ctx,from,to=pop_context_switch()。‘push_intent(intent)’将意图放在堆栈上供以后用。‘intent–pop_intent()’弹出堆栈的意图,如果可用。如果堆栈上没有意图,则这将失败。‘subsume_intent(intent_1,intent_2)’在堆叠上推送intent_1,并且将intent_2设置为主动意图。‘set_intent(intent)’设置上下文的意图分配。也将其从待办中移除。‘clear_intent(intent)’清除上下文的意图分配。‘ctx,from,to=pop_context_switch()’动作将从堆栈(在单轮上累积)弹出最新的上下文切换,并且返回其参数:上下文,其从中切换的意图,以及其将切换到的意图。例如,当检测到任何上下文切换时,系统会弹出,并且执行当前上下文的替换。新的意图将现状归入该示例中:
-sequence context_switch():
-action:context,from,to=pop_context_switch()
-action:subsume_intent(from,to)
在另一个示例中,系统注意特定上下文切换(从i1到i2)并且将其存储以供稍后执行。最后,系统可能检测到存在来自模型将其存储供以后用的先前上下文切换的意图的待办。以下示例在检测到待办时可能被执行,并且将意图从堆栈中弹出并将其设置为:
-sequence has_backlog:
-action:intent=pop_intent()
-action:set_intent(intent)
下文进一步描述的图9提供了示出对新的意图和上下文切换的处理的附加细节的实施方案。在一个实施方案中,可在具体媒体信道中实施行为树。例如,通过语音信道订购披萨需要多轮会话以指定披萨大小、配料、饼底等。可取决于实现相同目标所需的信道而采用不同路径和交互。这可能通过将订购披萨的过程分解为指定披萨和披萨的支付方式来完成。如果使用了媒体丰富信道(像web聊天),则存在推送‘小程序’的可能性,该小程序允许用户在最终提交请求之前以交互式方式指定订购披萨所需的所有事物。
在对话引擎内,可实施具体信道,包括聊天、语音、代理台式计算机和web。例如,在聊天信道中,具体实施将是基于文本的)。语音通常是基于电话的,但也可源自浏览器或设备像Alexa。在代理台式计算机中,用途是用于向人类代理提示潜在内容以发送到客户(例如,FAQ项目、用于对客户执行客户识别和验证(ID&V)的会话子对话等)。以下示例可适用于语音和聊天。
在一个实施方案中,用于捕获意图、空位和执行成功后端查找的简单的使用案例可以是:
User:Hi,I’d like to check the balance for phone number016360028please.(Here,the system detects intent(balance_inquiry)and a slot(phone_number)
System:Balance inquiry!What’s the last 4digits of the account number?
User:1234
System:..Thanks.(The system calls the back end service to validatethe phone and account number details.The intent is marked as ‘done’at thispoint).Your current balance is$42.50and is due on 29th August.Anything else Ican help with?
User:..No thanks.
在另一个实施方案中,示出了用于处理后端查找的用户案例。在后端请求揭示某一信息无效之后,系统必须再次从用户询问该信息,从而证明需要在对话定义中循环。
User:Hi,I want to check my balance.(Here,the system detects intent(balance_inquiry),so asks for remaining slots).
System:Balance inquiry!What’s the phone number?
User:016360028
System:And the last 4digits of the account number?
User:9999
System:Thanks.(The system calls the back end service to validate thephone and account number details–in this case,the details are invalid.Itcould be that the system heard the details incorrectly and didn’t confirmthem,or that the user provided the wrong values in the first place).I’msorry,those details don’t match.Can you please provide them again?What’s thephone number?
User:016360028and the account number is 1234.
System:Thanks.(The system calls the same back end service to validatethe new phone and account number details.)Your current balance is$42.50and isdue on 29th August.Anything else I can help with?
编码在行为树中可能看起来像这样:
Figure BDA0003649303170000301
Figure BDA0003649303170000311
在又一个实施方案中,继续紧邻之前的同一会话,用户表达新的相关意图,该意图的措词(为何如此之高?”)仅在先前完成的意图(balance_inquiry)的上下文中有意义:
System:Your current balance is$42.50and is due on 29th August.Anythingelse I can help with?
User:Why is it so high?(here,the system detects intent(balance_why_so_high).
“Balance_inquiry”将是上下文,并且可能跨若干轮持续。除非清除,否则其将保持主动上下文。可存在不会跨轮保留的另一个意图。例如,可存在针对该意图的识别短语为:
intent balance_why_so_high?
why is it so high?
why is my account balance so high?
逻辑可被捕获为:
Figure BDA0003649303170000312
Figure BDA0003649303170000321
以上是在上下文内使用意图的示例。其他示例可能暗示真实的后续,其中系统采取主动,诸如提供金融条款或特殊的低利率透支限额。这可能在处理初始查询之后被触发。余额信息和账户ID仍然存在,并且在该意义上的后继行为可通过简单地调用子树来触发。这类似于以上引用以触发代理升级。
在另一个实施方案中,可能引入装饰器节点以用于处理确认。
User:..I’m going to make a payment tomorrow at the post office.(TheSystem detects intent(promise_to_pay)and slots (location=post_office,date=tomorrow))
System:..Your current balance is$99.How much are you going to pay?
User:..The full amount.
System:..So,to confirm,you’re going to pay the full balance of$99atthe post office tomorrow,is that correct?
User:..Wait,Actually,I’ll pay$80.(Note the slightly differentconfirmation prompt,now that the user is no longer paying the full amount.)
System:..So,to confirm,you’re going to pay$80at the post officetomorrow,is that correct?
User:..Yes.(The system calls a webhook/script to record the “promiseto pay”).
这具有调用下层动作的语义,并且如果成功,则在该时间针对输入值高速缓存该下层动作的执行状态。下文对此的编码示出了如何识别短语如何包括空位,使得可发生空位分配。如果发生空位分配,则确认节点将检查其高速缓存。如果对下层输入的输入的值出于任何原因而改变,则必须再次进行确认。
Figure BDA0003649303170000322
Figure BDA0003649303170000331
在处理异步动作的一个实施方案中,系统启动将要需要一段时间的后端任务/脚本。同时,用户可进行上下文切换,如果他们想的话。这种示例可与并行节点一起处理以允许两者都运行。例如:
User:..I’m going to make a payment of$100tomorrow at the post office.(the system detects intent(promise_to_pay)and slots (location=post_office,date=tomorrow,amount=$100)
System:..So,to confirm,you’re going to pay$100at the post officetomorrow,is that correct?
User:..Yes.(System kicks off a webhood/script to record the“promiseto pay”).
System:..Just a moment please while I process that.(Time passes.Hereeither full duplex communication may occur between the client and the DialogEngine,or the client keeps polling the DialogEngine every few seconds).Thanksfor waiting,shouldn’t be much longer.
User:..Can you send me a reminder next month when my bill is due?(System detects potential new intent(setup_bill_reminder).
System:..Do you want to setup a bill reminder now?We can come back tothe payment when you’re finished.(If the user says“do it later”,the intentmay be stored in the backlog so it may be proposed again when the payment isdone).
User:..Yes Please.(the system puts current intent(promise_to_pay)onthe backlog and sets the current intent to setup_bill_reminder).
System:..Do you want a reminder by email,SMS,or both?
User:..Email is fine(System kicks off a webhook/script to setup thereminder).
System:..I’ll set that up for you now.Won’t be a moment....(Timepasses).OK,that’s all set up.You’ll get an email and an SMS message a fewdays before your net bill is due.
编码可能看起来像这样:
Figure BDA0003649303170000341
在另一个实施方案中,可使用装饰器执行来自意图的与填充到子树的空位的映射。例如:
Figure BDA0003649303170000342
树将确认所触发的意图,接着根据需要执行空位填充,然后移动到聚焦于响应的动作中。在压缩版本中,存在确认所触发的意图并且填充为所需输入的空位的语义。
Figure BDA0003649303170000343
在另一个实施方案中,可能存在复杂的问题。例如,航空系统可能要求处理以下项:登录问题、行李问题、航班状态查询、特殊膳食请求、座椅升级和FAQ搜索。该域的起始点是每个任务的一组基础意图,以及根树的总体菜单结构。每个主要任务是最高级的分支。主要意图可映射到子树以处理细节。
Figure BDA0003649303170000351
也可应用围绕主菜单的包装器。启动行为在机器人的使用寿命中仅应运行一次。这是使用memo()实现的。在该示例中:
behavior_tree bt_startup:
#Run this once on startup
-action:say(“Welcome to airline support”)
-action:say(“We can help you with a range of support queries”)
-action:say(“How may we help?”)
通用会话处理可用作最高级行为的一部分。这在每一轮重新评估。例如:
Figure BDA0003649303170000352
Figure BDA0003649303170000361
主菜单结构(回退节点)用捕获装饰器包装。在更低水平中提高并且未被捕获的任何异常将触发失败并且导致回退到错误处理程序。捕获所有错误处理行为仅仅重置状态并且通报重启:
-Sequence:
-action:reset_state
-action:say(“Starting Over”)
子树也可映射到简单的调试语句。例如:
behavior_tree bt_lost_bags:
-Action:say(Lost_Bags)
下文是用于处理登录问题的行为树的另一示例:
behavior_tree bt_login_problem:
-sequence*:
Figure BDA0003649303170000371
还存在可提供代理转移的选项的若干点。下文的行为树指定该行为。这可用重试循环包装。在另一个实施方案中,中止行为也可用作关闭会话和引发异常的回退。代理转让的具体实施使用标准对话动作(意图)来捕获肯定和否定。这些是由识别短语定义的。将此抽象化成意图使得其是语言无关的并且对表达差异鲁棒。
Figure BDA0003649303170000372
Figure BDA0003649303170000381
对话引擎内的行为树的使用的一些示例可包括在通过语音和数字信道与客户的实时交互中对代理的AI支持。示例可能是为追债或客户流失预防提供实时销售教程。
在一个实施方案中,可存在自助服务和代理服务的共混交互。客户具有银行账户。客户最近得到了一笔钱,并且将合计$30,000存到他们的活期账户。在存款帐户中具有显著过量的资金是银行增加一定价值并且向客户提供特殊储蓄帐户的极好机会。客户现在适应这种客户的简档,因为他在他的活期账户中的月度支出超过5次(或某一其他阈值)。银行将看到标志,并且可将客户添加到活动中,诸如用于储蓄帐户或者可以是特殊抵押贷款利率。客户可被发送一系列认购书作为他们与他们的银行的月度通信的一部分。在该示例中,客户不会采取来自电子邮件的动作,并且在电子邮件通信后几天登录他们的账户。在该场景中名为Jack的客户被推送主动网络,该主动网络可能看起来像这样:
Bot:Hi Jack,I’m your Virtual Assistant.We’ve noticed you have quite alot of cash in your checking account.If you don’t have immediate plans forthose funds,then maybe we can help you get a better return.Would that be ofinterest to you?
Jack:Maybe.What kind of return?
Bot:Our savings products offer up to 4.1%annual return depending onamounts and timescales.
Jack:What do you mean by timescales?
Bot:If you commit to leave the money with us for a minimum of6months,it helps us get you a better rate for example.Does that make sense?
Jack:Oh ok.
这里,没有来自客户的进一步响应。在某一时间阈值经过之后,可触发机器人以继续与客户的交互。
Bot:Is that something you’d like to explore?I can check if one of myhuman colleagues is available if you’d prefer?
Jack:How much would I earn if I put$20,000away for 3months?
Bot:Checking……We can get you an annualized rate of 3.8%if youcommit to 3months.Your total interest earned would be $156.27.That’s betterthan the$0.23you’ll earn in your checking account;-).Is that interesting toyou?
Jack:HUMAN.
Bot:Thank you,Jack.I’m checking if one of my human colleagues isavailable…The wait time is about 4minutes.Can you wait or can I ask someoneto call you back?
Jack:Have them call me.
Bot:I have 555.555.5555as your preferred contact number.Is this thebest number?
Jack:Yes.
Bot:Great.And shall they call you as soon as possible?
Jack:After 4:30pm.
Bot:Ok.Someone will be in touch after 4:30pm.Is there anything else Ican help you with?
Jack:No.Thanks.
Bot:Ok.Have a great day!
这里,交互的自助服务方面已结束。三小时后,联系中心中的名为Jill的代理被路由回叫请求。机器人会话的抄本可供用于Jill以及jack的关键客户关系管理数据以及尊重他的隐私但也向Jill提供她所需的信息的适当的财务汇总。Jill向Jack拨打电话。会话看起来像这样:
Jack:Hello?
Jill:Mr.Brown?My name is Jill and I’m calling from Bank to follow upon your savings inquiry.
Jack:Oh-hi yes.
Jill:I see you have quite a lot of cash resting in your checkingaccount–are you interested in putting some of that to work for you?
Jack:Yes–if I can get a good rate.
这里,代理辅助方面由术语“优良利率”触发。Jill将看到她台式计算机上的教程以帮助她具有成功的交互。
Jill:We do have some incredibly competitive rates if you can committo a fixed term deposit of 6months or more?I see your initial inquiry was for3months.
Jack:I’m a bit worried about locking in for 6months.What would happenif I needed to get money out sooner?
针对Jill的另一个触发在这里以代理辅助方面发生:“从固定合同提前取款怎么样”出现在她的台式计算机上。Jill能够引用此以获得信息。
Jill:It is always possible to withdraw early but there would bepenalties that would reduce the amount earned.However,you’ll never end upwith less than your original deposit.If you think you will need the moneybefore 6months,then best not to do it.If you are just worried in case of anemergency,then you do have the option to get your money back out.
Jack:Oh ok.So what’s the rate for 6months?
这里以利率查询触发代理辅助。
Jill:The annualized rate is 4.1%for amounts between$10,000to$30,000and 3.8%for amounts more than$30,000.
Jack:So what would 20k for 6months get me?
这里以利率查询再次触发代理辅助。
Jill:That would earn you about$390.It will be a bit less than halfbecause interest is calculated daily.What do you think?Get some return onthat cash?
Jack:Yeah–sounds like a plan.
Jill:Great–I will send you through an email with the details on howto set it up.Is there anything else I can help you with today Mr.Brown?
Jack:No.All good.Thanks.
Jill:You’re welcome.Have a great day.
然后,Jack将接收具有如何回复的详细信息的电子邮件。他之后经由网上银行功能如此做。因此,Jack不再被标志为在该活动上,并且他不再接收关于特殊储蓄账户利率的任何更多推广。在该示例中,机器人正监测交互并且搜索关键词。代理正接收候选知识文章,这些候选知识文章在它们的工作站处与代理的用户接口中的交互高度相关。在客户正浏览网站但未与代理连接的自助服务场景中,可向客户提供聊天。客户在讨论中与机器人直接交互。机器人可从Q/A对的仓储知识库拉出,以便引导会话并且协助客户。
稍后描述的图10提供了关于将知识库文章推送给代理的方法的附加的细节,其中来自客户的新的输入(如上所述)确定来自知识库的更高优先级匹配,以替换或补充已经推送给代理的早期文章。
共混代理和机器人交互的另一个示例可采取由代理俯瞰的机器人的形式,其中代理工作站设置有允许代理监测机器人和客户之间的会话并且控制由机器人提供的输出和响应的接口。虽然这可以是以始终在线的方式提供给代理的广义能力(充当机器人监督者的代理,并且潜在地负责监测若干机器人实例和会话),但是可能有利的是使机器人默认自主地作用,其中代理监督和控制在具体实例中触发。
例如,机器人可从其与客户的对话中检测到触发事件,诸如确定是否存在具体关键字、上下文或意图,或者情感/情绪度量是否超出阈值,或者客户是否提高她的语音(检测为音量或音调的改变),或者是否不能理解客户的输入或者无法用足够高的置信度水平规划令人满意的响应。任何此类触发事件可使通知发送到代理工作站,该代理工作站提供允许代理监测交互并且审查先前会话历史的图形接口。接口可向代理提供对机器人的操作的查看,诸如通过显示机器人已规划的潜在响应的列表,并且允许代理选择哪一响应是最适当的。机器人可能继续照常自主地交互,或者以其响应时间与短延迟交互,以实现下一个响应的代理覆盖。另选地,机器人可能(取决于触发事件及其严重程度)在其交互中暂停以等待代理输入,使得其完全处于代理控制下,直到会话终止或代理决定将自主性手动反向为止。稍后描述的图1提供了关于该形式的共混交互可如何通过代理用机器人监督来实施的另外的细节。
在另一个示例中,行为树可能用于估评学生水平以用于在线课程登入。再次以Jack为例,他可能会为他的儿子Junior寻找课外教育课程。Jack正浏览ABC学习中心的课外教育网站。他正在尝试找到针对Junior来说正确的课程,但不是相当确保哪一水平是合适的。ABC学习中心的网站使用本文所述的实施方案可观察Jack的在线活动并且识别意图和相关科目。系统确定时间对于使Jack参与与代理的web聊天是正确的,然而,所有代理当前正忙。Jack可与此同时与聊天机器人(服务机器人)接洽。聊天机器人暗示,Jack让Junior与来自他的iPad的另一个机器人(测试机器人)交谈。该测试机器人可评估Junior的技能水平。向Junior的电子邮件发送唯一链接。同时,服务机器人暗示Jack继续浏览网站,直到代理变得可用为止。如果他有任何问题,他可询问服务机器人。当代理变得可用时,测试机器人已完成与Junior的谈话,并且带回结果。利用手边所有信息,对于Jack进行决策变得直截了当的。代理提供数个额外的细节,并且可完成登入。Jack和Junior的信息被存储以供未来使用。
在该示例中,行为树(BT)会话可由应用程序或另一个BT会话创建。在后一种情况下,创建子会话的会话被称为母会话。对于Jack正在进行的ABC学习中心客户行程,ABC行程会话由在网站上运行的预测参与服务创建。服务机器人会话由ABC行程会话创建,并且测试机器人会话由服务机器人会话创建。服务机器人会话创建测试机器人会话,该测试机器人会话在其初始上下文中将参数(‘subject’)传递到子会话。例如,‘-action:student_level=run_bt(test_bot,subject=math)’。在测试机器人完成(或未能完成)其任务之前,该动作节点返回RUNNING状态。尽管仍在RUNNING状态下,但随机字符串‘session_id’保持在服务机器人上下文中,从而允许相同的‘run_bt()’动作来查询子会话状态(例如,测试未开始、完成了70%等)。run_bt()在内部由具有测试机器人会话Id的更重引擎处理。如果尚未开始子会话,则对话引擎立即返回’未开始’。如果已经运行,则系统事件‘query_child_status’将被发送到子行为树,并且任选地获得更精确的状态。‘run_bt()’在父BT输出中添加子会话状态。
当子会话完成其任务时(测试机器人完成技能估评),则会话终止。对话引擎收集从子BT上下文账户到run_bt()签名的相关状态(在情况‘sucure_levels’中),并且为父BT生成另一个系统事件‘post-child_status’。这导致run_bt()返回SUCCESS并且设置‘student_level’空位。FAILURE的情况是类似的。
动作‘run_bt()’创建准备执行的新BT会话。子BT‘session_id’将在输出中被返回给父BT。如果需要从另一个设备执行新BT会话,则也可使用变型。例如,‘-action:student_level=run_bt_from_email(test_bot,email=student_email,subject=math)。包含测试机器人BT会话ID的对话引擎服务的URL将被发送到学生(或在上述情况下,Junior)的电子邮件地址。
在一个实施方案中,如果子BT会话具有比父BT会话更长的寿命,则对话引擎可将结果(student_level_)传播到其最接近的上代。
在另一个实施方案中,ABC学习中心网站可能具有来自Jack对该网站拥有的账户的关于Jack的信息,从而在创建服务机器人时提供预填充空位。服务机器人还可带回对行程服务有价值的各种信息。可能使用变型,诸如:‘-action:run_bt(service_bot,input=dict,output=dict)’。对话引擎可根据输入和输出词典映射ABC行程上下文和服务机器人上下文之间的空位名称。
在另一个实施方案中,代理助手技术可能用于员工入职培训。例如,当员工在联系中心从事新的职位时,前几天和前几周可能是有压力的。存在统计上高的客户流失可能性。员工(或代理)需要使自身熟悉系统和过程,并且公司正提供的产品/服务需要支持。机器人可在这里从第一天开始用作代理的系统指南。
在另一个实施方案中,员工可能没有时间来点进职员管理系统或过程以进行所请求的调整。助手可与职员管理平台交互以理解何时可进行改变,诸如识别员工何时可能能够早退或者他们何时可能弥补时间。这可使用预先构建的规则来完成,这些规则自动批准改变,而无需点击工作流程。在职员管理的另一个实例中,可能通过使助手直接导航员工的超时来管理超时,包括促进请求以及处理对日程的改变。
在另一个实施方案中,可获得员工反馈。例如,助手可能监测代理和客户的交互。这些交互可与类似类型的标准交互进行比较。如果出现问题,可能向代理提示对该交互类型的反馈,以用于预测路由和教程程序。助手还可能理解先前交互中发生的问题,并且基于员工反馈来分配教程和开发材料以改进代理。这些可在下一个交互之后或在指定时间自动路由到代理。
在另一个实施方案中,机器人还可能用于通过自动完成交互之后的一致的任务来自动化员工交互总结(例如,总结代码,以断码自动定位员工、抄写笔记等)。
在又一个实施方案中,员工可能奋力记住每场活动或消耗关于客户的每一条信息。助手可通过充分利用行程分析来快得多地处理信息并且揭开隐藏细节。机器人可建议客户在行程中的位置和下一个最佳步骤可能是什么。例如,机器人可能向代理提供关于Jane的信息,像:“她上周来电并且对结果不满。即使Jane是活动目标,但她的NPS非常低。来聚焦于她的问题。记住提醒Jane她能够在这里在线访问该信息,其中可提供链接。可提供其他信息。例如:“上周,Jane在我们的网站上查看了我们的新信用卡,记住谈论关于‘产品’。已选择Jane给予其4%折扣。她也具有一个儿子Rick,您可能想要与她交谈关于也为她开启账户”。
在另一个实施方案中,机器人可能用于过程合规性。例如,员工有时无法在交互期间完成合规性要求。助手可收听交互并且跟踪其状态以确保脚本和过程符合该交互。
在又一个实施方案中,助手可在多天或多个时间段内跟踪代理的行为。助手可提示员工聚焦于关键区域,诸如“昨天我们的处理与往常相比稍高,今天重心在此”或“我们在昨天的行为表上排第3”。
图9是用于管理采用意图检测和上下文切换的联系中心中的对话的方法的实施方案的流程图900的示例。在步骤905中,开始与联系中心的用户的对话。对话可以是与联系中心的自动化系统,或者经由代理的通信设备诸如工作站和/或语音或视频电话装置与代理。系统接收来自对话的输入并且设置意图,步骤910,并且执行根行为树915以管理对话,该树具有依次执行的至少一个第一级行为树,步骤920。行为树诸如通过提供输出来管理对话,这些输出导致经由自动化组件向用户生成适当的响应或导致向代理工作站提供适当的提示,步骤925。其他输出可能包括其他代理、监督者或服务中的会议;将通信切换到联系中心的另一部件或服务;打开与用户的新的通信信道;执行与用户的交易;向用户提供媒体,等等。
在步骤930中,在来自对话的输入中检测数据模式,这些输入被确定为指示新的意图,即需要执行行为树的当前执行状态当前未设想或迎合的动作或任务。在另一个实施方案中,可确定是否存在任何待办。如果会话仍在进行,则过程可回环到910,然而,如果不发生会话,则过程可在停止930处结束。
在步骤935中,响应于新检测到的意图而更改执行序列。这可立即发生或可被延期,诸如通过在堆叠中记录意图,然后在完成当前任务时,根据堆栈中的下一个意图来切换执行。在步骤940中,与所更改的执行序列一致的新的动作被输出到联系中心的部件,该部件可与动作先前被输出到的部件相同或不同,结果是与用户的通信适于迎合并响应新的意图。
图10是支持联系中心系统的代理参与与用户的对话的方法的流程图1000。在步骤1005中,开始联系中心的用户和联系中心代理之间的对话。系统接收来自对话的输入,步骤1010,并且通过将这些输入与知识库匹配来连续解释输入。当检测到与知识库中的条目的匹配时,步骤1015,这指示该代理可由知识库条目或文章辅助。因此,在步骤1020中,检索匹配条目,并且在步骤1025中将条目推送给代理工作站。将了解,取决于系统如何实施并且取决于所检测的匹配的数目和相关性以及根据以要将知识库条目提供给代理的业务规则(诸如例如是否存在会话在具体方向上被驱动的当前推广或活动优先化),可向代理站提供多于一个知识库条目。知识库条目可以简明形式呈现,以允许代理容易地感知内容和彼此的相关性,诸如通过向代理显示知识库标题的列表,以及可能是代理可据此理解其中该代理已经被选择用于呈现的上下文的条目的片段。
随着会话继续,系统继续基于上下文中的新的输入和输入聚集来查看与知识库条目的匹配。在步骤1030中,系统检测与更高优先级知识库条目(或多个条目)的进一步匹配。在步骤1035中,将更高优先级条目推送给代理站。该更高优先级可根据内置到知识库中的优先级评级来确定,或者可根据会话的进展和客户的详情随优先级而动态地确定。作为示例,一旦代理已经访问或丢失已经呈现的知识库条目(两者都指示代理不再进一步用于条目,就可减少该已经呈现的知识库条目的优先级。可根据典型交互的预期进展来将优先级分等级,例如,接近会话开始更高优先级可被给予更多的解释各种认购书的一般信息,而稍后在会话中更高优先级可被给予有助于成交的条目。作为另一个示例,在PC制造商的技术支持联系中心中,检查对具体设备驱动器的更新的建议可能在初始交换期间以非常低的水平优先化,但其优先级可能随着交谈发展而逐渐增加,并且更早的诊断步骤使设备驱动器更可能是问题的原因。
图11是用于管理联系中心系统和其用户之间的对话的方法的流程图1100。在步骤1105中,开始联系中心的用户和联系中心的自动化对话引擎之间的对话。系统接收来自对话的输入,步骤1110,并且在其正常操作模式下将自主地提供对用户的响应。响应的自动化和输入的解释可如本文先前所述—或使用任何其他合适的系统来实施以实现与联系中心客户或用户的自动化交互。
除了提供对输入的自动化响应之外,系统还维持定义触发事件的一组规则。触发事件的一些非限制性示例将包括:确定一个或多个输入消息中的关键字;确定一个或多个输入消息中的观点;确定说话音量或音调的改变;确定无法恰当地解释输入消息;确定响应于输入消息无法确定响应消息;确定与潜在响应消息相关联的置信度水平低于预先确定的阈值;确定一个或多个输入消息与代理干预已被定义为强制的主题相关;确定一个或多个输入消息与代理干预已被定义为优选的主题相关;并且确定所述联系中心的所述用户已请求代理干预。在步骤1115中,检测到触发事件匹配这种规则。
在检测到触发事件之后,系统将警报推送给代理站,步骤1120。这可合适地是指定为机器人监督者的代理。代理可监督或负责若干机器人-客户交互(单独地或作为机器人监督者池的一部分)。在存在负责机器人监督的若干代理的情况下,可将警报推送给代理中的所选择的代理或允许它们中的任何代理处理警报的所有代理。
在步骤1125中,代理通过选择访问机器人和客户之间的对话来响应警报。这可以是为了识别触发警报的原因(如果在警报本身中未标志),或更通常地理解触发事件是否实际上需要任何干预。在步骤1130中代理被提供访问,并且可实时访问对话,或访问对话的历史。根据通信类型,代理可能够快进/倒回对话,并且对话本身的记录(即客户向机器人发送的实际消息,反之亦然)可由包括时间戳、上下文、意图、抄写和机器人处理的记录的元数据补充(例如,对于来自机器人的每个响应,代理可能够回顾实际响应并且看看其被选择的原因并且或许看看被考虑并且未被选择的其他响应)。实际上,可合适地提供被视为有助于代理诊断和纠正交互中的问题的任何信息。
在警告和代理访问对话之后,自动化对话引擎可暂停提供支出消息以等待来自代理的输入(步骤1135)或者可继续正常操作,同时继续向客户给予自主响应(步骤1140)。如果采用自主操作,则这可被修改以引入允许代理干预或不干预的暂停,但如果代理太忙而无法干预或确定无需干预(记住相同的代理可能同时观察到若干机器人会话),则无需停止会话。
如果代理选择在步骤1140之后进行干预或被迫干预以便在步骤1135之后提供响应,则代理的干预被接收作为来自代理站的命令,步骤1145。通常,这是来自由机器人建议的可能的响应的列表的响应的选择、或定制响应的输入、或来自代理的接口中可用的“录音”响应的列表的响应的选择。在一些场景中,命令可使会话从机器人转移到联系中心或另一个自动化系统的人类代理。然而,在图11的上下文中,代理的干预引导机器人发送适当的响应,步骤1150。代理可选择在如步骤1150中指示单个响应之后在任何时间终止会话的监督例如而无需发送任何控制命令,或者代理可保持连接到会话,从而继续监测和引导机器人的响应,直到会话终止或确定无需对机器人的另外的辅助为止。
计算机系统
在一个实施方案中,所述附图中的各种服务器、控件、交换机、网关、引擎和/或模块(统称为服务器)中的每一者经由硬件或固件(例如,ASIC)来实现,如本领域的技术人员将理解的。各种服务器中的每个服务器可以是在一个或多个计算设备(例如,图12A、图12B)中的一个或多个处理器上运行的过程或线程,其执行计算机程序指令并且与用于执行本文所述的各种功能的其他系统部件进行交互。计算机程序指令存储在存储器中,该存储器可使用标准存储器设备(诸如RAM)在计算设备中实现。计算机程序指令还可存储在其他非暂态计算机可读介质中,诸如CD-ROM、闪存驱动器等。本领域的技术人员应当认识到,计算设备可经由固件(例如,专用集成电路)、硬件,或软件、固件和硬件的组合来实现。本领域的技术人员还应当认识到,在不脱离本发明的示例性实施方案的范围的情况下,各种计算设备的功能可组合或集成到单个计算设备中,或者特定计算设备的功能可分布在一个或多个其他计算设备上。服务器可为软件模块,其也可简称为模块。联系中心中的该组模块可包括服务器和其他模块。
各种服务器可在与联系中心的代理相同的物理位置处位于现场的计算设备上,或者可在地理上不同的位置处(例如,在远程数据中心中)位于现场外(或在云中),该地理上不同的位置经由网络(诸如互联网)连接到联系中心。此外,服务器中的一些服务器可在联系中心处位于现场的计算设备中,而其他服务器可位于现场外的计算设备中,或者提供冗余功能的服务器可经由现场计算设备和现场外计算设备两者提供以提供更大的故障容限。在一些实施方案中,由位于现场外的计算设备上的服务器提供的功能可通过虚拟专用网络(VPN)来访问和提供,就像此类服务器在现场一样,或者可使用软件即服务(SaaS)来提供功能以使用各种协议来通过互联网提供功能,诸如通过使用以可扩展标记语言(XML)或JavaScript对象表示法(JSON)编码的数据来交换数据。
图12A和图12B是示出大体以1200指示的可在本发明的实施方案中采用的计算设备的实施方案的图。每个计算设备1200包括CPU 1205和主存储器单元1210。如图12A所示,计算设备1200还可包括存储设备1215、可移除介质接口1220、网络接口1225、输入/输出(I/O)控制器1230、一个或多个显示设备1235A、键盘1235B和指向设备1235C(例如,鼠标)。存储设备1215可包括但不限于用于操作系统和软件的存储装置。如图12B所示,每个计算设备1200还可包括附加任选元件,诸如存储器端口1240、桥接器1245、一个或多个附加输入/输出设备1235D、1235E以及与CPU 1205通信的高速缓存存储器1250。输入/输出设备1235A、1235B、1235C、1235D和1235E在本文中可统称为1235。
CPU 1205是响应并处理从主存储器单元1210提取的指令的任何逻辑电路。其可例如以集成电路实现,以微处理器、微控制器或图形处理单元的形式实现,或者以现场可编程门阵列(FPGA)或专用集成电路(ASIC)实现。主存储器单元1210可以是能够存储数据并允许中央处理单元1205直接访问任何存储位置的一个或多个存储器芯片。如图12A所示,中央处理单元1205经由系统总线1255与主存储器1210通信。如图12B所示,中央处理单元1205还可经由存储器端口1240与主存储器1210直接通信。
在一个实施方案中,CPU 1205可包括多个处理器,并且可提供用于同时执行多个指令或用于对多于一条数据同时执行一个指令的功能。在一个实施方案中,计算设备1200可包括具有一个或多个核的并行处理器。在一个实施方案中,计算设备1200包括共享存储器并行设备,该共享存储器并行设备具有多个处理器和/或多个处理器核,访问作为单个全局地址空间的所有可用存储器。在另一个实施方案中,计算设备1200是具有多个处理器的分布式存储器并行设备,每个处理器仅访问本地存储器。计算设备1200可既具有共享的某种存储器,也具有可仅由特定处理器或处理器子集访问的某种存储器。CPU 1205可包括多核微处理器,该多核微处理器将两个或更多个独立处理器组合成单个封装,例如,组合成单个集成电路(IC)。例如,计算设备1200可包括至少一个CPU 1205和至少一个图形处理单元。
在一个实施方案中,CPU 1205提供单指令多数据(SIMD)功能,例如,对多条数据同时执行单个指令。在另一个实施方案中,CPU 1205中的若干处理器可提供用于对多条数据同时执行多个指令(MIMD)的功能。CPU 1205还可在单个设备中使用SIMD核和MIMD核的任何组合。
图12B描绘了其中CPU 1205经由第二总线(有时称为背侧总线)与高速缓存存储器1250直接通信的实施方案。在其他实施方案中,CPU 1205使用系统总线1255与高速缓存存储器1250通信。高速缓存存储器1250通常具有比主存储器1210更快的响应时间。如图12A所示,CPU 1205经由本地系统总线1255与各种I/O设备1235通信。各种总线可用作本地系统总线1255,包括但不限于视频电子标准协会(VESA)本地总线(VLB)、工业标准架构(ISA)总线、扩展工业标准架构(EISA)总线、微信道架构(MCA)总线、外围部件互连(PCI)总线、PCI扩展(PCI-X)总线、PCI-Express总线或NuBus。对于其中I/O设备是显示设备1235A的实施方案,CPU 1205可通过高级图形端口(AGP)与显示设备1235A通信。图12B描绘了其中CPU 1205与I/O设备1235E直接通信的计算机1200的实施方案。图12B还描绘了其中本地总线和直接通信进行混合的实施方案:CPU 1205使用本地系统总线1255与I/O设备1235D通信,同时与I/O设备1235E直接通信。
计算设备1200中可存在各种各样的I/O设备1235。输入设备包括一个或多个键盘1235B、鼠标、触控板、轨迹球、麦克风和绘图表(列举一些非限制性示例)。输出设备包括视频显示设备1235A、扬声器和打印机。如图12A所示的I/O控制器1230可控制一个或多个I/O设备,诸如,例如键盘1235B和指向设备1235C(例如,鼠标或光学笔)。
再次参考图12A,计算设备1200可支持一个或多个可移除介质接口1220,诸如软盘驱动器、CD-ROM驱动器、DVD-ROM驱动器、各种格式的磁带驱动器、USB端口、安全数字或紧凑型FLASHTM存储卡端口,或适用于从只读介质读取数据或从读写介质读取数据或向读写介质写入数据的任何其他设备。I/O设备1235可以是系统总线1255和可移除介质接口1220之间的桥接器。
可移除介质接口1220可例如用于安装软件和程序。计算设备1200还可包括用于存储操作系统和其他相关软件以及用于存储应用软件程序的存储设备1215,诸如一个或多个硬盘驱动器或硬盘驱动器阵列。任选地,可移除介质接口1220也可用作存储设备。例如,操作系统和软件可从可自引导介质(例如,可自引导CD)运行。
在一个实施方案中,计算设备1200可包括或连接到多个显示设备1235A,每个显示设备可具有相同或不同的类型和/或形式。因此,I/O设备1235和/或I/O控制器1230中的任一者可包括任何类型和/或形式的合适硬件、软件或硬件和软件的组合,以支持、启用或提供计算设备1200对多个显示设备1235A的连接和使用。例如,计算设备1200可包括任何类型和/或形式的视频适配器、视频卡、驱动器和/或库以便接合、通信、连接或以其他方式使用显示设备1235A。在一个实施方案中,视频适配器可包括多个连接器以接合到多个显示设备1235A。在另一个实施方案中,计算设备1200可包括多个视频适配器,其中每个视频适配器连接到显示设备1235A中的一个或多个显示设备。在其他实施方案中,显示设备1235A中的一个或多个显示设备可由一个或多个其他计算设备提供,经由网络连接到例如计算设备1200。这些实施方案可包括任何类型的软件,该软件被设计和构造成使用另一个计算设备的显示设备作为计算设备1200的第二显示设备1235A。本领域的普通技术人员将认识到并了解计算设备1200可被配置为具有多个显示设备1235A的各种方式和实施方案。
在图12A和图12B中大体指示的计算设备的实施方案可在操作系统的控制下操作,该操作系统控制任务的调度和对系统资源的访问。计算设备1200可运行任何操作系统、任何嵌入式操作系统、任何实时操作系统、任何开源操作系统、任何专有操作系统、移动计算设备的任何操作系统或能够在计算设备上运行并执行本文所述的操作的任何其他操作系统。
计算设备1200可以是任何工作站、台式计算机、膝上型计算机或笔记本计算机、服务器机器、手持式计算机、移动电话或其他便携式远程通信设备、媒体播放设备、游戏系统、移动计算设备,或能够通信并且具有足够的处理器功率和存储器容量以执行本文所述的操作的任何其他类型和/或形式的计算、电信或媒体设备。在一些实施方案中,计算设备1200可具有与设备一致的不同处理器、操作系统和输入设备。
在其他实施方案中,计算设备1200是移动设备。示例可包括支持Java的蜂窝电话或个人数字助理(PDA)、智能电话、数字音频播放器或便携式媒体播放器。在一个实施方案中,计算设备1200包括设备的组合,诸如与数字音频播放器或便携式媒体播放器组合的移动电话。
计算设备1200可以是由网络连接的多个机器中的一个机器,或者其可包括如此连接的多个机器。网络环境可以包括一个或多个本地机器、客户端、客户端节点、客户端机器、客户端计算机、客户端设备、端点或端点节点,其经由一个或多个网络与一个或多个远程机器(其通常也可以被称为服务器机器或远程机器)通信。在一个实施方案中,本地机器具有用作寻求对由服务器机器提供的资源的访问的客户端节点,以及用作为其他客户端提供对托管的资源的访问的服务器机器的能力。网络可以是LAN或WAN链路、宽带连接、无线连接或上述任何或全部的组合。可使用多种通信协议来建立连接。在一个实施方案中,计算设备1200经由任何类型和/或形式的网关或隧道协议(诸如安全套接层(SSL)或传输层安全(TLS))与其他计算设备1200进行通信。网络接口可包括内置网络适配器(诸如网络接口卡),其适于将计算设备接合到能够通信并执行本文所述的操作的任何类型的网络。I/O设备可以是系统总线和外部通信总线之间的桥接器。
在一个实施方案中,网络环境可以是虚拟网络环境,其中网络的各种部件被虚拟化。例如,各种机器可以是被实现为在物理机器上运行的基于软件的计算机的虚拟机。虚拟机可共享相同的操作系统。在其他实施方案中,可在每个虚拟机实例上运行不同的操作系统。在一个实施方案中,实现了“虚拟机管理程序”类型的虚拟化,其中多个虚拟机在相同主机物理机器上运行,每个虚拟机的作用就好像其具有自身的专用盒一样。虚拟机还可在不同的主机物理机器上运行。
还设想了其他类型的虚拟化,诸如网络(例如,经由软件定义联网(SDN))。功能(诸如会话边界控制器的功能和其他类型的功能)也可被虚拟化,诸如经由网络功能虚拟化(NFV)。
虽然在附图和上述描述中详细示出和描述了本发明,但应将其视为示例性的而非限制性的,应当理解,仅示出和描述了优选的实施方案,并且期望保护落入如本文所述和/或所附权利要求所述的本发明的实质内的所有等同物、改变和修改。
因此,本发明的适当范围应仅由所附权利要求的最广泛解释来确定,以便涵盖与附图中所示和说明书中所述的那些等同的所有此类修改以及所有关系。

Claims (58)

1.一种用于管理联系中心系统和所述联系中心系统的用户之间的对话的计算机实现的方法,所述计算机实现的方法包括以下步骤:
a.存储包括至少一个流控制节点和多个子节点的根行为树,所述至少一个流控制节点确定所述子节点的执行序列;
b.存储能够被执行以完成具有相关联意图的任务的至少一个第一级行为树,其中所述至少一个第一级行为树是所述根行为树的子节点,并且其中所述至少一个第一级行为树包括定义要由所述联系中心系统的部件执行的动作的节点;
c.托管所述联系中心和所述联系中心的所述用户之间的对话,其中所述对话在所述用户和所述联系中心的部件之间的通信信道上执行;
d.由处理器接收来自所述对话的输入;
e.响应于所述输入,执行所述根行为树和作为所述根行为树的子节点的所述至少一个第一级行为树;
f.由所述处理器检测来自所述对话的输入和数据模式之间的匹配;
g.在检测到所述匹配时更改所述根行为树或所述至少一个另外的行为树内的所述执行序列;以及
h.响应于所述更改的执行序列,提供使所述联系中心的部件执行所述动作中的一个动作的输出。
2.根据权利要求1所述的方法,其中所述数据模式与指示所述至少一个另外的行为树的所述根行为树内所需的所述执行序列的更改的意图相关联。
3.根据权利要求1所述的方法,其中所述数据模式是存储在能够由所述处理器访问的存储器中的预定义数据模式。
4.根据权利要求1所述的方法,其中所述数据模式在所述方法的执行期间动态地生成。
5.根据权利要求1所述的方法,其中所述数据模式根据在所述根行为树或所述至少一个另外的行为树的一次或多次执行迭代之后的习得行为来修改。
6.根据权利要求1所述的方法,其中步骤(c)中的所述对话在所述用户和所述联系中心的自动化会话机器人之间的通信信道上执行,并且其中所述输出有效地使所述通信信道被重定向到由所述联系中心的人类代理使用的通信设备,以由此使所述用户与所述人类代理会话。
7.根据权利要求1所述的方法,其中步骤(c)中的所述对话在所述用户和由所述联系中心的人类代理使用的通信设备之间的通信信道上执行,并且其中所述输出有效地使所述通信信道被重定向到由所述联系中心的不同人类代理使用的不同通信设备,以由此使所述用户与所述不同人类代理会话。
8.根据权利要求7所述的方法,其中所述检测到的匹配具有指示需要从一个人类代理到另一个人类代理的升级的数据模式。
9.根据权利要求7所述的方法,其中所述不同人类代理是监督者。
10.根据权利要求1所述的方法,其中所述至少一个第一级行为树被定义为捕获异常,并且响应于捕获到异常而使执行返回到所述根行为树。
11.根据权利要求1所述的方法,所述方法还包括:存储多个另外的行为树,并且其中所述多个另外的行为树中的至少一个行为树是第一级行为树的子节点。
12.根据权利要求11所述的方法,其中所述多个另外的行为树中的另一个行为树是所述至少一个另外的行为树的子节点。
13.根据权利要求1所述的方法,所述方法还包括:
a.存储当前上下文状态,所述当前上下文状态确定正执行的行为树的所述执行序列;以及
b.由所述处理器检测来自所述对话的输入和与上下文切换相关联的预定义数据模式之间的匹配。
14.根据权利要求13所述的方法,其中响应于检测到与上下文切换相关联的匹配,存储所述上下文切换作为用于未来执行的意图。
15.根据权利要求13所述的方法,其中响应于检测到与上下文切换相关联的匹配,将执行从正执行的所述行为树转移到不同行为树。
16.根据权利要求13所述的方法,其中所述方法是递归的并且包括多个嵌套上下文切换。
17.根据权利要求13所述的方法,其中所述预定义数据模式包括多个嵌套上下文切换。
18.根据权利要求1所述的方法,其中选自所述根行为树、第一级行为树和另外的行为树中的一者的行为树的至少一个子节点是使消息在由所述代理操作的联系中心设备处提供的输出。
19.根据权利要求1所述的方法,其中选自所述根行为树、第一级行为树和另外的行为树中的一者的行为树的至少一个子节点是使消息发送到所述用户的输出。
20.根据权利要求1所述的方法,其中选自所述根行为树、第一级行为树和另外的行为树中的一者的行为树的至少一个子节点是使请求被发送到与所述联系中心相关联的自动化系统的输出。
21.根据权利要求20所述的方法,其中响应于所述请求,接收来自所述自动化系统的响应,并且所述响应是用于确定所述当前行为树的所述执行的输入。
22.根据权利要求1所述的方法,其中选自所述根行为树、第一级行为树和另外的行为树中的一者的行为树的至少至少一个子节点定义使与所述用户的通信从自动化对话转移到与所述联系中心系统的代理的现场对话的动作。
23.根据权利要求1所述的方法,其中选自所述根行为树、第一级行为树和另外的行为树中的一者的行为树的至少至少一个子节点定义使与所述用户的通信终止的动作。
24.根据权利要求1所述的方法,其中选自第一级行为树和另外的行为树中的一者的行为树的至少至少一个子节点定义使执行转移到所述根行为树的动作。
25.根据权利要求1所述的方法,所述方法还包括以下步骤:根据从先前的对话获取的数据生成习得行为树,所述习得行为树优化所述联系中心的目标。
26.根据权利要求25所述的方法,所述方法还包括:将所述习得行为树部署为现有存储行为树的子节点。
27.根据权利要求1所述的方法,其中一个行为树的至少一个节点被定义为具有执行标志并且与存储器相关联的存储器节点,其中在执行所述存储器节点时,数据被存储在所述存储器中,并且所述执行标志被标记,从而使在存储器节点形成其一部分的所述行为树的后续迭代上时跳过所述存储器节点的执行。
28.一种用于管理联系中心系统和所述联系中心系统的用户之间的对话的系统,所述系统包括:
处理器;以及
存储器,其中所述存储器存储指令,所述指令在由所述处理器执行时使所述处理器:
a.存储包括至少一个流控制节点和多个子节点的根行为树,所述至少一个流控制节点确定所述子节点的执行序列;
b.存储能够被执行以完成具有相关联意图的任务的至少一个第一级行为树,其中所述至少一个第一级行为树是所述根行为树的子节点,并且其中所述至少一个第一级行为树包括定义要由所述联系中心系统的部件执行的动作的节点;
c.托管所述联系中心和所述联系中心的所述用户之间的对话,其中所述对话在所述用户和所述联系中心的部件之间的通信信道上执行;
d.接收来自所述对话的输入;
e.响应于所述输入,执行所述根行为树和作为所述根行为树的子节点的所述至少一个第一级行为树;
f.检测来自所述对话的输入和数据模式之间的匹配;
g.在检测到所述匹配时更改所述根行为树或所述至少一个另外的行为树内的所述执行序列;以及
h.响应于所述更改的执行序列,提供使所述联系中心的部件执行所述动作中的一个动作的输出。
29.一种支持联系中心系统的代理参与与用户的对话的计算机实现的方法,所述计算机实现的方法包括以下步骤:
a.由处理器接收来自在所述代理和所述用户之间的通信信道上执行的对话的输入;
b.存储包括多个条目的知识库,其中所述条目的子集被定义为更高优先级条目;
c.由所述处理器检测来自所述对话的输入和多个所述知识库条目之间的匹配;
d.检索对应于所述匹配的所述多个条目中的至少一个条目;
e.将所述多个条目中的所述至少一个条目作为输出推送给由所述用户操作的设备和由所述用户和所述代理中的一者操作的至少一个设备中的一个或多个设备;
f.由所述处理器检测来自所述对话的输入和所述知识库中的更高优先级条目之间的另外的匹配;以及
g.在所述对话持续时将所述更高优先级条目推送给所述至少一个设备。
30.根据权利要求29所述的方法,其中所述更高优先级条目包括对所述设备的与实现所定义目标相关的一个或多个提示。
31.根据权利要求30所述的方法,其中所述至少一个设备是由所述代理使用的设备,其中所述一个或多个提示指导所述代理实现所定义目标。
32.根据权利要求31所述的方法,所述方法还包括:所述处理器继续接收来自所述对话的输入,并且响应于进一步检测到的输入而将所更新的提示推送给所述至少一个设备,从而通过所述对话指导所述代理。
33.根据权利要求29所述的方法,其中行为树被定义来在步骤(c)和(f)中实施所述匹配检测,所述行为树在所述对话的整个持续时间内执行并且接收来自所述对话的输入,其中在步骤(f)中检测到的匹配致使在所述行为树内进行的处理从所述树的一个节点转移到所述树的另一个节点。
34.一种用于支持联系中心系统的代理参与与用户的对话的系统,所述系统包括:
处理器;和
存储器,其中所述存储器存储指令,所述指令在由所述处理器执行时使所述处理器:
a.接收来自在所述代理和所述用户之间的通信信道上执行的对话的输入;
b.访问包括多个条目的知识库,其中所述条目的子集被定义为更高优先级条目;
c.检测来自所述对话的输入和多个所述知识库条目之间的匹配;
d.检索对应于所述匹配的所述多个条目中的至少一个条目;
e.将所述多个条目中的所述至少一个条目作为输出推送给由所述用户操作的设备和由所述代理操作的设备中的一个或多个设备;
f.检测来自所述对话的输入和所述知识库中的更高优先级条目之间的另外的匹配;以及
g.在所述对话持续时将所述更高优先级条目推送给由所述代理操作的设备。
35.根据权利要求34所述的系统,其中所述更高优先级条目包括对所述设备的与实现所定义目标相关的一个或多个提示。
36.根据权利要求34所述的系统,其中所述至少一个设备是由所述代理使用的设备,其中所述一个或多个提示指导所述代理实现所定义目标。
37.根据权利要求36所述的系统,其中所述存储器进一步存储指令,所述指令在由所述处理器执行时使所述处理器继续接收来自所述对话的输入,并且响应于进一步检测到的输入而将所更新的提示推送给所述至少一个设备,从而通过所述对话指导所述代理。
38.根据权利要求34所述的系统,其中行为树被定义来在步骤(c)和(f)中实施所述匹配检测,所述行为树在所述对话的整个持续时间内执行并且接收来自所述对话的输入,其中在步骤(f)中检测到的匹配致使在所述行为树内进行的处理从所述树的一个节点转移到所述树的另一个节点。
39.一种用于管理联系中心系统和所述联系中心系统的用户之间的对话的计算机实现的方法,所述计算机实现的方法包括以下步骤:
a.在所述联系中心的自动化对话引擎和所述联系中心的所述用户之间的通信信道上托管对话,所述对话包括在两个方向上在所述自动化对话引擎和所述用户之间发送的消息;
b.所述自动化对话引擎接收来自所述用户的输入消息,并且响应于所述输入而确定响应消息;
c.从所述对话的所述消息检测匹配规则的触发事件;
d.响应于检测到所述触发事件:
i.向所述代理站提供所述对话的汇总;以及
ii.向所述代理站提供对所述自动化对话引擎的控制。
40.根据权利要求39所述的方法,其中所述汇总包括所述对话的抄本。
41.根据权利要求39所述的方法,其中所述汇总包括基于所述对话从多个数据源获得的信息。
42.根据权利要求39所述的方法,所述方法还包括以下步骤:在检测到所述触发事件之后暂停由所述自动化对话引擎进行的对响应消息的提供。
43.根据权利要求42所述的方法,其中暂停对响应消息的所述提供,直到在所述代理站处选择适当的响应消息为止。
44.根据权利要求43所述的方法,其中所述代理站由所述自动化对话引擎提供多个可能的响应消息,从而容许从所述多个可能的响应消息选择适当的响应消息。
45.根据权利要求43所述的方法,其中所述适当响应消息通过由所述代理站的用户创建所述消息来选择。
46.根据权利要求39所述的方法,其中在所述检测到所述触发事件之后,除非从所述代理站接收到暂停对响应消息的所述提供的控制命令,否则所述自动化对话引擎继续自主地确定和发送响应消息。
47.根据权利要求39所述的方法,其中所述触发事件由匹配选自以下的条件的规则确定:
a.确定一个或多个输入消息中的关键字;
b.确定一个或多个输入消息中的观点;
c.确定说话音量或音调的改变;
d.确定无法恰当地解释输入消息;
e.确定响应于输入消息无法确定响应消息;
f.确定与潜在响应消息相关联的置信度水平低于预先确定的阈值;
g.确定一个或多个输入消息与代理干预已被定义为强制的主题相关;
h.确定一个或多个输入消息与代理干预已被定义为优选的主题相关;以及
i.确定所述联系中心的所述用户已请求代理干预。
48.根据权利要求39所述的方法,所述方法还包括:所述自动化对话引擎根据响应于观察到从所述代理站接收的控制输入生成哪些响应消息来更改所述规则。
49.一种用于管理联系中心系统和所述联系中心系统的用户之间的对话的系统,所述系统包括:
处理器;和
存储器,其中所述存储器存储指令,所述指令在由所述处理器执行时使所述处理器:
a.操作自动化对话引擎系统,所述自动化对话引擎系统参与在所述联系中心的通信信道上托管的与所述联系中心的所述用户的对话,所述对话包括在两个方向上在所述自动化对话引擎系统和所述用户之间发送的消息;
b.接受来自所述用户的输入消息,并且响应于所述输入而确定响应消息;
c.从所述对话的所述消息检测匹配规则的触发事件;
d.响应于检测到所述触发事件:
i.向所述代理站提供所述对话的消息的复本;以及
ii.向所述代理站提供对所述自动化对话引擎的控制。
50.根据权利要求49所述的系统,其中所述汇总包括所述对话的抄本。
51.根据权利要求49所述的系统,其中所述汇总包括基于所述对话从多个数据源获得的信息。
52.根据权利要求49所述的系统,其中所述存储器存储指令,所述指令在由所述处理器执行时进一步使所述处理器在检测到所述触发事件之后暂停由所述自动化对话引擎进行的对响应消息的所述提供。
53.根据权利要求52所述的系统,其中暂停对响应消息的所述提供,直到在所述代理站处选择适当的响应消息为止。
54.根据权利要求53所述的系统,其中所述代理站由所述自动化对话引擎提供多个可能的响应消息,从而容许从所述多个可能的响应消息选择适当的响应消息。
55.根据权利要求53所述的系统,其中所述适当响应消息通过由所述代理站的用户创建所述消息来选择。
56.根据权利要求49所述的系统,其中在所述检测到所述触发事件之后,除非从所述代理站接收到暂停对响应消息的所述提供的控制命令,否则所述自动化对话引擎继续自主地确定和发送响应消息。
57.根据权利要求49所述的系统,其中所述触发事件由匹配选自以下的条件的规则确定:
a.确定一个或多个输入消息中的关键字;
b.确定一个或多个输入消息中的观点;
c.确定说话音量或音调的改变;
d.确定无法恰当地解释输入消息;
e.确定响应于输入消息无法确定响应消息;
f.确定与潜在响应消息相关联的置信度水平低于预先确定的阈值;
g.确定一个或多个输入消息与代理干预已被定义为强制的主题相关;
h.确定一个或多个输入消息与代理干预已被定义为优选的主题相关;以及
i.确定所述联系中心的所述用户已请求代理干预。
58.根据权利要求49所述的系统,其中所述自动化对话引擎能够根据响应于观察到从所述代理站接收的控制输入生成哪些响应消息来更改所述规则。
CN202080079965.8A 2019-11-22 2020-11-16 用于管理联系中心系统和其用户之间的对话的系统和方法 Pending CN114730429A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962938951P 2019-11-22 2019-11-22
US62/938,951 2019-11-22
PCT/US2020/060688 WO2021101830A1 (en) 2019-11-22 2020-11-16 System and method for managing a dialog between a contact center system and a user thereof

Publications (1)

Publication Number Publication Date
CN114730429A true CN114730429A (zh) 2022-07-08

Family

ID=73740619

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080079965.8A Pending CN114730429A (zh) 2019-11-22 2020-11-16 用于管理联系中心系统和其用户之间的对话的系统和方法

Country Status (8)

Country Link
US (3) US11134153B2 (zh)
EP (1) EP4062353A1 (zh)
JP (1) JP2023504777A (zh)
CN (1) CN114730429A (zh)
AU (1) AU2020386374A1 (zh)
BR (1) BR112022009512A2 (zh)
CA (1) CA3158094A1 (zh)
WO (1) WO2021101830A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7435733B2 (ja) * 2020-03-13 2024-02-21 日本電信電話株式会社 対話支援装置、対話支援方法及びプログラム
US11606463B1 (en) * 2020-03-31 2023-03-14 Interactions Llc Virtual assistant architecture for natural language understanding in a customer service system
WO2021216953A1 (en) * 2020-04-23 2021-10-28 Vigeo Technologies, Inc. Systems, devices and methods for the dynamic generation of dialog-based interactive content
US20220189475A1 (en) * 2020-12-10 2022-06-16 International Business Machines Corporation Dynamic virtual assistant speech modulation
JP2024500884A (ja) 2020-12-22 2024-01-10 ライブパーソン, インコーポレイテッド 有意味自動接続スコアを使用した会話型ボットの評価および強化
JP7420109B2 (ja) * 2021-04-08 2024-01-23 トヨタ自動車株式会社 情報出力システム、サーバ装置および情報出力方法
US20230306967A1 (en) * 2021-05-31 2023-09-28 Nos Inovacao, S.A. Personal assistant multi-skill
US11895061B2 (en) 2021-06-15 2024-02-06 Genesys Cloud Services, Inc. Dynamic prioritization of collaboration between human and virtual agents
US20230008218A1 (en) * 2021-07-08 2023-01-12 International Business Machines Corporation Automated system for customer support
CN115623499A (zh) * 2021-07-12 2023-01-17 华为技术有限公司 启用意图的方法和装置
US11809171B2 (en) * 2021-08-05 2023-11-07 Bank Of America Corporation Virtual assistant factory computing platform
CN113742457B (zh) * 2021-09-09 2023-12-05 京东科技信息技术有限公司 应答处理方法、装置、电子设备及存储介质
US20230087571A1 (en) * 2021-09-23 2023-03-23 International Business Machines Corporation Creating dialogs for a problem-solution data set
US20230177517A1 (en) * 2021-12-02 2023-06-08 Rakuten Mobile, Inc. Knowledge management system for accessing playbooks and associated applications and method thereof
US11671385B1 (en) * 2021-12-07 2023-06-06 International Business Machines Corporation Automated communication exchange programs for attended robotic process automation
US11936812B2 (en) 2021-12-22 2024-03-19 Kore.Ai, Inc. Systems and methods for handling customer conversations at a contact center
US11889022B2 (en) * 2021-12-22 2024-01-30 Kore.Ai, Inc. Systems and methods for handling customer conversations at a contact center
US20230259714A1 (en) * 2022-02-14 2023-08-17 Google Llc Conversation graph navigation with language model
US11895270B2 (en) * 2022-02-17 2024-02-06 Lenovo (Singapore) Pte. Ltd Phone tree traversal system and method
WO2023184241A1 (zh) * 2022-03-30 2023-10-05 西门子股份公司 微服务的编排方法、装置、电子设备和可读介质
US20240211699A1 (en) * 2022-12-23 2024-06-27 Calabrio, Inc. Systems and methods for event driver detection

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7225249B1 (en) * 1997-09-26 2007-05-29 Mci, Llc Integrated systems for providing communications network management services and interactive generating invoice documents
US20050165607A1 (en) * 2004-01-22 2005-07-28 At&T Corp. System and method to disambiguate and clarify user intention in a spoken dialog system
WO2005122145A1 (en) * 2004-06-08 2005-12-22 Metaphor Solutions, Inc. Speech recognition dialog management
US9214001B2 (en) * 2007-02-13 2015-12-15 Aspect Software Inc. Automatic contact center agent assistant
US8676583B2 (en) * 2010-08-30 2014-03-18 Honda Motor Co., Ltd. Belief tracking and action selection in spoken dialog systems
US9837075B2 (en) * 2014-02-10 2017-12-05 Mitsubishi Electric Research Laboratories, Inc. Statistical voice dialog system and method
US9767794B2 (en) * 2014-08-11 2017-09-19 Nuance Communications, Inc. Dialog flow management in hierarchical task dialogs
US9466297B2 (en) * 2014-12-09 2016-10-11 Microsoft Technology Licensing, Llc Communication system
US10878361B2 (en) * 2015-06-17 2020-12-29 Netsuite, Inc. System and method to generate interactive user interface for visualizing and navigating data or information
US10120864B2 (en) * 2016-03-29 2018-11-06 Conduent Business Services Llc Method and system for identifying user issues in forum posts based on discourse analysis
US10104232B2 (en) * 2016-07-12 2018-10-16 International Business Machines Corporation System and method for a cognitive system plug-in answering subject matter expert questions
US10630838B2 (en) 2017-05-22 2020-04-21 Genesys Telecommunications Laboratories, Inc. System and method for dynamic dialog control for contact center systems
US10091358B1 (en) * 2017-06-26 2018-10-02 Splunk Inc. Graphical user interface for call center analysis
WO2019133706A1 (en) * 2017-12-29 2019-07-04 DMAI, Inc. System and method for learning preferences in dialogue personalization
US20190251956A1 (en) * 2018-02-15 2019-08-15 DMAI, Inc. System and method for prediction based preemptive generation of dialogue content

Also Published As

Publication number Publication date
US11245793B2 (en) 2022-02-08
US20210160372A1 (en) 2021-05-27
WO2021101830A1 (en) 2021-05-27
JP2023504777A (ja) 2023-02-07
EP4062353A1 (en) 2022-09-28
US20210160373A1 (en) 2021-05-27
CA3158094A1 (en) 2021-05-27
US11134153B2 (en) 2021-09-28
AU2020386374A1 (en) 2022-05-26
US20210160371A1 (en) 2021-05-27
US11134152B2 (en) 2021-09-28
BR112022009512A2 (pt) 2022-08-16

Similar Documents

Publication Publication Date Title
US11134152B2 (en) System and method for managing a dialog between a contact center system and a user thereof
US12019621B2 (en) Bot extensibility infrastructure
US11425255B2 (en) System and method for dialogue tree generation
US11775572B2 (en) Directed acyclic graph based framework for training models
CN116724305B (zh) 上下文标签与命名实体识别模型的集成
US20240256788A1 (en) Systems and methods for dialog management
US20160189558A1 (en) Learning Based on Simulations of Interactions of a Customer Contact Center
US20180218374A1 (en) Method, system and computer program product for facilitating query resolutions at a service desk
US20220058347A1 (en) Techniques for providing explanations for text classification
US20220172021A1 (en) Method and system for over-prediction in neural networks
CN116235164A (zh) 聊天机器人的范围外自动转变
US20220366427A1 (en) Systems and methods relating to artificial intelligence long-tail growth through gig customer service leverage
CN118251668A (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
CB02 Change of applicant information

Country or region after: U.S.A.

Address after: California, USA

Applicant after: Guinness Cloud Services Second Holdings Ltd.

Address before: Dali City in California in the United States

Applicant before: GENESYS TELECOMMUNICATIONS LABORATORIES, Inc.

Country or region before: U.S.A.