基于一致性加权和路由规则的动态通信路由的制作方法

文档序号:14204019阅读:122来源:国知局
基于一致性加权和路由规则的动态通信路由的制作方法

相关申请的交叉引用

本申请要求在2015年6月2日递交的名称为“dynamiccommunicationroutingbasedonconsistencyweightingandroutingrules”的美国专利申请no.62/169,726、以及2016年6月2日递交的名称为“dynamiccommunicationroutingbasedonconsistencyweightingandroutingrules”的美国专利申请no.15/171,525的权益,出于所有目的所述美国专利申请的全部内容通过引用并入在本文中。

本发明总体涉及智能通信路由。更具体地,提供有条件地将针对给定客户端的通信路由到一致的终端设备的技术。



背景技术:

产生的电子或电话通信的数量以史无前例的速率日益增长。各种设备可以促进提供对这类通信的响应。然而,这类响应的质量和速度可以在各个设备中不同。另外,尽管一个设备可以配置成提供对一个通信的相对高质量且快速的响应,但是不同设备可以配置成提供对另一通信的这类相对高质量且快速的响应。因此,重要的是促进策略路由。



技术实现要素:

术语“实施方式”和类似术语意图广泛地指代本公开内容和下文权利要求的所有主题。包含这些术语的陈述应当被理解为不限制本文中所描述的主题或不限制下文权利要求的含义或范围。本文中所覆盖的本发明的实施方式由下文权利要求、而非本发明内容所限定。本发明内容为本发明的各个方面的高级概述且介绍了在下文具体实施方式章节中所进一步描述的一些概念。本发明内容既不意图标识所请求保护的主题的关键或基本特征,也不意图孤立地用于确定所请求保护的主题的范围。主题应当通过引用被理解为本发明的整个说明书、任何或全部附图和每个权利要求的合适部分。

本发明的实施方式包括一种用于路由通信的计算机实现的方法。所述方法可以包括在计算设备处接收包括内容数据的通信、以及将所述通信存储在主队列中。在一些实例中,所述主队列可以包括用于存储多个通信的多个队列位置。所述通信可以被存储在所述主队列中的所述多个队列位置中的一队列位置上。所述方法还可以包括从所述主队列的所述队列位置检索所述通信、以及分析所述通信。在一些实例中,分析所述通信可以包括针对关键字解析所述内容数据。例如,所述关键字可以对应于次级队列。另外,所述方法可以包括将所述通信存储在所述次级队列中。所述次级队列可以与一个或多个终端设备相关联。所述方法还可以包括识别与所述次级队列相关联的终端设备。另外,所述方法可以包括接收请求访问所述通信的检索请求、以及将所述通信路由到所述终端设备。例如,路由所述通信可以包括建立所述终端设备和与所述通信相关联的网络设备之间的通信链路。

本发明的实施方式还可以包括一种用于路由通信的系统。所述系统可以包括一个或多个数据处理器、以及包含指令的非暂时性计算机可读存储介质,所述指令在所述一个或多个数据处理器上执行时引起所述一个或多个数据处理器执行包括上文和本文中所描述的用于路由通信的计算机实现的方法的操作。

本发明的实施方式还可以包括一种有形地实施在非暂时性机器可读存储介质中的计算机程序产品,所述计算机程序产品包括指令,所述指令配置成引起数据处理装置执行包括上文和本文中所描述的用于路由通信的计算机实现的方法的操作。

本发明的附加实施方式可以包括一种用于执行任务的计算机实现的方法。该计算机实现的方法可以包括:在计算设备处从网络设备接收初始通信;以及识别终端设备。可以使用初始通信识别该终端设备。该终端设备可以与实体相关联。该计算机实现的方法还可以包括:建立网络设备与终端设备之间的通信链路;以及促进网络设备与终端设备之间的通信会话。在一些实例中,促进通信会话可以包括在建立的通信链路上,在网络设备与终端设备之间交换一个或多个消息。另外,该方法可以包括接收初始消息、以及确定用于初始消息的初始消息参数。例如,当接收初始消息时,可以实时地确定初始消息参数。该初始消息参数可以表示与初始消息相关联的消息特性。该方法还可以包括确定用于与通信会话相关联的多个消息的会话参数。可以使用初始消息参数和一个或多个附加消息参数来确定会话参数。随着生成一个或多个附加消息参数,可以实时地更新会话参数。另外,该会话参数可以表示与多个消息相关联的会话特性。该方法还可以包括基于消息参数或会话参数执行任务。

本发明的实施方式还可以包括一种系统。该系统可以包括一个或多个数据处理器、以及包含指令的非暂时性计算机可读存储介质,所述指令在所述一个或多个数据处理器上执行时引起所述一个或多个数据处理器执行包括上文和本文中所描述的用于执行任务的计算机实现的方法的操作。

本发明的实施方式还可以包括一种有形地实施在非暂时性机器可读存储介质中的计算机程序产品,所述计算机程序产品包括指令,所述指令配置成引起数据处理装置执行包括上文和本文中所描述的用于执行任务的计算机实现的方法的操作。

本发明的附加实施方式可以包括一种用于基于一致性和延迟变量动态地路由电子消息的方法。该方法可以包括:从网络设备接收消息;确定该消息与客户端相关联;以及识别先前借助通过通信信道路由的消息的交换而与网络设备通信的终端设备。该终端设备可以包括与客户端相关联的终端设备。该方法还可以包括确定与终端设备相关联的代理是否可用于响应消息。在一些实例中,当确定代理不可用于响应消息时,所述方法可以包括:如果将消息路由到终端设备,则预测表示对该消息的响应的延时的响应延迟;以及确定代理一致性是否胜过促进更快的响应延迟。当确定代理一致性胜过促进更快的响应延迟时,该方法可以包括:将消息路由到终端设备;以及促进终端设备与网络设备之间的异步通信交换。当确定代理一致性未胜过促进更快的响应延迟时,该方法可以包括:识别与客户端相关联的新终端设备;以及通过新通信信道将消息路由到该新终端设备。

本发明的实施方式还可以包括一种用于路由通信的系统。该系统可以包括一个或多个数据处理器、以及包含指令的非暂时性计算机可读存储介质,所述指令在所述一个或多个数据处理器上执行时引起所述一个或多个数据处理器执行包括上文和本文中所描述的用于基于一致性和延迟变量动态地路由电子消息的方法的操作。

本发明的实施方式还可以包括一种有形地实施在非暂时性机器可读存储介质中的计算机程序产品,所述计算机程序产品包括指令,所述指令配置成引起数据处理装置执行包括上文和本文中所描述的用于基于一致性和延迟变量动态地路由电子消息的方法的操作。

本发明的附加实施方式可以包括一种有条件地建立用于路由消息的连续信道的方法。该方法可以包括:促进在网络设备与终端设备之间路由一系列消息,以及访问包括条件的连续信道规则。该系列消息可以与沿着时间维度聚集的时间相关联,且该系列消息可以对应于客户端。另外,连续信道规则可以指示条件的满足使消息的路由从网络设备偏置到先前与该网络设备通信的终端设备。该方法还可以包括:基于该系列消息中的一个或多个消息、输入或帐户数据确定特性;以及基于该特性确定是否满足条件。当确定满足条件时,该方法可以包括建立网络设备与终端设备之间的连续信道。该连续信道可以促进将后续消息从网络设备路由到终端设备。后续消息可以对应于客户端。另外,可以在沿着时间维度而与集群的该系列消息的时间分离的时间接收后续消息。该方法还可以包括生成指示已建立连续信道且包括与终端设备相关联的标识的展示。当确定不满足条件时,该方法可以包括促进将后续消息从网络设备路由到不同终端设备。后续消息可以对应于客户端。可以在沿着时间维度而与集群的该系列消息的时间分离的时间接收后续消息。

本发明的实施方式还可以包括一种系统。该系统可以包括一个或多个数据处理器、以及包含指令的非暂时性计算机可读存储介质,所述指令在所述一个或多个数据处理器上执行时引起所述一个或多个数据处理器执行包括上文和本文中所描述的用于有条件地建立用于路由消息的连续信道的方法的操作。

本发明的实施方式还可以包括一种有形地实施在非暂时性机器可读存储介质中的计算机程序产品,所述计算机程序产品包括指令,所述指令配置成引起数据处理装置执行包括上文和本文中所描述的用于有条件地建立用于路由消息的连续信道的方法的操作。

本发明的附加实施方式还可以包括一种用于动态地将电子消息路由到终端设备的方法。该方法可以包括:监控网络设备与终端设备之间的一系列消息的交换,以及确定该系列消息中的一个或多个消息的特性。例如,该系列消息可以对应于客户端。例如,该特性可以对应于主题或情绪。该方法可以包括访问包括条件的重新路由规则。该重新路由规则可以指示条件的满足将发起重新路由过程。另外,该方法可以包括基于该特性确定是否满足条件。当确定满足条件时,该方法可以包括:识别不同终端设备、生成包括该系列消息中的至少一些消息的动态消息记录、将该动态消息记录发送到不同终端设备、从网络设备接收新消息、以及将该新消息发送到终端设备和不同终端设备中的每一者。例如,该不同终端设备可以与客户端相关联。

本发明的实施方式还可以包括一种系统。该系统可以包括一个或多个数据处理器、以及包含指令的非暂时性计算机可读存储介质,所述指令在所述一个或多个数据处理器上执行时引起所述一个或多个数据处理器执行包括上文和本文中所描述的用于动态地将电子消息路由到终端设备的计算机实现的方法的操作。

本发明的实施方式还可以包括一种有形地实施在非暂时性机器可读存储介质中的计算机程序产品,所述计算机程序产品包括指令,所述指令配置成引起数据处理装置执行包括上文和本文中所描述的用于动态地将电子消息路由到终端设备的方法的操作。

本发明的附加实施方式可以包括一种用于索引消息且生成消息记录的计算机实现的方法。该方法可以包括:在计算设备处检测网络设备与终端设备之间的交互;以及识别与该交互的至少一部分相关联的可确定特性。在一些实例中,该交互可以包括在网络设备与终端设备之间传送的一个或多个通信。例如,通信可以包括内容数据。该方法还可以包括:基于内容数据识别交互主题、基于内容数据识别问题解决阶段、以及基于内容数据确定参数。例如,该参数可以表示与交互相关联的特性(例如情绪或意图)。另外,该方法可以包括设置多个消息索引以及识别所述多个消息索引中的一个索引。例如,消息索引可以对应于网络设备与终端设备之间的一系列通信。例如,确定的参数或内容数据可以用于识别索引。该方法还可以包括:选择性地识别与识别的索引相关联的一个或多个消息、基于识别的一个或多个消息生成消息记录、以及呈现或分析生成的消息记录。

本发明的实施方式还可以包括一种系统。该系统可以包括一个或多个数据处理器、以及包含指令的非暂时性计算机可读存储介质,所述指令在所述一个或多个数据处理器上执行时引起所述一个或多个数据处理器执行包括上文和本文中所描述的用于索引消息且生成消息记录的计算机实现的方法的操作。

本发明的实施方式还可以包括一种有形地实施在非暂时性机器可读存储介质中的计算机程序产品,所述计算机程序产品包括指令,所述指令配置成引起数据处理装置执行包括上文和本文中所描述的用于索引消息且生成消息记录的方法的操作。

本发明的附加实施方式可以包括一种用于基于生成的代理向量促进消息路由的计算机实现的方法。该方法可以包括:在计算设备处检测来自网络设备的消息、以及确定与该消息相关联的主题。例如,该消息可以包括内容数据。另外,例如,确定主题可以包括分析内容数据。该方法还可以包括:确定与该消息相关联的复杂程度、基于该消息确定参数、以及确定与该消息相关联的非实质性特性。例如,该参数可以表示消息的特性(例如情绪或意图)。目标对象可以表示从由网络设备发送的消息所确定的意图。例如,目标对象可以表示操作网络设备的用户寻求辅助密码检索的意图。另外,该方法可以包括:识别用于一组代理中的每个代理的对应变量的向量、识别该组代理的子集、以及促进建立操作连接以将消息路由到该子集中的代理的终端设备。识别子集可以基于代理向量和确定的变量。

本发明的实施方式还可以包括一种系统。该系统可以包括一个或多个数据处理器、以及包含指令的非暂时性计算机可读存储介质,所述指令在所述一个或多个数据处理器上执行时引起所述一个或多个数据处理器执行包括上文和本文中所描述的用于基于生成的代理向量促进消息路由的计算机实现的方法的操作。

本发明的实施方式还可以包括一种有形地实施在非暂时性计算机可读存储介质中的计算机程序产品,所述计算机程序产品包括指令,所述指令配置成引起数据处理装置执行包括上文和本文中所描述的用于基于生成的代理向量促进消息路由的方法的操作。

本发明的附加实施方式可以包括一种用于显示在计算设备(例如,由用户操作的移动设备)上显示的用户界面的方法。可以在操作网络设备的用户与操作终端设备的代理之间的实时通信会话或异步消息会话期间显示用户界面。该方法可以包括针对多个客户端中的每个客户端显示可选择的表示。例如,可选择的表示可以与一个或多个连续信道相关联,从而连续信道对应于网络设备与终端设备之间的通信会话。该方法还可以包括:一旦选择了可选择的表示,显示在网络设备与终端设备之间传送的一个或多个消息。该方法还可以包括:显示关于不同主题的各种通信交换的多个表示。例如,表示可以包括关于识别的主题的目标的消息记录。在一些实例中,选择主题的表示可以发起与终端设备(例如,先前与通信会话相关联或与先前终端设备不同的终端设备)的连续通信会话的开始或重新开始。该方法还可以包括在与代理相关联的终端设备处显示界面。该方法可以包括:显示在用户与代理之间持续的一个或多个通信会话的表示。例如,在终端设备处显示的界面可以包括与通信会话相关联的情绪的指示。例如,通信会话可以对应于消极极性(例如,消极情绪),以及在该情况下,可以显示表示消极极性的指示。在一些实例中,在终端设备处显示的界面可以表示持续的通信会话,即使在消息所源自的网络设备可以使用不同的第三方应用程序来促进消息的通信的时候。

本发明的实施方式还可以包括一种系统。该系统可以包括一个或多个数据处理器、以及包含指令的非暂时性计算机可读存储介质,所述指令在所述一个或多个数据处理器上执行时引起所述一个或多个数据处理器执行包括上文和本文中所描述的用于显示在计算设备上显示的用户界面的计算机实现方法的操作。

本发明的实施方式还可以包括一种有形地实施在非暂时性机器可读存储介质中的计算机程序产品,所述计算机程序产品包括指令,所述指令配置成引起数据处理装置执行包括上文和本文中所描述的用于显示在计算设备上显示的用户界面的方法的操作。

附图说明

结合附图描述本发明:

图1a示出网络交互系统的一实施方式的框图;

图1b示出网络交互系统的另一实施方式的框图;

图2示出网络交互系统的再一实施方式的框图;

图3a至图3c示出包括连接管理系统的网络交互系统的其它实施方式的框图;

图4示出连接部件的操作的协议栈映射的表示;

图5表示根据一实施方式的多设备通信交换系统;

图6示出连接管理系统的一实施方式的框图;

图7示出用于索引消息且生成消息记录的过程的一实施方式的流程图;

图8示出用于基于生成的代理向量促成消息路由的过程的一实施方式的流程图;

图9示出用于管理连续信道的建立的过程的一实施方式的流程图;

图10示出用于基于索引动态地将电子消息路由到终端设备的过程的一实施方式的流程图;

图11示出用于基于一致性和延迟变量动态地路由电子消息的过程的一实施方式的流程图;

图12示出用于路由通信的过程的一实施方式的流程图;

图13示出用于执行任务的过程的一实施方式的流程图;

图14为示出生成连续通信参数的一实施方式的流程图;以及

图15a至图15d示出根据一实施方式的表示与终端设备连接的各个方面的界面的示例。

在附图中,类似部件和/或特征可以具有相同的参考标记。另外,同一类型的各个部件可以通过使参考标记后接破折号和第二标记来区分,该第二标记在类似部件之间进行区分。如果在说明书中仅使用第一参考标记,则该描述适用于具有相同第一参考标记的类似部件中的任一者,不管第二参考标记如何。

具体实施方式

随后的描述仅提供一个或多个实施方式的优选示例且不意图限制本发明的范围、适应性或配置。而是,一个或多个实施方式的优选示例的随后描述将向本领域的技术人员提供用于实现实施方式的优选示例的有效描述。要理解,可以在元件的功能和布置上进行各种改变,而不脱离如在所附权利要求中提出的精神和范围。

图1a示出网络交互系统100a的实施方式的框图,该网络交互系统100a实现且支持本文中所描述的特定实施方式和特征。特定实施方式涉及建立网络设备105(其可以由用户110操作)与终端设备115(其可以由代理120操作)之间的通信链路。例如,建立通信链路可以包括在网络设备105与终端设备115之间建立网络上的信道。可以在建立的通信链路上将从网络设备105发送的通信(例如消息)路由到终端设备115,反之亦然。

在特定实施方式中,用户110可以为浏览网站或访问由远程服务器140提供的线上服务的个体。另外,在特定实施方式中,网络交互系统100a可以包括与客户端125相关联的客户端设备130。客户端125可以为提供、操作、或运作网站或线上服务的实体,或由这类实体使用或分配以执行如本文中所描述的客户端125可用的任务的个体。代理120可以为个体,诸如负责将关于网站或线上服务的支持或信息(例如,关于网站上的内容的信息)提供给用户110的代理。在大量代理中,代理的子集可以适合于为特定客户端125(例如,代表该特定客户端125或与该特定客户端125相关联)提供支持或信息。代理120可以附属于或不附属于客户端125。每个代理可以与一个或多个客户端125相关联。在一些非限制示例中,用户110可以为从个人计算设备访问网页的个体,客户端125可以为管理或治理网页的公司,以及代理120可以被公司采用以将关于网页的信息提供给用户110或网页的其它访问者。在各种实施方式中,用户110、客户端125和代理120可以为其它个体或实体。

尽管图1a仅示出单一网络设备105、单一终端设备115和单一客户端设备130,但是网络交互系统100a可以包括这些类型的设备中的一种或多种设备中的每种设备中的多个或许多(例如,几十、几百或几千等)设备。类似地。尽管图1a仅示出单一用户110、单一代理120和单一客户端125,但是交互系统100a可以包括这类实体中的一种或多种实体中的每种实体中的多个或许多实体。因此,可能需要确定将选择哪个终端设备与给定网络设备通信。使问题进一步复杂化,远程服务器140也可以配置成接收且响应以选择网络-设备通信。

