增强的数字消息传递的制作方法

文档序号:23818813发布日期:2021-02-03 14:41阅读:74来源:国知局
增强的数字消息传递的制作方法
增强的数字消息传递
[0001]
相关申请的交叉引用
[0002]
本申请依据35u.s.c.
§
119(e)要求享有2019年7月26日提交、标题为“enhanced digital messaging”的美国临时申请序列号62/879,084的权益,该美国临时申请特此通过引用整体并入本文。
技术领域
[0003]
本公开的实施例总体上涉及通信方法,并且具体地涉及在异步通信系统中执行的通信方法。


背景技术:

[0004]
异步通信信道提供明确的会话结束指示。例如,在呼叫方挂断电话或网络聊天用户关闭其网页或浏览器时,相对容易确定通过该同步通信信道的会话已结束。


技术实现要素:

[0005]
与同步通信信道相比,异步通信信道不会提供“会话”结束的任何指示,判断特定交互是否结束变得更困难。本公开的实施例旨在解决异步通信信道的这一挑战,并进一步旨在使得联络中心能够以有效率且智能的方式利用异步通信信道。此外,本公开的实施例提供了一种机制,用于使客户能够经由数字异步通信信道与联络中心交互,并然后以无缝方式恢复停滞或暂停的交互。本公开的实施例还提供了一种系统,使得联络中心能够智能地确定客户是否正在尝试恢复先前的会话话题或开始新的会话话题,然后将该信息馈送给联络中心代理,由此允许该代理适当地继续与客户交互或与客户开始不同交互。在一些实施例中,确定客户希望开始新的会话话题可能导致联络中心将新代理分配给客户,而不是让客户与先前分配的代理继续其会话,在采用基于技能的联络路由的联络中心中,这样可能尤其有帮助。被分配处理新的会话话题的新代理可以对应于人类代理或聊天机器人。在一些实施例中,可能有益的是将客户重新路由到先前处理与客户的交互的同一代理,该代理熟悉先前的客户/话题,通过这样做,除了可能改善客户满意度之外,还能够提高联络中心的效率。
[0006]
在一些实施例中,会话可能看起来是与客户的消息交换的简单继续,并且会话的停滞可能看起来是无缝的。允许客户简单地输入对联络中心代理(无论是自动化/聊天机器人代理/虚拟助理或人类代理)发送的先前消息的响应。从客户的角度看,开始新话题简单到只要忽略先前消息并发送新/不同话题的新消息。在任一种事件中,都允许客户经由数字异步通信信道直观地与联络中心交互。
[0007]
本公开的实施例还提供了使得联络中心能够高效率地与客户交互的机制。例如,本公开的实施例使得联络中心能够判断客户是否已从会话退出。如果是自动化的,则使得联络中心能够判断是否可以停驻会话和/或是否可以保存并恢复聊天机器人对话上下文,以及不再保存上下文之前应当允许过去多少时间。如果正在利用人类代理,那么联络中心
会渴望知道是否以及何时可以释放该代理,以执行其它活动,或者,如果客户正在重新参与会话,是否应当从其它任务释放该代理,以使其注意力放在与该客户的当前交互上。
[0008]
如本文所用,联络中心的自动化可以指由聊天机器人管理交互的联络中心行为,聊天机器人可以基于规则(例如,专家系统)或人工智能(ai)使用定向对话。
[0009]
应当理解,会话可以与自动化代理(例如,聊天机器人)或与人类代理进行。在一些实施例中,一种数字异步通信信道包括,但不限于一种通信模态,该通信模态被配置为使得能够在客户的通信设备(例如,客户端设备、移动通信设备、智能电话、平板计算机、pc、膝上型计算机等)和代理的通信设备(例如,客户端设备、移动通信设备、智能电话、平板计算机、pc、膝上型计算机、执行聊天机器人的服务器等)之间进行数字消息通信。在一些实施例中,该数字异步通信信道可以包括或利用一个、一些或很多不同的通信路径、协议或消息传递服务。数字异步通信信道可以支持的消息传递服务的非限制性示例包括直接数字消息传递(例如,直接聊天、sms文本、电子邮件等)、社交媒体消息传递(例如,社交媒体贴、社交媒体直接消息传递等)、web聊天或使得会话能够发生并以非实时或接近实时方式被记忆的任何其它通信协议。尽管实况语音和视频会话并非一般经由异步通信信道进行,但应当理解,构思本公开的实施例还促进联络中心代理和客户之间的语音和/或视频通信。
[0010]
数字异步通信信道的具体而非限制性示例包括:(1)“顶部”(ott)信道,包括:facebook messenger、twitter dm、wechat、whatsapp、apple business chat、line、kakaotalk;(2)“telco”信道,包括:sms和google rcs;(3)带外应用到个人(“a2p”)消息,由企业客户用于促进各种企业特定通信(例如,通知、提醒、促销等);和/或(4)“实时消息传递”(rtm)信道,包括:应用内消息传递(android、ios和w/eb)、推送消息传递(android、ios和browser notifications)等。
[0011]
a2p消息代表从联络中心发起的指向客户的带外消息。a2p消息的示例包括但不限于:a)我们收到了您完成的申请
……
您的按揭申请正被审查;b)天气状况恶劣,您的航班可能会延迟;c)我看到您下周将去纽约旅行
……
您对到hamilton的机票感兴趣吗?;等等。应当理解,a2p消息可以涉及或不涉及先前消息,并可以被相应无缝地封装到与客户的会话中。应当理解,a2p消息可以代表联络中心发起的话题改变。来自客户的响应可能或可能不进行会话改变。如果不进行会话改变,客户仍然能够恢复先前的话题或发起新话题,新话题既不是在先话题也不是a2p消息发起的话题。
[0012]
本公开的实施例还提供了一种系统,该系统能够确定会话“结束”与有可能恢复会话的暂时退出。可以使得系统能够完全自主地或在人类代理的辅助下确定会话在将来某点恢复的可能性。例如,可以使用内容建模来确定会话移完成的可能性。话题置信度分数分析该数据以判断是否有意图保持在当前上下文和/或话题中;开始或转移到相关上下文和/或话题;或开始或转移到完全不同的上下文和/或话题。使用与这位客户的通信模式的历史数据,连同客户关系管理信息(来自安排的信息、人口统计信息、喜好和厌烦、已知情绪和态度属性以及与呼叫中心的先前体验)辅助对这位客户是否可能能够参与(engage)会话或他们可能不可用并将从这种会话退出(disengage)进行建模。
[0013]
分析交互将辅助呼叫中心员工管理系统确定应当何时将代理(人或机器人)排入队列以恢复特定会话并使客户重新参与或从当前会话退出,由此允许代理排队进行不同交互。例如,通过分析交互的文字记录来分析交互有助于确定会话变化的速率。交换速度或消
息轮次和会话中速度改变的速率可以表明会话是否在特定话题的高潮中加速和/或可能会解决或结束该交互。同样,会话中改变的速度可能表明呼叫是否在减慢并且不会很快或在特定时段内出现对问题的解决方案。改变速度向员工管理系统提供信息,该系统将确定何时为该代理安排更多工作队列,从代理撤走工作,或确定何时延迟先前安排的工作。
[0014]
本公开的各方面包括提供一种系统,该系统能够:(1)确定是恢复在先会话还是关于不同话题的新会话;(2)确定退出的可能性,目标是解放代理来做其它工作;(3)度量数字信道用户/客户的参与以计算代理的“负荷”因子(factor),然后确定是从该代理撤除任务还是向代理增加任务;(4)预测在为了外展服务而退出之后可能的重新参与,并估计所预测的重新参与的此类次数;和/或(5)跟踪数字参与的时段以促进前瞻性通知的最佳时间或恢复会话的邀约。
[0015]
本公开的实施例使得自动化系统能够分析退出的时段之后的新客户输入(例如,从客户通信设备接收的新消息),以查看新接收的消息是继续现有话题还是开始新话题。在一些实施例中,这是通过训练意图/话题模型以标记输入的话题来实现的。可以通过不同话题相对于来自退出之前的在先会话话题的高概率类别来指示话题改变。可以通过匹配在先话题的话题的高概率或任何话题的极低概率来指示话题继续。
[0016]
根据一些实施例,联络中心的自动化部件(例如,对话引擎和/或聊天机器人引擎)可以有权访问一组“训练过”的意图,其代表用户会参与联络中心的可能话题。于是,应当理解,可以为特定联络中心训练不同的意图,因为一个联络中心可以支持关于其它联络中心可能不支持的某些话题的会话。意图的训练和对话引擎的构建是本公开的实施例构思的服务。可能有附加的意图代表更一般的特定类别的响应,包括是/否型确认意图,以及像“玩笑”那样的其它意图,这样的其它意图代表需要响应的有礼貌的离题用户消息,但不推进对话的状态。可能有对话结构部件,其根据正在使用的聊天机器人引擎来控制与用户的对话范围。
[0017]
在一些实施例中,聊天机器人引擎被配置为生成与新输入和现有对话状态相关联的置信度分数。高的置信度分数(例如,值高于某个预定阈值)将导致对话引擎推进对话状态。低的置信度可以指示该输入不匹配对话状态中给定点处的预期,因此由聊天机器人引擎向客户发回默认响应(典型地,像是“对不起,我不理解。请再次尝试。”)并且不推进对话状态。
[0018]
在一些实施例中,实体可以对应于聊天机器人引擎可能会识别为用于驱动交易的值的数据项。聊天机器人引擎使用的实体的非限制性示例包括账号、pin、部件编号以及任何其它作为自动化对话的一部分而被需要的描述性值。预计聊天机器人引擎或调用聊天机器人引擎的对话引擎存储聊天机器人引擎要求的输入消息之间的对话状态。
[0019]
在一些实施例中,可以允许客户与运行预先编写的对话引擎的聊天机器人引擎进行会话,对话引擎包括以下部件中的一些或全部:受过训练的意图、系统提供的意图和对话结构。对话引擎或聊天机器人引擎存储对话的状态,从而可以向该状态应用下一个输入消息以推进到下一状态。可以允许用户通过不对最后一个聊天机器人引擎消息作出响应而在某一时间段内暂停会话,通信信道不提供任何连接断开的信号。在稍晚某个时间,客户可以通过在仍然开放的异步通信信道上发送新消息来重新参与会话。该消息可以被传递到聊天机器人引擎进行评估。聊天机器人引擎可以通过以下方式作出响应:(a)用户输入是预期输
入,意图置信度高,聊天机器人引擎返回响应并推进对话状态;或者(b)用户输入不是预期输入的匹配项,意图置信度低,聊天机器人引擎返回默认响应并且不推进对话状态。在执行响应(b)的情况下,聊天机器人引擎可以使用中性/初始对话状态重新运行并观察置信度分数。如果新输入以高置信度匹配另一意图,那么可以放弃在先对话状态并利用新用户输入开始新对话状态。
[0020]
利用以下示例可以更好地理解以上内容。考虑关于wifi连接问题的具有以下消息交换的会话:
[0021]
自动化代理:尝试将wifi关闭然后打开以查看它是否解决了问题。
[0022]
<退出的时段>
[0023]
客户:我摔坏了我的电话。我可以在哪里修理它?
[0024]
在这种情况下,客户的响应针对的是与解决wifi连接问题不同的话题。此外,针对电话修理的新话题可以接收到比其它话题显著高的话题置信度分数,因此,丢弃在先聊天机器人对话状态(处理wifi问题)并建立涉及电话修理的新对话状态。
[0025]
考虑具有稍微不同的客户响应的另一会话:
[0026]
自动化代理:尝试将wifi关闭然后打开以查看它是否解决了问题。
[0027]
<退出的时段>
[0028]
客户:不,我仍然具有问题。
[0029]
根据本公开的至少一些实施例,根据聊天机器人引擎和对话引擎,如果聊天机器人引擎被设计成查找确认作为成功或失败的指示,则聊天机器人引擎可以返回高置信度,在那种情况下,聊天机器人引擎会推进对话状态并返回适当的提示。对于不为子对话使用意图匹配的聊天机器人引擎,会监测对话状态,如果对话状态有推进,那么客户输入会被视为指示应当继续在先对话状态,如果对话状态没有推进,那么会执行具有中性或初始状态的用户输入的重新评估。
[0030]
本公开的实施例还构思使得聊天机器人引擎和/或对话引擎能够考虑并使用实体输入。考虑以下消息交换:
[0031]
自动化代理:请提供调制解调器的序列号,这样我能够检查固件升级。
[0032]
<客户退出,直到诸如他们能够找到调制解调器序列号的时间>
[0033]
客户:序列号是z1234n5678
[0034]
在本示例中,输入不提供意图,而是提供实体值(即,z1234n5678)。如基于意图的输入那样,将会预期有(因此推进对话状态)或没有(不推进对话状态)实体输入。上文示出的示例不会推进对话,因此,不会导致所提出的聊天机器人引擎和/或对话引擎采取任何动作。如果对话没有推进,那么可以运行针对新接收消息的话题置信度分数的进一步分析。在这种情况下,也会具有低置信度,因为用户输入是实体数据输入,而不是意图。因此,来自聊天机器人引擎的默认响应会被发送到用户,对话状态不会推进。
[0035]
如本文所用,消息可以包括经由通信网络从一个通信设备传输到另一个通信设备的一个或多个电子记录、文本、富媒体或数据结构。可以经由一个或多个数据分组来传输消息,此类数据分组的格式化可以取决于用于通过通信网络传输电子记录的消息传递协议。
[0036]
如本文所用,会话可以对应于意见、观点、问题、对问题的响应或理念的交换。会话话题可以对应于在通信会话中涉及的两个或更多实体之间讨论的特定主题或一组主题(不
论会话是同步还是异步)。
[0037]
如本文所用,话题类别可以对应于会话话题的标识。话题类别可以包括类别号(例如,其中特定号码对应于特定预定义话题)。话题类别可以替代地或附加地包括用户定义的话题、机器定义的话题或使用符号或字符的有限集合的话题的某种其它描述。会话常常涵盖一个或多个话题,因此,可以酌情被分配一个或很多话题类别。
[0038]
话题置信度分数可以对应于机器生成的值,该值指示置信度或匹配概率,匹配概率定义机器生成的话题类别的相近度。话题置信度分数可以对应于标量值、百分比或比值,并可以与类似格式的(例如,标量值、百分比、比值)预定阈值(可以是用户定义的)比较。
[0039]
如本文所用,交互可以对应于两个或更多实体通过数字通信信道的两次或更多次消息交换。在一些实施例中,交互可以对应于问题和响应消息对、问题和问题消息对、表述和响应消息对或一组消息。
[0040]
如本文所用,代理状态或代理的状态可以包括可用状态、占用状态、繁忙状态、呼叫后工作(acw)状态、不可用状态或已知或要开发以在联络中心使用的任何其它代理状态。
[0041]
如本文所用,会话模型可以对应于可以在神经网络中使用并由描述两个或更多实体之间的会话或消息交换的一个或多个数据集训练的数据集。会话模型可以被存储为模型数据文件或可以用于神经网络或ai系统之内的任何其它数据结构。
[0042]
如本文所用,会话速度可以对应于会话速率的度量,会话速率是在一时间段的会话中交换的消息数量的函数。该度量还可以吸纳附加因素,例如所交换的消息的信息密度或可能对应于会话速度改变的其它特征。可以认识到,会话速度的导数可以描述会话在加速还是减速。
[0043]
在一些实施例中,最终可以将话题上载到客户关系管理(crm)系统和/或正在联络中心之内执行的客户行程应用程序中。crm系统和/或客户行程应用程序可以在专门构建的服务器上执行,或者可以由还在联络中心之内实施联络路由例程的服务器执行。
[0044]
在一些实施例中,可以提供一个或多个涵盖以下可能性的机器学习模型:放弃、中止或请求升级到主管。这样的模型可以用于训练联络中心利用的神经网络,或者可以被存储并用于和当前交互进行比较,以判断当前交互与机器学习模型是否具有任何相似性。替代地或附加地,可以利用可用于度量“挫折”、“摩擦”或“惰性”的机器学习模型。如果确定交互与任何这样的模型具有特定量的相似性,那么可以在联络中心之内采取动作以避免更多可能的挫折、摩擦或惰性(例如,调用主管辅助功能或将联络转移到不同代理)。
[0045]
本公开的实施例还可以考虑与消息或会话相关联的元数据的推导。在一些实施例中,元数据可以用于向代理传达附加上下文。
[0046]
如本文所用,短语“至少一个”、“一个或多个”、“或”和“和/或”是开放式的表达,在操作中既是合取的又是析取的。例如,表达“a、b和c中的至少一个”、“a、b或c中的至少一个”、“a、b和c中的一个或多个”、“a、b或c中的一个或多个”、“a、b和/或c”以及“a、b或c”中的每者都表示仅a、仅b、仅c、a和b一起、a和c一起、b和c一起或a、b和c一起。
[0047]
术语“一”(a或an)实体是指该实体的一个或多个。这样一来,可以在本文中互换地使用术语“一”、“一个或多个”以及“至少一个”。还要指出,可以互换地使用术语“包括”和“具有”。
[0048]
如本文所用,术语“自动”及其变化是指在执行过程或操作时没有实质性人类输入
而完成的任何过程或操作。不过,即使过程或操作的执行使用了实质性或非实质性的人类输入,如果在执行过程或操作之前接收到输入,该过程或操作就可以是自动的。如果人类输入影响了执行过程或操作的方式,则认为这种输入是实质性的。与过程或操作的执行一致的人类输入不被认为是“实质性的”。
[0049]
本文使用的术语“计算机可读介质”是指参与向处理器提供指令加以执行的任何有形存储和/或传输介质。这样的介质可以采取很多形式,包括,但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如nvram或磁盘或光盘。易失性介质包括动态存储器,诸如主存储器。计算机可读介质的常见形式例如包括软盘、柔性盘、硬盘、磁带或任何其它磁性介质、磁光介质、cd-rom、任何其它光学介质、打孔卡、纸带、任何其它具有孔图案的物理介质、ram、prom和eprom、flash-eprom、像存储卡那样的固态介质、任何其它存储芯片或存储盒、下文描述的载波,或计算机能够读取的任何其它介质。电子邮件的数字文件附件或其它自包含信息档案或档案集被认为是等价于有形存储介质的分布介质。在计算机可读介质被配置为数据库时,要理解的是,数据库可以是任何类型的数据库,例如关系型、层次型、面向对象的和/或类似的。因此,认为被公开包括其中存储了本公开的软件实施的有形存储介质或分布介质以及现有技术已知的等价和后继介质。
[0050]“计算机可读信号”介质可以包括例如在基带中或作为载波的一部分传播的数据信号,其中包含了计算机可读程序代码。这样的传播信号可以采取多种形式的任何形式,包括,但不限于电磁的、光学的或其任何适当组合。计算机可读信号介质可以是并非计算机可读存储介质且能够沟通、传播或传输程序以供或结合指令执行系统、装置或设备使用的任何计算机可读介质。可以使用任何适当的介质来传输计算机可读介质上包含的程序代码,包括,但不限于无线、有线、光缆、rf等,或前述介质的任何适当组合。
[0051]
如本文所用,术语“确定”、“计算”和“运算”及其变体是可互换地使用的,并包括任何类型的方法、过程、数学运算或技术。
[0052]
应当理解,本文使用的术语“手段”应当被赋予根据35u.s.c.第112章第6段最宽的解释。因此,结合了术语“装置”的权利要求应当涵盖本文阐述的所有结构、材料或动作以及其所有等价物。此外,结构、材料或动作及其等价物应当包括在本公开的发明内容、附图说明、具体实施方式、摘要和权利要求自身中描述的全部。
[0053]
本公开的各方面可以采用完全硬件实施例、完全软件实施例(包括估计、驻留软件、伪代码等)或组合软件和硬件方面的实施例的形式,在本文中可以将它们全部称为“电路”、“模块”或“系统”。可以利用一种或多种计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。
[0054]
在又一实施例中,可以结合专用计算机、程控微处理器或微控制器和外围集成电路元件、asic或其它集成电路、数字信号处理器、硬连线电子或逻辑电路,诸如离散元件电路、可编程逻辑器件或门阵列,诸如pld、pla、fpga、pal、专用计算机、任何相当的装置等来实施本公开的系统和方法。通常,可以使用能够实施本文例示的方法的任何设备或装置来实施本公开的各方面。可以用于公开的实施例、配置和方面的示范性硬件包括计算机、手持设备、电话(例如,蜂窝的、有因特网功能的、数字的、模拟的、混合的和其它)和其它现有技术已知的硬件。这些设备中的一些包括处理器(例如,单个或多个微处理器)、存储器、非易失性存储装置、输入设备和输出设备。此外,也可以构建替代软件实施来实现本文描述的方
法,包括,但不限于分布式处理或部件/对象分布式处理、并行处理或虚拟机处理。
[0055]
本文所述的处理器的示例可以包括,但不限于如下至少一种:800和801、具有4g lte集成和64位计算的610和615、具有64位架构的a7处理器、m7运动协处理器、系列、core
tm
系列处理器、系列处理器、atom
tm
系列处理器、intel系列处理器、i5-4670k和i7-4770k 22nm haswell、i5-3570k 22nm ivy bridge、fx
tm
系列处理器、fx-4300、fx-6300和fx-8350 32nm vishera、kaveri处理器、texasjacinto c6000
tm
汽车信息娱乐处理器、texasomap
tm
汽车级移动处理器、cortex
tm-m处理器、cortex-a和arm926ej-s
tm
处理器、其它业内等价处理器,并且可以使用任何已知的或将来开发的标准、指令集、库和/或架构来执行计算功能。
[0056]
在又一实施例中,可以容易地结合软件,使用对象或面向对象的软件开发环境来实施公开的方法,所述环境提供可移植源代码,可以用于多种计算机或工作站平台上。替代地,可以使用标准逻辑电路或vlsi设计将所公开的系统部分或全部实现于硬件中。使用软件还是硬件来实现根据本公开的系统取决于系统的速度和/或效率需求、特定功能和所用的特定软件或硬件系统或微处理器或微计算机系统。
[0057]
在又一实施例中,所公开的方法可以部分实现于软件中,软件可以被存储于存储介质上,在控制器和存储器协作的程控通用计算机、专用计算机、微处理器等上执行。在这些情况下,本公开的系统和方法可以实现为嵌入于个人计算机上的程序,例如小程序、或cgi脚本,实现为驻留在服务器或计算机工作站上的资源,实现为嵌入专用测量系统、系统部件中的例程,等等。还可以通过将该系统和/或方法物理地结合到软件和/或硬件系统中来实现该系统。
[0058]
可以利用传统可执行指令集来执行本文描述或要求保护的方法,传统可执行指令集是有限的,并对固定输入集进行运算,以提供一个或多个确定的输出。替代地或附加地,可以使用ai、机器学习、神经网络等来执行本文描述或要求保护的方法。换言之,构思了一种系统或联络中心,其包括基于有限指令集和/或人工智能的模型/神经网络,以执行本文所述的一些或全部步骤。
附图说明
[0059]
图1是示出根据本公开至少一些实施例的通信系统的框图;
[0060]
图2是描绘根据本公开的至少一些实施例的聊天机器人引擎的附加细节的框图;
[0061]
图3a是描绘根据本公开的至少一些实施例正在显示第一会话的代理通信设备的图形用户界面的屏幕截图;
[0062]
图3b是描绘根据本公开的至少一些实施例正在显示第二会话的代理通信设备的图形用户界面的屏幕截图;
[0063]
图3c是描绘根据本公开的至少一些实施例正在显示第三会话的代理通信设备的
图形用户界面的屏幕截图;
[0064]
图3d是描绘根据本公开的至少一些实施例正在显示第四会话的代理通信设备的图形用户界面的屏幕截图;
[0065]
图3e是描绘根据本公开的至少一些实施例正在显示第五会话的代理通信设备的图形用户界面的屏幕截图;
[0066]
图3f是描绘根据本公开的至少一些实施例正在显示第六会话的代理通信设备的图形用户界面的屏幕截图;
[0067]
图4a是描绘根据本公开的至少一些实施例,提供与客户会话中的新话题的指示的代理通信设备的图形用户界面的屏幕截图;
[0068]
图4b是描绘根据本公开的至少一些实施例,提供与客户会话中的话题继续的指示的代理通信设备的图形用户界面的屏幕截图;
[0069]
图5是描绘根据本公开至少一些实施例的对话状态之间过渡的状态图;
[0070]
图6是描绘根据本公开至少一些实施例的第一通信方法的流程图;
[0071]
图7是描绘根据本公开至少一些实施例的第二通信方法的流程图;
[0072]
图8是描绘根据本公开至少一些实施例的第三通信方法的流程图;
[0073]
图9是描绘根据本公开至少一些实施例的第四通信方法的流程图;
[0074]
图10是描绘根据本公开至少一些实施例的第五通信方法的流程图;
[0075]
图11是描绘根据本公开至少一些实施例的第六通信方法的流程图;
[0076]
图12是描绘根据本公开至少一些实施例的第七通信方法的流程图;
[0077]
图13是描绘根据本公开至少一些实施例的第八通信方法的流程图;
[0078]
图14是描绘根据本公开至少一些实施例的第九通信方法的流程图;
[0079]
图15是描绘根据本公开至少一些实施例的第十通信方法的流程图;
[0080]
图16是描绘根据本公开至少一些实施例的第十一通信方法的流程图;
[0081]
图17是描绘根据本公开至少一些实施例的第十二通信方法的流程图;
[0082]
图18是描绘根据本公开至少一些实施例的第十三通信方法的流程图;
[0083]
图19是描绘根据本公开至少一些实施例的第十四通信方法的流程图;
[0084]
图20是描绘根据本公开至少一些实施例的第十五通信方法的流程图;
[0085]
图21是描绘根据本公开至少一些实施例的第十六通信方法的流程图;
[0086]
图22是描绘根据本公开至少一些实施例的第十七通信方法的流程图;
[0087]
图23a是描绘根据本公开的至少一些实施例正在显示多个聊天窗口的代理通信设备的图形用户界面的屏幕截图;
[0088]
图23b是描绘根据本公开的至少一些实施例正在显示多个聊天窗口和相关联的参与因子的代理通信设备的图形用户界面的屏幕截图;
[0089]
图23c是描绘根据本公开的至少一些实施例的代理通信设备的变化图形用户界面的屏幕截图;以及
[0090]
图24是描绘根据本公开的至少一些实施例的第十八通信方法的流程图。
具体实施方式
[0091]
在以下说明中,出于解释的目的陈述许多具体细节以便提供对本文公开的各实施
例的透彻理解。然而,对于本领域的技术人员显而易见的是,本公开的各实施例可在不具有这些具体细节的一些的情况下实施。接下来的描述仅提供示范性实施例,并非意图限制本公开的范围或适用性。此外,为了避免不必要地使本公开模糊不清,前面的描述省略了若干已知结构和设备。这种省略不应被理解为对权利要求范围的限制。相反,接下来对示范性实施例的描述将为本领域的技术人员提供使其能够实施示范性实施例的描述。不过应当理解,可以通过本文阐述的具体细节之外的各种方式来实践本公开。
[0092]
尽管本文例示的示范性方面、实施例和/或配置示出系统的各种部件共处一地,但系统的某些部件可能位于远程,在诸如局域网(lan)和/或因特网的分布式网络的远方部分处,或在专用系统之内。于是,应当理解,系统的部件可以被组合到一个或多个设备中,或者共处于分布式网络的特定节点上,分布式网络诸如模拟和/或数字电信网、分组交换网或电路交换网。从以下描述将会认识到,出于计算效率的原因,系统部件可以被布置于部件的分布式网络之内的任何位置而不影响系统的运行。
[0093]
本公开的实施例提供了利用聊天机器人支持与人类用户交互的系统和方法。本公开的实施例还提供了使人类用户(例如,客户)能够经由异步通信信道与联络中心交互的系统和方法。为人类用户提供异步通信信道以支持与联络中心的高效直观通信。同时,联络中心的元件被设计成为人类用户呈现一直可用且通信准备就绪的外观,同时处理与实施和呈现异步通信信道相关联的质询。
[0094]
下文将参考附图描述本公开的实施例的各种附加细节。尽管将相对于事件的特定序列论述和例示流程图,但应当理解,可以对这种序列做出改变、添加和省略而不实质影响所公开实施例、配置和方面的操作。
[0095]
一开始参考图1,将根据本公开的至少一些实施例描述通信系统100。通信系统100被示为包括通信网络104,通信网络将联络中心108及其资源与多个客户通信设备112互连。顾名思义,客户通信设备112可以由客户116拥有和/或操作。客户116可以对应于与其客户通信设备112交互以与联络中心108的资源通信的用户或人。具体而言,联络中心108可以包括方便客户116经由异步通信信道及其客户通信设备112的一个或多个进行交互的若干资源,所述异步通信信道被提供给客户116并被保持以供客户使用。如图1所示,客户116可以利用一个或多个客户通信设备112与联络中心交互。此外,本公开的实施例构思客户116可以使用多个不同的客户通信设备112经由单一异步通信信道通信。作为非限制性示例,客户116可以登录到基于web的门户或向特定聊天信道认证自己,然后利用基于web的门户或聊天信道与其客户通信设备112的任一个通信。
[0096]
客户通信设备112可以对应于计算设备、个人通信设备、便携式通信设备、膝上型计算机、智能电话、个人计算机和/或能够运行操作系统、web浏览器等的任何其它设备。例如,客户通信设备112可以被配置成操作各种版本的microsoft corp.的和/或apple corp.的操作系统、各种商用的任何一种,例如linux,或其它类似unix的操作系统、ios、等。这些客户通信设备112还可以具有各种应用程序的任一种,例如包括数据库客户端和/或服务器应用程序、web浏览器应用程序、聊天应用程序、社交媒体应用程序、呼叫应用程序等。客户通信设备112可以替代地或附加地是任何其它电子设备,例如薄客户端计算机、有因特网功能的移动电话和/或个人数字助
理,能够经由通信网络104进行通信和/或显示和导航网页或其它类型的电子文档。
[0097]
通信网络104可以是本领域的技术人员熟悉的能够使用各种市场可购的协议的任一种协议支持数据通信的任何类型的网络,所述协议包括,但不限于sip、tcp/ip、sna、ipx、appletalk等。仅仅作为示例,通信网络104可以对应于lan,诸如以太网网络、令牌环网络和/或类似网络;广域网;虚拟网络,包括,但不限于虚拟专网(“vpn”);因特网;内部网;外部网;公共交换电话网(“pstn”);红外网络;无线网络(例如,在ieee 802.9协议族、ieee 802.11协议族、现有技术已知的协议和/或任何其它无线协议下工作的网络);和/或这些和/或其它网络的任意组合。
[0098]
联络中心108被示为包括一个或多个计算设备,计算设备使得联络中心代理172和/或聊天机器人148能够经由客户通信设备112和联络中心108之间建立的通信信道与客户116交互。具体而言,联络中心108被示为包括实现联络中心108的功能的网络边界设备120和若干服务器124、128、132。网络边界设备120可以对应于一个或若干个为联络中心108建立并维持信息安全的设备。在一些实施例中,网络边界设备120可以包括会话边界控制器(sbc)、防火墙、网络地址转换器(nat)设备、协议变换器或其组合。因为从联络中心108运营方的角度来说通信网络104可能是不可信的,在一些实施例中,网络边界设备120可以被配置成实施安全性策略或规则。当在网络边界设备120处接收通信、消息、分组等时,网络边界设备120的部件可以分析所接收的通信、消息、分组等,以判断所接收的通信、消息、分组等的内容是否可以被安全传递到联络中心108的其它部件。在一些实施例中,可以通过网络边界设备120安全传递的所有内容都可以被传输到通信服务器128或路由引擎124以进行进一步分析和处理(例如,与特定会话一起被包括,用于分配/转发到特定联络中心代理172等)。
[0099]
在一些实施例中,联络中心108的每个服务器都可以被配置为执行特定任务或支持联络中心108的功能特定的一组任务。例如,路由引擎124可以对应于被配置为从网络边界设备120接收消息并为联络中心108之内的消息作出路由决策的服务器或服务器集合。通信服务器128可以对应于被配置为在客户116和联络中心108之间建立并维持通信信道的单个服务器或一组服务器。在一些实施例中,路由引擎124和通信服务器128可以协同工作以确保将适当代理172或一组代理172分配给特定通信信道(例如,异步通信信道),用于服务/解决由联络中心108的客户116发起的联络。具体而言,但并非限制,路由引擎124可以被配置成确定应当将哪位代理172分配给特定通信信道,用于回答客户116的问题和/或用于向客户116提供服务。路由引擎124可以向代理的通信设备168提供适当信令,使得代理的通信设备168能够与客户116通信所经的通信信道连接,并使得代理172能够查看客户的通信设备112发送的消息,该消息最终被分配到适当的通信信道并在其上发布。更具体而言,通信服务器128可以建立并维持数字聊天通信信道,该信道被提供给客户的通信设备112,并使得客户116能够在需要时向联络中心108发送聊天消息。在从客户通信设备112接收消息并分配给特定聊天通信信道时,路由引擎124可以确定哪个代理172将为客户116的需求服务(例如,回答问题,提供服务等),然后将选择的代理的通信设备168连接到同一聊天通信信道,由此使得代理172能够参与与客户116的聊天会话。替代地或附加地,如将要在本文更详细所述,路由引擎124可以将自动化代理(例如,聊天机器人)连接到通信信道,以通过与代理的通信设备168与通信信道连接相似的方式帮助为客户116的需求服务。差异在于,自动化代理(例如,聊天机器人)可以被配置成以自动化方式(例如,无需要求来自人类用户的输
入)对通过通信信道传输的客户116的消息做出响应。应当理解,如果希望允许自动化代理以半自动方式对客户116的消息作出响应(例如,在聊天机器人生成对消息的建议回复,但要求人类代理172批准或编辑消息,之后才传输/提交到通信信道并递送到客户通信设备112的情况下),路由引擎124可以被配置成将人类代理172和自动化代理(例如,聊天机器人)都连接到通信信道。
[0100]
尽管被描述为聊天服务器,但应当理解,通信服务器128可以被配置成支持任意数量的通信协议或应用程序,无论是同步还是异步的。可以受通信服务器128支持的通信协议或应用程序的非限制性示例包括会话发起协议(sip)、文件传输协议(ftp)、超文本传输协议(http)、http安全(https)、传输控制协议(tcp)、java、超文本标记语言(html)、短消息服务(sms)、因特网中继聊天(irc)、web应用程序消息传递(wamp)、soap、mime、实时消息传递协议(rtp)、web实时通信(webrtc)、webgl、xmpp、skype协议、aim、microsoft通知协议、电子邮件等。除了支持基于文本的通信之外,通信服务器128还可以被配置为支持基于非文本的通信,例如语音通信、视频通信等。
[0101]
可以在联络中心108中提供的另一种服务器或服务器集合是联络管理服务器132。联络管理服务器132可以被配置成管理联络中心108之内存在的联络或工作项目,联络或工作项目代表要由人类代理172和/或自动化代理(例如,聊天机器人)要结合向客户116提供服务执行的任务。联络管理服务器132可以被配置成在任何给定时间点为联络中心108中的一些或全部联络维持状态信息。联络管理服务器132还可以被配置成管理并分析历史联络,作为训练和更新自动化代理(例如,聊天机器人引擎148)的一部分。在一些实施例中,联络管理服务器132可以为联络中心108中的人类代理维持状态信息,并可以进一步与路由引擎124交互以确定哪些代理172当前可用于为联络服务并具有用于为联络服务的适当技能。将结合聊天机器人引擎148和对话引擎164的操作更详细地描述联络管理服务器132的附加能力,聊天机器人引擎和对话引擎两者都被示为由联络管理服务器132提供。
[0102]
尽管特定部件被描绘为包括在联络管理服务器132中,但应当理解,这样的部件可以提供于联络中心108中的任何其它服务器或服务器集合中。例如,联络管理服务器132的部件可以提供于路由引擎124和/或通信服务器128中,或者反之。再者,本公开的实施例构思了具备路由引擎124、通信服务器128和联络管理服务器132的全部能力的单个服务器。
[0103]
联络管理服务器132被示为包括处理器136、网络接口140和存储器144。处理器136可以对应于一个或很多计算机处理设备。处理器的非限制性示例包括微处理器、集成电路(ic)芯片、通用处理单元(gpu)、中央处理单元(cpu)等。本文所述的处理器136的示例可以包括,但不限于如下至少一种:800和801、具有4g lte集成和64位计算的620和615、具有64位架构的a7处理器、m7运动协处理器、系列、core
tm
系列处理器、系列处理器、atom
tm
系列处理器、intel系列处理器、i5-4670k和i7-4770k 22nm haswell、i5-3570k 22nm ivy bridge、fx
tm
系列处理器、fx-4300、fx-6300和fx-8350 32nm vishera、kaveri处理器、texas
jacinto c6000
tm
汽车信息娱乐处理器、texasomap
tm
汽车级移动处理器、cortex
tm-m处理器、cortex-a和arm926ej-s
tm
处理器、其它业内等价处理器,并且可以使用任何已知的或将来开发的标准、指令集、库和/或架构来执行计算功能。
[0104]
网络接口140可以被配置成使联络管理服务器132能够与联络中心108中的其它机器通信和/或与和通信网络104连接的其它机器通信。网络接口140可以包括,但不限于调制解调器、网卡(无线或有线)、红外通信设备等。
[0105]
存储器144可以包括一个或多个计算机存储器设备。存储器144可以被配置成存储程序指令,程序指令可以由处理器136执行并最终提供本文描述的通信管理服务器132的功能。存储器144还可以被配置为存储可以由存储器144中存储的指令使用或能够被其调用的数据或信息。可以存储于存储器144中供其部件使用的数据的一个示例是会话状态数据152。会话状态数据152可以代表通信信道上发生的一个或多个会话的特定状态。存储器144可以包括,例如随机存取存储器(ram)设备、只读存储器(rom)设备、闪存存储器设备、磁盘存储介质、光学存储介质、固态存储设备、磁芯存储器、缓冲存储器设备、其组合等。在一些实施例中,存储器144对应于计算机可读存储介质,尽管存储器144被描绘为在联络管理服务器132内部,但应当理解,存储器144可以对应于联络管理服务器132外部的存储器设备、数据库或器具。
[0106]
例示性地,存储器144被示为存储聊天机器人引擎148以供处理器136执行。在一些实施例中,聊天机器人引擎148可以对应于一组处理器可执行指令(例如,具有定义的输入、变量和输出的有限指令集)。在一些实施例中,聊天机器人引擎148可以对应于联络管理服务器132的由处理器136执行的人工智能(ai)部件。在一些实施例中,聊天机器人引擎148可以利用一个或多个会话模型156,其形式可以是人工神经网络,用于识别客户116通过通信服务器128支持的通信信道传输的消息并对其作出响应。在一些实施例中,可以利用训练数据160训练聊天机器人引擎148,并可以对其编程控制以在附加会话发生时或会话发生后从其学习。在一些实施例中,聊天机器人引擎148可以在其从正在进行的会话学习时更新会话模型156中的一个或多个。
[0107]
存储器144还被示为包括对话引擎164,对话引擎可以被配置成支持聊天机器人引擎148的能力。应当理解,聊天机器人引擎148和对话引擎164可以提供于单个部件中而不脱离本公开的范围。对话引擎164可以被配置成分析聊天机器人引擎148和客户116之间的会话并基于该分析,确定会话的当前状态(例如,对话或会话状态152)。因此,对话引擎164可以被配置成基于客户116发送的消息内容并基于聊天机器人引擎148发送的消息内容来更新会话状态152。对话引擎164可以被配置成推进会话状态152。在一些实施例中,聊天机器人引擎148和/或对话引擎164可以被配置成分析从客户通信设备112接收的消息,(例如,利用置信度分数)确定与该消息相关联的会话的话题,并基于该话题和/或基于所确定的会话状态152采取特定动作。本文将更详细地描述聊天机器人引擎148和对话引擎164的这些附加功能。
[0108]
如上所述,聊天机器人引擎148可以被配置成使用一组指南(例如,一组静态指令)或通过使用机器学习来运行。现在将参考图2描述聊天机器人引擎148利用机器学习的更多细节。同样,利用机器学习的聊天机器人引擎148可以有权访问训练数据160以在一开始训
练聊天机器人引擎148的行为。聊天机器人引擎148还可以被配置成从基于反馈的进一步会话来学习,反馈可以通过自动化方式(例如,经由递归学习神经网络)和/或人提供的方式(例如,由人类代理172确认或否认聊天机器人引擎148准备的特定响应适合从客户116接收的特定消息)来提供。
[0109]
聊天机器人引擎148的学习/训练模块204可以访问并使用一个或多个会话模型156。会话模型156可以由训练/学习模块204基于训练数据和反馈来构建并更新。学习/训练模块204还可以被配置为从报告数据库212访问信息,用于构建机器人响应数据库216,该机器人响应数据库有效地存储先前由聊天机器人引擎148提供并已经(例如,基于来自客户116的肯定响应和/或基于管理性用户输入)被识别为在环境下有效或适当的机器人响应。随着聊天机器人引擎148参与更多与客户116的会话,机器人响应数据库216之内的响应可以被学习/训练模块204持续不断地更新、修改、编辑或删除。
[0110]
在一些实施例中,聊天机器人引擎148可以包括推荐引擎208,推荐引擎有权访问机器人响应数据库216并基于从对话引擎164接收的对话输入224从机器人响应数据库216选择适当的响应建议。如图2所示,对话引擎164可以以实时聊天数据的形式和/或以会话状态152信息的形式提供对话输入224。实时聊天数据可以对应于在通信信道上从客户通信设备112接收的消息内容。换言之,对话引擎164可以被配置成从数字通信信道检索消息内容并以对话输入224的形式向对话引擎148提供这样的内容。使用对话输入和机器人响应数据库216,推荐引擎208可以被配置成向响应生成器220推荐一个或多个响应。响应生成器220可以被配置成向对话引擎164提供选择的响应,用于在适当通信信道上发送。换言之,对话引擎164可以负责管理会话状态并可以提供聊天机器人引擎148参与通信信道和客户116的机制。例如,对话引擎164可以针对客户116先前传输消息所经的聊天信道产生响应消息。聊天机器人引擎148和客户116之间的交互可以代表联络中心108之内的联络,联络状态可以由对话引擎164确定,对话引擎相应地更新会话状态152。在一些实施例中,聊天机器人引擎148可以被配置成与客户116交互,使得客户116意识不到他们正在与自动化代理交互,而是认为他们自己正在与人类代理172交互。为了实现这种能力,可以一直从人类代理172和客户116之间已发生于特定通信信道上的会话为聊天机器人引擎148提供训练数据。可以训练聊天机器人引擎148以具有特定技能(例如,通过用与特定话题,诸如销售、产品排错、记账、订票辅助等相关的会话来训练聊天机器人引擎148)。因此,应当理解,联络中心108可以包括多个不同类型的聊天机器人引擎148而不脱离本公开的范围。
[0111]
现在参考图3a-4b,将根据本公开的至少一些实施例描述聊天机器人引擎148和联络中心108的附加能力和功能。具体而言,图3a-4b描绘了根据本公开的至少一些实施例正在显示第一会话的代理通信设备168的图形用户界面304的屏幕截图。尽管为了容易描述而示出了特定会话,但应当理解,本公开的实施例不受此限制。此外,尽管被示为代理通信设备168,但应当理解,客户通信设备112可以包括呈现同一会话的相同或类似版本的图形用户界面304。再者,在联络中心中由全自动化代理(例如,聊天机器人引擎148)处理会话的实施例中,在联络中心108之内可能没有实际描绘/呈现/显示会话版本的设备。相反,会话可以在联络管理服务器132的存储器中保持,并且可以不必被再现以经由通信设备显示。在图形用户界面304上描绘会话的目的在于理解本文描述的概念。
[0112]
一开始参考图3a,示出了第一示例性会话,其中,客户116“c”正在通过数字通信信
道(例如,聊天通信信道)与联络中心108交互。应当理解,这种通信信道可以对应于任何类型的异步通信信道,未必需要对应于经由聊天应用程序访问的通信信道。
[0113]
在第一示例性会话中,代理“a”(例如,形式为自动化代理,例如聊天机器人引擎148)一直在与客户116交互。在会话期间的某个时间点,客户116可以提供客户消息312,讲到“我可以获得航班cj1140的状态吗?”聊天机器人引擎148可以利用代理消息316作出响应,讲到“看起来航班1140是准时的。”如示例中所示,客户116和代理之间交换的前两个消息可能对应于在相似日期/时间(例如,2019年1月9日下午5:36)或该时间附近交换的第一组消息。可以将这些在相似日期/时间或附近交换的消息集合称为会话的第一部分308a。
[0114]
在稍晚的某一时间点(例如,6天之后),客户116可能会返回到通信信道并提供另一个客户消息312,讲到“您把我的包弄丢了!”在接收到这个附加客户消息312并将客户消息312添加到通信信道和客户116与联络中心108之间正在进行的会话时,聊天机器人引擎148现在面临着响应决策。本公开的实施例提供了供聊天机器人引擎148确定要响应于在2019年1月15日上午6:15接收的客户消息312而发送的适当代理消息316的机制。确定要响应于客户消息312而发送的适当代理消息316的第一步是判断新接收的客户消息312是否涉及在会话的第一部分308a中先前论述的同一话题,或者新接收的客户消息312是否涉及不同话题。换言之,因为提供给客户116的通信信道是异步的,并在延长的时间段内持续,所以假设新接收的消息是在会话的第一部分308a中论述的话题的继续是不适当或不自然的。相应地,本公开的实施例使得聊天机器人引擎148能够分析新接收的客户消息312的内容并确定新接收的客户消息312相关联的话题。具体而言,在对话引擎164的辅助下,聊天机器人引擎148可以被配置成分析新接收的客户消息312并判断消息的话题是否基本匹配(例如,对应于其继续)针对会话的第一部分308a中的消息确定的话题。
[0115]
在一些实施例中,聊天机器人引擎148可以被配置成针对通过数字通信信道接收的每个客户消息312确定话题类别。随着会话的进行(例如,随着附加的消息被发送和接收),聊天机器人引擎148可以继续针对每个新接收的客户消息312确定话题。如果聊天机器人引擎148确定新接收的客户消息312的话题对应于与先前接收的客户消息312相同的话题,那么,聊天机器人引擎148可以尝试继续与该话题相关联的对话,并可以相应地更新会话状态152。另一方面,如果聊天机器人引擎148确定新接收的客户消息312的话题以某种置信度对应于不同话题,或者如果聊天机器人引擎148确定新接收的客户消息312不以特定置信度对应于任何话题,那么,聊天机器人引擎148可以提供不同代理消息316作为会话的第二部分308b的部分。这还可以涉及将会话的第二部分308b的会话状态152变为与会话的第一部分308a相关联的不同的话题。
[0116]
在一些实施例中,聊天机器人引擎148可以被配置成基于分析客户消息312的内容以及与客户消息相关联的元数据来确定与客户消息312相关联的话题。可以使用一个或很多不同神经网络或会话模型来分析客户消息312的内容。在一些实施例中,聊天机器人引擎148可以包括或有权访问多个不同的会话模型156,其每者都与特定话题相关联或被训练以判断消息是否对应于特定话题。更具体而言,聊天机器人引擎148可以通过多个不同会话模型156提供新接收的客户消息312的内容。
[0117]
每个会话模型156可以被训练以判断消息内容是否指示应当为客户消息312分配特定话题类别并为判断提供置信度分数。例如,第一会话模型156可以被训练并设计成判断
消息是否对应于第一话题(例如,新设备销售),并提供关于消息是否对应于第一话题的置信度分数。第二会话模型156可以被训练并设计成判断消息是否对应于第二话题(例如,为设备排查故障),并提供关于消息是否对应于第二话题的置信度分数。第三会话模型156可以被训练并设计成判断消息是否对应于第三话题(例如,账单查询),并提供关于消息是否对应于第三话题的置信度分数。聊天机器人引擎148可以有权访问任意数量(例如,最多n个,其中n为大于或等于一的任意整数)的会话模型156,这些会话模型已经利用针对特定话题独特设计的不同训练数据160训练过。
[0118]
为了分析客户消息312的内容,聊天机器人引擎148可以使用会话模型156中的一些或全部来处理客户消息312的内容并接收来自每个会话模型156的输出。如果一个会话模型156以超过预定置信度分数(例如,高于50%的置信度分数)确定客户消息312与特定话题相关联,并且该特定话题接收到比针对任何其它话题确定的任何其它置信度分数更高的置信度分数,那么,聊天机器人引擎148可以确定客户消息312的内容应当与该特定话题相关联/被分配到该特定话题。聊天机器人引擎148还可以将分配给新接收的客户消息312的该特定话题与分配给先前接收的客户消息312的话题进行比较。如果话题之间有任何匹配,那么聊天机器人引擎148可以继续将新接收的客户消息312作为会话的第一部分308a的继续来处理。如果话题之间有不匹配,那么聊天机器人引擎148可以与对话引擎164交互,以改变会话状态152并开始新话题的对话,而不是继续先前话题的对话。
[0119]
如果聊天机器人引擎148确定客户消息312的内容为提供特定话题的确定(例如,任何特定会话模型156的任何输出都不是确定性的),则可能需要附加的处理,或者可以由聊天机器人引擎148作出假设。例如,如果新接收的客户消息312的内容不以超过预定置信度分数(例如,高于30%的置信度分数)与任何特定话题相关联,那么,聊天机器人引擎148可以确定新接收的客户消息312是话题中性的,这可能暗示新接收的客户消息312仍然是会话的第一部分308a的继续(例如,因为客户116未明确地发起新话题)。使用这一假设,聊天机器人引擎148可以在会话的第二部分308b中产生下一代理响应316时尝试继续会话的第一部分308a的对话。此外,如果不能以预定置信度分数确定客户消息312的话题,那么,聊天机器人引擎148可以在向通信信道提交代理响应316之前请求人类代理172的输入、辅助或批准。在一些实施例中,在聊天机器人引擎148产生经人类代理172批准的建议响应时,那些建议响应可以被记录在报告数据库212中并用于进一步调谐或训练聊天机器人引擎148以用于将来的消息分析。
[0120]
可以由聊天机器人引擎148分析的元数据可以包括接收客户消息312的日期/时间、客户消息312的长度、接收客户消息312和前一客户消息312之间过去的时间、发送代理消息316和接收新客户消息312之间过去的时间等。可以结合聊天机器人引擎148如上所述执行的内容分析考虑元数据,用于确定客户消息312的话题类别并判断话题类别是否匹配分配到先前接收的客户消息312的话题类别。在一些实施例中,可以仅利用内容分析或仅利用元数据分析确定话题,但如果话题的确定由内容分析和元数据分析两者支持,则话题确定的置信度分数可以更强。可以认识到,话题确定的置信度分数可以对应于基于内容分析的置信度分数和基于元数据分析的置信度分数的组合。
[0121]
可以认识到,聊天机器人引擎148可以被配置成产生适当的代理响应316以针对新接收的客户消息312处理或开始与客户的对话。在这一特定示例中,接收到新客户消息312
和前一客户消息312之间的时间表明应当将新话题分配给新接收的客户消息312(例如,基于元数据分析)。类似地,新接收的客户消息312的内容看起来涉及包的话题,而先前接收的客户消息312的内容看起来涉及航班状态的话题。聊天机器人引擎148可以被配置成针对每个客户消息312确定话题,并确定分配给每个客户消息312的话题是不同的。基于内容分析和元数据分析,聊天机器人引擎148可以以某一确定性程度确定新接收的客户消息312被分配了与先前接收的客户消息312不同的新话题类别,并且可以产生适当的代理响应316。在一些实施例中,聊天机器人引擎148和对话引擎164可以更新会话状态152以涉及新话题类别(例如,包),并基于新话题类别发起对话而不是继续旧话题类别(例如,航班状态)的讨论。初始代理响应316可以包括尝试在继续新话题的更详细对话之前确认新话题的内容(例如,“看起来您的包裹遇到了问题。是这样吗?”)。替代地,初始代理响应316可以包括假设新话题确定正确并初始尝试推进对话的内容(例如,“很遗憾听到这个问题。请提供遗失包裹的包裹标签号,我将看能做些什么为您提供帮助。”)。
[0122]
现在参考图3b,示出了第二示例性会话,其中,客户116“c”正在通过数字通信信道(例如,聊天通信信道)与联络中心108交互。应当理解,这种通信信道可以对应于任何类型的异步通信信道,未必需要对应于经由聊天应用程序访问的通信信道。
[0123]
第二示例性会话可以类似于第一示例性会话,即,第一会话部分308a在两个示例性会话中都是相同的。第二示例性会话与第一示例性会话的不同在于,第二客户消息312在每个示例性会话中具有不同内容。具体而言,在第二示例性会话中,新接收的客户消息312讲到,“我可以获得航班cj412的状态吗?”在本示例中,可以确定新接收的客户消息312的话题与先前接收的客户消息312的话题相同或相似,尤其是因为每个消息的内容非常相似,但针对不同的航班号。在一些实施例中,聊天机器人引擎148可以被配置成从新接收的客户消息312的内容提取实体值(例如,航班号),用于准备对客户消息的代理响应316。具体而言,尽管两个客户消息312的话题相似或相同,但针对其的代理响应316可以不同,并取决于客户消息312的内容中包含的实体值(例如,航班号)。在一些实施例中,聊天机器人引擎148可以被配置成分析或扫描客户消息312的内容以发现匹配预期数据模式(例如,预定数量的字符/符号、预定串尺寸、预定起始字符或结束字符等)的实体值,然后利用任何发现的实体值准备代理响应316。例如,会话的第一部分308a中的第一代理响应316可以为与实体值=cj1140相关联的航班提供航班状态信息,而会话的第二部分308b中的第二代理响应316可以为与实体值=cj412相关联的航班提供航班状态信息。
[0124]
如果实体值不匹配预期数据模式,但聊天机器人引擎148确定客户消息312的内容可能包括实体值,代理响应316可以包括让客户116确认或重新确认他们意图提供实体值的请求(例如,“您希望得到航班状态吗?如果是这样,您能够确认<实体值名称>吗?”)。因此,即使确定两个客户消息312都与同一话题类别相关联,也可以训练聊天机器人引擎148基于在每个客户消息312中发现的不同实体值,针对新接收的客户消息312开始新对话。
[0125]
现在参考图3c,示出了第三示例性会话,其中,客户116“c”正在通过数字通信信道(例如,聊天通信信道)与联络中心108交互。应当理解,这种通信信道可以对应于任何类型的异步通信信道,未必需要对应于经由聊天应用程序访问的通信信道。
[0126]
第三示例性会话可以类似于第一示例性会话和/或第二示例性会话,即,第一会话部分308a在每个示例性会话中都是相同的。第三示例性会话与此前示例性会话的不同在
于,新接收的客户消息312是与会话的第一部分308a的消息在时间上相对接近接收的。在示例中,在前一客户消息312一小时之内接收到新接收的客户消息312,暗示新接收的客户消息312正在从会话的第一部分308a继续会话。不过,新接收的客户消息312的内容可能不和任何特定话题密切关联。换言之,新接收的客户消息312的内容可能不会以超过预定阈值的置信度分数接收到话题类别,因为评价“谢谢!”不太可能确定与特定话题相关。
[0127]
在这种情况下,聊天机器人引擎148可以利用元数据分析来确定新接收的客户消息312与前一客户消息312的话题相关联。此外,由于新接收的客户消息312的内容分析可能相对于话题而言是不可确定的,聊天机器人引擎148可以确定(或假设)新接收的客户消息312很可能仍然与前一会话相关联。此外,“谢谢!”的简单内容暗示聊天机器人引擎148可以准备一般的形式代理响应316,像是“别客气!”,以结束会话。
[0128]
现在参考图3d,示出了第四示例性会话,其中,客户116“c”正在通过数字通信信道(例如,聊天通信信道)与联络中心108交互。应当理解,这种通信信道可以对应于任何类型的异步通信信道,未必需要对应于经由聊天应用程序访问的通信信道。
[0129]
第四示例性会话可以类似于此前的示例性会话,即,第一会话部分308a与其它示例性会话中的相同。不过,第四示例性会话与先前示例性会话不同,因为新接收的客户消息312是在接收前一客户消息312之后一年收到的。此外,新接收的客户消息312的内容与其它示例相比在第四示例中是不同的。在第四示例中,新接收的客户消息312指示希望帮忙预定航班。在本示例中,与新接收的客户消息312相关联的元数据以及新接收的客户消息312的内容可以允许聊天机器人引擎148确定正在开始新话题(例如,“航班预订”,不同于“航班状态”)。可以以相对高的置信度分数作出这一确定,尤其是如果内容分析导致的针对“航班预订”的置信度分数高于预定阈值。不过,即使内容分析未提供高于预定阈值的置信度分数,由元数据分析提供的附加信息也可以增大聊天机器人引擎148能够向客户116提供适当代理响应316的可能性。利用经由内容和元数据分析获得的信息,聊天机器人引擎148可以准备与推进航班预订对话而不是推进前一与航班状态相关的对话相关的代理响应316。
[0130]
现在参考图3e,示出了第五示例性会话,其中,客户116“c”正在通过数字通信信道(例如,聊天通信信道)与联络中心108交互。应当理解,这种通信信道可以对应于任何类型的异步通信信道,未必需要对应于经由聊天应用程序访问的通信信道。
[0131]
第五示例性会话可以类似于其它示例性会话,即,第一会话部分308a在这些示例性会话中是相同的。不过,第五示例性会话与先前示例性会话不同,因为新接收的客户消息312是在接收前一客户消息312之后时间上非常接近(例如,在同一天)接收的。基于元数据分析,这种密切时间接近性将暗示新接收的客户消息312与前一客户消息312的相同话题相关联。不过,新接收的客户消息312的内容可以指示新接收的客户消息与新话题相关联并值得开始新对话。具体而言,可以确定新接收的客户消息312具有与“航班预订”相关联的话题类别,而先前接收的客户消息312具有与“航班状态”相关联的话题类别。如果聊天机器人引擎148基于内容分析确定新接收的客户消息312与新话题类别相关联,并且该确定受到满足或超过预定阈值的置信度分数支持,则聊天机器人引擎148可以忽略元数据分析的结果并为新话题“航班预订”而不是话题“航班状态”准备代理响应316。
[0132]
现在参考图3f,示出了第六示例性会话,其中,客户116“c”正在通过数字通信信道(例如,聊天通信信道)与联络中心108交互。应当理解,这种通信信道可以对应于任何类型
的异步通信信道,未必需要对应于经由聊天应用程序访问的通信信道。
[0133]
第六示例性会话可以类似于其它示例性会话,即,第一会话部分308a在这些示例性会话中是相同的。不过,第六示例性会话与先前示例性会话不同,因为新接收的客户消息312是在接收前一客户消息312之后时间上非常接近(例如,在同一天)接收的,但包括暗示与先前接收的客户消息312不同的话题的内容。因此,非常像第五示例性会话那样,本示例性会话中的聊天机器人引擎148可能需要利用其元数据分析对其内容分析加权。在本示例性会话中,聊天机器人引擎148可以确定新接收的客户消息312与“升级”话题相关联,而先前接收的客户消息312与“航班状态”话题相关联。因此,通过与第五示例性会话类似的方式,聊天机器人引擎148可以确定应当遵循新的会话话题。不过,在本示例中,聊天机器人引擎148可以依赖于来自先前接收的客户消息的信息来产生适当的代理响应316。具体而言,代理响应316可以被设计成处理新话题“升级”,但可以利用从先前接收的客户消息312获得的实体值(例如,航班号cj1140)。于是,在本示例中,代理响应316可以开始新话题的讨论,但可以利用来自关于航班状态的前一话题交换的消息的信息。通过这种方式,可以认为会话的第二部分308b涉及会话的第一部分308a,尽管各部分涉及不同话题。
[0134]
现在参考图4a和4b,示出了更多示例性会话,其中,客户116“c”正在通过数字通信信道(例如,聊天通信信道)与联络中心108交互。应当理解,这种通信信道可以对应于任何类型的异步通信信道,未必需要对应于经由聊天应用程序访问的通信信道。
[0135]
图4a中所示的示例与先前讨论的示例不同,但进一步示出了可以如何配置聊天机器人引擎148以辅助不同话题的讨论,即使新接收的客户消息312被合并到与前一消息相同的会话和通信信道上。此外,图4a示出了提供与话题确定相关的指示符404的示例。经由图形用户界面304提供的指示符404可以对应于指示符404的一个示例。在图示的实施例中,该指示符可以包括用于人类代理172的注解,其中注解由聊天机器人引擎148基于新接收的客户消息312的内容和/或元数据分析而生成。
[0136]
在图示的示例中,客户116和代理之间的会话一开始涉及路由器故障排查的话题。不过,新接收的客户消息312看起来具有指示电话修理的不同话题类别的内容。基于新接收的客户消息312的内容分析,聊天机器人引擎148可以生成要由人类代理172审阅/批准/编辑的提议代理响应316。除了提供提议代理响应316之外,聊天机器人引擎148还可以向人类代理172的通信设备168提供指示404,指示判断针对新接收的客户消息312确定的话题类别是否对应于针对先前交换的消息的话题类别的继续或针对新接收的客户消息312确定的话题类别是否对应于与针对先前交换的消息的话题类别不同的话题类别的结果。
[0137]
在图4a的示例中,指示404示出了新话题类别,而图4b的示例性会话示出,该指示包括涉及针对新接收的客户消息312的话题类别确定(或没有确定)的注解。指示404还包括没有以至少预定置信度分数确定任何话题的注解。给定该会话的上下文,这一信息可以快速辅助人类代理172判断由聊天机器人引擎148准备的提议代理响应316是否适当。
[0138]
应当理解,指示404可以被配置成包括由聊天机器人引擎148准备的文本注释。替代地或附加地,指示404可以包括对于代理而言显而易见的视觉或听觉指示。例如,指示404可以仅包括基于新接收的客户消息312是否与相同或不同话题相关联而改变提议代理响应316的颜色/字体类型/字体尺寸/边界/表示。如其它示例中所述,图4b的示例描绘了对于任何特定话题都得分不高的新接收客户响应312,因此聊天机器人引擎148可以被配置成假设
对先前的路由器故障排查话题的对话继续。在本示例中,代理响应316可以涉及先前话题,但可以包括尝试以不同方式推进对话的内容(例如,通过询问不同的问题,通过以不同方式重新讲出先前消息等等)。
[0139]
尽管结合图4a和4b描述的示例主要涉及检测话题改变和提供通知,但应当理解,本公开的实施例可以配置联络中心108以通过很多不同方式对检测到话题改变作出响应。作为非限制性示例,本文提供的实施例不仅涉及检测话题改变的能力,而且旨在提供机会以将会话路由到具有更适合新话题的技能的不同代理,或使客户116返回到与聊天机器人引擎148就新话题进行的自动化体验。图4a和4b的示例涉及生成通知,但其它实施例构思将会话转移给不同代理或使客户116返回到聊天机器人引擎148。这后面的机制是,在确定客户116已经退出时,例如,由聊天机器人引擎148评估所接收的第一个客户消息以判断话题保持相同还是已经改变。如果已经改变,则联络中心108逻辑可以决定当前代理172是否应当继续,应当将会话发送到不同代理172,或者客户116的消息应当由聊天机器人处理并且使用自动化对话取代人类代理。这还暗示,即使在会话是在人类代理和客户之间进行时,也应当监测客户消息,并为该对话生成话题。这可以随着会话进展而完成,可以在识别退出之后完成,或者可以在第一个客户消息在宣布退出之后到达时完成。后一种情况可以提示审查在先对话以生成退出之前的会话的最后话题。
[0140]
现在参考图5,将根据本公开的至少一些实施例描述关于会话状态152的附加信息。应当理解,针对会话的状态信息可以被存储为会话状态152,并可以由聊天机器人引擎148和对话引擎164工作协作来管理。
[0141]
图5示出了其中可能有多种会话状态152的示例性状态图500。具体而言,状态图500包括各个对话状态的图示,其中每个对话都可以被认为涉及特定话题。换言之,任何给定对话的不同状态504可以对应于关于特定话题的对话的进展。可以看出,推动状态转换508可以推进关于特定话题的对话。这种情况通常发生于聊天机器人引擎148确定新接收的客户消息312具有与先前接收的客户消息312相同的话题和/或新接收的客户消息312对于任何特定话题都得分不高时。图5还示出,如果稍晚确定过早地推动了状态转换,则关于话题的对话可能具有回归的状态转换512。
[0142]
除了具有在特定对话的状态之间移动的能力之外,还具有导致对话间状态转换516的能力。对话间状态转换516的使用可以发生于以特定置信度分数确定新接收的客户消息312与新话题或与先前接收的客户消息312不同的话题相关联时。提供在不同对话类型之间转换的能力使得聊天机器人引擎148能够促进通过异步通信信道与客户116交互,异步通信信道可能随时间流逝包含关于不同话题的消息交换。
[0143]
现在参考图6-22,将根据本公开的至少一些实施例描述各种方法。可以由本文描绘和描述的任何部件执行本文描绘和描述的方法。此外,应当理解,可以将任何方法的任何步骤与任何其它方法的任何步骤组合,并且可以按照任何顺序组合它们。再者,应当理解,任何特定方法中图示的步骤顺序用于会话的目的,不应被理解为将权利要求限制到任何特定的操作次序。相反,本文构思的方法可以包括按照任何顺序执行的来自任何方法的步骤的任意组合。
[0144]
现在参考图6,将根据本公开的至少一些实施例描述第一通信方法。在联络中心108中从客户通信设备112接收到消息时,该方法开始(步骤604)。该消息可以称为客户消息
312。
[0145]
该方法继续进行,路由引擎124和通信服务器128确定在先前为/由客户116建立的通信信道上接收到客户消息312。换言之,该方法通过确定在先前由客户116使用的通信信道上接收到针对会话的新接收的客户消息312而继续进展(步骤608)。
[0146]
之后,该方法继续进行,通信服务器128在通信信道上包括新接收的客户消息312,由此导致该客户消息312在同一通信信道上先前交换的其它消息中被呈现于会话中(步骤612)。该方法然后继续进行,聊天机器人引擎148分析新接收的客户消息312(步骤616)。如上所述,该分析可以包括客户消息312的内容分析以及客户消息312的元数据分析。
[0147]
基于该分析,聊天机器人引擎148可以为新接收的客户消息312确定话题类别和话题置信度分数(步骤620)。如上所述,话题类别和话题置信度分数的确定可以单独地基于内容分析,单独地基于元数据分析,或基于内容分析和元数据分析的组合。此外,由聊天机器人引擎148执行的内容分析可以包括利用多个不同的会话模型156,每个会话模型都被训练以确定消息内容是否对应于特定话题,并且每个会话模型都被训练以为其相对于特定话题作出的判断提供置信度分数。聊天机器人引擎148可以被配置成分析针对多个话题的判断并选择接收到最高置信度分数的话题。替代地,聊天机器人引擎148可以确定,该消息相对于任何特定话题是不可确定的,因为每个话题都不能接收到超过预定阈值的置信度分数。换言之,聊天机器人引擎148可以被配置成判断新接收的客户消息312是否:(1)与通信信道上交换的先前消息相比的新话题相关联;(2)与通信信道上交换的先前消息相比的相同话题相关联;或者(3)不与任何话题相关联(步骤624)。
[0148]
该方法将基于聊天机器人引擎148在步骤624中执行的分析的结果继续进行(步骤628)。具体而言,如果聊天机器人引擎148确定新接收的客户消息312与先前消息的相同话题相关联,或者不与任何特定新话题相关联,那么聊天机器人引擎148可以决定继续关于先前话题的会话。在这种状况下,聊天机器人引擎148可以生成适当的代理响应316,适当代理响应被自动提交到通信信道并传输到客户通信设备112。替代地或附加地,聊天机器人引擎148可以生成建议代理响应316,在提交到通信信道之前,建议代理响应被呈现给人类代理172进行批准/编辑。在一些实施例中,聊天机器人引擎148还可以向人类代理172提供通知或指示404,其指示新接收的客户消息312与先前消息的相同话题相关联(步骤632)。
[0149]
另一方面,如果聊天机器人引擎148确定新接收的客户消息312与新话题相关联,那么该方法可以继续进行,聊天机器人引擎148准备针对新话题的适当代理响应316。代理响应316可以被自动提交到通信信道或可以被提供给人类代理172以在提交之前进行批准/编辑。在一些实施例中,聊天机器人引擎148还可以向人类代理172提供通知或指示404,其指示新接收的客户消息312与先前消息不同的话题相关联(步骤636)。除了使用对代理172简单通知话题改变之外,替代方案可以是向集中控制逻辑(例如,联络中心108的控制器或业务规则引擎)通知话题改变以及实体会有选择离开与当前代理172的会话,将会话发送给具有针对新话题的适当技能的新代理172,或者将会话发送给已被设计为处理关于新话题的对话的聊天机器人。
[0150]
现在参考图7,将根据本公开的至少一些实施例描述第二通信方法。该方法以确定话题置信度分数超过预定置信度阈值开始(步骤704)。可以响应于向会话模型156(或形式为会话模型156的人工神经网络)提供客户消息312的内容,提供话题置信度分数作为聊天
机器人引擎148的输出。可以以任何格式(例如,百分比、标量值等)提供话题置信度分数。可以将话题置信度分数与以编程方式定义的置信度阈值(例如,静态阈值)或根据其它变量(例如,先前的话题置信度分数、一天中的时间、客户重要性、话题等)变化的动态阈值进行比较。
[0151]
响应于确定话题置信度分数超过预定置信度阈值,该方法可以继续进行,聊天机器人引擎148将针对新接收的客户消息312确定的话题类别与同一会话中一个或多个先前接收的客户消息312的话题类别进行比较(步骤708)。基于该比较,聊天机器人引擎148可以确定在针对当前接收的客户消息312确定的话题类别和先前接收的客户消息312的至少一个之间存在匹配(步骤712)。基于确定存在这样的匹配,聊天机器人引擎148可以通过提供通知或指示404而继续,该通知或指示404指示新接收的客户消息312与分配给先前接收的客户消息312的话题相关联(步骤716)。这一通知或指示404还可以提供具有共享话题的先前接收的客户消息312的标识(例如,通过高亮显示该消息)。
[0152]
现在参考图8,将根据本公开的至少一些实施例描述另一种通信方法。该方法开始于聊天机器人引擎148分析客户消息312并确定针对某一话题(或针对所有可能话题)的话题置信度分数没有满足或超过预定置信度阈值(步骤804)。这一步骤中使用的预定置信度阈值可以与结合步骤704使用的预定置信度阈值相同或不同。亦即,与确定客户消息312没有分配到其上的话题类别相比,结合确定客户消息312肯定应当具有分配到其上的话题类别(如图7中所述),可以,但不要求使用不同的预定置信度阈值。
[0153]
在(例如,基于置信度分数的分析)确定客户消息312没有足以为其分配特定话题类别的内容时,该方法可以继续进行,聊天机器人引擎148向人类代理172提供通知或指示404,其指示新的客户消息312不与先前话题相关联(步骤808)。
[0154]
现在参考图9,将根据本公开的至少一些实施例描述又一种通信方法。该方法开始于聊天机器人引擎148确定客户消息312已被以话题置信度分数确定具有某一话题类别,并进一步确定该话题置信度分数超过预定置信度阈值(步骤904)。响应于确定话题置信度超过预定置信度阈值,该方法继续进行,聊天机器人引擎148将针对新接收的客户消息312确定的话题类别与一个或多个先前接收的客户消息312的话题类别进行比较(步骤908)。该方法可以进一步继续进行,聊天机器人引擎148确定在新接收的客户消息312和先前接收的客户消息312的一个或多个的话题类别之间不存在匹配(步骤912)。在这一步骤中,聊天机器人引擎148可以仅比较新接收的客户消息312的话题类别和一个先前接收的客户消息312(例如,最近的先前客户消息312)或若干先前接收的客户消息(例如,一组最近的先前客户消息312或与新接收的客户消息312同一天接收的消息)。
[0155]
基于确定新接收的客户消息312没有与一个或多个先前接收的客户消息312相同的分配到其的话题类别,聊天机器人引擎148可以向人类代理172提供通知或指示404,其指示新接收的客户消息312与新的或与先前接收的客户消息312不同的话题相关联。
[0156]
现在参考图10,将根据本公开的至少一些实施例描述另一种通信方法。该方法以聊天机器人引擎148确定接收新接收的客户消息312和接收先前客户消息312之间的时间量而开始(步骤1004)。聊天机器人引擎148然后可以被配置为,作为确定对于会话是否存在话题继续的一部分,考虑接收两个消息之间过去的时间量(步骤1008)。换言之,聊天机器人引擎148可以被配置成执行元数据分析作为确定新接收的消息是否对应于先前话题的继续讨
论的一部分。
[0157]
单独基于在步骤1008中执行的元数据分析,或者结合新接收的客户消息312的基于内容的分析,聊天机器人引擎148然后可以确定新接收的客户消息312是否与先前讨论的话题或新/不同话题相关联。聊天机器人引擎148然后可以向人类代理172提供通知或指示404,其指示新接收的客户消息312是与先前讨论的话题还是与新/不同话题相关联(步骤1012)。
[0158]
现在参考图11,将根据本公开的至少一些实施例描述另一种例示性通信方法。在联络中心108中从客户通信设备112接收到新消息时,该方法开始(步骤1104)。该方法然后可以包括:确定会话和通信信道已经建立,以使发送该消息的客户116能够以异步方式与联络中心108通信(步骤1108)。
[0159]
路由引擎124和/或通信服务器128然后可以通过在分配到客户116与联络中心108的会话的其它消息当中包括新接收的客户消息而继续进行(步骤1112)。换言之,新接收的客户消息312可以被添加到在同一客户116和联络中心108之间先前交换的其它消息。例如,新接收的客户消息312可以被添加到已经由联络中心108建立和维持的聊天会话。
[0160]
该方法可以进一步继续进行,聊天机器人引擎148分析新接收的客户消息312(步骤1116)。在一些实施例中,这一步骤中的分析可以包括针对新接收的客户消息312的内容分析和元数据分析。基于该分析,聊天机器人引擎148可以确定在接收新接收的客户消息312和先前客户消息312之间已经过预定时间量(步骤1120)。这种确定可以对应于基于对新接收的客户消息312执行的元数据分析作出的确定。
[0161]
该方法还可以包括:聊天机器人引擎148确定新接收的客户消息312包括指示现有对话的继续或没有以任何量的确定度/置信度指示新接收的客户消息312与新话题相关联的内容(步骤1124)。这一确定可以对应于基于对新接收的客户消息312执行的内容分析作出的确定并可以通过向多个不同的会话模型156提供新接收的客户消息312的内容而被促进。如果不同会话模型156中没有任何模型确定该消息与特定话题相关联或不能产生超过预定置信度阈值的置信度分数,可以发生步骤1124的确定。
[0162]
基于在步骤1120和1124中作出的确定,聊天机器人引擎148可以通过向人类代理172提供通知或指示404而继续,该通知或指示404指示新接收的客户消息312正在被作为会话的继续对待(例如,新接收的客户消息312仍在尝试讨论先前的会话话题)(步骤1128)。
[0163]
现在参考图12,将根据本公开的至少一些实施例描述另一种通信方法。该方法开始于聊天机器人引擎148分析数字通信信道上的交互(步骤1204)。数字通信信道可以对应于受到通信服务器128支持的异步通信信道。
[0164]
该方法然后可以继续进行,聊天机器人引擎148发起基于客户116和联络中心108之间交换的消息内容而确定客户从会话(或会话话题)退出的概率的过程。具体而言,聊天机器人引擎148可以分析在数字通信信道上接收的一些或全部客户消息312的内容。在一些实施例中,聊天机器人引擎148可以基于对最近接收的客户消息312的内容分析,确定从联络中心108交互退出的概率(步骤1208)。聊天机器人引擎148然后可以将所确定的退出的概率与预定概率阈值比较(步骤1212)。
[0165]
如果退出的概率满足或超过预定概率阈值(步骤1216),那么聊天机器人引擎148可以确定客户116可能已经从会话退出。响应于作出这样的确定,聊天机器人引擎148可以
通过更新分配给会话的一个或多个代理172(步骤1220)而继续进行。具体而言,聊天机器人引擎148和对话引擎164可以更新会话状态152并可以进一步通知路由引擎更新的会话状态152(例如,为空闲状态)。这可能导致路由引擎将分配给会话的人类代理172的状态更新为某种不同状态(例如,从繁忙状态到可用状态),由此将代理172从与对从客户116接收的另外的客户消息312作出响应相关联的责任释放。
[0166]
现在参考图13,将根据本公开的至少一些实施例描述另一种通信方法。该方法开始于聊天机器人引擎148分析数字通信信道上客户116和联络中心108之间的交互(步骤1304)。数字通信信道可以对应于支持延长的时间段内(例如,多天或多年内)的基于文本的消息的交换的异步通信信道。
[0167]
该方法可以继续进行,聊天机器人引擎148分析在客户116和代理之间交换的消息的内容(步骤1308)。在这个步骤中,聊天机器人引擎148可以分析客户消息312、由自动化代理产生并传输的代理消息316、由自动化代理产生但由人类代理172批准的代理消息316和/或由人类代理172产生的代理消息316的内容。基于对该消息的分析,聊天机器人引擎148可以确定会话中发生了自然中断(步骤1312)。响应于确定发生了会话的自然中断,聊天机器人引擎148可以增大所确定的客户从会话退出的概率(步骤1316)。
[0168]
现在参考图14,将根据本公开的至少一些实施例描述又一种通信方法。该方法开始于聊天机器人引擎148分析数字通信信道上客户116和联络中心108之间的交互(步骤1404)。这个步骤可以与图13的步骤1304类似或相同。数字通信信道可以对应于支持延长的时间段内的基于文本的消息的交换的异步通信信道。
[0169]
该方法可以继续进行,聊天机器人引擎148分析在客户116和代理之间交换的消息的内容(步骤1408)。类似于图13的步骤1308,在这个步骤中,聊天机器人引擎148可以分析客户消息312、由自动化代理产生并传输的代理消息316、由自动化代理产生但由人类代理172批准的代理消息316和/或由人类代理172产生的代理消息316的内容。
[0170]
基于对该消息的分析,聊天机器人引擎148可以确定客户116正在主动地从交互退出(步骤1412)。例如,一个或多个客户消息312可以包括指示针对特定话题的对话已经进展到自然结束(例如,最终状态)的内容,并且客户消息312可以包括指示从会话自然退出的招呼或其它内容(例如,“再见”、“谢谢”等)。响应于确定客户正在主动地从会话退出,聊天机器人引擎148可以增大所确定的客户从会话退出的概率(步骤1416)。
[0171]
现在参考图15,将根据本公开的至少一些实施例描述另一种通信方法。该方法开始于聊天机器人引擎148对数字通信信道上交换的交互应用会话模型156(步骤1504)。在一些实施例中,在交换内容时,将交互的内容应用于会话模型156。换言之,聊天机器人引擎148可以被配置成实时分析通过数字通信信道交换的消息内容。
[0172]
基于该分析,聊天机器人引擎148可以确定被训练成识别客户退出的会话模型156和通过数字通信信道交换的交互之间的匹配可能性(步骤1508)。基于该会话模型156和通过数字通信信道发生的交互之间的匹配可能性,聊天机器人引擎148可以确定客户116的退出的概率(步骤1512)。换言之,如果被训练成识别客户退出的会话模型156,基于已经向其应用了交互的内容,确定客户可能正从会话退出(例如,以至少预定置信度分数),聊天机器人引擎148可以确定存在客户从会话退出的概率。
[0173]
现在参考图16,将根据本公开的至少一些实施例描述另一种通信方法。该方法开
始于聊天机器人引擎148在联络中心108接收到每个客户消息312之后重新启动定时器(步骤1604)。更具体而言,聊天机器人引擎148可以通过在客户116和代理(无论是自动化的还是人)之间交换每个消息之后重新启动定时器来执行其元数据分析的一部分。
[0174]
该方法通过确定客户116或代理是否交换新消息而继续进行(步骤1608)。如果已经交换了新消息,那么该方法返回到步骤1604,并重新启动定时器。如果步骤1608的查询得到否定回答,那么该方法通过确定当前定时器值是否超过预定定时器阈值而继续进行(步骤1612)。如果步骤1612的查询得到否定回答,则该方法返回至步骤1608。
[0175]
另一方面,如果步骤1612的查询得到肯定回答,那么该方法继续进行,聊天机器人引擎148发起分析通过数字通信信道交换的交互的过程(步骤1616)。具体而言,步骤1616中发起的分析可以对应于通过数字通信信道交换的消息的基于内容的分析。
[0176]
现在参考图17,将根据本公开的至少一些实施例描述又一种通信方法。该方法开始于聊天机器人引擎148和/或对话引擎164分析数字通信信道上的交互(步骤1704)。基于对交互的分析,聊天机器人引擎148和/或对话引擎164可以针对会话确定会话速度(步骤1708)。在一些实施例中,会话速度可以指通过通信信道交换消息的速度或频率、接收客户消息312的速度或频率、传输代理消息316的速度或频率、会话状态152改变的速度或频率、会话期间话题改变的速度或频率,或它们的某种组合。会话速度的确定代表测量或确定客户116参与会话的水平的一种方式。相对低的会话速度代表客户116参与会话的相应低的水平,而相对高的会话速度代表客户116参与的相应高的水平。
[0177]
该方法可以继续进行,聊天机器人引擎148和/或对话引擎164至少部分地基于所确定的会话速度确定针对交互的客户参与因子(步骤1712)。该方法还可以包括:聊天机器人引擎148和/或对话引擎164至少部分地基于客户116的状态,确定交互所需的客户服务水平(步骤1716)。例如,具有较高状态水平的客户(例如,白金客户或金质客户)可以比没有相同状态水平的客户有权从联络中心108获得特定附加服务权益。如果具有更高状态水平的客户为该状态水平的权益付过费/付费,则尤其会是这种情况。在一些实施例中,具有较高状态水平的客户116可以有权更多与人类代理172交互,而具有较低状态水平的客户116可能在被转移到人类代理172之前要求在较长时间段内与聊天机器人引擎148交互。
[0178]
该方法然后可以继续进行,聊天机器人引擎148和/或对话引擎164基于交互所需的客户服务水平调节针对会话的参与因子(步骤1720)。基于这一参与因子,该方法可以通过向会话重新分配一个或多个人类代理172或从会话撤离一个或多个人类代理172而继续(步骤1724)。可以在路由引擎124处通过改变路由引擎124处的代理状态来实施重新分配。在一些实施例中,如果会话速度低于预定阈值和/或客户服务水平并非始终要求人类代理172(例如,由参与因子表示),则先前分配到会话的人类代理172可以被分配到与其它客户的其它交互。相反,如果会话速度高于预定阈值和/或客户服务水平确实要求人类代理172(例如,由参与因子表示),则可以向该会话分配人类代理172。
[0179]
现在参考图18,将根据本公开的至少一些实施例描述另一种通信方法。该方法开始于聊天机器人引擎148和/或对话引擎164分析数字通信信道上的交互(步骤1804)。该方法可以继续进行,聊天机器人引擎148和/或对话引擎164至少部分地基于在步骤1804中执行的分析,确定针对交互的会话速度(步骤1808)。应当理解,该分析以及所得到的会话速度的确定可以包括针对交互期间交换的消息的元数据分析以及内容分析。
[0180]
聊天机器人引擎148和/或对话引擎164基于会话速度的确定,可以确定会话中的交互正在导致会话加速(步骤1812)。在一些实施例中,可以通过确定会话速度在一时间段内正在增大而作出交互正在加速的确定。具体而言,会话的加速可以被表示为会话速度在一时间段内的正改变。
[0181]
基于确定交互正在导致会话加速,该方法可以通过解除已经分配给会话的人类代理172的与该会话不相关的至少一个其它任务而继续(步骤1816)。例如,如果人类代理172被同时分配给七个(7)不同的聊天交互,并且确定聊天交互之一的会话速度正在加速,那么可以从其它不同聊天交互中的一个、两个、三个或更多个解除人类代理172的分配,由此允许人类代理172将注意力集中于正在加速的聊天交互。
[0182]
现在参考图19,将根据本公开的至少一些实施例描述另一种通信方法。该方法开始于聊天机器人引擎148和/或对话引擎164分析数字通信信道上的交互(步骤1904)。该方法可以继续进行,聊天机器人引擎148和/或对话引擎164至少部分地基于在步骤1904中执行的分析,确定针对交互的会话速度(步骤1908)。应当理解,该分析以及所得到的会话速度的确定可以包括针对交互期间交换的消息的元数据分析以及内容分析。
[0183]
聊天机器人引擎148和/或对话引擎164基于会话速度的确定,可以确定会话中的交互正在导致会话减速(步骤1912)。在一些实施例中,可以通过确定会话速度在一时间段内正在减小而作出交互正在减速的确定。具体而言,会话的减速可以被表示为会话速度在一时间段内的负改变。
[0184]
基于确定交互正在导致会话减速,该方法可以通过将已经分配给该会话的人类代理172分配给与该会话不相关的至少一个附加任务而继续(步骤1916)。例如,如果人类代理172仅被分配给两个(2)不同的聊天交互,并且确定聊天交互之一的会话速度正在减速,那么可以进一步将人类代理172分配给一个、两个、三个或更多个附加聊天交互,由此使人类代理172的利用率最大化。
[0185]
现在参考图20,将根据本公开的至少一些实施例描述又一种通信方法。该方法开始于聊天机器人引擎148和/或对话引擎164分析数字通信信道上的交互(步骤2004)。基于该分析,聊天机器人引擎148和/或对话引擎164可以确定交互已暂停达一时间量,或者即将暂停达将来的一时间量(步骤2008)。在一些实施例中,这可以包括确定在超过时间量内未接收到新的客户消息312。这个步骤还可以包括基于分析交互期间交换的消息内容,确定已发生会话中的自然中断。例如,如果客户消息312包括像“给我一分钟我检查一下”或“我今晚会找出问题”那样的内容,该内容暗示客户116必须要离开会话以获得附加信息来推进会话。在客户消息312中发现的此类内容可以提供会话中即将具有自然中断或暂停的指示。
[0186]
响应于确定交互已暂停,该方法可以继续进行,聊天机器人引擎148和/或对话引擎164分析交互的内容以确定交互将暂停的附加时间量的估计(步骤2012)。可以基于消息的内容分析作出附加时间量的估计。替代地或附加地,可以利用会话模型156基于对交互的处理作出对附加时间量的估计,该会话模型156被训练成基于会话中的先前交互估计直到接收到下一个客户消息312的时间量。
[0187]
该方法然后可以通过如下方式来继续:更新人类代理172的状态,以释放代理达等于(或接近等于)在步骤2012中确定的附加时间量的估计的时间量(步骤2016)。在一些实施例中,人类代理172的状态可以从繁忙变为可用。替代地,可以改变人类代理172的状态以使
人类代理172能够为附加的其它聊天会话(可能有多个聊天会话)服务,同时保持负责正在暂停的当前会话。
[0188]
该方法可以进一步通过设置定时器而继续,该定时器在到期时,自动地将人类代理172的状态变回相对于该会话的不可用/占用/繁忙状态(步骤2020)。在一些实施例中,可以将定时器设置为起始值,该起始值等于在步骤2012中确定的对附加时间量的估计。该方法还可以包括在定时器被设置为到期时确定人类代理172是否将下班(例如,短暂休息或完成一天的工作)的能力。如果确定人类代理172将在定时器将到期的时间或附近下班,那么该方法可以识别替换代理,以在定时器到期时代表该人类代理172恢复交互(步骤2024)。该替换代理也可以对应于人类代理172,但不必一定对应于人类代理172。如果是人类代理172,该替换代理可以对应于被确定在定时器到期时可能可用并值班的不同的人。
[0189]
现在参考图21,将根据本公开的至少一些实施例描述另一种通信方法。该方法开始于聊天机器人引擎148和/或对话引擎164分析数字通信信道上的交互(步骤2104)。该方法然后通过确定交互已暂停达一时间量或可能在将来暂停达某一时间量而继续(步骤2108)。
[0190]
响应于步骤2108的确定,该方法可以继续进行,聊天机器人引擎148和/或对话引擎164分析交互的内容以确定交互将暂停的估计时间量(步骤2112)。这一步骤的过程可以与步骤2012类似或相同。之后,可以更新分配给该会话的代理172的状态以释放代理172达类似于或等于估计的时间量的时间量(步骤2116)。
[0191]
如果在基于估计时间量设置的定时器到期之前检测到客户116重新参与,该方法然后可以继续进行(步骤2120)。可以通过在定时器到期之前接收到新的客户消息312来检测客户116重新参与。如果处理会话的原始代理172是可用的,那么可以将代理172重新分配回该会话。不过,如果确定原始代理172不可用、繁忙或占用(步骤2124),那么该方法可以通过向客户116提供选项而继续,该选项允许客户116选择他们是希望等待原始代理172变为可用还是与替换代理恢复交互(步骤2128)。客户116的响应然后可以控制联络中心108的进一步动作,包括确定是否等待原始代理172,然后将原始代理172重新分配回该会话或者将替换代理分配给该会话。
[0192]
现在参考图22,将根据本公开的至少一些实施例描述另一种通信方法。该方法开始于聊天机器人引擎148和/或对话引擎164分析通过异步通信信道客户116和联络中心108之间的历史通信(步骤2204)。在这个步骤中分析的交互可以对应于通过异步通信信道交换的一些或全部消息。
[0193]
该方法可以继续进行,聊天机器人引擎148和/或对话引擎164向预测会话模型156应用在历史通信期间交换的一些或全部消息(步骤2208)。然后可以使用预测会话模型156检测客户116和联络中心108之间存在某种通信模式(步骤2212)。响应于并基于检测到该通信模式,可以更新代理员工安排以考虑该通信模式(步骤2216)。可以由代理员工管理引擎或由联络中心108中描绘和描述的某种其它服务器(例如,路由引擎124、联络管理服务器132等)来更新代理员工安排。
[0194]
基于对代理员工安排的更新,可以在联络中心108中部署一个或多个人类代理172以适应预期的工作负荷(步骤2220)。在一些实施例中,预期工作负荷可以至少部分地基于客户116和联络中心108之间检测到的通信模式。应当理解,可以缩放这一特定方法以分析
多次客户交互并基于多次历史客户交互来构建预测通信模型。
[0195]
现在参考图23a-23c,将结合监测会话内容和上下文并随后基于所监测的会话内容和上下文自动更新代理172的图形用户界面来描述附加的实施例。具体而言,图23a示出了显示多个聊天窗口2304的代理通信设备168的图形用户界面304的屏幕截图。每个聊天窗口2304可以包含在代理172(或聊天机器人引擎148)和客户116之间交换的内容。在一些实施例中,每个聊天窗口2304可以代表代理172的不同工作项目,并可以与联络中心108和不同客户116之间建立的不同异步通信信道相关联。换言之,单个代理172可以负责经由不同聊天窗口2304中的每个保持与不同客户116的多个不同会话。由于联络中心108支持的通信信道的异步性质,客户116不会预期其消息会得到即刻响应,因此允许代理172同时被分配多个会话/工作项目。
[0196]
应当理解,尽管将结合支持基于文本的异步通信会话来描述聊天窗口2304,但代理172可以使用不同的通信信道来处理工作项目并与客户116通信。例如,图形用户界面304可以为代理172呈现若干不同应用程序(例如,聊天应用程序、电子邮件应用程序、社交媒体应用程序、web协作应用程序等)。有适当技能的代理172可以同时利用不同的通信信道来与不同客户116进行不同的会话。本公开的实施例不应当被理解为仅限于聊天或im,因为聊天窗口2304被描述为用于向代理172呈现会话内容的gui元素。
[0197]
如图23a所示,可以基本同时经由图形用户界面304呈现多个聊天窗口2304的每个。所呈现的聊天窗口2304可能未必代表当前分配给代理172的每个会话。相反,一个或多个聊天窗口2304或gui元素可以被最小化或隐藏在另一个聊天窗口2304后方。如果对于当前隐藏而无法查看的聊天窗口2304的会话接收到新的客户消息,那么可以将关联的聊天窗口2304放到其它聊天窗口前方或者对于代理172高亮显示,以表示需要对客户消息作出响应。
[0198]
参考图23b,可以看出,针对分配给代理172的每个会话的会话活动和客户116参与可能不相等。相反,某个聊天窗口2304可能具有较高水平的客户116参与(例如,客户116迅速对代理172作出响应并具有实质性输入),而其它聊天窗口2304可能具有较低水平的客户116参与。根据至少一些实施例,可以分析分配给代理172的每个会话的每个内容和上下文,以确定客户116的参与水平以及会话速度。在图示的示例中,与第一聊天窗口2304相关联的第一会话可以具有确定参与水平56%,其保持稳定(例如,在预定时间段内改变不多于10%)。与第二聊天窗口2304相关联的第二会话可以具有较高的确定参与水平70%,其还正在升高(例如,具有高于预定阈值的正会话速度)。与第三聊天窗口2304相关联的第三会话可以具有较低的确定参与水平10%,其正在下降(例如,具有低于预定阈值的负会话速度)。与第n聊天窗口2304相关联的第n会话可以具有正在下降的平均确定的参与水平50%。现在将参考图23c描述响应于客户参与度的此类确定,代理通信设备168可以采取的动作。
[0199]
在图23c的示例中,图形用户界面304被示为具有高亮显示2308的第二聊天窗口2304,而第三聊天窗口2304被自动移除/关闭,第n聊天窗口2304被最小化或以比具有较高客户参与和/或会话速度的其它聊天窗口2304更不明显的方式呈现。在一些实施例中,可以响应于分析每个会话的内容和上下文而触发关闭、最小化或高亮显示针对特定会话的聊天窗口2304(或其它关联gui元素)的自动化动作。
[0200]
根据至少一些实施例,聊天机器人引擎148和/或对话引擎164可以被配置成执行
会话的分析并确定客户参与水平以及会话速度。这两个因素(可能还有其它因素)可能导致聊天机器人引擎148和/或对话引擎164向代理通信设备168发送命令,导致代理通信设备168执行自动化动作。可能希望在代理通信设备168处启用自动化动作,因为代理172必须要在其多个会话之间分配其注意力。在将注意力投入高度活动的会话时,代理172不太可能注意到特定会话正在变得较不活跃(例如,基于客户参与和/或会话速度),因此代理172将在图形用户界面304上保持该聊天窗口2304。这样的不作为可能导致图形用户界面304变得不必要的拥挤多个与不需要代理172关注的会话相关联的聊天窗口2304。因此,本公开的实施例提出了使聊天机器人引擎148和/或对话引擎164能够基于从关联会话获得的信息为代理172自动清理或管理图形用户界面304的能力。
[0201]
在一些实施例中,可以将针对联络中心108中的所有会话的新客户消息提供给聊天机器人引擎148和/或对话引擎164,在那里,可以分析会话特征,像是意图、实体,还可能有情绪。聊天机器人引擎148和/或对话引擎164可以被配置成利用一个或多个会话模型156来确定代表客户116仍然参与会话的可能性的概率。具体而言,在接收到新客户消息时,可以以规则间隔轮询会话模型156,以产生新的参与概率。之后,会将该参与概率与参与阈值(例如,50%)比较,以确定客户116是否可能已经从会话退出至少一时间段。如果在参与概率下降到参与阈值以下之前接收到又一个客户消息,那么可以再次由聊天机器人引擎148和/或对话引擎164利用会话模型156执行评估。如果在新客户消息到达之前参与概率下降到参与阈值以下,那么可以解除代理172管理该会话的责任。在这种情况下,可以将该会话以及与该会话相关联的聊天窗口2304停驻(例如,关闭、最小化等)为空闲,直到客户116利用新的客户消息作出响应。
[0202]
这一概念的变化可以使聊天机器人引擎148和/或对话引擎164能够产生指示针对该会话的参与概率已下降到第二参与阈值(例如,15%)以下的信号。响应于聊天机器人引擎148和/或对话引擎164确定参与概率已经再次下降并且比将会话停驻为空闲之前下降得更多,联络中心108现在可以认为会话完成,并相应地关闭针对该关联会话的聊天窗口2304。联络中心108还可以从代理172的分配移除与该会话相关联的工作项目,由此解除代理对该会话所负的任何责任并导致与该会话相关联的任何此类活动(或不活动)不影响代理172的关键业绩指标(kpi)。
[0203]
应当理解,本公开的实施例使得聊天机器人引擎148和/或对话引擎164能够产生概率曲线,概率曲线使得能够基于输入文本、提取的分析值等,随时间推移确定客户参与。可以在接收到客户消息之后,以预定时间间隔对用于这一目的的会话模型156采样,以产生参与概率和会话速度。在所有时间或周期性地,可以将参与概率和/或会话速度与适当阈值比较,直到接收到新的客户消息或参与概率和/或会话速度已下降到特定阈值以下。
[0204]
应当理解,尽管本文描述的概念参考了参与概率,但还可能适当的是参考退出概率并将这样的退出概率与适当阈值比较,以确定在预定时间量之内客户116是否可能(或不可能)需要代理172附加的关注。因为可以通过异步通信信道促进分配给代理172的很多会话,所以可能难以确定会话真正结束与有可能恢复的退出。
[0205]
可能难以确定会话“真正”结束与有可能恢复的退出。过去,使用超时时段确定数字信道用户退出。该确定需要代理172等待完整的超时时段,之后才能够“停驻”工作项目。本公开的实施例使得聊天机器人引擎148和/或对话引擎164能够对会话内容建模,以基于
上一个用户消息之后过去的时间和会话状态152的改变确定参与(或退出)的概率。
[0206]
还应当认识到,一些会话可能具有自然中断,其中客户116被要求去做需要花时间的任务(例如,建模表明,如果客户116未在2分钟内利用下一个客户消息作出响应,则关于这一话题的会话有95%在这个点具有退出)。一些会话可能具有指示用户将有意地退出延长的时间段的内容(例如,客户:“我明天检查一下再回来找您。”)。对会话上下文以及参与和退出的历史模式被建模,以提供预测并使得能够更好地管理代理172的时间和关注。
[0207]
现在参考图24,将根据本公开的至少一些实施例描述由聊天机器人引擎148和/或对话引擎164实现的附加通信方法。可以使用该方法实施结合图23a-23c描绘和描述的行为。该方法可以通过使得聊天机器人引擎148和/或对话引擎164能够分析分配给代理172(或联络中心108中的所有代理)的每个会话的内容/上下文而开始(步骤2404)。可以在接收到针对会话的新客户消息时或响应于某个其它触发事件(例如,来自代理172的请求)而立即执行分析。可以跨越分配给特定代理108的多个会话,或针对分配给联络中心108中的每个代理172的每个会话,执行分析。
[0208]
该方法继续进行,聊天机器人引擎148和/或对话引擎164确定每个会话的客户参与水平(例如,客户参与概率或客户退出概率)(步骤2408)。在一些实施例中,在这个步骤2404中执行的分析导致每个会话的客户参与水平的确定。该方法还可以包括:聊天机器人引擎148和/或对话引擎164确定每个会话的会话速度(步骤2412)。步骤2408和2412可以被同时或按照任意顺序执行,并且都可以基于步骤2404的分析。
[0209]
该方法进一步继续进行,聊天机器人引擎148和/或对话引擎164基于在步骤2408和2412中作出的判断,确定是否要针对一个或多个会话采取任何自动化动作。具体而言,聊天机器人引擎148和/或对话引擎164可以确定是否应当将任何会话停驻为空闲(步骤2416)。可以响应于客户参与概率(或退出概率)与预定概率阈值的比较和/或响应于会话速度与预定速度阈值的比较来肯定地作出这一判断。如果作出决策要将任何特定会话停驻为空闲,则聊天机器人引擎148和/或对话引擎164可以向代理通信设备168提供适当的指令,以最小化、隐藏或关闭与正被停驻为空闲的会话相关联的聊天窗口2304(步骤2420)。
[0210]
该方法还可以包括:由聊天机器人引擎148和/或对话引擎164判断是否需要相对于任何会话提醒代理172(步骤2424)。在一些实施例中,该提醒可以包括高亮显示与会话相关联的聊天窗口2304和/或向代理172发送消息,指示特定会话需要代理响应。同样,确定是否关于特定会话提供提醒可以包括将参与概率与适当的概率阈值(可以与步骤2416中使用的阈值不同)进行比较和/或将会话速度与适当速度阈值(可以与步骤2416中使用的阈值不同)进行比较。如图23c所示,可以通过改变聊天窗口2304的一个或多个性质(例如,使其更大、字体更粗、颜色不同等)和/或将适当的聊天窗口2304放到代理172的图形用户界面304上的更明显位置来提供提醒(步骤2428)。
[0211]
该方法还可以包括:由聊天机器人引擎148和/或对话引擎164确定是否将期望延迟针对特定会话的代理响应(例如,以降低会话速度,或者因为看起来客户116并未预期立刻从代理得到响应)(步骤2432)。像步骤2416和2424那样,这个步骤可以包括将参与概率与适当的概率阈值(可以与步骤2416和2424中使用的阈值不同)进行比较和/或将会话速度与适当速度阈值(可以与步骤2416和2424中使用的阈值不同)进行比较。如果对于任何特定会话而言这一查询得到肯定回答,那么该方法可以继续进行,聊天机器人引擎148和/或对话
引擎164向代理通信设备168提供指令,以修改关联的聊天窗口或以其它方式通知代理172延迟响应是可接受的(并且可能是期望的)(步骤2436)。对聊天窗口2304的修改可以包括隐藏聊天窗口2304,直到诸如希望/需要代理响应的时间,和/或在聊天窗口2304之内向代理172提供消息,指示不需要响应。对聊天窗口2304的修改还可以包括由聊天机器人引擎148和/或对话引擎164准备的供代理172审查并批准的建议响应,但连同带有将在至少预定时间量内不向客户通信设备发送响应(在被批准时)的注解。
[0212]
应当理解,可以彼此同时地执行步骤2416、2424和2432,并且可以同时采取各种类型的自动化动作。实际上,可以按照任意顺序执行步骤2416、2424和2432(及其响应于肯定判断的关联自动化动作)而不会脱离本公开的范围。
[0213]
在针对任何被认为适当的会话采取自动化动作之后,该方法可以通过等待代理172输入或另一客户消息而继续(步骤2440)。响应于代理172输入和/或另一个客户消息的另一次接收,该方法可以返回到步骤2404,在此,再次对新接收的客户消息和/或代理172共享的内容执行分析。
[0214]
本公开在各方面、各实施例和/或配置中包括基本如本文所示所述的部件、方法、过程、系统和/或装置,包括各个方面、实施例、配置实施例、子组合和/或其子集。本领域的技术人员在理解本公开之后将理解如何实现和使用各方面、实施例和/或配置。在各方面、实施例和/或配置中,本公开包括在没有本文或在其各方面、实施例和/或配置中描绘和/或描述的项目的情况下,包括在没有先前设备或过程中可能曾经使用过的此类项目的情况下,提供设备和过程,例如,用于改善性能、实现便利性和/或降低实施成本。
[0215]
出于例示和描述的目的给出了此前的论述。前文并非意在将本公开限于本文所公开的一种或多种形式。例如,在此前的具体实施方式中,为了使本公开流畅,将本公开的各个特征共同分组在一个或多个方面、实施例和/或配置中。可以在除上述那些之外的替代方面、实施例和/或配置中组合本公开的各方面、实施例和/或配置的特征。不应将本公开的这种方法解释为反映如下意图:权利要求需要比每个权利要求中明确援引的更多特征。相反,如以下权利要求所反映的,创造性方面在于单一的前文公开的方面、实施例和/或配置的少于全部的特征。于是,在此将以下权利要求并入具体实施方式中,其中每个权利要求自身代表本公开独立的优选实施例。
[0216]
此外,尽管说明书包括对一个或多个方面、实施例和/或配置和特定变化与修改的描述,但其它变化、组合和修改在本公开的范围之内,例如,因为在理解本公开之后,这些变化、组合和修改可能在本领域技术人员的技能和知识范围之内。意图获得在许可的范围内包括替代方面、实施例和/或配置的权利,包括对要求保护的那些结构、功能、范围或步骤的替代、可互换和/或等价结构、功能、范围或步骤,无论此类替代、可互换和/或等价结构、功能、范围或步骤是否在本文公开,并且不意在向公众奉献任何可获得专利的主题。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1