一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于对话管理的系统和方法与流程

2022-07-10 17:16:52 来源:中国专利 TAG:

用于对话管理的系统和方法
1.优先权申明和相关申请的交叉引用
2.本技术要求于2019年11月22日提交的标题为“reactive bot dialog manager”的美国临时专利申请62/939,183的优先权和权益。本技术涉及于2019年11月22日提交的标题为“system and method for managing a dialog between a contact center system and a user thereof”的美国临时专利申请62/938,951。


背景技术:

3.本发明整体涉及电信系统和方法。更具体地,本发明涉及联络中心的操作和联络中心中的对话的管理。
4.在联络中心环境中,对话通常可包括两方或更多方(例如,客户、座席和/或系统)之间的用于解决问题、为请求提供服务或以其他方式完成某个任务/实现某个目标的会话。可以通过各种媒体渠道进行会话,举一些非限制性示例,诸如语音、聊天、桌面、网络等。可以使用引擎(即对话引擎)来理解每个回合的对话的状态。回合可包括会话或交互中来自任一方的事件,诸如应答或提问。对话引擎可进一步用于通过系统控制所采取的下一个动作,以使会话向联络中心的目标或业务目标移动。对话引擎包括“会话ai”,其还包括在通过自然语言多模态媒体与客户的整个交互中作出情景感知决策。能够以多种方式将动作引导至各方。例如,可以通过对话渠道中的消息将动作引导至客户。在另一个示例中,可以通过直接向座席推荐应答或间接推荐应答作为辅导技巧或作为座席桌面上的其他辅助指导来将动作引导至座席。在另一示例中,能够以信息请求或执行预定的形式将动作引导至系统。
5.用于聊天/语音机器人的对话管理系统通常属于两个类别之一:随机的(即利用机器学习)或确定性的(基于规则)。随机方法可提供复杂的会话能力,诸如情景感知和自然话语标记,但很难将业务逻辑结合到此类系统中,尤其是当业务规则经常改变时。从会话角度而言,这些机器人对于最终用户来说通常显得很“智能”,但在业务自助领域,他们仅适用于最简单的交易。它们的底层会话模型需要许多数据来训练,并且一旦经过训练,就无法轻易修改。该训练通常使用人与人之间的会话来完成,并且难以指示业务规则在这些会话中的应用位置,以及给定训练会话的哪些部分随后取决于那些隐式的业务规则。
6.另一方面,确定性方法在指定会话的业务逻辑方面提供更多的灵活性和自由度,但是对话管理传统上仅限于简单形式,诸如框架填充(即,一旦确定了最终用户的主要意图,系统就放弃使用其自然语言理解,而是使用一次一条信息的方法询问剩余的多条信息)。这种方法通常使用有限状态机(fsm)通过预先编写好脚本的对话来跟踪最终用户的进度。可以使用该方法用脚本编写非常复杂的业务交易,但是由于fsm可扩展性的限制,与这些确定性机器人进行交互使最终用户几乎没有引导会话的能力:将每个状态的转换映射到每个其他可能的状态是不可行的。
7.本文提出了对话管理器,其结合了由随机对话管理器提供的会话复杂性(例如情景感知)与由更传统的基于规则的方法提供的灵活性和可预测性(例如,以用于结合业务逻辑)。


技术实现要素:

8.在一个实施方案中,提出了用于由对话管理器执行会话中的对话回合的计算机实现的方法,该计算机实现的方法包括:由对话管理器接收来自用户的与任务相关联的输入;将来自用户的输入传递到第一任务路径上的nlu引擎;从nlu引擎接收与任务相关联的可能意图列表,其中可能意图列表包括针对可能意图中的每个可能意图的相关联的置信度;应用对来自nlu引擎的置信度的情景感知重新评分,其中将权重应用于用户的当前活动的一个或多个任务;基于重新评分后的置信度选择意图;基于确认的意图确定意图层级结构中的新任务路径;确认所选择的意图和相关联的槽位;以及为意图层级结构中的新任务路径选择应答流程并执行该应答流程。
9.输入可以包括键入的文本或来自自动语音识别的转录。
10.可能意图列表包括针对可能意图中的每个可能意图的一个或多个槽位值。
11.任务路径包括与层级结构中的任务相关联的意图的单个实例的位置。任务路径还可包括以层级结构的根部开始的意图名称序列。与任务相关联的意图也可以出现在层级结构中的多个地方。确定新任务路径包括以下中的至少一者:在第一任务路径上继续;激活第一任务路径的子任务路径;重新打开关闭的任务路径;从第一任务路径切换到新任务;切换到搁置的任务路径;以及在与同一任务相关联的不同任务路径之间进行澄清。
12.该确认可以由以下中的一者执行:由用户执行或由对话管理器自动执行。
13.重新评分包括以下步骤:将nlu引擎配置为具有所有可用意图的列表,其中nlu引擎不知晓会话情景;由对话管理器存储会话信息,该会话信息包括:第一任务路径;一个或多个最近完成的任务路径的列表;和一个或多个搁置的任务路径的列表;以及增加可能意图的置信度,其中可能意图与标准中的一个或多个标准相匹配:与层级结构中的任务相关联,与最近完成的任务相关联的任务相匹配,与搁置任务相关联的任务相匹配。
14.在一个实施方案中,确定新任务路径还包括:过滤可能意图列表以包括高于阈值的结果,其中结果使用相同的意图但不同的任务路径;自动确定到每个结果的最简单的不同任务路径;向用户呈现最简单的不同任务路径以供选择;以及将最简单的不同任务路径设置为新任务路径。
15.在另一实施方案中,确定新任务路径还包括:过滤可能意图列表以包括高于阈值的结果,其中结果具有不同的意图;与用户确认结果;确定到每个结果的最简单的不同任务路径;以及向用户呈现最简单的不同任务路径以供选择。
16.应答流程可包括模块化构造,该模块化构造还包括有向图,其中有向图中的每个节点执行动作。动作可包括对下一个待访问节点的选择。应答流程还可以包括默认节点,其中默认节点包括到有向图中的其他节点的路径。
17.在一个实施方案中,应答流程选择还包括:执行节点并获得与该节点相关联的结果;确定节点是否包括与结果共享名称的路径,其中确定该名称不被共享;确定默认节点是否包括与结果共享名称的路径,其中确定该名称不被共享;以及退出应答流程,其中节点的结果包括所选择的应答流程。
18.当结合附图和所附权利要求书阅读示例性实施方案的以下详细描述时,本技术的这些和其他特征将变得更加显而易见。
附图说明
19.当结合附图考虑,通过参考以下详细描述而更好地理解本发明时,本发明及其许多伴随的特征和方面将变得更加显而易见,其中类似的参考符号指示类似的部件,附图中:
20.图1示出了根据本发明的示例性实施方案和/或可用于启用或实践本发明的示例性实施方案的计算设备的示意性框图的实施方案;
21.图2示出了可用于启用或实践本发明的示例性实施方案的通信基础设施或联络中心的示意性框图的实施方案;
22.图3示出了示意性框图的实施方案,其示出作为聊天系统的一部分来操作的聊天服务器的附加细节;
23.图4示出了聊天模块的示意性框图的实施方案;
24.图5示出了意图层级结构的示意性框图的实施方案。
25.图6示出了由对话管理器执行对话回合的过程的实施方案。
26.图7示出了用于任务路径选择的过程的实施方案。
27.图8示出了用于确认意图和槽位的过程的实施方案。
28.图9示出了用于应答流程的过程的实施方案。
具体实施方式
29.为了促进理解本发明原理的目的,现在将参考附图中示出的示例性实施方案,并且将使用特定语言来描述这些实施方案。然而,对于本领域的普通技术人员将显而易见的是,在示例中提供的详细材料可能不是实践本发明所必需的。在其他情况下,为了避免混淆本发明,未详细描述众所周知的材料或方法。另外,如本领域的技术人员通常会想到的,如本文中所呈现的,可以设想所提供的示例中的进一步修改或本发明原理的应用。
30.如本文所用,指定非限制性示例和说明的语言包括“例如(e.g./for example/for instance)”、“即”等。此外,本说明书通篇提及的“实施方案”、“一个实施方案”、“本发明的实施方案”、“示例性实施方案”、“某些实施方案”等意指结合给定示例所述的特定特征、结构或特性可包括在本发明的至少一个实施方案中。因此,短语“实施方案”、“一个实施方案”、“本发明的实施方案”、“示例性实施方案”、“某些实施方案”等的出现不一定是指同一实施方案或示例。此外,在一个或多个实施方案或示例中,特定特征、结构或特性可以任何合适的组合和/或子组合进行组合。
31.本发明的实施方案可实现为装置、方法或计算机程序产品。因此,示例性实施方案可采用完全硬件实施方案、完全软件实施方案(包括固件、常驻软件、微代码等)或结合了软件和硬件方面的实施方案的形式。在每种情况下,示例性实施方案一般可被称为“模块”或“系统”或“方法”。此外,示例性实施方案可采用体现在任何有形表达介质中的计算机程序产品的形式,该任何有形表达介质具有体现在介质中的计算机可用程序代码。
32.还应当理解,附图中提供的流程图和框图示出了根据本发明的示例性实施方案的系统、方法和计算机程序产品的可能具体实施的架构、功能和操作。就这一点而言,流程图或框图中的每个框可表示包括用于实现指定逻辑功能的一个或多个可执行指令的代码的模块、段或部分。还应当注意,框图和/或流程图图示中的每个框,以及框图和/或流程图图示中的框的组合,可由执行指定功能或动作的基于专用硬件的系统,或专用硬件和计算机
指令的组合来实现。这些计算机程序指令也可存储在计算机可读介质中,该计算机可读介质可指示计算机或其他可编程数据处理装置以特定方式运行,使得存储在计算机可读介质中的指令产生包括指令装置的制品,该指令装置实现流程图和/或框图的一个或多个框中指定的功能/动作。
33.计算设备
34.现在转到图1,示出了根据本发明的实施方案和/或利用其可启用或实践本发明的示例性实施方案的示例性计算设备100的示意性框图。本领域的技术人员将认识到,本文所公开的各种系统和方法可以是使用许多不同形式的数据处理装备(例如,执行适当软件程序的数字微处理器和相关联的存储器)来计算机实现的。因此,应当理解,图1作为非限制性示例提供。
35.计算设备100可经由固件(例如,专用集成电路)、硬件或者软件、固件和硬件的组合来实现。应当理解,下图中的服务器、控制器、交换机、网关、引擎和/或模块(其可统称为服务器或模块)中的每一者可经由计算设备100中的一者或多者来实现。例如,各种服务器可以是在一个或多个计算设备100的一个或多个处理器上运行的过程或线程,该过程或线程可执行计算机程序指令并与其他系统模块进行交互以便执行本文所述的各种功能。除非另有明确限制,否则关于多个计算设备描述的功能可集成到单个计算设备中,或者关于单个计算设备描述的各种功能可分布在若干计算设备上。此外,关于本文所述的计算系统(诸如图2的联络中心系统200),各种服务器及其计算机设备可位于本地计算设备100上(即,在与联络中心的座席相同的物理位置处在现场)、远程计算设备100上(即,在现场外或在基于云的或云计算环境中,例如,在经由网络连接的远程数据中心中)或它们的某种组合。在示例性实施方案中,由位于现场外的计算设备上的服务器提供的功能可通过虚拟专用网络(vpn)来访问和提供,就像此类服务器在现场一样,或者可使用软件即服务(saas)(使用各种协议通过互联网来访问)来提供功能,诸如通过经由可扩展标记语言(xml)、json等来交换数据。
36.如例示的示例所示,计算设备100可包括中央处理单元(cpu)或处理器105和主存储器110。计算设备100还可包括存储设备115、可移除介质接口120、网络接口125和一个或多个输入/输出(i/o)设备135,如图所示,其可包括i/o控制器130、显示设备135a、键盘135b和指向设备135c。计算设备100还可包括另外的元件,诸如存储器端口140、桥接器145、i/o端口、一个或多个另外的输入/输出设备135d、135e、135f以及与处理器105通信的高速缓存存储器150。
37.处理器105可以是响应并处理从主存储器110获取的指令的任何逻辑电路。例如,过程105可由集成电路(例如,微处理器、微控制器或图形处理单元)实现或在现场可编程门阵列或专用集成电路中实现。如图所示,处理器105可经由辅助总线或背面总线与高速缓存存储器150直接通信。高速缓存存储器150通常具有比主存储器110更快的响应时间。主存储器110可以是能够存储数据并允许中央处理单元105直接访问存储数据的一个或多个存储器芯片。存储设备115可为在计算设备100上运行的操作系统和软件提供存储。操作系统可控制调度任务和对系统资源的访问。除非另有限制,否则操作系统和软件可包括能够执行本文所述的操作的任何操作系统和软件,如本领域的普通技术人员将理解的。
38.如例示的示例中所示,计算设备100a可包括广泛多种i/o设备135。如图所示,i/o
控制器130可用于控制一个或多个i/o设备。如图所示,输入设备可包括键盘135b和指向设备135c,该指向设备例如可为鼠标或光学笔。例如,输出设备可包括视频显示设备、扬声器和打印机。i/o设备135和/或i/o控制器130可包括用于启用多个显示设备的使用的合适的硬件和/或软件。计算设备100还可支持一个或多个可移除介质接口120,诸如磁盘驱动器、usb端口或适用于从任何类型的计算机可读介质读取数据或将数据写入任何类型的计算机可读介质的任何其他设备。可移除介质接口120可例如用于安装软件和程序。
39.计算设备100可以是任何工作站、台式计算机、膝上型计算机或笔记本计算机、服务器机器、虚拟设备、移动电话、智能电话、便携式电信设备、媒体播放设备、游戏系统、移动计算设备,或能够(但不限于)执行本文所述的操作的任何其他类型的计算、电信或媒体设备。计算设备100可具有若干输入设备,其中每个输入设备都具有不同的处理器和操作系统。计算设备100可包括组合若干设备的移动设备,诸如具有数字音频播放器或便携式媒体播放器的移动电话。
40.计算设备100可以是由网络连接或经由网络连接到其他系统和资源的多个设备中的一个设备。如本文所用,网络包括一个或多个计算设备、机器、客户端、客户端节点、客户端机器、客户端计算机、客户端设备、端点或端点节点,其与一个或多个其他计算设备、机器、客户端、客户端节点、客户端机器、客户端计算机、客户端设备、端点或端点节点通信。作为示例,本地机器可具有用作寻求对由服务器提供的资源的访问的客户端节点,以及用作为其他客户端提供对托管的资源的访问的服务器的能力。网络可以是lan或wan链路、宽带连接、无线连接或它们的某种组合,其中使用适当的通信协议建立连接。计算设备100可经由任何类型的网关或隧道协议(诸如安全套接层或传输层安全)与其他计算设备100进行通信。网络接口可包括内置网络适配器(诸如网络接口卡),其适于将计算设备接合到能够执行本文所述的操作的任何类型的网络。此外,网络环境可以是虚拟网络环境,其中各种网络部件被虚拟化。例如,各种机器可以是被实现为在物理机器上运行的基于软件的计算机的虚拟机。虚拟机可共享相同的操作系统,或者在其他实施方案中,可在每个虚拟机实例上运行不同的操作系统。例如,使用了“虚拟机管理程序”类型的虚拟化,其中多个虚拟机在相同主机物理机器上运行,每个虚拟机的作用就好像其具有自身的专用盒一样。还设想了其他类型的虚拟化,诸如例如网络(例如,经由软件定义联网)或功能(例如,经由网络功能虚拟化)。
41.联络中心
42.现在参考图2,示出了根据本发明的示例性实施方案和/或利用其可启用或实践本发明的示例性实施方案的通信基础结构或联络中心系统200。应当理解,术语“联络中心系统”在本文用来指图2所示的系统和/或其部件,而术语“联络中心”更一般地用来指联络中心系统、操作那些系统的客户服务提供商和/或与其相关联的组织或企业。因此,除非另有明确限制,否则术语“联络中心”一般是指联络中心系统(诸如联络中心系统200),相关联的客户服务提供商(诸如通过联络中心系统200提供客户服务的特定客户服务提供商)以及代表其提供那些客户服务的组织或企业。
43.就后台而言,客户服务提供商一般通过联络中心提供多种类型的服务。此类联络中心可配备员工或客户服务座席(或简称为“座席”),其中座席充当公司、企业、政府机构或组织(在下文可互换地称为“组织”或“企业”)与个人诸如用户、个体或客户(在下文可互换
地称为“个体”或“客户”)之间的中介。例如,联络中心处的座席可协助客户做出购买决定、接收订单,或者解决已接收到的产品或服务的问题。在联络中心内,联络中心座席与外部实体或客户之间的此类交互可在各种通信渠道上进行,诸如例如经由语音(例如,电话呼叫或ip语音或voip呼叫)、视频(例如,视频会议)、文本(例如,电子邮件和文本聊天)、屏幕共享、共同浏览等进行。
44.在操作上,联络中心一般努力为客户提供高质量的服务,同时使成本最小化。例如,联络中心操作的一种方式是处理每个客户与实时座席的交互。虽然这种方法在服务质量方面可能评分良好,但由于座席劳动力的成本高,它也可能也会非常昂贵。因此,大多数联络中心利用某种程度的自动化过程来代替实时座席,诸如例如交互式语音应答(ivr)系统、交互式媒体应答(imr)系统、互联网机器人或“机器人”、自动聊天模块或“聊天机器人”等。在许多情况下,这已被证明是一种成功的策略,因为自动化过程可非常高效地处理某些类型的交互,并有效地减少对实时座席的需求。此类自动化允许联络中心针对更困难的客户交互使用人工座席,而自动化过程处理更重复或例行的任务。此外,可以优化效率并促进可重复性的方式构建自动化过程。虽然人工座席或实时座席可能忘记询问某些问题或跟进特定细节,但通常可通过使用自动化过程来避免此类错误。虽然客户服务提供商越来越依赖于自动化过程来与客户进行交互,但客户对此类技术的使用仍然少得多。因此,虽然ivr系统、imr系统和/或机器人用于在交互的联络中心侧自动执行部分交互,但客户侧的动作仍由客户手动执行。
45.具体参考图2,客户服务提供商可使用联络中心系统200来向客户提供各种类型的服务。例如,联络中心系统200可用于参与和管理自动化过程(或机器人)或人工座席与客户通信的交互。应当理解,联络中心系统200可以是业务或企业的内部设施,用于相对于通过企业可用的产品和服务执行销售和客户服务的功能。在另一方面,联络中心系统200可由签约为另一组织提供服务的第三方服务提供商操作。此外,联络中心系统200可被部署在专用于企业或第三方服务提供方的装备上,和/或部署在远程计算环境中,诸如例如具有用于为多个企业支持多个联络中心的基础结构的私有或公共云环境。联络中心系统200可包括软件应用程序或程序,其可在现场或在远程或以它们的某种组合执行。还应当理解,联络中心系统200的各种部件可分布在各种地理位置上,并且不一定包含在单个位置或计算环境中。
46.还应当理解,除非另有明确限制,否则本发明的计算元件中的任一个计算元件也可在基于云的或云计算环境中实现。如本文所用,“云计算”(或简称“云”)被定义为一种模型,用于实现对可配置计算资源(例如,网络、服务器、存储装置、应用程序和服务)的共享池的无处不在、方便的按需网络访问,其可经由虚拟化快速配置,并以最少的管理工作或服务提供商交互来发布,然后相应地进行扩展。云计算可由各种特征(例如,按需自助服务、广泛的网络访问、资源池、快速弹性、可计量的服务等)、服务模型(例如,软件即服务(“saas”)、平台即服务(“paas”)、基础结构即服务(“iaas”)和部署模型(例如,私有云、社区云、公共云、混合云等)构成。云执行模型通常被称为“无服务器架构”,其通常包括动态地管理远程服务器的分配和配置以实现所需功能的服务提供商。
47.根据图2所示的示例,联络中心系统200的部件或模块可包括:多个客户设备205a、205b、205c;通信网络(或简称“网络”)210;交换机/媒体网关212;呼叫控制器214;交互式媒体应答(imr)服务器216;路由服务器218;存储设备220;统计(或“stat”)服务器226;多个座
席设备230a、230b、230c,该多个座席设备分别包括工作区232a、232b、232c;多媒体/社交媒体服务器234;知识管理服务器236,该知识管理服务器耦接到知识系统238;聊天服务器240;web服务器242;交互(或“ixn”)服务器244;通用联系人服务器(或“ucs”)246;报告服务器248;媒体服务服务器249;和分析模块250。应当理解,相对于图2或在任何以下附图中描述的计算机实现的部件、模块或服务器中的任一者都可经由各种类型的计算设备(诸如例如图1的计算设备100)来实现。如将所见的,联络中心系统200一般管理资源(例如,人员、计算机、电信装备等)以使得能够经由电话、电子邮件、聊天或其他通信机制递送服务。此类服务可取决于联络中心的类型而变化,并且例如可包括客户服务、帮助台功能、紧急应答、远程营销、接订单等。
48.期望从联络中心系统200接收服务的客户可经由客户设备205发起到联络中心系统200的入站通信(例如,电话呼叫、电子邮件、聊天等)。虽然图2示出了三个此类客户设备,即,客户设备205a、205b和205c,但应当理解,可存在任何数量的此类客户设备。客户设备205例如可为通信设备,诸如电话、智能电话、计算机、平板电脑或膝上型电脑。根据本文所述的功能,客户一般可使用客户设备205来发起、管理和进行与联络中心系统200的通信,诸如电话呼叫、电子邮件、聊天、文本消息、网页浏览会话和其他多媒体交易。
49.来自和通向客户设备205的入站通信和出站通信可遍历网络210,其中网络的性质通常取决于所使用的客户设备的类型和通信的形式。例如,网络210可包括电话、蜂窝和/或数据服务的通信网络。网络210可以是专用或公共交换电话网络(pstn)、局域网(lan)、专用广域网(wan)和/或公共wan诸如互联网。此外,网络210可包括无线运营商网络,该无线运营商网络包括码分多址(cdma)网络、全球移动通信系统(gsm)网络或本领域中常规的任何无线网络/技术,包括但不限于3g、4g、lte、5g等。
50.关于交换机/媒体网关212,该交换机/媒体网关可耦接到网络210,以用于在客户和联络中心系统200之间接收和传输电话呼叫。交换机/媒体网关212可包括电话交换机或通信交换机,该电话交换机或通信交换机被配置为用作用于中心内的座席级别路由的中心交换机。交换机可以是硬件交换系统或经由软件实现。例如,交换机215可包括自动呼叫分配器、专用交换分机(pbx)、基于ip的软件交换机和/或具有专用硬件和软件的任何其他交换机,该专用硬件和软件被配置为从客户接收互联网来源的交互和/或电话网络来源的交互,并且将那些交互路由到例如座席设备230中的一个座席设备。因此,一般来讲,交换机/媒体网关212通过在客户设备205与座席设备230之间建立连接来在客户与座席之间建立语音连接。
51.如进一步所示,交换机/媒体网关212可耦接到呼叫控制器214,该呼叫控制器例如用作交换机与联络中心系统200的其他路由、监视和通信处理部件之间的适配器或接口。呼叫控制器214可被配置为处理pstn呼叫、voip呼叫等。例如,呼叫控制器214可包括用于与交换机/媒体网关和其他部件接合的计算机电话集成(cti)软件。呼叫控制器214可包括用于处理sip呼叫的会话发起协议(sip)服务器。呼叫控制器214还可提取关于传入交互的数据,诸如客户的电话号码、ip地址或电子邮件地址,然后在处理交互时将这些数据与其他联络中心部件进行通信。
52.关于交互式媒体应答(imr)服务器216,其可被配置为启用自助或虚拟助理功能。具体地,imr服务器216可类似于交互式语音应答(ivr)服务器,不同的是imr服务器216不限
于语音并且还可覆盖各种媒体渠道。在示出语音的示例中,imr服务器216可被配置为具有imr脚本以用于查询客户的需求。例如,银行的联络中心可经由imr脚本告知客户如果他们希望检索其账户余额,则“按下1”。通过与imr服务器216继续交互,客户可接收服务而无需与座席说话。imr服务器216还可被配置为查明客户为何联系联络中心,使得可将通信路由到适当的资源。imr配置可通过使用自助和/或辅助服务工具来执行,该工具包括用于开发在联络中心环境中运行的ivr应用程序和路由应用程序的基于web的工具(例如,设计器)。
53.关于路由服务器218,其可用于路由传入交互。例如,一旦确定入站通信应该由人工座席处理,路由服务器218内的功能就可选择最适当的座席并向其路由通信。该座席选择可基于哪个可用座席最适合于处理通信。更具体地,适当座席的选择可基于由路由服务器218实现的路由策略或算法。这样做时,路由服务器218可查询与传入交互相关的数据,例如与特定客户、可用座席和交互类型相关的数据,如下文更详细描述的,这些数据可存储在特定数据库中。一旦选择了座席,路由服务器218就可与呼叫控制器214进行交互以将传入交互路由(即,连接)到对应的座席设备230。作为该连接的一部分,关于客户的信息可经由其座席设备230提供给所选择的座席。该信息旨在增强座席能够向客户提供的服务。
54.关于数据存储,联络中心系统200可包括一个或多个大容量存储设备(一般由存储设备220表示),该一个或多个大容量存储设备用于将数据存储在与联络中心的功能相关的一个或多个数据库中。例如,存储设备220可存储保持在客户数据库222中的客户数据。此类客户数据可包括客户配置文件、联系人信息、服务级别协议(sla)和交互历史(例如,与特定客户的先前交互的细节,包括先前交互的性质、处置数据、等待时间、处理时间和联络中心为解决客户问题而采取的行动)。又如,存储设备220可将座席数据存储在座席数据库223中。由联络中心系统200维护的座席数据可包括座席可用性和座席配置文件、计划表、技能、处理时间等。又如,存储设备220可将交互数据存储在交互数据库224中。交互数据可包括与客户和联络中心之间的许多过往交互相关的数据。更一般地,应当理解,除非另外指明,否则存储设备220可被配置为包括数据库和/或存储与本文所述的任何类型的信息相关的数据,其中这些数据库和/或数据能够以促进本文所述的功能的方式被联络中心系统200的其他模块或服务器访问。例如,联络中心系统200的服务器或模块可查询此类数据库以检索存储在其中的数据或向其中传输数据以供存储。例如,存储设备220可采取任何常规存储介质的形式,并且可本地容纳或从远程位置操作。例如,数据库可以是cassandra数据库、nosql数据库或sql数据库,并且由数据库管理系统(诸如oracle、ibm db2、microsoft sql服务器、microsoft access、postgresql)管理。
55.关于stat服务器226,其可被配置为记录和聚合与联络中心系统200的性能和操作方面相关的数据。此类信息可由stat服务器226编译并且可供其他服务器和模块(诸如报告服务器248)使用,该其他服务器和模块然后可使用该数据来产生报告,该报告用于管理联络中心的操作方面并根据本文所述的功能来执行自动化动作。此类数据可涉及联络中心资源的状态,例如,平均等待时间、放弃率、座席占用率以及如本文描述的功能所需的其他数据。
56.联络中心200的座席设备230可以是通信设备,其被配置为以促进本文所述的功能的方式与联络中心系统200的各种部件和模块进行交互。例如,座席设备230可包括适用于
常规电话呼叫或voip呼叫的电话。座席设备230还可包括计算设备,该计算设备被配置为根据本文所述的功能与联络中心系统200的服务器通信,执行与操作相关联的数据处理,并且经由语音、聊天、电子邮件和其他多媒体通信机制与客户进行交互。虽然图2示出了三个此类座席设备,即座席设备230a、230b和230c,但应当理解,可存在任何数量的座席设备。
57.关于多媒体/社交媒体服务器234,其可被配置为促进与客户设备205和/或服务器242的媒体交互(语音除外)。此类媒体交互可与例如电子邮件、语音邮件、聊天、视频、文本消息收发、网络、社交媒体、共同浏览等相关。多媒体/社交媒体服务器234可采用本领域中常规的具有用于接收、处理和转发多媒体事件和通信的专用硬件和软件的任何ip路由器的形式。
58.关于知识管理服务器234,其可被配置为促进客户与知识系统238之间的交互。一般来讲,知识系统238可为能够接收问题或查询并作为响应提供答案的计算机系统。知识系统238可被包括作为联络中心系统200的一部分或由第三方远程操作。知识系统238可包括人工智能计算机系统,该人工智能计算机系统能够通过从诸如百科全书、词典、新闻专线文章、文学作品或作为参考材料提交给知识系统238的其他文档等信息源检索信息来回答以自然语言提出的问题,如本领域所知的。例如,知识系统238可体现为ibm watson或类似系统。
59.关于聊天服务器240,其可被配置为进行、编排和管理与客户的电子聊天通信。一般来讲,聊天服务器240被配置为实现和保持聊天会话并生成聊天转录。此类聊天通信可由聊天服务器240以客户与自动聊天机器人、人工座席或两者通信的方式进行。在示例性实施方案中,聊天服务器240可用作聊天编排服务器,该聊天编排服务器在聊天机器人和可用人工座席之间调度聊天会话。在此类情况下,聊天服务器240的处理逻辑可由规则驱动,以便利用可用聊天资源之间的智能工作负载分布。聊天服务器240还可以实现、管理和促进与聊天特征相关联的用户界面(也称为ui),包括在客户设备205或座席设备230处生成的那些ui。聊天服务器240可被配置为在自动化资源和人力资源之间在单个聊天会话内转移聊天,使得例如聊天会话从聊天机器人转移到人工座席或从人工座席转移到聊天机器人。聊天服务器240还可耦接到知识管理服务器234和知识系统238,用于接收对客户在聊天期间提出的查询的建议和回答,使得例如可提供到相关文章的链接。
60.关于web服务器242,可包括此类服务器来为客户订阅的各种社交交互站点(诸如facebook、twitter、instgraph等)提供站点主机。尽管被描绘为联络中心系统200的一部分,但应当理解,web服务器242可由第三方提供和/或远程维护。web服务器242还可为正由联络中心系统200支持的企业或组织提供网页。例如,客户可浏览网页并接收关于特定企业的产品和服务的信息。在此类企业网页内,可提供用于例如经由网络聊天、语音或电子邮件发起与联络中心系统200的交互的机制。此类机制的示例是可部署在web服务器242上托管的网页或网站上的桌面小程序。如本文所用,桌面小程序是指执行特定功能的用户界面部件。在一些具体实施中,桌面小程序可包括图形用户界面控件,该图形用户界面控件可覆盖在经由互联网向客户显示的网页上。桌面小程序可诸如在窗口或文本框中显示信息,或者包括允许客户访问某些功能诸如共享或打开文件或发起通信的按钮或其他控件。在一些具体实施中,桌面小程序包括用户界面部件,该用户界面部件具有代码的可移植部分,该可移植部分可在单独的网页内安装和执行而无需编译。一些桌面小程序可包括对应的或附加的
用户界面,并且可被配置为经由网络(例如,即时消息、电子邮件或社交网络更新)访问多种本地资源(例如,客户设备上的日历或联系人信息)或远程资源。
61.关于交互(ixn)服务器244,其可被配置为管理联络中心的可延期活动及其到人工座席的路由以完成。如本文所用,可延期活动包括可离线执行的后台工作,例如回复电子邮件、参加培训以及不需要与客户实时通信的其他活动。例如,交互(ixn)服务器244可被配置为与路由服务器218进行交互以用于选择适当的座席来处理可延期活动中的每个可延期活动。一旦分配给特定座席,就将可延期活动推送到该座席,使得其出现在所选择座席的座席设备230上。可延期活动可作为所选择座席完成的任务出现在工作区232中。工作区232的功能可经由任何常规数据结构诸如例如链表、数组等来实现。座席设备230中的每个座席设备可包括工作区232,其中工作区232a、232b和232c分别保持在座席设备230a、230b和230c中。作为示例,工作区232可以被保持在对应座席设备230的缓冲存储器中。
62.关于通用联络服务器(ucs)246,其可被配置为检索存储在客户数据库222中的信息和/或向其传输信息以便存储在其中。例如,ucs 246可用作聊天特征的一部分以便于维护关于如何处理与特定客户的聊天的历史,然后可将其用作对应如何处理未来聊天的参考。更一般地,ucs 246可被配置为便于维护客户偏好的历史,诸如优选媒体渠道和最佳联系时间。为此,ucs 246可被配置为识别与每个客户的交互历史相关的数据,诸如例如与来自座席的评论、客户通信历史等相关的数据。然后,可将这些数据类型中的每种数据类型存储在客户数据库222中或存储在其他模块上,并根据本文描述的功能需要进行检索。
63.关于报告服务器248,其可被配置为从由统计服务器226或其他来源编译和聚合的数据生成报告。此类报告可包括近实时报告或历史报告,并且涉及联络中心资源的状态和性能特征,诸如例如平均等待时间、放弃率、座席占用率。报告可自动生成或响应于来自请求者(例如,座席、管理员、联络中心应用程序等)的特定请求而生成。然后,这些报告可用于根据本文描述的功能来管理联络中心操作。
64.关于媒体服务服务器249,其可被配置为提供音频和/或视频服务以支持联络中心特征。根据本文描述的功能,此类特征可包括对ivr或imr系统的提示(例如,音频文件的回放)、保持音乐、语音邮件/单方记录、多方记录(例如,音频和/或视频呼叫的多方记录)、语音识别、双音多频(dtmf)识别、传真、音频和视频转码、安全实时传输协议(srtp)、音频会议、视频会议、教程(例如,支持教练收听客户和座席之间的交互以及支持教练在客户未听到评论的情况下向座席提供评论)、呼叫分析、关键字定位等。
65.关于分析模块250,其可被配置为提供用于对从多个不同数据源所接收的数据执行分析的系统和方法,如本文所述的功能可能需要的。根据示例性实施方案,分析模块250还可基于所收集的数据(诸如例如,客户数据、座席数据和交互数据)生成、更新、训练和修改预测器或模型252。模型252可包括客户或座席的行为模型。行为模型可用于在各种情况下预测例如客户或座席的行为,从而允许本发明的实施方案基于此类预测来定制交互或分配资源以准备未来交互的预测特性,从而改善联络中心的总体性能和客户体验。应当理解,虽然分析模块250被描绘为联络中心的一部分,但此类行为模型也可在客户系统上(或者,也如本文所用,在交互的“客户侧”上)实现并用于客户利益。
66.根据示例性实施方案,分析模块250可访问存储在存储设备220中的数据,包括客户数据库222和座席数据库223。分析模块250还可访问交互数据库224,该交互数据库存储
与交互和交互内容相关的数据(例如,其中检测到的交互和事件的转录)、交互元数据(例如,客户标识符、座席标识符、交互媒体、交互时长、交互开始和结束时间、部门、带标签的类别)以及应用程序设置(例如,通过联络中心的交互路径)。此外,如下文更详细讨论的,分析模块250可被配置为检索存储在存储设备220内的数据,以用于例如通过应用机器学习技术来开发和训练算法和模型252。
67.所包括的模型252中的一个或多个模型可被配置为预测客户或座席行为和/或与联络中心操作和性能相关的方面。此外,模型252中的一个或多个模型可用于自然语言处理,并且例如包括意图识别等。模型252可基于以下各项来开发:1)已知的描述系统的第一原理公式;2)数据,产生经验模型;或3)已知的第一原理公式和数据的组合。在开发与本发明的实施方案一起使用的模型时,由于第一原理公式通常是不可用的或不容易导出的,因此通常可能优选的是基于收集和存储的数据来构建经验模型。为了正确地捕获复杂系统的操纵/干扰变量与受控变量之间的关系,可能优选的是模型252是非线性的。这是因为非线性模型可表示操纵/干扰变量与控制变量之间的曲线关系而不是直线关系,这对于复杂系统诸如本文所讨论的那些是常见的。鉴于前述要求,基于机器学习或神经网络的方法目前是用于实现模型252的优选实施方案。例如,可使用高级回归算法基于经验数据来开发神经网络。
68.分析模块250还可包括优化器254。应当理解,可使用优化器来使受制于一组约束的“成本函数”最小化,其中成本函数是期望目标或系统操作的数学表示。由于模型252可以是非线性的,因此优化器254可以是非线性编程优化器。然而,可以设想的是,本发明可通过单独地或组合地使用多种不同类型的优化方法来实现,包括但不限于线性编程、二次编程、混合整数非线性编程、随机编程、全局非线性编程、遗传算法、粒子/群技术等。
69.根据示例性实施方案,模型252和优化器254可在优化系统255内一起使用。例如,分析模块250可利用优化系统255作为优化过程的一部分,通过优化过程优化或至少增强联络中心性能和操作的各方面。例如,这可包括与客户体验、座席体验、交互路由、自然语言处理、意图识别相关的方面或与自动化过程相关的其他功能。
70.图2(以及本文包括的其他附图)的各种部件、模块和/或服务器可各自包括一个或多个处理器,该一个或多个处理器执行计算机程序指令并与其他系统部件交互以执行本文所述的各种功能。此类计算机程序指令可存储在使用标准存储设备(诸如例如随机存取存储器(ram))实现的存储器中,或存储在其他非暂态计算机可读介质(诸如例如cd-rom、闪存驱动器等)中。尽管每个服务器的功能被描述为由特定服务器提供,但本领域的技术人员应当认识到,在不脱离本发明的范围的情况下,各种服务器的功能可被组合或集成到单个服务器中,或者特定服务器的功能可分布在一个或多个其他服务器上。此外,术语“交互”和“通信”可互换使用,并且一般是指使用任何通信渠道的任何实时和非实时交互,包括但不限于电话呼叫(pstn或voip呼叫)、电子邮件、语音邮件、视频、聊天、屏幕共享、文本消息、社交媒体消息、webrtc呼叫等。可通过可在客户设备205和/或座席设备230上生成的用户界面(ui)来影响对联络系统200的部件的访问和控制。如已经指出的,联络中心系统200可作为混合系统操作,其中一些或所有部件被远程托管,诸如在基于云的或云计算环境中。
71.聊天系统
72.转到图3和图4,示出了聊天系统和聊天机器人的各个方面。如将所见的,本发明的
实施方案可包括此类聊天特征或可由此类聊天特征启用,一般来讲,此类聊天特征启用文本消息在不同方之间的交换。这些方可包括现场人员,诸如客户和座席,以及自动化过程,诸如机器人或聊天机器人。
73.就后台而言,机器人(也称为“互联网机器人”)是一种通过互联网运行自动化任务或脚本的软件应用程序。通常,机器人执行既简单又具有结构重复性的任务,其执行速度远高于个人。“机器人创作者”是指构建和/或管理机器人的人。聊天机器人是一种特定类型的机器人,并且如本文所用,被定义为通过听觉或文本方法进行会话的软件和/或硬件。应当理解,聊天机器人通常被设计为令人信服地模拟人类作为会话伙伴的行为方式。聊天机器人通常用于对话系统中,以用于各种实际目的,包括客户服务或信息采集。一些聊天机器人使用复杂的自然语言处理系统,而更简单的聊天机器人会扫描输入中的关键字,然后基于匹配的关键字或措辞模式从数据库中选择回复。
74.在进一步描述本发明之前,将提供关于引用系统部件(例如,模块、服务器和其他部件)的解释说明,这些部件已在任何先前的图中引入。无论后续引用是否包括在先前附图中使用的对应数字标识符,应当理解,该引用结合了先前附图中描述的示例,并且除非另有明确限制,否则可根据该示例或能够实现所需功能的其他常规技术来实现,如本领域普通技术人员将理解的。因此,例如,对“联络中心系统”的后续提及应被理解为是指图2的示例性“联络中心系统200”和/或用于实现联络中心系统的其他常规技术。作为附加示例,下文对“客户设备”、“座席设备”、“聊天服务器”或“计算设备”的后续提及应理解为分别是指图1至图2的示例性“客户设备205”、“座席设备230”、“聊天服务器240”或“计算设备200”以及用于实现相同功能的常规技术。
75.现在将参考图3和图4中分别示出的聊天服务器和聊天机器人的示例性实施方案更具体地讨论聊天特征和聊天机器人。虽然这些示例是相对于在联络中心侧上实现的聊天系统提供的,但此类聊天系统可在交互的客户端上使用。因此,应当理解,图3和图4的示例性聊天系统可针对类似的客户端具体实施进行修改,包括使用客户端聊天机器人,该客户端聊天机器人被配置为代表客户与联络中心的座席和聊天机器人进行交互。还应当理解,语音通信可通过经由将文本到语音和/或语音到文本进行转换来利用聊天特征。
76.现在具体参考图3,提供了可用于实现聊天系统和特征的聊天服务器240的更详细框图。聊天服务器240可通过数据通信网络210耦接到由客户操作的客户设备205(即,与其进行电子通信)。例如,聊天服务器240可由企业作为联络中心的一部分操作,以用于实现和协调与客户的聊天会话,包括自动聊天和与人工座席的聊天。关于自动聊天,聊天服务器240可以托管聊天自动化模块或聊天机器人260a-260c(统称为260),该聊天自动化模块或聊天机器人被配置有用于参与聊天会话的计算机程序指令。因此,一般来讲,聊天服务器240实现聊天功能,包括客户设备205与座席设备230或聊天260之间的基于文本或聊天通信的交换。如下文更详细地讨论,聊天服务器240可包括客户界面模块265和座席界面模块266,该客户界面模块和该座席界面模块分别用于在客户设备205和座席设备230处生成促进聊天功能的特定ui。
77.关于聊天机器人260,各自可作为根据需求启动的可执行程序来操作。例如,聊天服务器240可作为聊天机器人260的执行引擎操作,类似于将voicexml文件加载到媒体服务器以用于交互式语音应答(ivr)功能。加载和卸载可以由聊天服务器240控制,类似于在交
互式语音应答的情景中如何控制voicexml脚本。聊天服务器240还可提供用于以统一方式捕获和收集客户数据的装置,类似于在ivr情景中的客户数据捕获。无论是使用相同的聊天机器人、不同的聊天机器人、座席聊天,甚至是不同的媒体类型,此类数据都可在后续会话中存储、共享和使用。在示例性实施方案中,聊天服务器240被配置为在交互从一个聊天机器人转移或转变到另一个聊天机器人或从一个聊天机器人转移或转变到人工座席时协调各种聊天机器人260之间的数据共享。在与特定聊天机器人交互期间捕获的数据可与调用第二聊天机器人或人工座席的请求一起传输。
78.在示例性实施方案中,聊天机器人260的数量可根据聊天服务器240的设计和功能而变化,并且不限于图3所示的数量。此外,可创建不同的聊天机器人以具有不同的配置文件,然后可在这些配置文件之间进行选择以匹配特定聊天或特定客户的主题。例如,特定聊天机器人的配置文件可包括在特定主题或针对特定客户偏好的通信风格上帮助客户的专业知识。更具体地,一个聊天机器人可被设计成参与第一通信话题(例如,在企业开设新账户),而另一个聊天机器人可被设计成参与第二通信话题(对企业提供的产品或服务的技术支持)。或者,聊天机器人可被配置为使用不同的方言或俚语,或具有不同的个性特征或特性。使用具有迎合特定类型客户的配置文件的聊天机器人可实现更有效的沟通和结果。可基于关于另一方的已知信息(诸如人口统计信息、交互历史或社交媒体上可用的数据)来选择聊天机器人配置文件。聊天服务器240可托管默认聊天机器人,如果关于客户的信息不足以调用更专业的聊天机器人,则调用该默认聊天机器人。任选地,不同的聊天机器人可以是客户可选择的。在示例性实施方案中,聊天机器人260的配置文件可存储在存储设备220中托管的配置文件数据库中。此类配置文件可包括聊天机器人的个性、人口统计、专业知识领域等。
79.客户界面模块265和座席界面模块266可被配置为生成用于在客户设备205上显示的用户界面(ui),该ui促进客户与聊天机器人260或人工座席之间的聊天通信。同样,座席界面模块266可在座席设备230上生成特定ui,该特定ui有利于操作座席设备230的座席与客户之间的聊天通信。座席界面模块266还可在座席设备230上生成ui,该ui允许座席监视聊天260和客户之间正在进行的聊天的各方面。例如,客户界面模块265可在聊天会话期间向客户设备205传输信号,该信号被配置为在客户设备205上生成特定ui,其可包括显示从聊天机器人260或人工座席发送的文本消息以及意图伴随文本消息的其他非文本图形,诸如表情符号或动画。类似地,座席界面模块266可在聊天会话期间向座席设备230传输被配置为在座席设备230上生成ui的信号。此类ui可包括便于座席选择非文本图形以便将传出的文本消息附带给客户的界面。
80.在示例性实施方案中,聊天服务器240可在分层架构中实现,该分层架构具有媒体层、媒体控制层和通过imr服务器216执行的聊天机器人(类似于在ivr媒体服务器上执行voicexml)。如上所述,聊天服务器240可被配置为与知识管理服务器234进行交互以向服务器查询知识信息。查询例如可基于在聊天期间从客户接收的问题。然后,可将从知识管理服务器234接收的应答作为聊天应答的一部分提供给客户。
81.现在具体参考图4,提供了示例性聊天自动化模块或聊天机器人260的框图。如图所示,聊天机器人260可包括若干模块,包括文本分析模块270、对话管理器272和输出发生器274。文本分析模块270可被配置为分析和理解自然语言。就这一点而言,文本分析模块可
配置有语言词典、句法/语义解析器和语法规则,用于将由客户设备205提供的短语分解成内部句法和语义表示。文本分析模块的配置取决于与聊天机器人关联的特定配置文件。例如,某些字词可包括在一个聊天机器人的词典中,但另一个聊天机器人的词典排除在外。
82.对话管理器272从文本分析模块270接收句法和语义表示,并且基于一组决策规则管理会话的一般流。就这一点而言,对话管理器272维护会话的历史和状态,并且基于这些,生成出站通信。通信可遵循由对话管理器272选择的特定会话路径的脚本。如下文进一步详细描述的,可基于对会话的特定目的或话题的理解来选择会话路径。会话路径的脚本可使用本领域常规的各种语言和框架中的任一种来生成,诸如例如人工智能标记语言(aiml)、scxml等。
83.在聊天会话期间,对话管理器272选择在会话流/脚本的特定点处被认为合适的应答并将应答输出到输出发生器274。在示例性实施方案中,对话管理器272还可被配置为计算所选择的应答的置信度水平并将该置信度水平提供给座席设备230。聊天通信中的每个片段、步骤或输入都可具有对应的可能应答列表。可基于话题(使用合适的文本分析和话题检测方案确定)对应答进行分类,并分配建议的接下来的动作。动作可包括例如具有答案的应答、附加问题、转移到人工座席以进行辅助等。置信度水平可用于帮助系统决定对客户输入的检测、分析和应答是否合适,或者是否应该涉及人工座席。例如,可基于一个或多个业务规则分配阈值置信度水平以调用人工座席干预。在示例性实施方案中,可基于客户反馈来确定置信度水平。如上所述,对话管理器272选择的应答可包括知识管理服务器234提供的信息。
84.在示例性实施方案中,输出发生器274采用对话管理器272提供的应答的语义表示,将应答映射到聊天机器人配置文件或个性(例如,通过根据聊天机器人的方言、词汇或个性调整应答的语言),并且输出要在客户设备205处显示的输出文本。输出文本可被有意地呈现,使得与聊天机器人交互的客户不知道其正与自动化过程交互,而不是与人工座席交互。
85.图5示出了意图层级结构的实施方案。转到对话管理器272,机器人创作者可以定义所有可能用户意图的层级列表,包括针对任务的意图(例如,“我想要订购素食餐”)和针对其他对话行为诸如通知新槽位值的意图(例如,“用于我下星期四飞往丹佛的航班”)。例如,在图5中指示的层级列表中,“任务:订购特殊餐食”505a可与短语“我想要订购素食餐”相关联。应答510通过由机器人创作者进行的映射与任务505相关联。机器人创作者以将层级结构中的一些或全部意图映射到“应答流程”。这些应答流程使用类似流程图的设计以在给定当前会话状态的情况下描述下一步要做什么的逻辑。如果相同意图在后续对话回合中是活动的,则相同的流程图从头开始重新执行。因此,机器人可被编程为对会话中的任何点处的任何新意图和/或槽位值适当地作出反应,这是一个使用传统的基于fsm的方法不可行的任务。
86.在运行时,对话管理器272跟踪最终用户在意图层级列表中的当前位置,并且使用该位置以及了解最近完成的和搁置的意图来细化每个新意图的置信度得分,并且因此决定是否对被认为最有可能的意图执行确认或澄清。
87.图6示出了大体上在600处指示的由对话管理器执行对话回合的过程的实施方案。过程600可在对话管理器272中发生。
88.在操作605中接收输入。例如,通过例如键入的文本来接收用户与机器人之间的会话过程中的输入,或者该输入可以是由自动语音识别系统对口头语言进行转录的结果。该输入被传递到自然语言理解(nlu)引擎610。nlu引擎可以确定可能意图列表,其中可能意图中的每个可能意图可包括一个或多个槽位值。该列表被传递到对话管理器。在一个实施方案中,每个意图可具有与其一起返回的相关联的置信度。
89.在操作615中,将nlu置信度的情景感知重新评分应用于可能意图。在重新评分过程中,可以将权重添加到置信度。例如,被假设为与用户最近处理的任务相关联的意图将使得其相关联置信度水平相应地增加。基于当前情景对nlu置信度进行重新评分的过程可如下执行。nlu引擎(其可以是第三方引擎)被配置为具有所有可用意图的扁平化列表。引擎不理解当前对话的情景。在对话管理器的存储器内,可以为每个会话存储以下信息:到意图层级结构中的当前活动任务的路径;到“最近完成的”任务的任务路径列表,包括关于其完成时间的细节;和到当前“搁置的”任务(例如,用户最初激活了任务但是随后切换到了不同的任务,因此第一任务被搁置)的路径列表,包括关于其纯搁置时间的细节。
90.当检测到新意图时,可在多种情况下增加其置信度得分,包括:该意图是当前任务意图的子任务意图(根据意图层级结构)或如果该意图与“最近完成的”或“搁置的”任务列表中的任务(或任务的子任务)匹配。在一个实施方案中,任务被添加到列表的时间越近,新意图的置信度就增加得越高。在所讨论的意图出现在意图层级结构中的多个地方的情况下,可以针对到该意图的每个不同路径确定单独得分,并且在以后的处理中,这些将被视为单独的意图假设。
91.在操作620中选择意图。然后,基于所选择的意图确定意图层级结构中的当前活动任务路径应该是什么625。在一个实施方案中,相同的任务意图可以出现在意图层级结构中的多个不同位置。“任务路径”可以描述该任务意图在层级结构中的单个实例的位置。任务路径采用意图名称序列的形式,该意图名称序列从层级结构的根部开始。当前活动任务路径的确定可包括以下中的任一者:基于与对话管理器的会话,保持先前的当前任务路径;激活先前的当前任务路径的子任务;重新打开“最近关闭的”任务路径;从先前的当前任务路径切换;切换回先前“搁置的”任务路径;或在到相同意图的不同路径之间进行澄清。在下面图7中更详细地描述了确定任务路径的过程。
92.在假设意图列表中,确认最高得分意图630。在一个实施方案中,这可以直接由用户完成,或者其可以基于启发法或机器学习技术来完成。该过程在下面图8中更详细地描述。
93.在操作635中,针对意图层级结构中的活动任务路径选择应答流程并且从头开始执行该应答流程。在一个实施方案中,应答流程输出特定于渠道的提示,执行业务逻辑,并且当需要等待来自用户的新输入时停止。如果当前活动的任务没有应答流程但在层级结构中具有子任务,则可以自动提示用户选择他们希望激活的子任务。如果用户触发不具有与其相关联的流程的任务,并且该任务具有多个子任务,则系统可以向用户呈现那些子任务的列表,使得用户可以轻松地查看子任务。用于产生此菜单系统的信息可以直接从意图层级结构中收集,而无需机器人创作者配置任何附加逻辑。示例包括:
94.用户:“我有一个关于遗失行李的问题”95.系统:“您想要了解哪一个遗失行李任务”:1)上报遗失行李;还是2)查看遗失行李
状态”96.用户:“2”97.系统:“好的,您有遗失行李单号吗?”...
98.回到确定任务路径的过程,图7示出了大体上在700处指示地用于任务路径选择的过程的实施方案。过程700可以由对话管理器272执行。机器人仅使用意图层级结构中固有的信息来处理不同样式的用户输入(例如,后续问题、对多个地方中类似的意图进行澄清)。后续问题的示例示出如下:
99.用户:“ga100航班什么时候降落?”100.系统:(启动“flight_status”任务)“ga100航班于8:24pm降落。”(将“flight_status”移动到“最近完成的”任务列表。)
101.用户:“那ga101航班呢?”102.系统(将“flight_status”移动回到“当前”)“ga101航班于10:40pm降落。”(将“flight_status”移动到“最近完成的”任务列表。)“还有什么我可以帮您的吗?”103.如果用户随后触发的意图是已完成任务路径中的一个已完成任务路径的子路径(并且其不是当前任务路径(如果有的话)的子路径),假设置信度得分足够高,则系统可以将任务路径从“最近完成的”移动到“当前”。
104.澄清的示例通常在通用意图(例如,“inform_flight_details”)中出现,其可以用于多个不同任务(即,存在多个匹配任务路径)。如果这些任务路径中的一个任务路径完全或部分匹配“当前”任务路径,或者在“最近完成的”或“搁置的”任务路径列表中,则系统将向该任务路径应用对应的权重。如果仍然没有明确的选择,则系统可以查看最低非共同特性部分任务路径,并将其呈现为用户的可能选择列表,以便进行澄清。
105.当过程600中已经产生重新评分后的意图假设列表时,机器人执行过程700。对该列表进行过滤705,以仅包括最高评分假设,或满足指定阈值的那些假设。确定过滤后的列表中是否只剩下一个假设710。如果确定仅剩下一个假设,则确认假设的nlu意图715。在一个实施方案中,该确认由用户执行。假设的任务路径被设置为“当前”任务路径720,在适当情况下,向用户输出“情景切换”消息。在一个实施方案中,当在任务意图的处理过程中时,如果用户触发不同的任务意图,则机器人应当让最终用户清楚地知道正在切换任务(例如,“好的,您想要查看航班状态。稍后可以返回并完成特殊餐食的订购。”)。如果用户触发的新任务是当前任务路径的子路径,根据意图层级结构,则机器人不应输出任何情景切换消息。
106.如果确定剩下多于一个假设,则随后确定剩下的假设是否都使用相同的意图,但到该意图的路径不同725。
107.如果确定假设并不都使用相同的意图,则计算到每个假设的最简单的不同路径730。路径列表可呈现给最终用户以进行澄清。最终用户查看路径并选择路径735。随后使用所选路径以进一步过滤假设列表740。随后确定是否仅剩下单个假设745。如果确定剩下单个假设,则确认假设的nlu意图750。在一个实施方案中,这可以由用户完成。假设的任务路径被设置为“当前”任务路径755。在适当的情况下,如先前所描述的,向用户输出情景切换消息。如果确定未剩下单个假设,则由用户选择并确认第一nlu意图760。如果用户拒绝此意图,则确认下一个nlu意图,如此等等。所选的假设的任务路径被设置为“当前”任务路径765。在适当的情况下,如先前所描述的,向用户输出情景切换消息。
108.如果在操作725中确定假设全部使用相同意图,但到该意图的路径不同,则确认假设nlu意图770。在一个实施方案中,这可以与用户进行确认。然后确定到每个假设的最简单的不同路径并将其呈现给最终用户以进行澄清775。最终用户选择这些路径中的一者780。随后使用所选路径来识别完整任务路径并被设置为“当前”任务路径785。在适当的情况下,如先前所描述的,向用户输出情景切换消息。
109.图8示出了大体上在800处指示的用于确认意图和槽位的过程的实施方案。过程800包括用于一次管理对意图和多个槽位值的确认的算法,从而允许用户:否定整个意图和槽位;接受具有一些修改槽位的意图;选择不同的意图;或接受意图和槽位。这允许用户使用自然语言来校正系统对其输入的解释。用户可以进一步确认系统接收到了通过输入信号提供的所有信息。一起确认意图和所有槽位也表明,机器人后续不必根据可能不确定的意图或槽位值进行业务决策。
110.对于每个意图,机器人创作者定义一个或多个触发短语和一个或多个确认提示。触发短语可包括用于一个或多个槽位的占位符,并且应针对触发短语中的槽位的每个组合来配置至少一个确认提示变化。当用户触发包括一个或多个槽位的触发短语时,对话管理器将选择槽位与由用户提供的槽位匹配的确认提示变化,因此对话管理器确认由用户同时提供的意图和所有槽位值。
111.在操作805中,用户对确认提示进行应答。nlu引擎将用户应答映射到意图和槽位上810。确定用户应答是否以肯定(例如,“是”或“是,但是”)开始815。
112.如果确定用户应答以肯定(例如,“是”或“是,但是”)开始,则进一步确定新意图是否是“任务意图”820。如果确定新意图是“任务意图”,则将新意图添加到搁置的任务列表中,并且原始意图和原始槽位被接受825。如果确定新意图不是“任务意图”,则进一步确定新意图是否是“非任务”意图830。如果新意图不是非任务意图(例如,“通知”),则原始意图和槽位被接受835。如果新意图是非任务意图,则原始意图被接受840并且可另外与用户进行确认。还接受了任何新的槽位加上未在新的用户输入中提供的原始槽位中的任一个原始槽位。
113.如果确定用户应答没有以肯定(例如,“是”或“是,但是”)开始,则进一步确定用户应答是否以否定(例如“否”)开始845。如果确定用户应答没有以否定开始,则原始意图和槽位被拒绝850,并且新的意图和槽位被接受(这些可另外与用户进行确认)。如果确定用户应答以否定开始,则进一步确定新意图是否是“任务意图”855。如果确定新意图是“任务意图”,则原始意图和槽位被拒绝850,并且新意图和槽位被接受(这些可另外与用户进行确认)。如果确定新意图不是“任务意图”,则进一步确定新意图是否是非任务意图(例如,“通知”)860。如果新意图是非任务意图,则原始意图被接受840并且可另外与用户进行确认。还接受了任何新的槽位加上未在新的用户输入中提供的原始槽位中的任一个原始槽位。如果新意图不是非任务意图,则原始意图/槽位与新意图/槽位一起被拒绝865。
114.图9示出了大体上在900处指示的用于应答流程的过程的实施方案。应答流程包括模块化构造,该模块化构造由有向图组成,其中该图中的每个节点执行某个动作并且选择要沿循的所命名的输出路径(或边缘)并因此选择下一个待访问的节点。每个应答流程包括特殊的“默认”节点,其也可以具有到该图上的其他节点的路径。节点的“结果”可以是任何任意字符串,其指示在该图中将要沿循的路径。结果可具有由点分开的若干部分。与结果的
初始子串匹配的任何路径可以是一个匹配项。例如,被称为“error.badfetch”的路径将与结果如“error.badfetch”和“error.badfetch.timeout”匹配,而不是仅仅与“error”匹配。
115.在操作905中,执行当前节点并且获得其“结果”。在操作910中,确定当前节点是否具有与操作905中获得的结果相同名称的路径。如果确定当前节点具有与结果相同名称的路径,则沿循该路径915。如果确定当前节点不具有与结果相同名称的路径,则进一步确定“默认”节点是否具有与结果相同名称的路径920。如果确定“默认”节点具有与结果相同名称的路径,则沿循该路径925。如果确定“默认”节点不具有与结果相同名称的路径,则退出应答流程930。应答流程的结果是节点的结果。在一个实施方案中,调用了应答流程的link节点的结果将与当前节点的结果相同。
116.针对应答流程的配置的示例在下面以yaml格式示出:
117.节点:
[0118]-node_name:start
[0119]
node_type:start
[0120]
output_paths:
[0121]
success:ask number of widgets
[0122]-node_name:ask number of widgets
[0123]
node_type:askforslot
[0124]
slot_name:widgetcount
[0125]
prompts:
[0126]
initial:“how many widgets would you like?”[0127]
retry:“sorry,tell me how many widgets you want to add to the order.”[0128]
...
[0129]
output_paths:
[0130]
success:perform identification and verification
[0131]-node_name:perform identification and verification
[0132]
node_type:link
[0133]
target_flow_id:3829389
[0134]
output_paths:
[0135]
success:fulfill order
[0136]
error:reset password
[0137]-node_name:reset password
[0138]
node_type:link
[0139]
target_flow_id:948494
[0140]
output_paths:
[0141]
success:perform identification and verification
[0142]-node_name:fulfill order
[0143]
node_type:webhook
[0144]
url:https://www.genesys.com/widgets/orders
[0145]
method:post
[0146]
fields:[accountnumber,widgetcout]
[0147]-node_name:handle error
[0148]
node_type:say
[0149]
prompt:“sorry,an error occurred.please try again later.”[0150]
default:
[0151]
output_paths:
[0152]
error:handle error
[0153]
节点可以查询情景(包括活动意图列表和槽位值),并使待向用户显示的输出提示排队等候。如果需要的话,节点也可以暂停并等待来自用户的新输入。不同类型的自定义节点可包括以下示例中的一些示例。“say”类型输出针对用户的消息。“ask for slot”类型暂停直到配置的槽位已由用户填充。“logic”类型执行自定义逻辑和/或调用web服务。“link”类型可以调用另一应答流程并将结果返回到当前应答流程。“return”类型可完成应答流程的执行,并且将给定结果返回到调用了该类型的应答流程。为了防止任何节点的不必要的执行,节点可被配置为具有“存储器”,使得如果节点(在当前回合或先前回合)已被成功执行,则将在后续访问中跳过该节点的执行,并且使用与上次相同的结果。存储器可取决于某些命名的槽位值,使得将跳过节点的执行,除非自上次完全执行节点以来,这些槽位的值已经更改。
[0154]
本领域的技术人员将理解,可进一步选择性地应用上文结合若干示例性实施方案所述的许多不同特征和配置,以形成本发明的其他可能的实施方案。为简洁起见并考虑到本领域普通技术人员的能力,未提供或详细讨论可能迭代中的每个可能迭代,但以下几项权利要求或以其他方式所包含的所有组合和可能的实施方案旨在成为本技术的一部分。此外,通过以上对本发明的若干示例性实施方案的描述,本领域的技术人员将会想到改进、改变和修改。本领域的技术范围内的此类改进、改变和修改也旨在由所附权利要求涵盖。此外,应当显而易见的是,前述内容仅涉及本技术的所述实施方案,并且在不脱离以下权利要求书及其等同物所限定的本技术的实质和范围的情况下,可在本文中作出许多改变和修改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献