连接管理系统150可以促进通信的策略性或智能路由。促进策略性路由的非限制示例可以包括在两个设备(例如网络设备105和终端设备115)之间建立通信链路,以及在这两个设备之间路由通信。促进策略性路由也可以包括将通信重新路由到一个或多个附加设备。例如,连接管理系统150可以通过将源自于网络设备105的通信转发到终端设备115或转发到另一终端设备115来促进路由。

在一些示例中,通信可以包括例如具有内容的一个或多个消息(例如,基于来自实体的输入(诸如打字的、点击的、口头的、或其它合适输入)所定义)、对于设备认证的请求或者设备认证的确认(例如,为了建立通信链路对网络设备105的认证)、或其它合适通信。在一些示例中,通信也可以包括附加数据,诸如:关于发送设备的数据(例如,ip地址、帐户标识符、设备类型和/或操作系统);目标地址;客户端的标识符;网页或网页元素(例如,在产生通信时访问的或以其它方式与通信相关联的网页或网页元素)的标识符或线上历史数据;时间(例如,当日时间和/或日期);和/或目标地址。在通信中也可以包括其它信息。本发明不限于本文中所提出的示例。

在一些实例中,连接管理系统150可以将整个通信路由到另一设备(例如,另一终端设备或另一网络设备)。在一些实例中,连接管理系统150可以修改通信或产生新的通信(例如,基于初始通信)。新的或修改的通信可以包括消息(或其处理后的形式)、(例如关于发送设备、网页或线上历史和/或时间的)附加数据和/或由连接管理系统150识别的其它数据(例如,与特定的账户标识符或设备相关联的账户数据的)中的至少一些(或全部)。新的或修改的通信也可以包括其它信息。

在一些实例中,策略性路由促进的一部分可以包括建立、更新和使用网络设备105与一个或多个终端设备115之间的一个或多个连接信道。例如,在从网络设备105接收通信时,连接管理系统150可以首先评估该通信对应哪个客户端(如果有的话)。在识别客户端之后,连接管理系统150可以识别与该客户端相关联的终端设备115,用于与网络设备105通信。在一些实例中,终端设备115的识别可以包括评估与从网络设备105发送的消息相关联的一个或多个消息参数、与一系列消息(例如会话)相关联的一个或多个会话参数、与网络设备105相关联的一个或多个网络设备参数、与客户端125相关联的一个或多个连续通信参数、多个代理(或专家或代表)中的每一者的配置文件、或其它合适示例。多个代理中的每个代理(例如代理120)可以与终端设备(例如终端设备115)相关联。终端设备115的识别可以包括例如在2010年3月17日递交的美国申请no.12/725,799所描述的技术,出于所有目的将该申请的全部内容通过引用并入在本文中。

在一些实例中,连接管理系统150可以使用一个或多个数据结构执行网络设备105与终端设备115之间的策略性路由。例如,连接管理系统150可以包括多个数据结构。数据结构的示例包括队列、缓存器、阵列结构、树结构、或其它合适的数据结构。例如,当连接管理系统150从网络设备105接收通信时,可以将通信或通信的表示(例如标识符)存储在主队列中。连接管理系统150可以分析存储在主队列中的每个通信以识别该通信应当被路由至的终端设备。在一些实例中,次级队列可以对应于一个或多个终端设备。例如,次级队列可以存储将发送到与该次级队列相关联的一个或多个终端设备中的特定终端设备115或被该特定终端设备115访问的通信。在识别用于与网络设备105通信的终端设备115时,连接管理系统150可以发送通信(其被存储在主队列中)以使其存储在与识别的终端设备115相关联的次级队列中。次级队列可以被包括在连接管理系统150、与该终端设备相关联的计算设备、识别的终端设备自身、或其它存储设备中。

在一些实例中,分析存储在主队列中的通信以识别终端设备可以根据一个或多个参数(例如,消息参数、会话参数、网络设备参数、连续通信参数)。可以使用包括在从网络设备105发送的通信中的内容(例如,文本、图像、上传的文件等)或与该从网络设备105发送的通信相关联的内容(例如,ip地址、连贯的消息之间的时间、接收时间等)确定该一个或多个参数。例如,网络设备105可以将包括表示文本串的数据的消息发送到连接管理系统150。一旦接收到该消息,连接管理系统150可以将该消息存储在主队列中且然后分析该消息。分析该消息的示例可以包括解析包括在消息中的文本、以及确定该文本(例如文本数据)是否对应于极性指示(例如,积极极性、消极极性、中立极性、愤怒极性、耻辱极性、挫折极性、和其它合适极性)。连接管理系统150可以基于该文本是否对应于例如积极或消极极性指示来生成消息参数。消息参数的示例可以包括生成作为算法的输出的分数或数值。连接管理系统150可以将存储的一个或多个规则应用于生成的消息参数以确定应当将该消息存储在哪个次级队列中。例如,存储的规则可以指示,与在低于阈值的消息参数相关联的消息(例如,对应于消极极性指示的消息)初始被路由到与特定终端设备115相关联的特定次级队列。

在一些实例中,分析消息的文本以确定消息参数可以包括与消息相关联的文本属性或非文本属性的分析。例如,连接管理系统150可以提取包括在该消息中的一行或多行文本。连接管理系统150可以识别该一行或多行文本是否包括锚点。锚点的示例包括与极性相关联的文本串(例如,情绪或意图,词语“挫折”对应于消极极性或挫折极性,词语“高兴”对应于积极极性等)。锚点可以特定于客户端125。例如,用于第一客户端的锚点可以不同于用于第二客户端的锚点。例如,术语“争执”对于一个客户端可以为消极的,但是对于第二客户端可以为中立的或积极的。在一些实例中,可以使用监督机器学习技术动态地确定锚点。另外,靠近识别的锚点的一个或多个词语可以被解析用于放大器。放大器的示例为增大或减小与锚点的极性相关联的强度的术语,诸如“实际上”、“不见得”、“的种类”等。

在一些实例中,当文本包括与积极情绪相关联的锚点时,连接管理系统150可以将消息标记成对应于积极极性指示。同样地,当文本包括与消极情绪相关联的锚点时,连接管理系统150可以将消息标记成对应于消极极性指示。标记消息的示例可以包括将标志着消息是否对应于消极或积极极性指示的代码附加到消息。当消息被标记有积极极性指示时,连接管理系统150可以生成与该积极极性指示相关联的第一消息参数。当消息被标记有消极极性指示时,连接管理系统150可以生成与该消极极性指示相关联的第二消息参数。在本示例中,第一消息参数和第二消息参数可以为彼此不同的值。

在一些实例中,连接管理系统150可以基于多个消息参数生成会话参数。例如,可以使用会话参数来确定整个会话在通信对话期间的情绪。在一些实例中,当网络设备105发送路由到识别的终端设备115的新消息时,可以实时地动态更新会话参数。可以出于各种目的而评估会话参数。用于评估会话参数的目的的示例可以包括:确定在网络设备105和终端设备115之间传送的多个消息的特性趋势;确定是否将从网络设备105发送的消息重新路由到另一终端设备(不同于与网络设备105通信的初始终端设备115);确定是否保持将消息路由到初始终端设备115;上报与网络设备105或终端设备115相关联的一个或多个状态;评估与终端设备115相关联的性能;或触发对一个或多个附加终端设备的通知警报。

在一些实例中,可以基于多个会话参数生成网络设备参数(对于进一步讨论,参看图14)。可以使用网络设备参数来确定特定网络设备的整体情绪。另外,可以基于多个网络设备参数生成连续通信参数(对于进一步讨论,参看图14)。可以使用连续通信参数来确定与特定实体(例如客户端125)相关联的整体情绪。

在一些实例中,连接管理系统150可以确定是否在网络设备105和与客户端相关联的终端设备(或远程服务器140)之间建立任何连接信道,如果是,则确定是否将这类信道用于交换包括该通信的一系列通信。该确定可以至少部分地取决于与该通信相关联的主题、与该通信或过去相关的通信相关联的情绪分数(例如,消息参数)、与一系列消息相关联的会话参数、与网络设备相关联的网络设备参数、与客户端(例如客户端125)相关联的连续通信参数、对于终端设备115预测的(例如相对的或绝对的)响应延迟、和/或与该通信相关联的通信信道的类型(例如即时消息、消息、电子邮件、电话)。选择建立的通信信道可以促进一致性且降低对于多次转发来自网络设备105的信息的需求。同时,确定将建立新的通信信道可以促进来自更多专业代理的更快响应。

关于是否选择(或继续使用)建立的通信信道和/或选择新的终端设备的决定可以包括确定(例如与客户端相关联的)一个或多个终端设备中的每个终端设备对应于通信和/或关联用户的程度。这类对应关系可以涉及例如代理的知识库对应于通信主题的程度、代理在给定时间和/或在信道类型上的可用性、用户与代理之间的语言匹配、和/或个性分析。

连接管理系统150可以使用通信分析来影响路由确定(例如,确定是否将通信路由到先前已从已发送通信的网络设备接收该通信的终端设备或选择接收或发送通信的终端设备)。一种通信分析可以包括确定且评估当前或过去的通信或通信系列的一个或多个类别或标签。例如,可以向通信分配针对(例如)主题、信道类型(例如,电子邮件、sms消息、实时聊天、电话或异步消息)、语言、复杂度、情绪、和/或是否附着文件类型/附着哪种文件类型中的每一者的类别,以及可以使终端设备的选择偏向与类似的、相同的或互补的知识库、信道类型的可用性、语言、熟练程度、情绪和/或文件类型的能力相关联的终端设备。

一旦选择与网络设备105通信的终端设备115,连接管理系统150可以在网络设备105与终端设备115之间建立连接信道。在一些实例中,连接管理系统150可以将消息发送到所选的终端设备115。该消息可以请求提出的分配的接受以与网络设备105通信或识别已生成这类分配。该消息可以包括关于网络设备105的信息(例如,ip地址、设备类型、和/或操作系统)、关于相关联用户110的信息(例如,所讲语言、已与客户端交互的持续时间、熟练程度、情绪、和/或主题偏好)、接收的通信、用于生成通信且将该通信发送到网络设备105的代码(例如,可点击的超链接)、和/或生成通信且将该通信发送到网络设备105的指令。

在一个示例中,可以通过连接管理系统150路由网络设备105与终端设备115之间的通信。这类配置可以允许连接管理系统150监控通信交换且检测问题(例如,如基于规则所限定),诸如任一设备的非响应性或延长的延迟。另外,这类配置可以促进通信的选择性存储或完全存储,这些通信之后可以用于例如评估通信交换的质量和/或支持学习更新或生成路由规则以便促进特定的通信后的目标。这样的存储也可以促进网络设备与第一终端设备之间的消息历史或消息记录的生成,当确定第二终端设备将参加与网络设备的当前通信系列或参与与网络设备的新通信系列时,可以将该消息历史或消息记录发送(例如)到第二终端设备。

在一些实施方式中,连接管理系统150可以实时地监控(例如分析)通信交换且基于现场通信执行自动化的动作(例如,基于规则的动作)。消息的实时监控的示例可以包括在接收消息之后(例如,具有最小延迟、几毫秒、几秒等)立即且自动地接收消息且分析消息(例如,将一个或多个规则应用于消息)。例如,当连接管理系统150确定通信涉及特定产品时,连接管理系统150可以自动地将包含关于该产品的附加信息(例如,现有的产品的量、支持关于该产品的文件的链路、或关于该产品或类似产品的其它信息)发送到终端设备115。

在一个实例中,指定的终端设备115可以与网络设备105通信,而不通过连接管理系统150转发通信。一个或两个设备105、115可以(或可以不)将特定通信度量标准或内容上报给连接管理系统150以促进通信监控和/或数据存储。

如所提及,连接管理系统150可以将所选通信路由到远程服务器140。远程服务器140可以配置成以预定方式提供信息。例如,远程服务器140可以访问响应于通信而发送的定义的一个或多个文本段落、语音记录和/或文件。远程服务器140可以基于例如对接收的通信的分析(例如,语义分析或映射分析)选择特定的文本段落、记录或文件。

在连接管理系统150处执行的路由和/或其它确定或处理可以基于至少部分地由一个或多个客户端设备130定义或提供的规则和/或数据来执行。例如,客户端设备130可以发送标识代理的优先次序、终端设备的类型、和/或主题/技能匹配的通信。作为另一示例,客户端设备130可以识别应用于潜在地影响路由确定的各个变量(例如,语言兼容性、预测的响应时间、设备类型和能力、和/或终端设备的负载均衡)的一个或多个权重。将领会到,哪些终端设备和/或代理将与客户端相关联可以为动态的。来自客户端设备130和/或终端设备115的通信可以提供指示将给定的终端设备和/或代理作为与客户端相关联的终端设备和/或代理添加或去除的信息。例如,客户端设备130可以发送具有ip地址和一指示的通信,该指示是关于是否将从标识客户端相关联的终端设备的列表添加或去除具有该地址的终端设备。

在一个实例中,连接管理系统150促进网络设备105与第一终端设备115之间的初始匹配和路由。例如,在来自网络设备105的通信中接收到的消息可以被路由到第一终端设备。作为另一示例,通信管理系统150可以将通信发送到第一终端设备,该通信包括或表示将通信(例如,发起通信系列)发送到网络设备105的请求或指令。

连接管理系统150可以监控和/或分析网络设备105与第一终端设备之间的对应通信系列以确定特性(例如趋势)。例如,连接管理系统150可以分析一个或多个通信中的消息内容(例如,以确定是否使用和/或使用多少特定的词语、符号或字符类型,诸如“挫败*”、“非常”、“感谢”、或“恼怒*”、“!”或大写字母)。作为另一示例,连接管理系统150可以确定属于一个或多个消息和/或系列中的每一者的一种或多种统计资料。统计资料的示例可以包括例如消息长度(例如,按字或字符)、在接收通信与发送响应通信之间的延迟、在后续消息发送之间的延迟、或在键入消息时的键入速度。作为另一示例,连接管理系统150可以接收且处理最初在网络设备105或第一终端设备处检测的且然后连接管理系统105识别的一个或多个输入。这类输入可以识别例如情绪、重新路由请求、或解决阶段。

连接管理系统150可以评估特性(例如表征消息内容,包括统计资料,或表征输入)以确定是否以特定方式使后续路由偏置。例如,连续信道规则可以包括关于指定何时将使网络设备的消息的路由朝向第一终端设备(该第一终端设备先前参与与网络设备的通信交换)偏置的特性的条件。该规则可以被配置使得该条件的满足导致建立网络设备与第一终端设备之间的连续信道。该连续信道可以允许来自网络设备的后续消息自动地被路由到第一终端设备和/或优先地被路由到第一终端设备。连续信道可以配置成通过多个通信系列而存留。例如,即使第一天在网络设备与第一终端设备之间交换第一系列的消息,该信道也可以使来自网络设备的另一消息的路由偏置,该另一消息在第二天被发送以被路由到相同的第一终端设备。这类偏置的幅度可以取决于例如自网络设备与第一终端设备之间的先前交互起的时间(例如,在过去的交互为最近的时候,增大偏置)、网络设备与第一终端设备之间的先前消息交换中的通信的总持续时间和/或数量、和/或网络设备与第一终端设备之间的先前消息交换的数量(和/或交互消息的累积交互时间或计数)。

一旦建立连续信道,连接管理系统150还可以促进在网络设备105处呈现一展示(例如,通知)以便警告用户110已建立了连续信道,以识别第一终端设备或相关联的用户和/或以指示后续消息(例如,与信道的标识符相关联地发送的后续消息、与特定客户端相关联的后续消息等)将被路由到第一终端设备或已使路由朝向第一终端设备偏置。

在一些实例中,连接管理系统150可以确定该特性指示来自网络设备105的后续消息(例如,属于客户端)将不被路由到相同的第一终端设备和/或将被重新路由。例如,可以确定在连续信道规则中的条件未被满足。一旦进行了这样的确定,连接管理系统150可以识别将来自网络设备的通信(例如,属于客户端)路由到的新终端设备。

在一个实例中,连续信道规则被配置使得在网络设备与终端设备之间的通信的初始路由之后将在这两个设备之间建立连续信道。因此,该连续信道可以用于促进在单一消息交换内的一致性消息路由。在替选或相同实例中,连续信道规则(也或替选地)可以被配置使得建立、保持或使用连续信道,从而促进跨越不同消息系列(例如,按时间分离的系列)的一致性消息路由。根据该实施方式,连续信道规则可以限制可相对于给定网络设备和/或客户端提供的大量连续信道。例如,规则可以指示,针对给定网络设备和客户端,该网络设备可以借助连续信道仅连接到一个(或三个或另一指定数量的)终端设备。

在一些实例中,连接管理系统150可以确定将发起重新路由过程(例如,基于重新路由规则中的条件的满足)。该确定可以基于特性(例如,表征消息内容,包括统计资料或表征输入)。例如,重新路由规则可以被配置使得,一旦检测到表示用户失望或不满的特性、一旦检测到表示缺乏朝向问题解决的可接受进展的特性、一旦检测到不可接受的终端设备的通信统计资料(例如,长响应延迟)或一旦检测到消息开始聚焦于新主题,将发起重新路由。

重新路由过程可以包括识别参与与网络设备105的通信交换的不同终端设备。这类识别可以基于例如与该通信相关联的主题、与该通信或过去相关的通信相关联的消息参数、与网络设备105相关联的连续通信参数、对于终端设备115预测的(例如相对的或绝对的)响应延迟、与该通信相关联的通信信道的类型(例如即时消息、消息、电子邮件、电话)、语言匹配度、一个或多个其它终端设备中的每一者的类型、一个或多个其它终端设备中的能力、和/或代理的技能与网络设备的通信复杂度的匹配度。如相比于第一终端设备的选择,不同终端设备的选择可以以相同的、类似的或不同的方式来执行。例如,确定已满足重新路由的条件可以使后续的终端设备选择偏向与更高级的排名、更宽广的知识库和/或更好的语言能力相关联的设备。

重新路由过程可以包括将识别提出的重新路由的通知发送到一个或多个设备,诸如网络设备105、第一终端设备或不同终端设备。该通知可以包括接收提出的重新路由的选项和/或拒绝提出的重新路由的选项。该通知可以包括关于网络设备105、第一终端设备和/或该不同终端设备和/或相关方的信息。

为了减小终端设备之间的急剧转变,连接管理系统150可以协调重叠时间段。在该时间段期间,第一终端设备和该不同终端设备中的每一者可以从网络设备105接收一个或多个通信(或其处理过的形式)。例如,来自网络设备105的新通信可以被复制且然后被路由到第一终端设备和该不同终端设备中的每一者。

在一些实例中,连接管理系统150可以生成动态消息记录,该动态消息记录包括来自网络设备105和/或来自第一终端设备的多个消息。该记录可以包括例如在通信交换中的所有消息、在限定的时间段(例如,先前3分钟)内路由的所有消息、或与一个或多个限定的标签或类别相关联的所有消息。例如,可以选择关于特定主题、情绪(例如对应于不满)、或内容类型(例如包括问题)的消息。连接管理系统150可以将该动态消息记录发送到不同终端设备。还可以将来自网络设备105和/或第一终端设备的新消息发送到该不同终端设备,从而动态消息记录可以附有这类新消息。对于动态消息记录的消息选择和/或是否将提供动态消息记录也可以取决于在暂时集群的消息系列期间或在消息系列之间是否发生重新路由。

在一些实例中,连接管理系统150可以确定是否和/或何时停止将通信路由到第一终端设备。例如,一旦检测到来自不同终端设备的响应通信、在发送消息记录后已经过限定的时间段之后、在检测到在第一终端设备处接收的指示退出通信交换的意图的输入之后、在检测到在不同终端设备处接收的指示着手通信交换的意图的输入之后、在检测到在网络设备105处接收的请求提出的重新路由到不同终端设备生效的输入之后、等等,这类路由终止可以发生。

根据用于发起重新路由传递的规则或原因,重新路由可以包括关闭网络设备105与第一终端设备之间的连接信道(例如,如果响应于低用户情绪而发起重新路由过程)和/或建立网络设备105与不同终端设备之间的新连接信道。

每个通信(例如,在设备之间、在设备与连接管理系统150之间、在远程服务器140与连接管理系统150之间、或在远程服务器140与设备之间)可以在一个或多个网络170上发生。打开或关闭的网络的任何组合可以被包括在该一个或多个网络170中。合适网络的示例包括因特网、个人局域网、局域网(localareanetwork,lan)、广域网(wideareanetwork,wan)、无线局域网(wirelesslocalareanetwork,wlan)。其它网络也可以为合适的。该一个或多个网络170可以完全地并入在内联网、外联网或其组合内,或可以包括内联网、外联网或其组合。在一些实例中,该一个或多个网络170中的网络包括短程通信信道,诸如蓝牙或蓝牙低能量信道。在一个实施方式中,两个或更多个系统和/或设备之间的通信可以通过安全通信协议来实现,该安全通信协议诸如安全套层(securesocketslayer,ssl)或传输层安全(transportlayersecurity,tls)。另外,可以基于任何便利的、已知的、或将要开发的方式来加密数据和/或交易细节,该方式诸如但不限于:数据加密标准(dataencryptionstandard,des)、三重des、rivest-shamir-adleman(rsa)加密、blowfish加密、高级加密标准(advancedencryptionstandard,aes)、cast-128、cast-256、去相关快速加密(decorrelatedfastcipher,dfc)、微型加密算法(tinyencryptionalgorithm,tea)、扩展tea(xtea)、修正块tea(xxtea)和/或rc5等。

在一些实例中,连接管理系统150可以在建立网络设备与终端设备之间的通信链路之前认证该网络设备。例如,当在连接管理系统150处接收到消息时,连接管理系统150可以识别哪个客户端125对应于所接收的消息中包括的信息。在一些实例中,消息可以包括标识与该消息相关联的客户端的标识码。然后连接管理系统150可以向网络设备发送对于认证信息(例如,登录凭据、密码等)的请求。一旦接收到认证信息,连接管理系统150可以访问客户端设备130(例如,存储用户信息的数据库)以验证接收的认证信息对应于存储在客户端设备130中的有效认证信息。在验证认证信息之后,连接管理系统150可以识别对应于客户端125的一组终端设备,且随后基于本文中所描述的过程从该组终端设备选择单个终端设备。

网络设备105、终端设备115和/或客户端设备130可以包括例如便携式电子设备(例如,智能手机、平板电脑、笔记本电脑、或智能可穿戴设备)或非便携式电子设备(例如,一个或多个台式电脑、智能器件、服务器、和/或处理器)。连接管理系统150可以与网络设备、终端设备和客户端设备分离封装或可以为一个或多个这类设备的一部分(例如借助在设备上安装应用)。远程服务器140可以与每个设备和连接管理系统150分离封装或可以为另一设备或系统的一部分。尽管每个设备、服务器和系统在图1a中被示出为单一设备,但是将领会到,可以代替地使用多个设备。例如,可以使用一组网络设备来发送来自单一用户的各种通信,或远程服务器140可以包括服务器堆栈。

软件代理或应用可以被安装在图示设备、系统或服务器上和/或在图示设备、系统或服务器上可执行。在一个实例中,软件代理或应用可以被配置使得各种图示元件可以以互补方式起作用。例如,设备上的软件代理可以配置成收集关于设备使用的数据并将其发送到分离的连接管理系统,以及该分离的连接管理系统上的软件应用可以配置成接收并处理该数据。

图1b示出了网络交互系统100b的实施方式的框图,该网络交互系统100b包括网络设备a-c、终端设备a-c、和连接管理系统150。网络设备a、网络设备b和网络设备c中的每一者可以在结构上与网络设备105相同且由用户(例如用户110)操作。网络设备a、网络设备b和网络设备c可以被布置或分布在不同地理区域上。终端设备a、终端设备b和终端设备c中的每一者可以在结构上与终端设备115相同且由代理(例如代理120)操作。终端设备a、终端设备b和终端设备c可以被布置或分布在不同地理区域上。

连接管理系统150可以智能地确定进来的通信(例如,从网络设备a、网络设备b和网络设备c接收的消息)的路由目的地(例如,终端a、终端b或终端c)。在一些实例中,连接管理系统150可以包括通信处理系统182和多个数据结构。数据结构的示例包括队列、缓存器、阵列结构、树结构、或其它合适的数据结构。在网络交互系统100b的示例中,该多个数据结构可以包括主队列180以及次级队列184、次级队列186和次级队列188。主队列180可以存储从各个网络设备(例如网络设备a、网络设备b和网络设备c)接收的所有进入的消息。

在一些实例中,在主队列180中存储的接收的消息可以被通信处理系统182处理。例如,通信处理系统182可以从主队列180检索消息、处理该消息、且基于该处理确定哪个次级队列存储该消息。次级队列可以对应于终端设备。例如,次级队列184可以与终端设备a相关联、次级队列186可以与终端设备b相关联、以及次级队列188可以与终端设备c相关联。在本示例中,终端设备a可以响应存储在次级队列184中的消息、终端设备b可以响应存储在次级队列186中的消息、以及终端设备c可以响应存储在次级队列188中的消息。响应存储在次级队列中的消息可以包括:从次级队列检索消息、从该队列去除该消息、以及将通信(例如,响应该消息中包括的内容)发送到发送该消息的网络设备。

尽管图1b仅示出了单一主队列180以及三个次级队列184、186和188,但是网络交互系统100b可以包括任何数量的主队列和次级队列。另外,尽管图1b示出了次级队列为连接管理系统150中包括的数据结构,但是将领会到,次级队列也可以被存储在终端设备中。例如,次级队列184可以被存储在终端设备a中、次级队列186可以被存储在终端设备b中、以及次级队列188可以被存储在终端设备c中。

通信处理系统182可以处理从网络设备a、网络设备b和网络设备c接收的通信。通信处理系统182可以包括一个或多个专用集成电路(applicationspecificintegratedcircuit,asic)、一个或多个数字信号处理器(digitalsignalprocessor,dsp)、一个或多个数字信号处理设备(digitalsignalprocessingdevice,dspd)、一个或多个可编程逻辑器件(programmablelogicdevice,pld)、一个或多个现场可编程门阵列(fieldprogrammablegatearray,fpga)、一个或多个处理器、一个或多个控制器、一个或多个微控制器、一个或多个微处理器、一个或多个设计为执行本文中所描述的功能的其它合适电子单元、和/或其组合。

在一些实例中,处理从网络设备a、网络设备b和网络设备c接收的通信可以包括:提取在接收的消息中包括的内容、解析提取的内容、以及将一个或多个规则应用于该内容。通信处理系统182可以基于应用的一个或多个规则的结果来确定接收的消息的目的地(例如,终端a、终端b或终端c)。该一个或多个规则可以被本地或远程存储且被通信处理系统182访问。

在一些实例中,可以使用规则来分析接收的消息中包括的文本。例如,可以使用该规则来确定在该文本中是否包括一个或多个关键字。作为非限制性示例,从网络设备a接收的消息可以包括文本“我不知道我的密码”。该规则可以解析消息的文本以确定该文本中是否包括词语“密码”。在本示例中,消息的文本包括词语“密码”。当该规则成功地确定在该文本中存在词语“密码”时,通信处理系统182可以识别与该规则相关联的次级队列。例如,通信处理系统182可以查询查找表以识别与密码检索相关联的次级队列(例如,与对应于接受训练以协助密码检索的代理的终端设备相关联的次级队列)的地址。在一些实例中,规则可以指示接收的消息是否对应于消极极性、中立极性、或积极极性。例如,规则可以解析消息中包括的文本以确定在该消息中是否存在措辞“不能”。如果在该消息中存在措辞“不能”,则该规则可以指示该消息具有消极极性。作为非限制性示例,从网络设备b接收的消息可以包括文本“我不能访问因特网”。该规则可以识别在该消息中存在词语“不能”且确定该消息对应于消极极性,因为与网络设备b相关联的用户遇到问题。在本示例中,通信处理系统182可以查询查找表以识别与管理这类问题相关联的次级队列的地址。通信处理系统182可以发送用于存储在识别的次级队列中的消息,从而受训练以管理这类问题的代理可以响应网络设备b。

在其它实例中,可以使用机器学习技术来自动地学习该一个或多个规则。例如,可以基于在通信处理系统710处接收的先前消息中包括的内容、使用监督机器学习技术训练神经网络。可以基于监督机器学习的结果自动地生成一个或多个规则。

在一些实例中,对于各个客户端125,一个或多个规则可以是不同的。例如,第一组规则可以对应于第一客户端且第二组规则可以对应于第二客户端。作为另一示例,规则可以与第一客户端相关联且可以指示消息中包括的文本是否对应于消极极性。同一规则也可以与第二客户端相关联且可以指示消息中包括的文本是否对应于积极极性或中立极性。例如,规则可以解析消息中文本以确定在该消息中是否存在词语“抗拒”。对于第一客户端,在消息中存在词语“抗拒”可以指示该消息对应于消极极性,而对于第二客户端,在消息中存在词语“抗拒”可以指示中立极性。

参照网络交互系统100b,网络设备a可以发送第一消息(在后文中称为“m1”)。网络设备b可以发送第二消息(在后文中称为“m2”)。网络设备c可以发送第三消息(在后文中称为“m3”)。可以同时或不同时发送消息m1、消息m2和消息m3。另外,可以将消息m1、消息m2和消息m3中的每一者可以被发送到连接管理系统150。

一旦接收消息m1、消息m2和消息m3,连接管理系统150可以将这些消息存储在主队列180中。在一些实例中,连接管理系统150可以按接收消息m1、消息m2和消息m3的次序存储这些消息。在网络交互系统100b的示例中,首先接收m1并将m1存储在主队列180的第一位置上、其次接收m2并将m2存储在主队列180的第二位置上、以及最后接收m3并将m3存储在主队列180的第三位置上。

通信处理系统182可以访问主队列180以检索各个存储的消息。例如,通信处理系统182可以从主队列180检索m1以供处理。作为非限制性示例,m1可以包括文本“我遇到技术问题”。通信处理系统182可以提取m1中包括的内容。在一些实例中,通信处理系统182可以识别m1中包括的或与m1相关联的附加信息(例如,发送m1的ip地址、发送m1的时间、从与m1相关联的网络设备接收的最新消息起的时间跨度、和其它合适附加信息)。通信处理系统182可以将一个或多个规则应用于m1的内容或与m1相关联的附加信息。例如,规则可以解析m1的内容以识别在该内容中是否包括措辞“技术问题”。在本示例中,所应用的规则将成功地识别在m1中存在措辞“技术问题”。通信处理系统182可以在查找表中查询与该规则相关联的次级队列的地址。在本示例中,对查找表的查询的响应可以识别次级队列184与该规则相关联。例如,终端设备a(其可以对应于在管理技术问题中受训练的代理)可以与次级队列184相关联。通信处理系统182可以发送m1并将m1存储在次级队列184中。

通信处理系统182可以从主队列180检索m2以供处理。作为非限制性示例,m2可以包括文本“我忘记了我的密码”且可以被与网络设备b(例如,发送m2的网络设备)相关联的用户标记为紧急的。通信处理系统182可以提取m2中包括的内容以及将一个或多个规则应用于m2的内容或与m2相关联的附加信息。例如,规则可以解析m2的内容以识别在该内容中是否包括术语“密码”。在本示例中,所应用的规则将成功地识别在m2中存在术语“密码”。通信处理系统182可以在查找表中查询与该规则相关联的次级队列的地址。在本示例中,对查找表的查询的响应可以识别次级队列186和次级队列188与该规则相关联。例如,终端设备b和终端设备c可以对应于受训练管理密码检索的代理。

然而,在本示例中,m2被标记为紧急的。将消息标记为紧急的可以包括将该消息标有指示需要快速响应的代码或标志。通信处理系统182可以识别终端设备b和终端设备c的可用性以确定这些终端设备是否可用于(例如,当前可访问、可用于响应等)快速响应m2。在本示例中,通信处理系统182可以识别终端设备b是当前不可用的,但终端设备c是可用的且可以快速响应。因此,通信处理系统182可以发送m2,用以存储在与终端设备c相关联的次级队列188中。在本示例中,如果终端设备b是可用的,则通信处理系统182可以已发送m2(参看表示潜在连接链路的虚线190),用以存储在次级队列186中。

通信处理系统182可以从主队列180检索m3以供处理。作为非限制性示例,m3也可以包括文本“我遇到技术问题”(类似于m1),以及可以从与高优先级(例如重要用户)相关联的ip地址发送m3。通信处理系统182可以提取m3中包括的内容以及将一个或多个规则应用于m3的内容或与m3相关联的附加信息。例如,规则可以解析m3的内容以识别在该内容中是否包括措辞“技术问题”(例如,应用于m1的相同规则)。在本示例中,所应用的规则将成功地识别在m3中存在措辞“技术问题”。通信处理系统182可以在查找表中查询与该规则相关联的次级队列的地址。在本示例中,对查找表的查询的响应可以识别次级队列184与该规则相关联。例如,终端设备a(其可以对应于受训练管理技术问题的代理)可以与次级队列184相关联。通信处理系统182可以发送m3并将m3存储在次级队列184中。

然而,在本示例中,从与高优先级相关联的ip地址发送m3。可以对次级队列184执行进一步处理以使特定消息优先于其它消息。例如,由于从与高优先级相关联的ip地址发送m3,因此可以将m3移动到次级队列184中的另一位置,使得m3先于m1被终端设备a检索(如由虚线箭头所示)。类似地,可以将m1移动到次级队列184中的另一位置,使得在检索m3之后由终端设备a检索m1(如由虚线箭头所示)。尽管m1在时间上先于m3被接收(例如,m1被存储在初始队列位置上,这指示m1将早于m3被终端设备a检索,以及m3被存储在后续队列位置上),但是由于与m3相关联的高优先级,m3优先于m1,从而终端设备a将早于m1检索m3(例如,现在存储m3的初始队列位置被安排以先于现在存储m1的该后续队列位置被处理)。

将领会到,将消息从主队列移动到次级队列可用于改善主队列的负载均衡。例如,在高峰时间期间,如果主队列从各个网络设备接收大量的消息,则将消息移动到各个次级队列可以改善主队列中的队列位置的可用性。因此,队列请求不太可能被遗弃或被存储在缓存器中。改善的负载均衡有效地着手处理负载或负担且有效地管理处理资源(例如处理器)。

图2示出网络交互系统200的另一实施方式的框图。通常,图2示出配置成且布置成使网络设备205能够与一个或多个终端设备215通信的各种各样的部件。图示实例包括在3个局域网235中包括的9个终端设备215。

在一些实例中,来自网络设备205的通信包括至少部分地或完全地指示哪个终端设备接收该通信的目标数据(例如,目标ip地址)。网络交互系统200可以包括可处理目标数据且促进合适路由的一个或多个网络间连接部件240和/或一个或多个内部网络连接部件255。

各个网络间连接部件245可以连接到多个网络235且可以使多个网卡被安装(例如,每个卡连接到不同网络)。例如,网络间连接部件245可以连接到广域网270(例如因特网)和一个或多个局域网235。在图示实例中,为了将通信从网络设备205发送到任一终端设备,在图示系统中,该通信必须被多个网络间连接部件245处理。

当网络间连接部件245接收通信(或对应于该通信的一组数据包)时,网络间连接部件245可以确定路由的至少一部分以将该通信传递到与目的地相关联的网络。该路由可以使用例如路由表(例如,存储在路由器处)来确定,该路由表可以包括预定义的、基于进来的消息(例如来自另一路由器或来自另一设备)生成的、或获悉的一个或多个路由。

网络间连接部件245的示例包括路由器260和网关265。网络间连接部件245(例如网关265)可以配置成在网路系统或协议之间转换。例如,网关265可以促进传输控制协议/因特网协议(transmissioncontrolprotocol/internetprotocol,tcp/ip)设备与网间分组交换/顺序包交换(internetworkpacketexchange/sequencedpacketexchange,ipx/spx)设备之间的通信。

一旦在局域网235处接收到通信,可能仍需要执行另一路由。这类内部网络路由可以借助内部网络连接部件255(诸如交换机280或集线器285)来执行。每个内部网络连接部件255可以连接到(例如无线地或有线地,诸如借助以太网电缆)多个终端设备215。集线器285可以配置成重复去往其连接的每个设备的所有接收的通信。每个终端设备然后可以评估每个通信以确定该终端设备是否为目标设备或该通信是否将被忽略。交换机280可以配置成选择性地将通信仅导向到目标终端设备。

在一些实例中,局域网235可以被划分为多个区段,每个区段可以与独立的防火墙、安全规则和网络协议相关联。可以在一个、多个或所有区段中提供内部网络连接部件255以促进区段内路由。桥接器280可以配置成跨区段275路由通信。

为了合适地跨网络或在网络内路由通信,各个部件分析通信中的目标数据。例如,这类数据可以指示通信将被路由到哪个网络、通信将被路由到网络中的哪个设备、或终端设备将处理(对比忽略)哪些通信。然而,在一些实例中,未立即显现出的是,哪个终端设备(或甚至哪个网络)将参与来自网络设备的通信。

为了说明,一组终端设备可以配置成提供相似类型的响应通信。因此,可以期望,可以以类似方式来响应在来自网络设备的通信中的查询,不管该通信被路由到哪个网络设备。尽管该假设可以在高程度下为真实的,但是关于终端设备的各种细节可以使特定路由比其它路由有利。例如,相对于(例如)哪些通信信道被支持、与网络设备的地理和/或网络接近度、和/或相关代理的特性(例如,知识库、经验、所讲语言、可用性、群化人格或情绪等),该组中的终端设备可以彼此不同。因此,选择路由可以促进更准确地和/或更完全地响应网络设备通信的更快速响应。并发症是,将网络设备映射到终端设备的静态路由可能不能考虑通信主题、信道类型、代理可用性等的变化。

图3a至图3c示出包括连接管理系统的网络交互系统300a-300c的其它实施方式的框图。为了简洁,图示系统300a-300c中的每一者示出了仅两个局域网235,但是可以领会到,实施方式可以被扩展到扩大局域网的数量。系统300a-300c中的每一者包括连接管理系统350,该连接管理系统350可以识别哪个终端设备将与网络设备205通信、可以建立且管理(例如维持或关闭)连接信道、可以确定是否和何时重新路由交换中的通信等。因此,连接管理系统350可以配置成动态地且实时地评估通信、代理可用性、终端设备或代理的能力等,以影响路由确定。

在图3a中,连接管理系统350与网络设备205和远程服务器340中的每一者相关联(例如,连接管理系统350a与网络设备205相关联,且连接管理系统350b与远程服务器340相关联)。例如,连接管理系统350a和/或连接管理系统350b可以分别作为应用程序被安装或存储在网络设备205和远程服务器340中的每一者上。一个或多个应用程序的执行可以促进例如网络设备205和远程服务器340之间的通信,以识别被选择为参与与网络设备205的通信交换的终端设备215。该识别可以基于本文中所公开的一个或多个因素(例如,可用性、通信的主题/代理或终端设备的知识库的详细度之间的匹配度、预测的延迟、信道类型的可用性等)来进行。

客户端设备330可以提供指示如何进行路由确定的客户端数据。例如,这类数据可以包括:关于如何对特定特性加权或匹配或约束或偏置的指示(例如,关于负载均衡或预测的响应延迟)。客户端数据也可以包括关于何时建立(或关闭)通信信道或何时将通信重新路由到不同网络设备的说明。客户端数据可以用于限定各种客户端专用规则,诸如用于通信路由的规则、用于信道建立、管理或关闭的规则、用于通信重新路由的规则、用于通信分类的规则等。

在远程服务器340上执行的连接管理系统350b可以监控关于终端设备(例如关于给定客户端)的各种度量标准,诸如哪些通信信道被支持、与网络设备的地理和/或网络接近度、与终端设备的通信延迟和/或稳定性、终端设备的类型、终端设备的能力、终端设备(或代理)之前是否已与给定网络设备(或用户)通信、和/或相关代理的特性(例如,知识库、经验、所讲语言、可用性、群化人格或情绪等)。因此,可以使通信管理系统350b能够选择路由以促进基于度量标准更准确地和/或更完全地响应网络设备通信的更快速响应。

在图3a中所示的示例中,网络设备205与远程服务器340之间的通信交换可以促进目标地址的早期识别。然后网络设备205可以使用目标地址来导向后续通信。例如,网络设备205可以将初始通信发送到远程服务器340(例如,借助一个或多个网络间连接和广域网),以及远程服务器340可以识别一个或多个对应客户端。然后远程服务器340可以识别与该一个或多个对应客户端相关联的一组终端设备且收集用于那些终端设备的度量标准。度量标准可以被评估(例如通过远程服务器340),从而选择参与通信交换的终端设备,以及关于该终端设备的信息(例如ip地址)可以被发送到网络设备205。在一些实施方式中,远程服务器340可以连续地或周期性地收集且评估用于各个终端设备的度量标准以及将评估结果存储在数据存储器中。在这类实施方式中,一旦识别与该一个或多个对应客户端相关联的一组终端设备,远程服务器340可以从数据存储器访问存储的评估结果且基于存储的评估结果选择参与通信交换的终端设备。

在图3b中,连接管理系统350可以配置成用作中继和/或目标地址。因此,例如,一组网络设备205可以发送通信,每个通信将连接管理系统350识别为目的地。连接管理系统350可以接收每个通信且可以同时监控一组终端设备(例如,从而生成用于每个终端设备的度量标准)。基于监控和规则,连接管理系统350可以识别其可将每个通信转发到的终端设备215。根据本实施方式,终端设备通信可以类似地被导向到一致的目的地(例如,连接管理系统350的目的地)以供进一步转发,或终端设备可以开始直接与对应的网络设备通信。这些实施方式可以促进有效路由和周密的通信监控。

在图3c中所示的实施方式类似于在图3b中所示的实施方式。然而,在一些实施方式中,连接管理系统350直接连接到内部网络部件(例如,终端设备、内部网络连接等)。

将领会到,图3a至图3c的许多变型为预期的。例如,连接管理系统350可以与连接部件(例如,网络间连接部件245或内部网络连接部件255)相关联,从而对应于连接管理系统350(或其部分)的应用程序被安装在该部件上。该应用程序可以例如独立地或通过与一个或多个类似的或互补的应用程序通信而执行(例如,在一个或多个其它部件、网络设备或远程服务器上执行)。

图4示出连接部件的操作的协议栈映射400的表示。更具体地,图4标识对应于各种连接部件的开放系统交互(opensystemsinteraction,osi)模型中的操作层。

osi模型可以包括多个逻辑层402-414。这些层以有序的堆叠方式布置,从而层402至层412均服务较高层,且层404至层414均由较低层服务。osi模型包括物理层402。物理层402可以限定参数物理通信(例如,电的、光学的、或电磁的)。物理层402也限定连接管理协议,诸如建立和关闭连接的协议。物理层402还可以限定流控制协议和传输模式。

链路层404可以管理节点-节点通信。链路层404可以检测且修正错误(例如,物理层402中的传输错误)以及管理访问许可。链路层404可以包括介质访问控制(mediaaccesscontrol,mac)层和逻辑链路控制(logicallinkcontrol,llc)层。

网络层406可以协调在相同网络中的节点之间传递数据(例如长度可变的数据)(例如作为数据电报)。网络层406可以将逻辑网络地址转换为物理机器地址。

传输层408可以管理发送质量和接收质量。传输层408可以提供用于传递数据的协议,诸如传输控制协议(transmissioncontrolprotocol,tcp)。传输层408可以执行用于传输的数据包的分段/去分段以及可以检测且负责发生在层402至层406中的传输误差。会话层410可以发起、保持和终止本地应用程序和远程应用程序之间的连接。会话可以被用作远程过程交互的一部分。表示层412可以基于由应用层或网络层接受的已知的数据类型加密、解密和格式化数据。

应用层414可以与控制或管理通信的软件应用程序交互。借助这类应用程序,应用层414可以(例如)识别目的地、本地资源状态或可用性、和/或通信内容或格式化。各个层402-414可以执行可用的且适用的其它功能。

内部网络连接部件422、424被示出为在物理层402和链路层404中操作。更具体地,集线器可以在物理层中操作,从而可以相对于通信的接收和发送控制操作。由于集线器缺少寻址通信或过滤数据的能力,因此集线器几乎不拥有在更高层中操作的能力。同时,交换机可以在链路层404中操作,因为交换机能够基于地址(例如mac地址)过滤通信帧。

同时,网络间连接部件426、428被示出为在更高层(例如,层406至层414)上操作。例如,路由器可以基于地址(例如ip地址)过滤通信数据包。路由器可以基于地址将包转发到特定端口,从而将包导向到合适网络。网关可以在网络层及更高层操作、执行类似的数据的过滤和导向以及进一步平移(例如,跨越协议或架构)。

在各个实施方式中,连接管理系统450可以与各个层中的一层、多层、所有层或任一层交互和/或在各个层中的一层、多层、所有层或任一层上操作。例如,连接管理系统450可以与集线器交互以便动态地调整哪些终端设备与集线器通信。作为另一示例,连接管理系统450可以与桥接器、交换机、路由器或网关通信,以便影响该部件选择哪个终端设备作为目标(例如,mac、逻辑或物理)地址。通过另一示例,连接管理系统450可以监控、控制或指导传输层408上的数据包的分段、会话层410上的会话持续时间、和/或表示层412上的加密和/或压缩。在一些实施方式中,连接管理系统450可以通过与在特定层上操作的设备(例如,在链路层404上操作的交换机)交换通信(例如,发送命令至该设备)、通过以特定方式路由或修改现有通信(例如,在网络设备与终端设备之间)、和/或通过基于现有通信生成包含特定信息(例如新目标地址)的新通信而与各个层交互。因此,连接管理系统450可以借助与各种各样的设备的交互和/或借助影响在各种各样的协议栈层处的操作来影响通信路由和信道建立(或维护或终止)。

图5表示根据实施方式的多设备通信交换系统500。系统500包括网络设备505,该网络设备505配置成在各种各样类型的通信信道上与各种各样类型的终端设备通信。

在图示实例中,网络设备505可以在蜂窝网络上发送通信(例如,借助基站510)。该通信可以被路由到操作网络515。操作网络515可以包括连接管理系统520,该连接管理系统520接收通信且识别哪个终端设备响应该通信。这样的确定可以取决于识别该通信所属于的客户端(例如,基于表示该客户端的内容分析或用户输入)和确定用于与该客户端相关联的一个或多个终端设备中的每一者的一个或多个度量标准。例如,在图5中,每个集群的终端设备530a-530c可以对应于不同客户端。这些终端设备可以在地理上为同位的或分散的。度量标准可以基于存储的或获悉的数据和/或实时监控(例如基于可用性)来确定。

连接管理系统520可以借助一个或多个路由器525或其它网络间连接部件或内部网络连接部件而与各个终端设备通信。连接管理系统520可以在一个或多个数据存储器处收集、分析和/或存储来自或关于通信、终端设备操作、客户端规则、和/或用户相关联的动作的数据(例如,线上活动、帐户数据、购买历史等)。这类数据可以影响通信路由。

显著地,各种其它设备还可以用于影响通信路由和/或处理。例如,在图示实例中,连接管理系统520也连接到网络服务器540。因此,连接管理系统540可以检索感兴趣的数据,诸如技术产品细节、新闻、当前产品供应、当前或预测的天气等。

网络设备505也可以连接到网络服务器(例如包括流式网络服务器545)。在一些实例中,与这类服务器的通信提供发起与连接管理系统520的通信交换的初始选项。例如,网络设备505可以检测到,当访问特定网页时,通信机会是可用的且可以呈现这样的选项。

通信系统500的一个或多个元件也可以连接到社交网络服务器550。社交网络服务器550可以聚合从各种各样的用户设备接收的数据。因此,例如,连接管理系统520可以能够评估对于给定主题的普遍(或用户特定的)情绪或评估给定用户或给定类用户的普遍行为。

图6示出连接管理系统600的实施方式的框图。消息接收器接口605可以接收消息。在一些实例中,该消息可以被接收例如作为由(例如,与连接管理系统600分离封装或在同一外壳内的)源设备发送的通信的一部分,该源设备诸如网络设备或终端设备。在一些实例中,该通信可以为一系列系统或通信交换的一部分,该通信交换可以包括在两个设备(例如网络设备和终端设备)之间路由的一系列消息或消息交换。该消息或通信交换可以为设备间的交互的一部分和/或可以限定设备间的交互。通信信道或操作信道可以包括用于促进设备间的路由和通信交换的一个或多个协议(例如,路由协议、任务分配协议和/或寻址协议)。

在一些实例中,消息可以包括基于在本地或远程用户界面处接收的输入所生成的消息。例如,消息可以包括基于按钮或按键按压或记录的言语信号所生成的消息。在一个实例中,消息包括自动生成的消息,诸如在检测到网络设备正呈现特定应用程序页面或网页或者提供特定输入命令(例如,键序列)时生成的消息。应用程序可以指的是在移动设备(例如智能手机)上执行的应用程序。消息可以包括指令或请求,诸如发起通信交换的指令或请求。

在一些实例中,消息可以包括客户端的标识符或与客户端的标识符相关联。例如,消息可以明确地标识客户端(或与该客户端相关联的设备);消息可以包括与该客户端相关联的网页或应用程序页面或者与该网页或应用程序页面相关联;消息可以包括与该客户端相关联的目标地址或者与该目标地址相关联;或消息可以包括与该客户端相关联的项目(例如产品)或服务的标识或者与该标识相关联(例如,被提供以供客户端出售、已被客户端卖出、或为客户端服务的项目或服务)。为了说明,网络设备可以呈现特定客户端的应用程序页面,该页面可以提供将通信发送到代理的选项。一旦接收到对应于消息的用户输入,可以生成通信以包括该消息和特定客户端的标识符。

处理引擎610可以处理接收的通信和/或消息。处理可以包括例如提取一个或多个特定数据元素(例如,消息、客户端标识符、网络设备标识符、账户标识符等)。处理可以包括转换格式或通信类型(例如,以与特定设备类型、操作系统、通信信道类型、协议和/或网络可兼容)。

消息评估引擎615可以评估(例如提取的或接收的)消息。该评估可以包括识别例如用于该消息的一个或多个类别或标签。类别或标签类型的示例可以包括(例如)主题、情绪、复杂度、和紧迫性。将消息分类与标记消息之间的区别可以在于,类别可以受限制(例如,根据预定义的一组类别选项),而标签可以是开放的。主题可以包括例如产品、服务、技术问题、用户问题、投诉、退款请求或购买请求。类别或标签可以例如基于消息的语义分析(例如,通过识别关键字、句子结构、重复字、标点符号和/或不定冠词)、用户输入(例如,已选择一个或多个类别)、和/或消息相关联的统计资料(例如,键入速度和/或响应延迟)来确定。

在一些实例中,消息评估引擎615可以确定用于消息的度量标准。度量标准可以包括例如大量的字符、字、大写字母、全部大写的词、或特定字符或标点符号(例如,感叹号、问号和/或句号)。度量标准可以包括比率,诸如以感叹号(或问号)结尾的句子的比例、全部大写的字的比例等等。

消息评估引擎615可以将消息、消息度量标准和/或消息统计资料存储在消息数据存储器620中。每个消息还可以与其它数据(例如元数据)关联地被存储,该其它数据诸如标识对应的源设备、目标设备、网络设备、终端设备、客户端、一个或多个类别、一个或多个阶段和/或消息相关联的统计资料的数据。连接管理系统600的各个部件(例如,消息评估引擎615和/或交互管理引擎625)可以查询消息数据存储器620以检索查询响应消息、消息度量标准和/或消息统计资料。在一些实例中,消息评估引擎615可以生成消息参数、会话参数、网络设备参数、或连续通信参数(对于进一步讨论,参看图14)。

交互管理引擎625可以确定将通信路由到哪个设备以及接收设备和发送设备如何通信。这些确定中的每一者可以取决于例如特定网络设备(或与特定用户相关联的任何网络设备)是否先前已与一组终端设备中的一个终端设备(例如,与连接管理系统600相关联的任何终端设备或与一个或多个特定客户端相关联的任何终端设备)通信。

在一些实例中,当网络设备(或与同一用户或账户相关联的其它网络设备)先前已与给定终端设备通信(例如,关于与客户端有关的事项)时,通常可以使通信路由偏向同一终端设备。可以影响路由的其它因素可以包括例如推断的或识别的属于先前通信的用户或代理情绪、当前通信的主题(例如,以及与先前通信的主题相关程度和/或与一个或多个终端设备或代理相关联的知识库)、终端设备(或对应代理)是否可用、和/或预测的终端设备的响应延迟。这类因素可以绝对地或相对于其它终端设备所对应的类似度量标准来考虑。重新路由规则(例如,客户端专用或通用规则)可以指示如何评估且加权这类因素以确定是否放弃代理一致性。

当网络设备(或与同一用户或账户相关联的其它网络设备)先前未与给定终端设备通信(例如,关于与客户端有关的事项)时,可以基于多个因素执行终端设备的选择,这些因素诸如例如各个代理的知识库对应于通信主题的程度、各个代理在给定时间和/或在信道类型上的可用性、(例如与客户端相关联的)终端设备的类型和/或能力、用户与代理之间的语言匹配、和/或性格分析。在一个实例中,规则可以识别如何确定对于一个或多个因素(诸如这些因素)的分项分数和分配给每个分数的权重。通过组合(例如求和)加权的分项分数,可以确定对于每个代理的分数。然后可以通过比较终端设备的分数(例如,选项高或最高分数)来进行终端设备选择。

关于确定设备如何通信,交互管理引擎625可以(例如)确定终端设备是否借助(例如)电子邮件、网上聊天、sms消息、语音通话、视频聊天等响应通信。可以基于例如通信类型的优先级列表(例如,至少部分地由客户端或用户限定)、先前从网络设备接收的通信的类型(例如以便促进一致性)、接收的消息的复杂度、网络设备的能力、和/或一个或多个终端设备的可用性来选择通信类型。明显地,一些通信类型将导致实时通信(例如,在期望快速消息响应的情况下),而其它通信类型可以导致异步通信(例如,在消息间的延迟(例如,几分钟或几小时)可接受的情况下)。

另外,交互管理引擎625可以确定两个设备之间的连续信道是否应当被建立、使用或终止。可以构造连续信道,从而促进将未来通信从网络设备路由到指定的终端设备。该偏置可以甚至跨越消息系列(例如天、周或月)而持续。在一些实例中,连续信道的表示(例如识别代理)可以被包括在呈现在网络设备上的展示中。采用该方式,用户可以理解通信将被一致地路由以便提高效率。

在一个实例中,可以使用在本文中所描述的一个或多个因素以及确定对应于给定网络设备和终端设备的连接分数的规则(例如,该规则包括用于该一个或多个因素中的每一者的权重)来生成分数。该分数可以关于整体匹配度或针对给定通信或通信系列的匹配度。因此,例如,该分数可以反映预测给定终端设备适合于响应网络设备通信的程度。在一些实例中,可以使用分数分析来识别给定通信路由到的各个终端设备以及是否建立、使用或终止连接信道。当使用分数分析来从事路由决定和信道决定时,可以以相同的、类似的、或不同的方式来确定关于每个决定的分数。

因此,例如,将领会到,可以根据分数是否预测长期匹配的强度对比响应特定消息查询的匹配的强度来考虑不同因素。例如,在前一实例中,整体调度和时区的考虑可以为重要的,而在后一实例中,直接可用性可以为更加高度加权的。可以针对单个网络设备/终端设备组合来确定分数,或可以确定多个分数,每个分数表征给定网络设备与不同终端设备之间的匹配度。

为了说明,可以针对潜在通信路由评估与客户端相关联的一组三个终端设备。可以针对每个终端设备生成关于用于特定通信的匹配度的分数。前两个终端设备中的每一者可以先前已与发送通信的网络设备通信。来自网络设备的输入可以已指示对具有与第一设备的一个或多个通信的交互的满意。因此,对于第一设备、第二设备和第三设备的过去交互的分项分数(如根据规则所计算)可以分别为10、5和0。消极满意输入可以导致消极分项分数。可以确定仅第三终端设备为直接可用的。可以预测,第二终端设备将在15分钟内可用于响应,但是第一终端设备将不可用于响应,直到下一天才可以用于响应。因此,对于第一设备、第二设备和第三设备的快速响应分项分数可以为1、3和10。最后,可以评估代理(与终端设备相关联)关于通信中的主题的知识度。可以确定与第三终端设备相关联的代理比与其它两个设备相关联的代理更有知识,导致分项分数3、4和9。在本示例中,规则不包括加权或归一化参数(但是在其它实例中,规则可以包括这些参数),导致分数14、11和19。因此,规则可以指示消息将被路由到具有最高分数的设备,该设备为第三终端设备。如果路由到特定终端设备是不成功的,则可以将该消息路由到具有次高分数的设备,以此类推。

可以将分数与一个或多个绝对或相对阈值比较。例如,可以将对于一组终端设备的分数彼此相比较以识别用于选择通信可被路由到的终端设备的高分数。作为另一示例,可以将分数(例如高分数)与一个或多个绝对阈值比较以确定是否建立与终端设备的连续信道。用于建立连续信道的整体阈值可以(但不需要)高于用于在给定的一系列消息中一致地路由通信的阈值。整体阈值与用于确定是否一致地路由通信的阈值之间的这个差别可以由于强匹配在连续信道背景下是重要的(考虑到信道的扩展效用)。在一些实施方式中,用于使用连续信道的整体阈值可以(但不需要)低于用于建立连续信道和/或用于在给定的一系列消息中一致地路由通信的阈值。

在各种背景下,交互管理引擎625可以与账户引擎630交互。例如,账户引擎630可以在帐户数据存储器635中查找网络设备或终端设备的标识符,以识别该设备对应的账户。另外,账户引擎630可以保持关于先前通信交换(例如,时间、涉及的一个或多个其它设备、信道类型、解决阶段、一个或多个主题和/或相关联的客户端标识符)、连接信道(例如,针对一个或多个客户端中的每一者指示是否存在任何信道、与每个信道相关联的终端设备、建立时间、使用频率、最后使用的日期、任何信道约束和/或支持的通信类型)、用户或代理偏好或约束(例如,关于终端设备的选择、响应延迟、终端设备的一致性、代理专业知识、和/或通信类型的偏好或约束)、和/或用户或代理特性(例如,年龄、所讲或优选的一种或多种语言、地理位置、兴趣等)的数据。

另外,交互管理引擎625可以向账户引擎630警报各种连接信道行为,从而可以更新帐户数据存储器635以反映当前信道数据。例如,一旦建立信道,交互管理引擎625可以向账户引擎630通知建立且识别网络设备、终端设备、账户和客户端中的一者或多者。账户引擎635随后可以(在一些实例中)向用户通知信道的存在,从而该用户可以意识到代理一致性被利用。

交互管理引擎625还可以与客户端映射引擎640交互,该客户端映射引擎640可以将通信映射到一个或多个客户端(和/或相关联的品牌)。在一些实例中,从网络设备自身接收的通信包括对应于客户端的标识符(例如,客户端、产品、服务、网页或应用程序页面的标识符)。该标识符可以被包括作为消息(例如,客户端映射引擎640可以检测的消息)的一部分或被包括作为包括消息的通信中的其它数据。客户端映射引擎640然后可以在客户端数据存储器645中查找该标识符以检索关于客户端和/或客户端的标识符的附加数据。

在一些实例中,消息可以不具体地对应于任何客户端。例如,消息可以包括通用查询。客户端映射引擎640可以例如对消息执行语义分析、识别一个或多个关键字、以及识别与该一个或多个关键字相关联的一个或多个客户端。在一些实例中,识别单一客户端。在一些实例中,识别多个客户端。然后可以借助网络设备呈现每个客户端的标识,从而用户可以选择(例如借助相关联的终端设备)与之通信的客户端。

客户端数据存储器645可以包括与客户端相关联的一个或多个终端设备(和/或代理)的标识。终端路由引擎650可以检索或收集关于一个、多个、或所有这类终端设备(和/或代理)中的每一者的数据,以便影响路由确定。例如,终端路由引擎650可以保持终端数据存储器655,该终端数据存储器655可以存储信息,诸如终端设备的设备类型、操作系统、通信类型能力、安装的应用程序附件、地理位置和/或标识符(例如ip地址)。信息还可以包括代理信息,诸如经验等级、位置、技能水平、知识库(例如,代理有见识的主题和/或对于各个主题的知识水平)、个性指标、工作时间、所讲的一种或多种语言、和/或人口统计信息。可以动态地更新一些信息。例如,基于(例如)来自终端设备的通信(例如,识别该设备是否睡眠、关闭/打开、闲置/活跃,或识别是否在时间段内接收到输入)、通信路由(例如,表示终端设备是否参与通信交换或被分配为通信交换的一部分)、或来自网络设备或终端设备的指示通信交换已结束或开始的通信,可以动态地更新指示终端设备是否可用的信息。

将领会到,在各种背景下,参与一个或多个通信交换不一定指示终端设备不可用于参与另一通信交换。各种因素,诸如通信类型(例如,消息、电子邮件、聊天、电话)、客户端识别的或用户识别的目标响应时间、和/或系统负载(例如,通常地或相对于用户),可以影响终端设备可以参与多少交换。

当交互管理引擎625已识别参与通信交换或连接信道的终端设备时,它可以通知终端路由引擎650,该终端路由引擎650可以从终端数据存储器655检索关于终端设备的任何有关数据,诸如目标(例如ip)地址、设备类型、协议等。处理引擎610然后可以(在一些实例中)修改包括消息的通信或生成新通信(包括该消息),从而具有特定格式、符合特定协议等等。在一些实例中,新的或修改的消息可以包括附加数据,诸如对应于网络设备的账户数据、消息记录、和/或客户端数据。

消息发射器接口660然后可以将通信发送到终端设备。发送可以包括例如去往封装在单独外壳中的设备的有线或无线发送。终端设备可以包括在与连接管理系统600相同或不同的网络(例如局域网)中的终端设备。因此,将通信发送到终端设备可以包括将通信发送到网络间连接部件或内部网络连接部件。

图7示出用于索引消息且生成消息记录的过程的实施方式的流程图。过程700可以例如部分地或全部地由连接管理系统(诸如连接管理系统150、连接管理系统350、连接管理系统450、连接管理系统520或连接管理系统600)来执行。过程700可以开始于框705,在此,消息接收器接口(例如图6的消息接收器接口605)检测网络设备与终端设备之间的交互。该交互可以包括作为(例如,与不同时间段、浏览器会话、通信发起请求等相关联的)一个或多个会话的部分而发送的一个或多个消息。该交互可以包括例如由应用程序或网页促成的交互、sms交互、电子邮件交互、呼叫交互等等。过程700可以例如部分地或全部地由消息评估引擎(例如图6的消息评估引擎615)来执行。

在框710处,识别与所有的或一部分交互相关联的一个或多个可确定的特性。可确定的特性可以包括例如网络设备的标识符、终端设备的标识符、与网络设备相关联的用户的标识符、与终端设备相关联的代理的标识符、消息的规格(例如,字或字符的数量);消息的数量(例如,通常地或来自一个或两个设备中的每一者);消息的时间;消息间的延迟(例如,在来自同一设备的消息之间或来自任一设备的消息之间的延迟)和/或特定字符(例如,感叹号或问号)的计数。

在框715处,基于在交互和/或检测的输入中的一个或多个消息中的内容识别所有的或一部分交互的一个或多个主题。可以基于从消息的内容提取一个或多个关键字、识别标识主题的消息相关联的数据(例如,基于用户或代理对主题的选择所识别)、和/或执行语义分析(例如,基于本体、机器学习或群集技术的语义分析)来识别主题。主题可以包括类别主题(例如,选自可用主题的列表的类别主题)或标签主题(例如,允许主题标识是开放式的)。

在框720处,基于在交互和/或检测的输入中的一个或多个消息中的内容识别一个或多个问题解决阶段。可以基于关键字或措辞检测(例如,检测各种常用交互结束语,诸如“我是否回答了你的所有问题?”、“感谢你的帮助”、“我将试一试”等)推断问题解决。也可以或替选地基于在网络设备或终端设备处接收的输入检测问题解决(例如,并将该问题解决传送到连接管理系统)。该输入可以对应于解决阶段或问题处理阶段的选择(例如,“解决了”、“调查中”)或以指示解决阶段的方式终止会话的输入(例如,在积极的结束消息内容之后)。

在框725处,基于交互中的一个或多个消息、一个或多个消息的规格、构造一个或多个消息的速度、消息间的延迟和/或检测到的输入确定一个或多个推断的情绪分数。例如,可以定义一组情绪,其中,每种情绪与一个或多个指标(例如,关键字、统计资料或输入标识符)相关联。然后可以执行语义、统计、集群逻辑或其它分析以将消息分类,从而与该组情绪中的一者或多者相关联。例如,情绪定义可以指示,来自给定设备的高消息频率(例如,相对于其它设备的消息频率)和/或长消息可以指示“挫折”情绪。作为另一示例,情绪定义可以指示,特定关键字(例如,“感谢”、“挫折”、“不工作”、“恼怒”)可以对应于特定情绪。框725可以包括生成单一情绪分数或多个情绪分数(例如,一个分数针对终端设备和网络设备中的每一者;一个分数针对一组情绪中的每一者;和/或一个分数针对每个时间段或消息)。

在框730处,设置一个或多个消息索引。该一个或多个消息索引可以被设置以便反映框710至框725中的一者或多者的结果。在一些实例中,以分层方式设置索引。例如,一系列或一批消息可以与给定索引相关联,在该情况下,该索引可以(但不需要)属于该系列或选择中的每个消息。在一些实例中,将一个或多个索引分配给交互中的一些或所有消息中的每个消息。设置消息索引可以包括将特定消息与反映确定的或识别的值或其它数据的指示相关联。因此,例如,设置索引可以包括限定或生成元数据、关联结构等。

在框735处,识别索引。在一些实例中,该索引可以为在(例如,在网络设备或终端设备处输入的)输入中识别的索引。例如,用户可以指示对被呈现关于特定主题的一组消息感兴趣。在一些实例中,可以根据规则识别索引。例如,规则可以指示,在确定将发起重新路由过程之后,将聚集与差情绪分数相关联的消息。在各个实例中,框735可以包括识别单一索引(例如特定主题)、一组索引(例如,多个主题、特定主题和特定网络设备)和/或一系列索引(例如,低于阈值的情绪分数索引)。

在框740处,生成消息记录以选择性地包括多个消息,所述多个消息中的每个消息与索引相关联。生成消息记录可以包括例如从消息数据存储器(例如图5的消息数据存储器620)检索一组消息(例如,与识别的一个或多个索引相关联的消息)且聚集这些消息。可以基于一个或多个索引或维度(诸如时间、情绪、解决阶段、源设备、和/或主题)将这些消息排序。在一些实例中,分类技术可以基于输入来确定和/或可以基于识别的一个或多个索引来设置。

在框745处,分析消息记录或促进消息记录的呈现。例如,可以分析包括共享第一索引的消息的消息记录以表征第二维度(例如,情绪或解决阶段)上的趋势的存在和/或幅度。促进消息记录的呈现可以包括将消息记录发送到另一设备或在本地呈现该记录。将领会到,呈现记录可以包括呈现该记录的至少一部分(例如,从而安置在设备上的显示器内)。

在一些实例中,消息记录可以为动态的。例如,即使在生成、发送和/或呈现消息记录之后,也可以将与识别的一个或多个索引相关联的新接收的消息添加到该记录。这类消息添加可以通过例如如下方式来实现:将新消息连同该新消息要被添加到记录的指示一起发送、利用新消息更新存储版本的记录且发送或呈现更新的版本、或生成新版本的记录(例如,按有规律的时间段,或在检测到与特定信道、网络设备和/或终端设备相关联的任何新消息时)。

图8示出用于基于生成的代理向量促成消息路由的过程800的实施方式的流程图。过程800可以例如部分地或全部地由连接管理系统(诸如连接管理系统150、连接管理系统350、连接管理系统450、连接管理系统520或连接管理系统600)来执行。过程800可以开始于框805,在此,消息接收器接口(例如图6的消息接收器接口605)检测来自网络设备的消息。

在框810处,诸如通过消息评估引擎(例如图6的消息评估引擎615),确定与该消息相关联的主题。可以基于例如消息和/或检测的输入中的内容确定主题。可以基于从消息的内容提取一个或多个关键字、识别标识主题的消息相关联的数据(例如,基于用户或代理对主题的选择所识别)、和/或执行语义分析(例如,基于本体、机器学习或群集技术的语义分析)来识别主题。主题可以包括类别主题(例如,选自可用主题的列表的类别主题)或标签主题(例如,允许主题标识是开放式的)。

在框815处,诸如通过交互管理引擎(例如图6的交互管理引擎625),确定与消息相关联的复杂程度或与网络设备相关联的帐户数据。例如,可以基于消息中的技术术语(例如,匹配在定义的列表中的技术术语)的出现次数、消息的长度、消息中的问号或请求的数量、和/或复杂产品或服务的标识符确定复杂程度。作为另一示例,交互管理引擎可以与账户引擎(例如,图6的账户引擎630)通信,以便从账户数据存储器(例如图6的帐户数据存储器635)访问账户数据。账户数据可以基于先前通信交换、来自代理的输入、访问的网页或应用程序页面、和/或配置文件数据(例如,学历或职业)反映(例如预测的)与用户相关联的复杂程度。该帐户数据可以用于预测消息交换将涉及的复杂程度。可以假设(例如)已访问许多高度技术性网页和/或具有高级学位的用户可以向另一用户请求更复杂的问题。

在框820处,诸如通过交互管理引擎,基于与网络设备相关联的消息或帐户数据确定推断的情绪分数。例如,交互管理引擎可以从消息评估引擎接收基于消息或相关联的数据(例如,在包括消息的通信中的元数据和/或其它数据)生成的推断情绪分数。这样的分数可以已基于(例如)消息的规格、构造消息的速度、和/或消息中的字或字符。然后可以执行语义、统计、集群逻辑或其它分析以将消息分类,从而与该组情绪中的一者或多者相关联,诸如本文中(例如,关于图7的过程700的框735)所详述的分析。可用于评估情绪或生成情绪分数的技术的示例(出于本文中所公开的任何目的)可以包括例如关键字匹配、词汇类同关系、和机器学习(例如,支持向量机、信息论、潜在语义分析、语义网络、本体论、和/或神经网络)。

作为另一示例,账户引擎可以检索对应于表示情绪倾向的网络设备的帐户数据。为了说明,帐户数据可以指示,相关联的用户频繁地提供通信内或通信后的标识对通信交换的不满(或相反地,满意)的输入,代理频繁地提供指示用户显得挫折(或相反地,合作和感激)的输入,语义分析频繁地识别贯穿交换的情绪分数的降低(或相反地,提高)等等。推断的情绪分数可以包括例如数值或类别分数。

在框825处,诸如通过交互管理引擎,确定非实质性特性,该非实质性特性与网络设备所关联的消息或帐户数据相关联。非实质性特性例如消息的规格(例如,字或字符的数量);键入消息所用的速度(例如,如借助通信中的元数据所识别);消息的时间;消息间延迟(例如,在网络设备和与客户端(与关于该消息的客户端相同)相关联的终端设备之间的最近期的消息系列的开端或末端之间)和/或特定字符(例如,感叹号或问号)的计数。

在框830处,针对一组代理中的每个代理,诸如通过终端路由引擎(例如图6的终端路由引擎650),识别对应变量的向量。对应变量可以包括或可以基于终端数据存储器(例如图6的终端数据存储器655)中的数据。对应变量的示例可以包括:代理已被分配处理或已受训练习的主题的标识;经验水平(例如,在公司的时间或客户端分配的经验水平);代理的公司相关联的位置的等级;关于如何在与代理的终端设备的消息交换期间典型地改变(例如,通常地或在特定情绪点处开始时)网络设备相关联的情绪的指示;和/或与代理或终端设备相关联的当前或典型(例如,平均的或中值的)情绪分数。向量还可以包括一个或多个附加变量,诸如关于代理和/或相关联的终端设备是否可用于响应消息的指示和/或关于代理借助哪些通信类型能够接收和/或发送的指示。

向量可以包括数据的任何组合,其包括多种对应变量。向量可以包括单个数据结构或多个数据结构的一部分或全部。

在框835处,诸如通过交互管理引擎,基于代理向量和确定的变量,识别该组代理的子集。该子集可以包括单一代理或多个代理且可以包括比该组代理更少的代理。在一些实例中,包括在子集中的代理的数量可以固定的(例如,通常地和/或针对特定客户端定义的)。在其它实例中,该数量可以为可变的(例如取决于识别的向量)。

在一个实例中,基于对应向量,针对每个代理生成分数。例如,分数可以包括向量的元素的加权和,其中,可以基于在框810至框825中确定的变量中的一者或多者预定义(例如,通常地或针对特定客户端)或确定权重。该子集然后可以包括与高于相对或绝对阈值的分数相关联的一个或多个代理(例如,在该组代理之中具有最高分数的代理)。附加地或可替选地,可以采用过滤策略。例如,可以从该子集中排除与特定补充变量(或者规定的阈值之外的变量)(该特定补充变量诸如指示代理当前不可用的变量)相关联的一个或多个代理中的每个代理。附加地或可替选地,识别子集可以包括使用负载均衡或伪随机选择技术。例如,可以从与基于对应向量生成的高于阈值的分数相关联的多个代理之中选择单一代理。

在框840处,交互管理引擎可以促进建立操作性连接以将消息路由到与子集中的代理相关联的终端设备。在一些实例中,该操作性连接可以包括可跨越消息系列持续的连续连接或专用于特定消息系列的连接。建立连接可以包括存储路由指示,该路由指示指示从网络设备接收的消息(例如,至少在给定会话期间或在操作性连接关闭之前)将被路由到终端设备。

在一个实例中,可以识别单一代理(例如在框835处),且可以建立连接。可以将通信发送到识别代理的网络设备(例如,在从终端设备路由的响应通信的发送之前或与该发送一起)。在一个实例中,关于子集中的多个(例如所有)代理的信息被发送到网络设备,从而用户可以选择与之通信的代理。该信息可以包括例如名称、图片、经验指示、位置和/或所讲语言。一旦接收到选择指示,交互管理引擎可以建立网络设备和与所选代理相关联的终端设备之间的操作性连接。

将领会到,框840可以包括促进建立终端设备和网络设备之间的直接操作性连接(例如,通过将网络设备的地址或电话号码发送到终端设备、通过将终端设备的地址或号码发送到网络设备、或通过在网络设备处接收或选择终端设备的地址或号码)或间接操作性连接(例如,通过在中间设备处生成路由协议)。

图9示出用于管理连续信道的建立的过程900的实施方式的流程图。过程900可以例如部分地或全部地由连接管理系统(诸如连接管理系统150、连接管理系统350、连接管理系统450、连接管理系统520或连接管理系统600)来执行。过程900可以开始于框905,在此,交互管理引擎(例如图6的交互管理引擎625)促进在网络设备和终端设备之间路由一系列消息。

例如,这类促进可以包括控制初始或中继消息中的目标数据(例如,根据连接管理系统是否至少部分地在网络设备处、在网络设备处操作)。作为另一示例,促进可以包括建立路由协议,从而将从网络设备接收的通信路由到终端设备,反之亦然。作为又一示例,促进可以包括将关于网络设备的目标数据发送到终端设备和/或将关于终端设备的目标数据发送到网络设备,从而这些设备可以直接通信(借助一个或多个网络和连接部件)。

该系列消息可以包括作为会话的一部分发送的和/或与类似的传输时间(例如,在彼此的一小时内)相关联的消息。该系列消息可以包括借助网页或网站的单一会话接收和/或发送的消息(例如,指示用户在会话期间不关闭浏览器)。

在框910处,诸如通过交互管理引擎,访问连续信道规则。连续信道规则可以包括在满足时指示将在网络设备与终端设备之间建立连续信道的条件。该条件可以涉及关于一个或多个消息、一个或多个输入(例如来自用户和/或代理)和/或帐户数据的特性。通常,该条件可以被构建使得在预测在与终端设备相关联的代理和与网络设备相关联的用户之间的长期通信将对导致任何用户问题的高效且完全解决是有建设性的、将促进客户端目标(例如,用户满意、购买、或重复的网络访问)、和/或将促进积极用户情绪时得以满足。

该条件可以包括由客户端定义、常规定义和/或学习的条件。例如,可以建立学习算法以生成或修改该条件,基于该条件,在连续信道的使用期间或在使用之间或使用之后,通过用户活动(或代理活动),一个或多个连续信道的使用频率,和/或对用户情绪、网络访问、购买决定等的监控,终止建立的连续信道。

该条件可以涉及与消息、输入或帐户数据有关的特性。该条件可以包括例如一个或多个阈值(可以将特性与该一个或多个阈值相比较)和/或一个或多个值(可以将特性与该一个或多个值相比较)。例如,条件可以指示,当用户情绪分数在消息系列结束时高于80%时以及当用户账户数据指示用户并没有关闭超出三者中的较大者或建立的连续信道的80%时,满足该条件。

在一些实例中,该条件可以涉及消息参数、会话参数、网络设备参数、和连续通信参数中的任一者(对于进一步讨论,参看图14)。例如,如果会话参数指示在网络设备与终端设备之间传送的一系列消息(例如,关于主题的会话)具有积极极性,则可以满足连续信道规则的条件。

在框915处,诸如通过交互管理引擎,基于在该系列消息中的一个或多个消息、输入或帐户数据确定特性。例如,特性可以包括指示一个或多个消息的情绪的极性(例如,消极的、中立的、积极的等)、基于单一或多个消息所推导的情绪分数、情绪分数在一系列消息期间的变化、对应于消息或一系列消息的问题解决阶段、和/或问题解决阶段在一系列消息期间的变化。作为另一示例,特性可以包括关于是否在网络设备或终端设备处接收请求建立与另一设备的连续信道的输入的指示。作为又一示例,特性可以基于对应于用户的指示该用户通常发送消息的时间的帐户数据与对应于代理的指示典型可用性的时间的帐户数据之间的匹配度。作为再一示例,特性可以反映建立成包括网络设备(例如,属于特定客户端或任何这类信道)的一个、多个或所有连续信道的使用频率或计数,和/或建立成包括网络设备(例如,属于特定客户端或任何这类信道)的一个、多个或所有连续信道的终止的百分比或计数。

在框920处,诸如通过交互管理引擎,基于特性而关于是否满足规则的条件进行确定。该确定可以包括例如将一个或多个特性值中的每一者与对应阈值相比较和/或确定特性是否匹配特定值(例如,类别值或数值)。

当确定满足条件时,过程900可以继续到框925,在此,诸如通过交互管理引擎,在网络设备与终端设备之间建立连续信道。建立连续信道可以包括发送一个或多个指令通信和/或存储促进网络设备的在后续消息系列期间与相同终端设备通信的能力的数据。

例如,当将连接管理系统与网络设备分离时,交互管理引擎可以将关于终端设备、代理、和/或连续信道指令的数据发送到网络设备。当连接管理系统至少部分地在网络设备上操作时,交互管理引擎可以接收或已经接收关于终端设备或代理的数据。使用终端设备和/或代理数据,然后网络设备可以将一些或所有后续的客户端相关联的通信寻址到终端设备。为了说明,在一个实例中,来自用户的部分地借助特定(例如,客户端相关联的)网站生成的任何消息可以被寻址到终端设备。作为另一图示,应用程序可以识别代理或允许用户请求新代理,以及与代理的选择对应生成的所有消息可以被寻址到终端设备。

作为另一示例,从网络设备发送的通信中的目标数据不需要受连续信道的建立影响。反而,接收这类通信的目标设备可以实施协议以偏置路由、有条件地路由、或总是将客户端相关联的通信从网络设备路由到终端设备。因此,建立连续信道可以包括生成或更新属于网络设备(例如,和与终端设备相关联的客户端)的路由协议。

建立连续信道可以但不需要(根据实施方式)导致与客户端相关联的所有消息被路由到终端设备。例如,这类路由可以要求用户首先提供选择信道的输入或在与该信道相关联的背景下生成消息。作为另一示例,该信道可以具有特定适用性,诸如适用于给定主题或问题。因此,一旦确定消息涉及该主题或问题,可以选择性地将消息路由到终端设备。

在框930处,诸如通过交互管理引擎,生成指示已建立信道且包括标识符的展示。该标识符可以标识与终端设备相关联的代理。该标识符可以包括例如代理的图片、名称、经验标识符、和/或位置。该展示可以包括用户可以选择以便将特定消息导向到代理的选项。该展示还可以包括一个或多个其它选项,诸如用于终止连续信道和/或用于发送非定向消息(将不使路由偏向终端设备)的选项。该展示可以为动态的且可以反映例如代理的当前实时的可用性状态。

当确定不满足条件时,过程900可以继续到框935,在此,可以促进诸如通过交互管理引擎将后续消息从网络设备路由到不同终端设备。例如可以基于可用性、使用过程800的一部分或全部选择不同终端设备,以偏向与更多代理经验、不同代理技能和/或不同代理位置相关联的终端设备。

在一些实例中,在执行框935之前,将指示后续消息可以或将被路由到不同终端设备的通知发送到网络设备。该通知可以但不需要包括关于不同终端设备和/或相关联的代理的信息。该通知可以附有选择对应于继续进行提出的重新路由的请求的选项和/或不继续进行提出的重新路由的指令。在一些实例中,然后可以有条件地执行框935(例如,仅在接收继续进行重新路由的请求之后或只要还未接收到不继续进行重新路由的指令)。

在各个实施方式中,可以在网络设备与终端设备之间的会话期间或之后执行过程900的一部分或全部。因此,例如,在一个实例中,框935可以对应于在会话中重新路由消息,从而在会话结束时与网络设备通信的终端设备可以不同于在会话开始时与网络设备通信的终端设备。

图10示出用于基于索引动态地将电子消息路由到终端设备的过程1000的实施方式的流程图。过程1000可以例如部分地或全部地由连接管理系统(诸如连接管理系统150、连接管理系统350、连接管理系统450、连接管理系统520或连接管理系统600)来执行。过程1000可以开始于框1005,在此,消息评估引擎(例如图6的消息评估引擎615)评估用于一个或多个交互中的一个或多个消息的索引数据。索引可以包括根据图7的过程700的框730设置的一个或多个索引。

在框1010处,诸如通过消息评估引擎,可以确定用于一个或多个消息的一个或多个特性。该一个或多个特性可以对应于与一个或多个消息相关联的主题、情绪、或极性。该一个或多个消息可以包括在网络设备与终端设备之间的通信系列中的一个或多个消息。终端设备可以包括与客户端相关联的终端设备。该一个或多个消息可以包括由网络设备、终端设备或二者发送的一个或多个消息。

该一个或多个特性可以基于例如一个或多个消息中的内容、与一个或多个消息相关联的数据(例如,包括在一个或多个包括消息的通信中)、和/或在网络设备和/或终端设备处接收的一个或多个输入来确定。例如,一旦从网络设备接收消息,终端设备可以提示代理从可能的主题和/或情绪的列表中选择针对该消息的一个或多个主题和/或情绪。作为另一示例,可以在发送通信之前提示用户识别消息主题,以及可以在包括消息的通信内识别选择。作为另一示例,本文中所公开的消息分析技术可以用于自动地(例如,无人工辅助)检测主题和/或情绪。在一些实例中,该一个或多个特性可以基于消息参数、会话参数、网络设备参数、或连续通信参数中的任一者(对于进一步讨论,参看图14)。

在一些实例中,该一个或多个特性涉及静态表征,诸如在特定时间的或属于特定消息的主题或情绪。在一些实例中,该一个或多个特性涉及差别表征,诸如在消息系列期间是否已改变主题或情绪、改变主题或情绪的程度、和/或如何改变主题或情绪。在一些实例中,该一个或多个特性涉及更高级的表征,诸如与消息系列的不同部分相关联的大范围主题或情绪。在一些实例中,情绪对应的特性包括是否接收对应于将通信重新路由到不同终端设备的请求的输入(例如,来自网络设备或终端设备)。

在框1015处,诸如通过交互管理引擎,基于该一个或多个特性评估来自重新路由规则的重新路由条件。通常,路由条件可以被构造成使得在以下情况时得以满足:当可以评估用户对通信系列不满意或将不满意、通信系列不朝向目标问题解决阶段前进或前进得比预期慢很多、或代理对通信系列不满意或将不满意时。该评估可以包括例如将一个或多个特性值中的每一者与对应阈值相比较和/或确定特性是否匹配特定值(例如,类别值或数值)。

重新路由条件可以包括由客户端定义、常规定义和/或学习的条件。例如,可以建立学习算法以生成或修改该重新路由条件,基于该重新路由条件,通过用户活动(或代理活动)和/或在消息系列期间对用户情绪、网络访问、购买决定等的监控,终止建立的消息系列。

在一些实例中,该重新路由条件可以互补于在图9的过程900的框920处评估的连续信道条件。例如,这些条件可以被构造使得当情绪分数低于阈值时将在消息系列期间重新路由消息以及当情绪分数保持或高于阈值时将在消息系列之后建立连续信道。在一些实例中,建立连续信道的条件比对重新路由条件的补充更具限制性。例如,只要情绪分数不降低超过50%,可以避免重新路由,但是当情绪分数在消息系列中增大至少20%时可以建立连续信道。

在框1020处,诸如通过交互管理引擎,基于评估而关于是否满足重新路由条件进行确定。当确定不满足重新路由条件时,过程1000可以返回到框1015。

当确定满足重新路由条件时,过程1000可以继续到框1025,在此,诸如通过交互管理引擎,可以选择新终端设备。例如可以基于可用性、使用图8的过程800的一部分或全部选择新终端设备,以偏向与更多代理经验、不同代理技能(例如对应于近期通信交互主题)和/或不同代理位置相关联的终端设备。

在框1030处,诸如通过消息评估引擎(例如图6的消息评估引擎615),可以生成动态消息记录。例如,可以识别初始的一组消息。该组可以包括在单一系列消息(和/或会话)中或在其它实例中来自多个系列的消息(例如,在单个终端设备或多个终端设备的情况下)。在一些实例中,消息可以包括与单一客户端相关联的消息。消息可以包括从网络设备专有地发送的的消息、由一个(或多个)终端设备专有地发送的的消息、或二者的组合。

在一些实例中,消息记录可以被定目标,原因是该消息记录可以包括对应于一个或多个选择索引的消息。生成目标的消息记录可以包括过滤该组消息。例如,可以选择与关联特定主题、情绪(或情绪范围)、问题解决阶段(或其范围)、和/或时间段的索引相关联的消息,用以包括在记录中。

在一些实例中,记录的规格是受限的或指定的。例如,规则可以指示记录将包括不多于10个消息、300个字、或2000个字符。记录可以被分类和/或为多维的。例如,记录的维度可以指示给定消息是来自网络设备还是来自终端设备,以及可以根据传输时间对消息分类。这可以允许消息基于源设备而不同地呈现在给定显示侧。维度的其它示例可以包括问题标识符、主题、消息系列的标识符等。

该消息记录可以为动态的,原因是可以将一个或多个新消息动态地添加到该记录。例如,在接收之后将新消息附到消息记录(这可以但不需要指示将在记录展示的顶端/底端或右端/左端处显示该消息)。添加新消息可以但不需要要求或导致删除该记录中的一个或多个其它消息(以便遵守消息数量、字数量或字符数量约束的任何组合)。

在框1035处,诸如通过交互管理引擎,促进动态消息记录的展示(例如在新终端设备处)。例如,可以在本地呈现消息记录的表示,可以将包括消息记录的表示的展示发送到新终端设备,或可以将消息记录的数据的展示发送到新终端设备。

将领会到,框1030至框1035可以部分地或全部地被重复执行。例如,在重新路由发生之前,如果接收到新消息,则可以更新动态消息记录以包括该新消息(例如,通过本地地生成新的或修改版本的消息记录或通过将消息发送到呈现设备以便在接收设备处使消息与记录集成在一起)。然后可以更新展示以包括新消息。

同时,新消息也可以被发送到初始参与与终端设备的消息系列的终端设备。因此,两个终端设备可以在确定满足重新路由条件与完成重新路由过程之间的时段期间接收一个或多个网络设备的通信。因此,可以复制通信(例如通过交互管理引擎),从而到达每个设备。该策略可以允许与新终端设备相关联的代理在参与进行的消息系列之前检查该消息系列,从而降低用户重新解释相关的细节、事宜、问题等的需求。

在框1040处,诸如通过消息发射器接口(例如图6的消息发射器接口660),将重新路由通知发送到网络设备或显示器(例如,当消息发射器接口660在网络设备处本地地操作时)。重新路由通知可以指示后续消息可以或将被路由到新终端设备。该通知可以但不需要包括关于新终端设备和/或相关联的代理的信息。该通知可以附有选择继续进行提出的重新路由和/或不继续进行提出的重新路由的选项。

在框1045处,诸如通过终端路由引擎(例如图6的终端路由引擎650),可以将一个或多个后续消息导向到新终端设备。这些一个或多个后续消息可以包括分配新终端设备以响应的消息和/或初始参与消息系列的终端设备未接收的消息。该导向可以包括更新路由协议和/或任务分配协议。

该导向可以包括从响应消息的任务释放初始参与消息系列的终端设备。例如响应于检测到从新终端设备导向到网络设备的消息、检测到自动态消息记录的发送或呈现起经过了定义的时间段、检测到来自不同终端设备的指示关联方已准备好参与交互的通信等,该释放可以发生。释放终端设备可以包括停止将新消息从网络设备发送到该终端设备。在一些实例中,规则指示终端设备将继续接收交互关联的消息(例如,从而使与终端设备相关联的代理准备提供信息(若有要求)或观察交互如何被与新终端设备相关联的代理处理)。

在一些实例中,然后可以有条件地执行框1045(例如,仅在接收到继续进行重新路由的请求时;只要还未接收到不继续进行重新路由的指令;和/或仅在从与新终端设备相关联的代理接收到请求导向发生的指示时)。

图11示出用于基于一致性和延迟变量动态地路由电子消息的过程1100的实施方式的流程图。过程1100可以例如部分地或全部地由连接管理系统(诸如连接管理系统150、连接管理系统350、连接管理系统450、连接管理系统520或连接管理系统600)来执行。过程1100可以开始于框1105,在此,消息接收器接口(例如图6的消息接收器接口605)从网络设备接收消息。该消息可以包括发起新的一系列消息或会话的消息。

在框1110处,诸如通过客户端映射引擎(例如图6的客户端映射引擎640),对该消息与一个或多个特定客户端相关联进行确定。在一些实例中,该确定可以基于对应于客户端的标识符(例如,客户端、产品、服务、网页或应用程序页面的标识符)。该标识符可以被包括作为消息(例如,客户端映射引擎可以检测该消息)的一部分或被包括作为包括消息的通信中的其它数据。例如,在用户设备处呈现的界面(例如在网页或应用程序页面中)可以允许用户选择特定客户端(或产品或服务)以指示消息涉及或被导向到所选的客户端。然后可以与该选择相关联地发送(例如借助一个或多个通信)如由用户指定的消息。诸如通过客户端映射引擎,可以在客户端数据存储器(例如图6的客户端数据存储器645)中查找标识符,以检索关于客户端和/或客户端的标识符的附加数据。

在框1115处,诸如通过交互管理引擎,将终端设备识别为与先前与网络设备通信的一个或多个客户端相关联。在一个实例中,该终端设备可以包括与涉及网络设备的连续信道相关联的终端设备。在一个实例中,该终端设备可以包括参与与网络设备的当前或先前消息交换的终端设备。

在框1120处,诸如通过交互管理引擎,分析与在终端设备与网络设备之间的先前消息系列所对应的最后会话相关联的消息的主题、情绪或解决阶段。该主题和/或情绪可以例如通过检索索引数据(例如,如根据本文中所描述的技术来设置,诸如借助图7的过程700的一部分或全部)或通过分析存储的消息或消息元数据以便确定主题或情绪(例如,根据本文中所描述的技术)来识别。

在一个实例中,该分析可以包括确定情绪(例如,平均情绪分数或最终情绪类别)和/或情绪变化是否超过阈值和/或匹配一个值。该情绪可以包括与网络设备相关联的用户或与终端设备相关联的代理的推断的或识别的(例如借助来自代理或用户的明确的情绪标识输入推断的或识别的)情绪。在一个实例中,分析可以包括确定在框1105处接收的消息所对应的主题是否为也对应于最后会话中的任何数量或阈值数量的消息或总体上对应于该最后会话的主题。在一个实例中,可以相对于接收的消息所对应的问题解决阶段分析先前消息的问题解决阶段(例如,以确定是否已经历进步或退步)。在一些实例中,该分析可以包括消息参数、会话参数、网络设备参数、和连续通信参数中的任一者的评估(对于进一步讨论,参看图14)。

将领会到,在框1120处执行的分析可以涉及附加或替选特征。例如,可以将与先前消息相关联的通信信道的类型与接收的消息的类型相比较以确定二者是否相同。

在框1125处,诸如通过交互管理引擎,关于分析是否指示该消息将被路由到新(即不同)终端设备进行确定。该确定可以通过评估(通用或客户端专用)路由规则中的条件来进行。

通常,重新路由条件可以被构造成使得在以下情况下得以满足:当可以评估与终端设备相关联的用户或代理将对通信系列满意;通信系列将朝向目标问题解决阶段前进;通信系列将以目标速度或快于目标速度而朝向目标问题解决阶段前进;和/或与终端设备相关联的代理将在由网络设备通信提出的问题方面上有丰富知识时。

该确定可以包括确定在框1120处识别的变量(例如情绪分数或情绪分数的变化)是否超过阈值或源自框1120的分析是否识别接收的消息的主题与最后会话的消息的主题之间的、高于阈值的匹配度或匹配分数。

在一些实例中,该确定可以根据是否在网络设备与终端设备之间建立连续信道。例如,连续信道的存在可以指示过程1100将从框1125前进到框1130b。

路由条件可以包括由客户端定义、常规定义和/或学习的条件。例如,可以建立学习算法以生成或修改该路由条件,基于该路由条件,通过用户活动、发起异步通信交换如何不实时地影响情绪(例如,特定用户或一组用户的情绪)等,终止先前的一致性路由尝试。

当确定该消息将被路由到新终端设备时,过程1100继续到框1130a,在此,诸如通过交互管理引擎,选择新终端设备。

例如可以基于可用性(例如,通常、目前和/或相对于接收的消息所对应的通信类型)和/或设备相关联的代理知识库、技能或位置,使用过程800的一部分或全部选择新终端设备。

在框1135处,诸如通过消息发射器接口(例如图6的消息发射器接口660),将新代理选择的通知发送到网络设备和/或新终端设备。该通知可以指示后续消息可以或将被路由到新终端设备。该通知可以但不需要包括关于新终端设备、与新终端设备相关联的代理、网络设备、与网络设备相关联的用户、和/或消息的信息。该通知可以包括通信将不被发送到先前与网络设备通信的终端设备的指示。该通知可以包括关于终端设备和/或相关联的代理的信息。该通知可以附有选择对应于继续进行提出的重新路由的请求的选项和/或不继续进行提出的重新路由(例如,且将通信路由到在框1115识别的终端设备)的指令。

在框1140a处,诸如通过交互管理引擎,可以打开新(例如连续或非连续)连接信道以及可以促进网络设备与新终端设备之间的通信交换。框1140a可以包括例如将消息发送到新终端设备、将新消息从网络设备(例如在相同的消息系列中)路由到新终端设备、将消息从新终端设备路由到网络设备、和/或将关于网络设备或新终端设备的信息(例如地址、ip地址、电话号码、帐户数据等)提供给其它设备等。在一个实例中,可以更新路由协议(例如专用于会话或消息系列或者更为持久的会话或消息系列)和/或任务分配,以便将网络设备与新终端设备相关联。

在一些实例中,可以有条件地执行框1140a(例如,仅在接收到继续进行路由到新设备的请求时;只要还未接收到不继续进行提出的新设备路由的指令;和/或仅在从与新终端设备相关联的代理接收到请求导向发生的指示时)。

当确定消息将不被路由到新终端设备时,过程1100继续到框1130b,在此,诸如通过终端路由引擎(例如图6的终端路由引擎650),关于与终端设备相关联的代理是否可用进行确定。该确定可以包括识别终端设备的状态(例如,该终端设备是在线还是离线)和/或确定关于分配给终端设备(例如参与通信交换)的任务分配的值是否超过阈值。该值可以包括例如分配任务的数量、终端设备完成一次(或另一数量,诸如1加上未被注意的分配任务的数量)任务分配将花费的预测时间、和/或基于任务分配的评估工作量(例如,在多个分配上的总和或平均)。该阈值可以为如在规则内限定的阈值,该规则诸如通用规则、客户端专用规则、终端设备专用规则、基于(至少部分地)学习技术定义的规则(以识别定义百分比的用户在实时通信交换中将忍受而不终止该交换的值)等。

在框1130b处的确定可以包括确定代理是否可用于实时地和/或以短延迟(例如,在少于3分钟、1分钟、30秒或10秒内)提供对消息的响应。该确定可以基于例如检测到来自与代理相关联的终端设备的最近期通信(例如为任何类型或特定类型的最近期通信)的时间、存储的代理的工作时间、确定代理是否具有任何现有的通信任务分配、确定任何现有的通信任务分配的量和/或类型、检测是否响应于发送到终端设备的可用性查询通信而接收肯定回答、和/或(例如借助远程监控)检测到终端设备的状态或活动。

当确定代理不可用时,过程1100继续到框1132,在此,诸如通过终端路由引擎,预测响应延迟。可以基于例如当前分配给代理的通信任务分配的数量、复杂度和/或预测的参与时间(例如,基于通常可以预测参与时间或可以专门针对客户端、主题、时间段、问题类型、代理等预测参与时间的经验数据)预测响应延迟。响应延迟的预测可以也或替选地基于代理工作时间、本地时间、和/或由该预测提供的延时评估。

在框1134处,诸如通过交互管理引擎,关于更短延迟是否胜过代理一致性进行确定。可以根据规则进行确定。例如,规则可以指定阈值以及在预测的响应延迟超过该阈值时指示更短延迟胜过代理一致性。该阈值可以是通用的或专用于客户端、用户、时间段、问题类型、主题、通信类型等中的一者或多者。可以例如由客户端或用户限定或学习该阈值。例如,机器学习技术可以识别对应于给定百分比的用户的阈值,当响应延迟超过阈值时,这些用户放弃消息系列。

在一个实例中,生成告诉用户路由选项的通知以便在网络设备处呈现。该通知可以识别先前代理和预测的响应延迟。在一些实例中,该通知也可以识别可用于与先前代理或新代理通信的一个或多个通信信道类型。在缺少任何相反指令时,该通知可以但不需要识别默认路由策略(例如,路由到先前代理或新代理)。该通知可以包括用于指示该通信应当被路由到与新代理相关联的网络设备的选项和/或用于指示该通信应当被路由到新网络设备的选项。在框1134处的确定可以根据响应于该类型的通知所接收的任何用户输入来进行。

当确定更短延迟胜过设备一致性时,过程1100继续到框1130a。当确定更短延迟胜过设备一致性时,过程1100继续到框1140b,在此,诸如通过交互管理引擎,重新打开连接信道以及促进网络设备与终端设备之间的通信交换。当确定代理可用时,过程1100继续到框1140c,在此,诸如通过交互管理引擎,重新打开连接信道以及促进网络设备与终端设备之间的实时通信交换。

框1140b和框1140c中的一者或二者可以包括通过例如将消息发送到终端设备、将新消息从网络设备(例如在相同的消息系列中)路由到终端设备、将消息从终端设备路由到网络设备、和/或将关于网络设备或终端设备的信息(例如地址、ip地址、电话号码、帐户数据等)提供给其它设备等来促进通信交换。在一个实例中,可以更新路由协议(例如专用于会话或消息系列或者更为持久的会话或消息系列)和/或任务分配,以便将网络设备与终端设备相关联。

框1140b与框1140c之间的区别涉及终端设备将多快速地响应网络设备的消息的期望。相对于框1140c,可以期望快速地和/或实时地接收响应。例如,可以期望终端设备将在1分钟、3分钟或5分钟内响应网络设备的消息。同时,可以在框1140b处期望更长延时。

由于预测的响应延迟区别,在一些实例中,在框1140b处促进的通信交换可以为与在框1140c处促进的通信交换不同的类型。例如,在框1140c处促进的通信交换可以包括在线聊天或电话呼叫、以及在框1140b处促进的通信交换可以包括sms消息交换、基于应用程序的消息交换、或电子邮件链。在一些实例中,在框1140b处促进的通信交换的类型可以包括异步交换,其中,用户和代理无需同时或在同一时间段期间参与交换(而在框1140c处促进的交换中可以期望这类并行参与)。异步交换可以包括例如与即时通讯或聊天不同的电子消息交换(例如,借助应用程序、基于网页的消息/邮箱系统、或电子邮件)。异步交换可以包括以如下方式传送消息:将发送的消息存储在消息队列或邮箱中,直到目标设备请求消息被呈现或访问对应于队列或邮箱的网页或应用程序页面。

图12示出用于路由通信的过程1200的实施方式的流程图。过程1200可以例如部分地或全部地由连接管理系统(诸如连接管理系统150、连接管理系统350、连接管理系统450、连接管理系统520或连接管理系统600)来执行。过程1200可以开始于框1205,在此,消息接收器接口(例如图6的消息接收器接口605)从网络设备接收通信。该通信可以包括消息。消息可以发起新的一系列消息或通信会话。该通信可以包括内容数据。在一些实例中,内容数据可以包括各种信息(例如,文本、图像、视频、文件(.doc、.pdf、和其它合适文件)等)。可以基于在发送通信的网络设备处接收的输入生成内容数据。也可以基于与该通信有关或相关联的信息(例如,ip地址、发送时间、接收时间、与操作网络设备的用户相关联的用户配置文件数据、和其它合适信息)生成内容数据。

在框1210处,一旦接收通信,连接管理系统(例如连接管理系统150)可以将该通信存储在主队列(例如主队列180)中。主队列可以为存储从各种网络设备接收的各种通信的数据结构。另外,主队列可以包括多个队列位置。可以将在框1205处接收的通信存储在所述多个队列位置中的一队列位置上。在一些实例中,主队列可以为多个队列或用于存储数据的各种数据结构(例如队列、数据树等)的组合。

在框1215处,可以从主队列检索通信。例如,通信处理系统(例如通信处理系统182)可以从主队列检索通信。在一些实例中,通信处理系统可以检索通信以便处理该通信以确定该通信应当被路由到哪个或哪些终端设备。

在框1220处,可以分析通信。例如,通信处理系统可以分析通信。在一些实例中,分析通信可以包括针对一个或多个关键字解析内容数据。例如,关键字可以包括文本或标点符号数据的任何组合,然而,本发明不限于此。在一些实例中,解析内容数据可以包括在内容数据中提取任一文本以及读取该文本以确定该文本是否包括关键字。

在一些实例中,关键字可以对应于一个或多个次级队列。次级队列可以为存储在连接管理系统中的数据结构(类似于主队列)。例如,一个或多个次级队列可以为与特定关键字相关联的队列。作为非限制示例,次级队列可以与术语“密码”相关联。在本示例中,确定为包括术语“密码”的所有通信被存储在与该术语“密码”相关联的次级队列中。作为另一示例,如果通信包括文本“我不知道我的密码”,则可以解析该文本以确定在该文本中是否包括关键字“密码”。在本示例中,该通信中包括的文本被确定为包括术语“密码”。相应地,由于该通信包括术语“密码”,因此可以将密码存储在与关键字“密码”相关联的次级队列中。

在一些实例中,分析通信可以包括识别在通信中是否包括一个或多个锚点。锚点可以包括与消极、中立、或积极极性相关联的文本或标点符号的任何组合。锚点可以由客户端(例如客户端125)确定、识别或生成,从而锚点可以专用于每个客户端。在其它实例中,锚点可以自动地基于先前通信(例如使用监督机器学习技术)被确定、或可以针对每个客户端都相同。作为非限制性示例,锚点可以为短语“不喜欢”,其可以与消极极性相关联。当识别锚点时,可以分析锚点周围的文本(例如,句子中识别的锚点项附近的三个到五个字),用于放大项。放大项可以增大、保持或减小极性(例如消极、中立或积极)的强度。

继续本示例,如果术语“真的”在锚点“不喜欢”附近(例如,如在句子“我真的不喜欢”中),则术语“真的”可以被识别为放大项。一旦识别放大项,通信处理系统可以确定与通信相关联的消极极性具有高强度。在该情况下,可以基于锚点和相关联的放大项的识别来生成消息参数。作为非限制性示例,消息参数可以为指示消极极性的高强度的数值(例如,在0至100的规模上的为20的消息参数,其中,较低的数指示消极极性且较高的数指示积极极性)。可使用算法来计算消息参数。例如,该算法可以基于监督机器学习技术。在另一示例中,如果术语“有点”在锚点“不喜欢”附近(例如,如在句子“我有点不喜欢”中),则术语“有点”可以被识别为指示消极极性的中等强度的放大项。在该情况下,可以基于消极极性的中等强度的识别来生成消息参数。作为非限制性示例,消息参数可以为指示消极极性的中等强度的数值(例如,为40的消息参数,有别于为20的消息参数)。如在下一个框(框1225)中所讨论,在一些实例中,可以使用消息参数来确定哪个次级队列用于存储通信。

在框1225处,可以将通常存储在与关键字相关联的次级队列中。在一些实例中,次级队列可以对应于一个或多个终端设备。例如,与关键字“密码”相关联的次级队列可以对应于一个或多个终端设备,该一个或多个终端设备由受训练习与具有密码问题的用户接洽的代理操作。

在一些实例中,次级队列可以包括一个或多个次级队列。另外,在一些实例中,次级队列可以与极性相关联。例如,次级队列可以与消极极性(例如,在本文中被描述为消极次级队列)、中立极性(例如,在本文中被描述为中立次级队列)、积极极性(在本文中被描述为积极次级队列)等中的一者或多者相关联。作为另一示例,如果通信具有指示消极极性的高强度的消息参数,则可以将该通信存储在与高强度相关联的消极次级队列中。例如,可以将与消极极性相关联的通信一起存储在消极次级队列中,不管强度如何,或者可以基于强度将这些通信存储在分离的消极次级队列中。

在一些实例中,当将多个通信(例如消息)存储在次级队列中时,可以基于各种因素重排次级队列中的通信的队列位置的优先次序。例如,如果存储在次级队列中的消息的ip地址与高优先级相关联,则可以重排存储在次级队列中的消息,使得与高优先级相关联的消息在队列中更早(例如,早于其它消息被处理)。

在框1230处,可以识别在对应于次级队列(其存储通信)的一个或多个终端设备中包括的终端设备。例如,通信处理系统可以识别对应于存储通信的次级队列的一个或多个终端设备。然后,通信处理系统可以基于各种因素选择该一个或多个终端设备中的一个终端设备。在考虑从该一个或多个终端设备选择哪个终端设备时评估的因素的示例可以包括预测响应时间(例如,终端设备的响应时间)、可用性、不可用性、位置、与终端设备相关联的代理的知识库、附属有用户配置文件的终端设备(例如,先前和与通信相关联的网络设备通信的终端设备)和其它合适因素。预测响应时间的示例可以包括在代理可以响应从网络设备接收的通信之前等待的时间量、不可用时间(例如,代理不可用的时间)等。

在一些实例中,通信处理系统可以将与第一终端设备相关联的预测响应时间与阈值(例如定义时间)相比较。例如,当用于第一终端设备的预测响应时间超过(例如等于或大于)阈值时,通信处理系统可以识别第二终端设备,该第二终端设备具有更快的响应时间(例如,低于定义阈值的预测响应时间)。

在框1235处,可以从在框1230处识别的终端设备接收检索请求。检索请求可以为来自识别的终端设备的通信,该通信包括指示访问存储在次级队列中的通信的请求的数据。在一些实例中,一旦识别终端设备(例如在框1230处),连接管理系统可以将通信路由到该终端设备(而非请求检索该通信的终端设备)。

在框1240处,可以将存储在次级队列中的通信路由到请求访问该通信的终端设备。在一些实例中,将通信路由到识别的终端设备可以包括在识别的终端设备和与该通信相关联的网络设备(例如,初始发送该通信的网络设备)之间建立通信。

将领会到,一旦在连接管理系统处接收消息,可以向终端设备通知与特定极性(例如消极极性)相关联的消息、而非存储在与特定极性相关联的次级队列中的消息。例如,如果接收的消息对应于消极极性,则终端设备(例如,与管理代理相关联)可以接收指示具有消极极性的消息存在的警报通信。

图13为示出执行任务的过程的实施方式的流程图。过程1300可以例如部分地或全部地由连接管理系统(诸如连接管理系统150、连接管理系统350、连接管理系统450、连接管理系统520或连接管理系统600)来执行。过程1300可以开始于框1305,在此,消息接收器接口(例如图6的消息接收器接口605)从网络设备接收初始通信。该初始通信可以包括消息。消息可以发起新的一系列消息或通信会话。该通信可以包括内容数据。在一些实例中,内容数据可以包括各种信息(例如,文本、图像、视频、上传的文件(.doc、.pdf、和其它合适文件)等)。可以基于在发送通信的网络设备处接收的输入生成内容数据。也可以基于与该通信有关或相关联的信息(例如,ip地址、发送时间、接收时间、与操作网络设备的用户相关联的用户配置文件数据、和其它合适信息)生成内容数据。

在框1310处,连接管理系统可以使用初始通信识别终端设备。在一些实例中,连接管理系统可以使用在图12的框1220至框1230中所描述的过程来识别终端设备(例如分析初始通信)。在其它实例中,在框1310中,连接管理系统可以识别先前已与网络设备通信的终端设备。另外,该终端设备可以与客户端(例如实体、客户端125)相关联。在框1315处,连接管理系统可以建立网络设备(其发送初始通信)与终端设备(其在框1310处所识别)之间的通信链路。建立网络设备与终端设备之间的通信链路可以使通信(例如消息)能够在网络设备与终端设备之间传送。

在框1320处,连接管理系统可以促进网络设备与终端设备之间的通信会话。通信会话可以包括与不同时间段、浏览器会话、通信发起请求等相关联的一个或多个会话。另外,通信会话可以包括通过建立的通信链路(例如在框1315处建立的通信链路)在网络设备与终端设备之间传送(例如交换)的多个消息。通信会话也可以包括在多个网络设备和/或多个终端设备之间传送的消息。

在框1325处,连接管理系统可以接收初始消息。在一些实例中,初始消息可以为作为通信会话的一部分的通信。该初始消息可以包括内容数据。

在框1330处,连接管理系统可以生成用于初始消息的初始消息参数。可以生成初始消息参数,如在图12的框1220至框1230处所讨论。例如,可以基于锚点和相关联的放大项的识别来生成消息参数。在一些实例中,消息参数可以指示或表示消息的极性(例如特性)。极性的示例包括消极、积极、中立、生气、挫折等。在一些实例中,极性可以包括多个维度(例如多个情绪)。例如,极性可以对应于生气情绪和挫折情绪。在本示例中,用于具有带多个维度的极性的消息的消息参数可以包括多个分量(例如,表示生气情绪的数值、和表示挫折情绪的另一数值)。在一些实例中,消息参数可以为指示消极极性的高强度的数值(例如,在0至100的规模上的为20的消息参数,其中,较低的数指示消极极性且较高的数指示积极极性)。可使用算法来计算消息参数。例如,该算法可以基于监督机器学习技术。消息参数可以指示消息的特性(例如消息特性)(情绪、意图、极性等)。

在框1335处,连接管理系统可以生成用于与通信会话相关联的多个消息的会话参数。例如,可以针对用户与代理之间的特定会话(例如,消息的集合、子集或组)生成会话参数。在一些实例中,可以基于多个消息参数(其对应于多个接收的消息)的组合(例如,加权组合、平均值、指数移动总和、和其它合适组合)生成会话参数。作为非限制性示例,可以通过计算第一消息、第二消息等的指数移动总和来生成会话参数。在本示例中,可以通过采用时间上第一(first-in-time)消息参数并将其乘以定义因子、且然后加上时间上第二消息参数(例如附加消息参数)来计算指数移动总和。定义因子的示例可以为0.8,然而,本发明不限于此。例如,时间上第一消息参数可以为-1,且时间上第二消息参数可以为1,使用指数移动总和计算的会话参数可以为(-1)*0.8+(1)=0.2。

将领会到,用于组合两个或更多个消息参数(例如,当生成会话参数时)的技术可以基于确定的消息的极性而不同。例如,如果两个消息参数均对应于消极极性,则这两个消息的会话参数可以使用指数移动总和(或任何其它技术)来计算,然而,如果这两个消息均对应于积极极性,则两个消息参数的会话参数可以使用这两个消息参数的平均值(或任何其它技术)来计算。作为另一示例,如果第一消息参数对应于积极极性且第二消息参数对应于消极极性,则这两个消息的会话参数可以使用加权的组合(或任何其它技术)来计算。

在一些实例中,当从网络设备接收新消息时,可以实时更新会话参数(例如,如在图14中所讨论)。在一些实例中,会话参数可以指示会话(例如,该组消息,例如关于特定主题)的会话特性(情绪、意图、极性等)。

在一些实例中,可以生成网络设备参数(对于进一步讨论,参看图14)。例如,网络设备参数可以为与特定网络设备相关联的所有会话参数的组合(例如,加权组合、平均值、指数移动总和、和其它合适组合)。另外,在一些实例中,可以生成连续通信参数(对于进一步讨论,参看图14)。例如,连续通信参数可以为与多个网络设备相关联的所有网络设备参数的组合(例如,加权组合、平均值、指数移动总和、和其它合适组合)。

在框1340处,可以基于消息参数、会话参数、网络设备参数、连续通信参数或其任一组合来执行任务。基于消息参数或会话执行的任务的示例可以包括:将通信路由到特定终端设备、选择最适合于与网络设备(其发送通信)通信的终端设备、将通信重新路由到另一终端设备、将警报通信发送到不同于参与与网络设备(例如其将警报发送到管理代理的终端设备)的通信会话的终端设备的终端设备、生成报告、和其它合适任务。

图14为示出用于生成连续通信参数的示例过程1400的流程图。过程1400可以例如部分地或全部地由连接管理系统(诸如连接管理系统150、连接管理系统350、连接管理系统450、连接管理系统520或连接管理系统600)或通信处理系统182来执行。过程1400可以包括生成消息参数、会话参数、网络设备参数、和连续通信参数。消息参数、会话参数、网络设备参数、和连续通信参数可以包括分数或数值,其可以基于一个或多个算法来生成。

在一些实例中,消息参数可以指示特定消息的极性(例如情绪、意图、主题等)是否为消极极性、中立极性、积极极性或其它合适极性。会话参数可以指示特定会话(例如,在网络设备与终端设备之间的关于主题的一系列消息交换)的极性是否为消极的、中立的、积极的等。网络设备参数可以指示与网络设备相关联的所有会话的极性是否为消极的、中立的、积极的等。最后,连续通信参数可以指示和与特定客户端相关联的终端设备通信的所有网络设备的极性是否为消极极性、中立极性、积极极性或其它合适极性。

在过程1400中,网络设备a可以发送一个或多个消息作为一个或多个通信会话(例如,与不同时间段、浏览器会话、通信发起请求等相关联的会话)的一部分。消息的发送可以由在移动设备(例如,智能电话)上执行的应用程序、在台式机上显示的网页、sms交互、电子邮件交互、电话交互等促进。过程1400可以例如部分地或全部地由消息评估引擎(例如图6的消息评估引擎615)或通信处理系统182来执行。

在一些实例中,当在连接管理系统处接收消息时,可以针对由网络设备a发送的每个消息实时地生成消息参数。在过程1400的示例中,mp1a对应于针对由网络设备a发送的第一消息生成的消息参数、mp2a对应于针对发送的第二消息生成的消息参数、mp3a对应于针对发送的第三消息生成的消息参数、mp4a对应于针对发送的第四消息生成的消息参数、以及mp5a对应于针对发送的第五消息生成的消息参数。可以生成消息参数,如上文相对于图1a至图1b所讨论(例如,识别一个或多个锚点且基于该一个或多个锚点计算分数或数值)。

可以基于一个或多个因素动态地对mp1a、mp2a、mp3a、mp4a和mp5a分组。对于分组所考虑的因素的示例可以包括消息或一系列消息的主题、与消息相关联的情绪(例如,消极、中立或积极极性)、用户与代理之间的会话的完成、在通信会话的一个或多个消息中指示的问题的解决程度、和其它合适因素。在一些实例中,当在连接管理系统处接收消息时,可以实时地立刻对该消息分组。一组消息可以包括在通信会话中包括的该组消息中的消息子集。

在一些实例中,可以针对每组消息(例如特定会话)实时地生成会话参数。例如,如图14所示,可以基于消息参数mp1a、mp2a和mp3a的组合(例如,加权组合、平均值、指数移动总和、和其它合适组合)生成cp1405。作为非限制性示例,可以通过计算mp1a、mp2a和mp3a的指数移动总和来生成cp1405。类似地,可以基于消息参数mp4a和mp5a的组合生成cp1410。当在连接管理系统处接收新消息时,可以实时地更新会话参数。例如,在生成mp3之前(例如,在连接管理系统处接收第三消息之前),基于mp1a和mp2a初始生成cp1405。一旦接收到第三消息且生成mp3a,可以使用例如指数移动总和等式来更新cp1405。

在一些实例中,可以基于生成的会话参数实时生成网络设备参数(networkdeviceparameter,ndp)。例如,ndp1415可以为cp1405和cp1410的组合(例如,加权组合、平均值、指数移动总和、和其它合适组合)。另外,当生成新会话参数时(例如,当在连接管理系统处接收新消息时),可以自动地更新ndp1415。

在一些实例中,当在连接管理系统处接收消息时,可以针对由网络设备b发送的每个消息实时地生成消息参数。在过程1400的示例中,mp1b对应于针对由网络设备b发送的第一消息生成的消息参数、mp2b对应于针对发送的第二消息生成的消息参数、mp3b对应于针对发送的第三消息生成的消息参数、mp4b对应于针对发送的第四消息生成的消息参数、mp5b对应于针对发送的第五消息生成的消息参数、以及mp6b对应于针对发送的第六消息生成的消息参数。

可以基于一个或多个因素动态地对mp1b、mp2b、mp3b、mp4b、mp5b和mp6b分组,如上所述。如图14所示,可以基于消息参数mp1b和mp2b生成cp1420。cp1420可以为mp1b和mp2b的组合(例如,加权组合、平均值、指数移动总和、和其它合适组合)。类似地,可以基于消息参数mp3b和mp4b生成cp1425,以及可以基于消息参数mp5b和mp6b生成cp1430。在一些实例中,当在连接管理系统处接收新消息时,可以实时地更新cp1420、cp1425和cp1430,如上所述。

另外,可以实时地生成ndp1435,作为cp1420、cp1425和cp1430的组合(例如,加权组合、平均值、指数移动总和、和其它合适组合)。另外,当生成新会话参数时(例如,当在连接管理系统处接收新消息时),可以自动地更新ndp1435。

可以基于ndp1415和ndp1435的组合(例如,加权组合、平均值、指数移动总和、和其它合适组合)生成连续通信参数(ccp1440)。另外,当生成新网络设备参数时(例如,当在连接管理系统处接收新消息时),可以自动地更新ccp1440。

连接管理系统可以基于消息参数、会话参数、网络设备参数、和/或连续通信参数执行一个或多个活动。在一些实例中,连接管理系统可以基于会话参数将在网络设备与终端设备之间的现有通信重新路由到另一终端设备。例如,如果会话参数指示在网络设备与终端设备之间传送的一系列消息具有消极极性,则连接管理系统可以将来自网络设备的下一个消息重新路由到不同终端设备。在一些实例中,当网络设备参数指示特定网络设备与消极极性相关联时,连接管理系统可以将警报消息发送到管理终端设备(例如,与多个代理的管理者相关联的终端设备)。在其它实例中,可以使用网络设备参数来评估与终端设备相关联的代理的性能。例如,始终与指示积极极性的会话参数相关联的终端设备可以对应于积极性能。

将领会到,可以以类似于生成网络设备参数的方式来生成终端设备参数。例如,终端设备参数可以指示与终端设备相关联的代理的性能。在本示例中,可以通过分析从终端设备发送到网络设备的响应通信(例如,响应于从网络设备接收的通信)来生成终端设备参数。类似地,将领会到,基于源自于终端设备的通信(与从网络设备接收的消息相反),可以针对网络设备生成消息参数、会话参数、终端设备参数、和连续通信参数。

图15a至图15d示出根据实施方式的表示与终端设备连接的各个方面的界面的示例。图15a示出标识三个客户端的界面的示例。针对第一客户端,在用户的网络设备与客户端相关联的终端设备之间已建立三个连续信道。针对第二客户端,已建立单一连续信道。针对第三客户端,还未建立连续信道。

在该界面中识别每个连续信道。在图示实例中,借助与连续信道相关联的代理的图片识别每个信道。该界面可以允许用户通过点击信道表示而与识别的代理通信。

图15b示出在网络设备与终端设备之间的消息交换(例如,响应于检测到特定连续信道表示的选择、或响应于检测到指示参与消息交换的请求的其它输入而呈现的消息交换)的界面的示例。根据本实施方式和环境,消息交换可以包括允许各方在不同和/或非重叠时间期间参与交换的实时消息交换或异步消息交换。

图15c示出包括关于不同主题的各种通信交换的表示的界面的示例。每个表示包括关于识别的主题的目标消息记录。与该主题相关联的消息可以包括来自一个或多个消息交换会话的全部或一部分的消息。在一个实例中,选择主题的表示可以发起与终端设备的连续连接的打开或重新打开,该终端设备先前参与主题相关联的消息交换。在一个实例中,选择主题的表示可以发起与不同终端设备的通信的打开,但是可以将后续通信交换附到先前通信交换以无缝桥接这些交换。另外,可以借助消息记录将先前的以主题为目标的交换发送到不同终端设备。

将领会到,主题可以对应于选自定义类别的主题。然而,在一个实例中,主题可以对应于开放式标签。因此,在消息交换之后,用户可以能够提供选择现有标签或识别新标签的输入。采用该方式,用户可以定义如何以预期方式聚集消息。

图15d示出可以在终端设备处呈现以促进参与消息交换的界面的示例。在图示实例中,终端设备参与12个消息系列。在主窗口中呈现关于一个系列(关于用户johnsmith)的数据。该窗口示出用户的名字、主题(或题目)和消息记录(在图示实例中,该消息记录基于源设备而分离且包括从每个设备发送的仅一个消息)。该界面也包括关于用于交互的目标的数据(为了“提高销量”)、通信类型的标识(“聊天”)和用户帐户数据(定购数据)。

该界面还包括其它交互的表示(例如,“24访问者”、“22安徒生...”等)。表示可以标识已从参与交互的网络设备接收到多少个(如果有的话)未查看消息、自最后响应起的时间、和情绪表示。

因此,将领会到,在网络设备与终端设备之间建立实时(和/或,在一些实例中,异步)通信交换可以包括将交互和/或网络设备的表示添加到在终端设备处呈现的界面。

在上文描述中给出具体细节,以提供对实现方式的全面理解。然而,要理解,可以在不具有这些具体细节的情况下实践上述实施方式。例如,可以在框图中示出电路以便不将实施方式掩盖在非必要细节中。在其它实例中,可以示出熟知的电路、过程、算法、结构和技术,而无非必要细节,从而避免掩盖实施方式。

上文所描述的技术、框、步骤和手段的实现可以以各种方式来进行。例如,这些技术、框、步骤和手段可以用硬件、软件、或硬件和软件的组合来实现。对于硬件实现,处理单元可以被实施在一个或多个专用集成电路(applicationspecificintegratedcircuit,asic)、数字信号处理器(digitalsignalprocessor,dsp)、数字信号处理设备(digitalsignalprocessingdevice,dspd)、可编程逻辑器件(programmablelogicdevice,pld)、现场可编程门阵列(fieldprogrammablegatearray,fpga)、处理器、控制器、微控制器、微处理器、设计为执行上述功能的其它电子单元、和/或其组合内。

而且,注意,实施方式的部分可以被描述为过程,该过程被示出为流程图、作业图、数据流程图、结构图、或框图。尽管流程图可以将操作描述为顺序过程,但是许多操作可以并行或同时执行。此外,可以重排操作的次序。过程可以在其操作完成时终结,但是可以具有未包括在图中的附加步骤。过程可以对应于方法、功能、进程、子例程、子程序等。当过程对应于功能时,其终结对应于该功能返回到调用函数或主函数。

此外,实施方式可以通过硬件、软件、脚本语言、固件、中间件、微代码、硬件描述语言、和/或其任何组合来实现。当以软件、固件、中间件、脚本语言和/或微代码实现时,执行必要任务的程序代码或代码段可以被存储在机器可读介质(诸如存储介质)中。代码段或机器可执行指令可以表示进程、功能、子程序、程序、例程、子例程、模块、软件包、脚本、集、或指令、数据结构和/或程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、论据、参数和/或存储内容而联接到另一代码段或硬件电路。信息、论据、参数、数据等可以借助任何合适手段来传递、转发或发送,该任何合适手段包括存储器共享、消息传递、权证传递、网络传输等。

对于固件和/或软件实现,方法可以利用执行本文中所描述的功能的模块(例如进程、功能等)来实现。明白地体现指令的任何机器可读介质可以用于实现本文中所描述的方法。例如,软件代码可以被存储在存储器中。可以在处理器内或在处理器外部实施存储器。如本文中所使用,术语“内存”指任何类型的长期存储介质、短期存储介质、易失性存储介质、非易失性存储介质或其它存储介质,且不限于任何特定类型的一个或多个存储器或任何特定类型的其上存储记忆的媒介。

此外,如本文中所公开,术语“存储介质”、“存储器”或“内存”可以表示用于存储数据的一个或多个存储器,包括只读存储器(readonlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁ram、磁芯存储器、磁盘存储介质、光学存储介质、闪存设备和/或用于存储信息的其它机器可读介质。术语“机器可读介质”包括但不限于便携式或固定式存储设备、光学存储设备、无线信道、和/或能够存储的包含或携带指令和/或数据的各种其它存储介质。

尽管上文结合具体装置和方法描述了本发明的原理,但是要清楚地理解,本说明书仅以示例方式进行且不作为对本发明的范围的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1