用于通信系统意图分析的系统和方法与流程

文档序号:28816657发布日期:2022-02-09 06:24阅读:92来源:国知局
用于通信系统意图分析的系统和方法与流程
用于通信系统意图分析的系统和方法
1.相关申请的交叉引用
2.本技术要求于2019年6月12日提交的美国临时专利申请no.62/860,520的优先权权益,该临时专利申请的公开内容出于所有目的通过引用以其整体并入本文中。
技术领域
3.本发明总体上涉及使用人工智能(ai)的通信处理。更具体地,提供了用于部署ai平台以识别和分析在自然语言查询中接收到的意图的技术,以及用于使用与系统通信相关联的意图分析来改进具有ai平台的通信系统的性能的技术。


技术实现要素:

4.术语实施方式和类似术语旨在广义地指代本发明和所附权利要求的所有主题。包含这些术语的陈述不应被理解为限制本文所述的主题或限制所附权利要求的含义或范围。本文所涵盖的本发明的实施方式由所附权利要求而不是本发明内容限定。本发明内容是本发明各个方面的上位概述,并介绍了一些概念,这些概念将在下面的具体实施方式部分中进一步描述。本发明内容不旨在标识所要求保护的主题的关键或必要特征,也不旨在单独用于确定所要求保护的主题的范围。应该通过参考本发明的整个说明书的适当部分、任一或全部附图以及每项权利要求来理解所述主题。
5.本文描述的示例涉及被配置为使用人工智能(ai)驱动系统向用户提供信息的通信系统。这种系统可以被配置为响应各种各样的用户查询。鉴于用户查询的性质涵盖了广泛的可能范围,对与系统通信相关联的用户意图进行分类是允许ai系统促进对用户通信的充分响应的主要关注点。
6.如本文所述,“意图”是指与通信系统可寻址的用户问题相关联的基于机器的通信系统类别。通信系统中的设备可以使用机器学习和人工智能以及意图处理系统来管理与用户的通信。不同的系统实现方式可以使用不同的意图分组和类别。例如,用于解决与医学相关的用户问题的通信系统可以使用与为硬件设备提供用户支持的通信系统不同的意图类别。虽然医疗系统的通信系统可能具有诸如“安排预约”、“获取测试结果”和“重新开处方”的意图类别,但是设备支持系统可以具有诸如“获取操作指令”、“请求保修维修”、“与技术人员交谈”或“获取故障排除帮助”的替选意图类别。此外,意图类别可以用不同的特异性水平进行结构化(例如,使用多个子类别水平和树)。例如,“故障排除帮助”的意图类别可以与诸如“通电问题”、“操作错误”、和“配置错误”的类别相关联。这些子类别中的每一个子类别都可以进一步具有与已知类别相关联的子类别。例如,可以基于机器分析和用户通信的ai处理,为先前用户通信中识别的设备故障类别分配意图类别。
7.在一些示例中,一个系统可以支持多种类型的系统(例如,支持多种业务和通信类型),因此不同的意图分析树可以确定一组初始意图类别,这些初始意图类别可以通过与用户的多次通信进行改善。
8.当用户与系统通信时,计算设备的自然语言处理操作可用于将用户通信与意图类
别相关联,并在通信随着时间的推移而发生时改善与意图类别和意图子类别的关联。本文所述的示例通过提高基于ai和机器的通信的效率,减少用于促进对用户通信进行响应的处理资源,以及提高此类系统中机器驱动的通信的质量而改进了通信系统中设备的操作。
9.本发明的某些示例包括一种计算机实现的方法。该方法可以包括从设备接收通信。通信可以包括一个或多个字。该设备可与一个或多个动作相关联。该方法还可包括自动解析该通信以识别对应于与该设备相关联的动作的一个或多个有效字。该方法还可以包括识别与一个或多个有效字相关联的意图。意图可以定义动作。该方法还可以包括促进意图的注释。注释可以定义通信与意图之间关联的质量。该方法还可以包括基于相关联的质量来计算用于意图的度量。该方法还可以包括促进意图和度量的显示。
10.本发明的某些实施方式包括一种系统。该系统可包括一个或多个数据处理器;以及非暂时性计算机可读存储介质,其包含当在所述一个或多个数据处理器上执行时使所述一个或多个数据处理器执行上述和本文所述的方法的指令。
11.本发明的某些实施方式包括有形地体现在非暂时性机器可读存储介质中的计算机程序产品,该计算机程序产品包括被配置为使数据处理装置执行上述和本文所述的方法的指令。
附图说明
12.结合附图描述本发明:
13.图1示出了根据本技术的一些方面的网络交互系统的示例性实施方式;
14.图2示出了根据本技术的一些方面的网络交互系统的示例性实施方式;
15.图3a、图3b和图3c示出了根据本技术的一些方面的包括连接管理系统的网络交互系统的示例性实施方式;
16.图4示出了根据本技术的一些方面的连接组件的操作的协议栈映射的表示;
17.图5表示根据本技术的一些方面的多设备通信交换系统的实施方式;
18.图6示出了根据本技术的一些方面的连接管理系统的示例性实施方式;
19.图7示出了根据本技术的一些方面的意图管理引擎的示例性实施方式;
20.图8示出了根据本技术的一些方面的方法实施方式的流程图;
21.图9示出了根据本技术的一些方面构建意图模型的界面的示例性屏幕截图;
22.图10示出了根据本技术的一些方面的意图的注释的配置图;
23.图11a-图11f示出了根据本技术的一些方面的意图驱动的联系中心的示例性控制面板报告;以及
24.图12示出了根据本技术的一些方面的意图驱动的联系中心的示例代理排名。
25.图13示出了根据本技术的一些实现方式的可用于实现意图驱动的通信系统的各方面的示例性计算设备。
26.在附图中,相似的组件和/或特征可以具有相同的附图标记。此外,相同类型的各种组件可以通过在附图标记后加上破折号和第二标记来区分,第二标记在相似的组件之间进行区分。如果在说明书中仅使用了第一附图标记,则该描述适用于具有相同的第一附图标记的相似组件中的任一者,而与第二附图标记无关。
具体实施方式
27.随后的描述提供了多个示例,并且不旨在限制本发明的范围、适用性或配置。相反,随后的多个示例的描述将向本领域技术人员提供用于实现这些示例的使能描述。应当理解,在不脱离如所附权利要求书所阐述的精神和范围的情况下,可以对元件的功能和布置进行各种改变。
28.本文描述的示例涉及被配置为使用人工智能(ai)和机器分析驱动系统向用户提供信息的通信系统。例如,此类系统可以使用自然语言处理(nlp)、自然语言分析(nla)、神经网络以及各种ai和机器学习工具来分析和改进通信系统。此类系统可以被配置为响应各种各样的用户查询。鉴于用户查询的性质涵盖了广泛的可能范围,对与系统通信相关联的用户意图进行分类是允许ai系统促进对用户通信进行充分响应的主要关注点。如本文所述,可以基于来自使用的反馈动态地更新此类系统,以改进性能和将来自用户通信的字与意图类别和跟意图类别相关联的动作匹配。在不同的实现方式中,这些更新可以在收集数据时定期自动执行,或者作为连续实时反馈的一部分,使用机器学习将用户使用数据整合到ai系统的数据集中。
29.如本文所述,“意图”是指与通信系统可寻址的用户问题相关联的基于机器的通信系统类别。通信系统可以接收具有一个或多个字的通信(例如,文本通信或数据翻译成文本),并且可以将这些字分开,以识别通信中的字与通过通信系统可用的动作之间的关联。
30.通信系统的“动作”可指ai驱动的通信系统的通信路由和通信响应选项。系统中可用的操作可以与意图类别相关联。例如,用户意图可以是与维修专家交谈,而动作可以是将通信路由到维修专家。另一个示例是与设备支持相关联的一般用户意图,意图类别可以包括各种设备故障排除选项的树。通过故障排除信息促进用户导航被视为与用户设备和用户通信相关联的一个动作(或多个动作)。通信系统中的设备可以使用机器学习和人工智能以及意图处理系统来管理系统响应于与用户的通信而采取的动作。不同的系统实现方式可以使用不同的意图分组和类别。例如,用于解决与医学相关的用户问题的通信系统可以使用与为硬件设备提供用户支持的通信系统不同的意图类别。虽然医疗系统的通信系统可能具有诸如“安排预约”、“获取测试结果”和“重新开处方”的意图类别,但是设备支持系统可以具有诸如“获取操作指令”、“请求保修维修”、“与技术人员交谈”或“获取故障排除帮助”的替选意图类别。此外,意图类别可以用不同的特异性水平进行结构化(例如,使用多个子类别水平和树)。例如,“故障排除帮助”的意图类别可以与诸如“通电问题”、“操作错误”、和“配置错误”的类别相关联。这些子类别中的每一个子类别都可以进一步具有与已知类别相关联的子类别。例如,可以基于机器分析和用户通信的ai处理,为先前用户通信中识别的设备故障类别分配意图类别。每个意图类别都可以与动作关联。此类操作可以包括生成响应性通信以进一步缩小或识别更具体的意图类别、请求用户信息以用于后续动作、将用户与特定服务连接、向用户提供用于后续跟进的信息、或通知用户系统无法帮助用户。
31.当用户与系统通信时,计算设备的自然语言处理操作可用于将用户通信与意图类别相关联,并在通信随着时间发生时改善与意图类别和意图子类别的关联。在一些示例中,系统可以促进在特定通信中注释用户意图。如本文所述的注释表征了用户通信与分配给该通信的意图类别之间的关联。例如,该注释可以评估用户通信与分配给用户通信的意图类别之间的相关性强度。识别特定类型的用户通信和意图类别的反复低质量或低相关性关联
可导致机器学习系统自动生成警报或自动生成新的意图类别。在一些示例中,可以生成用于意图类别和用户通信的度量,并将其用于改进通信系统操作。除了评估用户通信与分配的意图类别的相关程度外,还可以在系统分析中使用其他“质量”度量。这种质量度量可以基于用户反馈和通信会话质量的主观用户排名。这种质量度量可以基于使用ai驱动的通信系统的不同人类代理之间的比较度量,包括关于通信会话时间和代理通信量的信息。本文所述的示例通过提高ai和基于机器的通信的效率,减少用于促进对用户通信进行响应的处理资源,以及提高此类系统中机器驱动的通信的质量而改进了通信系统中设备的操作。此外,本文描述的用户界面可以通过减少用于生成一组分析数据的处理资源和提高用于管理ai辅助通信系统的相关联操作的效率来改进通信系统中的设备的操作。
32.图1示出了实现并支持本文中描述的特定实施方式和特征的网络交互系统100的实施方式的框图。某些实施方式涉及在网络设备105(其可以由用户110操作)与终端设备115(其可以由代理120操作)和/或客户端设备130(其由客户端125操作)之间建立连接。
33.在一些实施方式中,用户110可以是浏览网站或访问由远程服务器140提供的在线服务的个人。在一些实施方式中,用户110可以是希望代表他们执行服务的个人。此类服务可以包括回答问题、操作另一设备、从具有任务或服务的代理那里获得帮助、进行交易等。
34.客户端125可以是提供、操作或运行网站或在线服务的实体,或者是这种实体雇佣或由该实体指派以执行如本文中所描述的客户端125可用的任务的个人。
35.代理120可以是个人,例如支持代理或销售助理,其任务是向用户110提供有关网站或在线服务的支持或信息(例如,关于在线商店中可获得的产品的信息)。在大量代理中,代理的子集可能适合于为特定客户端125提供支持或信息。代理120可以与客户端125有关或无关。每个代理可以与一个或多个客户端125相关联。在一些非限制性示例中,用户110可以是从个人计算设备在在线商店购物的个人,客户端125可以是在线销售产品的公司,并且代理120可以是由公司雇佣的销售助理。在各种实施方式中,用户110、客户端125和代理120可以是其他个人或实体。
36.虽然图1仅示出了单个的网络设备105、终端设备115和客户端设备130,但是交互系统100可以包括这些类型的设备中的一者或多者中的每一者的多个或许多(例如,数十个、数百个或数千个)。类似地,虽然图1仅示出了单个的用户110、代理120、和客户端125,但是交互系统100可以包括这种实体中的一者或多者中的每一者的多个或许多。因此,可能有必要确定要选择哪个终结点与给定的网络设备进行通信。另外使事情复杂化的是,远程服务器140也可以被配置为接收并响应以选择与网络设备105的通信。
37.连接管理系统150可以促进通信的战略路由。通信可以包括具有内容的消息(例如,基于来自实体的输入(诸如键入或口头输入)定义的消息)。该通信还可以包括:附加数据,例如关于发送设备的数据(例如,ip地址、账户标识符、设备类型和/或操作系统);目的地址;客户端的标识符;网页或网页元素(例如,在生成通信时正在访问的或以其他方式与通信相关联的网页或网页元素)的标识符或在线历史数据;时间(例如一天中的时间和/或日期);和/或目的地址。在通信中可以包括其他信息。在一些实施方式中,连接管理系统150将整个通信路由至另一设备。在一些实施方式中,连接管理系统150修改通信或生成新的通信(例如,基于初始通信)。新的或修改后的通信可以包括消息(或其经处理版本)、(例如,关于发送设备、网页或在线历史记录和/或时间的)附加数据的至少一些(或全部)和/或由连
接管理系统150识别的其他数据(例如,与特定账户标识符或设备相关联的账户数据)。新的或修改后的通信也可以包括其他信息。
38.战略路由促进的一部分可以包括在网络设备105与一个或多个终端设备115之间建立、更新和使用一个或多个连接。例如,在从网络设备105接收到通信后,连接管理系统150可以估计通信对应于哪个客户端(如果有的话)。在识别客户端之后,连接管理系统150可以识别与该客户端相关联的用于与网络设备105进行通信的终端设备115。在一些实施方式中,该识别可以包括评估多个代理(或专家或代表)中的每一者的简介,多个代理中的每个代理(例如,代理120)与终端设备(例如,终端设备115)相关联。该评估可以涉及网络-设备消息中的内容。终端设备115的识别可以包括例如在2010年3月17日递交的美国申请号12/725,799中描述的技术,出于所有目的,该申请的全部内容通过引用并入本文中。
39.在一些实施方式中,连接管理系统150可以确定在网络设备105和与客户端(或远程服务器140)相关联的终结点之间是否建立了任何连接,并且如果是,则确定是否要使用这种通道来交换包括所述通信在内的一系列通信。
40.在选择终结点来与网络设备105通信时,连接管理系统150可以在网络设备105和终结点之间建立连接。在一些实施方式中,连接管理系统150可以将消息发送到所选择的终结点。该消息可以请求接受所提议的与网络设备105进行通信的指派或者识别已经生成了这种指派。该消息可以包括关于网络设备105的信息(例如,ip地址、设备类型和/或操作系统)、关于相关联用户110的信息(例如,所说的语言、已经与客户端交互的持续时间、技能水平、情绪和/或主题偏好)、接收到的通信、用于生成通信并将其发送到网络设备105的代码(例如,可点击的超链接)、和/或用于生成通信并将其发送到网络设备105的指令。
41.在一些实施方式中,可以通过连接管理系统150来路由网络设备105与终结点(诸如用户设备)之间的通信。这种配置可以允许连接管理系统150监控通信交换并检测问题(例如,如基于规则所定义的问题),例如任一设备的无响应或延长的延迟。此外,这种配置可以促进通信的选择性或完整存储,这可以稍后用于例如评估通信交换的质量和/或支持学习以更新或生成路由规则,从而推进特定的后通信目标。如本文中将进一步描述的,这种配置可以促进用户110与一个或多个终结点之间的对话的管理。
42.在一些实施方式中,连接管理系统150可以实时监控通信交换,并且基于实时通信执行自动化动作(例如,基于规则的动作、源自人工智能的动作等)。例如,当连接管理系统150确定通信与特定产品有关时,连接管理系统150可以自动向终结点发送包含关于该产品的附加信息(例如,该产品的库存数量、到与该产品有关的支持文档的链接、或关于该产品或类似产品的其他信息)的附加消息。
43.在一些实施方式中,指定的终结点可以与网络设备105通信而无需通过连接管理系统150中继通信。设备105、115中的一者或两者可以(或者可以不)向连接管理系统150报告特定的通信度量或内容,以促进通信监控和/或数据存储。
44.如上所述,连接管理系统150可以将选择的通信路由到远程服务器140。远程服务器140可以被配置为以预定方式提供信息。例如,远程服务器140可以响应于通信而访问定义的一个或多个待发送的文本段落、语音记录和/或文件。远程服务器140可以基于例如对接收到的通信的分析(例如,语义或映射分析)来选择特定的文本段落、记录或文件。
45.可以基于至少部分地由一个或多个客户端设备130定义或由其提供的规则和/或
数据来执行在连接管理系统150处执行的路由和/或其他确定或处理。例如,客户端设备130可以发送标识代理的优先级、终端-设备类型、和/或主题/技能匹配度的通信。作为另一示例,客户端设备130可以标识一个或多个权重以应用于可能影响路由确定的各种变量(例如,语言兼容性、预测的响应时间、设备类型和能力、和/或终端-设备负载平衡)。将理解的是,哪些终端设备和/或代理将与客户端相关联可以是动态的。来自客户端设备130和/或终端设备115的通信可以提供指示给定的终端设备和/或代理将作为与客户端相关联的一个终端设备和/或代理被添加或移除的信息。例如,客户端设备130可以发送具有ip地址以及关于具有该地址的终端设备是否要添加到列表中或从该列表移除的指示的通信,该列表标识与客户端相关联的终端设备。
46.每个通信(例如,设备之间的通信、设备与连接管理系统150之间的通信、远程服务器140与连接管理系统150之间的通信、或远程服务器140与设备之间的通信)可以在一个或多个网络170上进行。该一个或多个网络170中可以包括开放式或封闭式网络的任意组合。合适的网络的示例包括互联网、个人局域网、局域网(lan)、广域网(wan)或无线局域网(wlan)。其他网络也可能适用。该一个或多个网络170可以完全并入内联网、外联网或其组合内,或者可以包括内联网、外联网或其组合。在一些实施方式中,该一个或多个网络170中的网络包括短程通信通道,诸如蓝牙或蓝牙低功耗通道。在一个实施方式中,可以通过诸如安全套接层(ssl)或传输层安全性(tls)之类的安全通信协议来实现两个或更多个系统和/或设备之间的通信。此外,可以基于任何方便的、已知的或待开发的方式对数据和/或交易细节进行加密,这些方式例如但不限于数据加密标准(des)、三重des、rivest-shamir-adleman加密(rsa)、blowfish加密、高级加密标准(aes)、cast-128、cast-256、去相关快速密码(dfc)、微型加密算法(tea)、extended tea(xtea)、校正块tea(xxtea)和/或rc5等。
47.例如,网络设备105、终端设备115、和/或客户端设备130可以包括便携式电子设备(例如,智能电话、平板电脑、便携式计算机或智能设备可穿戴设备)或非便携式电子设备(例如,一个或多个台式计算机、智能家电、服务器和/或处理器)。连接管理系统150可以与网络、终端、iot和客户端设备分开设置,或者可以是一个或多个这样的设备的一部分(例如,通过在设备上安装应用程序)。远程服务器140可以与每个设备和连接管理系统150分开设置,和/或可以是另一设备或系统的一部分。尽管图1中的每个设备、服务器和系统被示为单个设备,但是应当理解,可以替代地使用多个设备。例如,可以使用一组网络设备来传输来自单个用户的各种通信,或者远程服务器140可以包括服务器堆栈。
48.软件代理或应用程序可以被安装在所描绘的设备、系统或服务器上和/或在所描绘的设备、系统或服务器上可执行。在一个实例中,软件代理或应用程序被配置为使得各种描绘的元素可以互补的方式起作用。例如,可以将设备上的软件代理配置为收集关于设备使用情况的数据并将其发送到单独的连接管理系统,并且可以将单独的连接管理系统上的软件应用程序配置为接收和处理数据。
49.图2示出了另一实施方式的网络交互系统200的框图。总体上,图2示出了被配置和布置为使网络设备205能够与一个或多个终端设备215通信的各种组件。所描绘的实例包括在三个局域网235中包括的九个终端设备215。
50.在一些实施方式中,来自网络设备205的通信包括目的数据(例如,目的ip地址),其至少部分或全部指示哪个终端设备将接收该通信。网络交互系统200可以包括一个或多
个网络间连接组件245和/或一个或多个网络内连接组件255,它们可以处理目的数据并促进适当的路由。
51.每个网络间连接组件245可以连接到多个网络235,并且可以具有安装的多个网卡(例如,每个卡连接到不同的网络)。例如,网络间连接组件245可以连接到广域网270(例如,互联网)和一个或多个局域网235。在所描绘的实例中,为了将通信从网络设备205传输到任何终端设备,在所描绘的系统中,必须由多个网络间连接组件245来处理该通信。
52.当网络间连接组件245接收到通信(或与该通信相对应的一组数据包)时,网络间连接组件245可以确定路由的至少一部分,以将该通信传递给与目的地相关联的网络。可以使用例如路由表(例如,存储在路由器处)来确定该路由,该路由表可以包括基于传入消息(例如,来自另一路由器或另一设备)生成的、或学习的一个或多个预先定义的路由。
53.网络间连接组件245的示例包括路由器260和网关265。网络间连接组件245(例如,网关265)可以被配置为在网络系统之间或协议之间转换。例如,网关265可以促进传输控制协议/互联网协议(tcp/ip)设备与互联网分组交换/序列分组交换(ipx/spx)设备之间的通信。
54.在局域网235处接收到通信后,可能仍需要执行进一步的路由。可以通过诸如交换机280或集线器285之类的网络内连接组件255来执行这样的网络内路由。每个网络内连接组件255可以(例如,无线地或有线地,诸如通过以太网电缆)被连接至多个终端设备215。集线器285可以被配置为将所有接收到的通信重复到它所连接到的每个设备。每个终端设备然后可以评估每个通信以确定该终端设备是否是目的设备或者该通信是否将被忽略。交换机280可以被配置为选择性地将通信仅定向到目的终端设备。
55.在一些实施方式中,局域网235可以被划分成多个段,每个段可以与独立的防火墙、安全规则和网络协议相关联。可以在一个、多个或所有段中的每者中提供网络内连接组件255,以促进段内路由。桥接器290可以被配置为跨段275路由通信。
56.为了跨网络或在网络内适当地路由通信,各种组件分析通信中的目的数据。例如,这样的数据可以指示通信将被路由到哪个网络、通信将被路由到网络内的哪个设备、或者终端设备将要处理(和忽略)哪些通信。然而,在一些实施方式中,不能立即清楚哪个终端设备(或甚至哪个网络)要参与来自网络设备的通信。
57.为了说明,可以配置一组终端设备以便提供类似类型的响应通信。因此,可以预期,可以以类似的方式来响应来自网络设备的通信中的查询,而不管该通信被路由到哪个网络设备。虽然该假设在高水平上可能是正确的,但是与终端设备有关的各种细节可能导致特定的路由与其他路由相比是有利的。例如,所述集合中的终端设备关于(例如)以下可能彼此不同:支持哪些通信通道、与网络设备的地理和/或网络接近度、和/或相关联代理的特征(例如,知识库、经验、所说的语言、可用性、一般性格或情绪等)。因此,选择路由可以促进更快的响应,该更快的响应更准确地和/或完整地响应于网络-设备通信。复杂的是,将网络设备映射至终端设备的静态路由可能无法解释通信主题、通道类型、代理可用性等的变化。
58.图3a、图3b、图3c示出了其他实施方式的包括连接管理系统350(包括示例性连接管理系统350a和350b)的网络交互系统300a、300b、300c的框图。为了简单起见,所描绘的系统300a、300b、300c中的每一者仅示出了两个局域网235,尽管可以理解的是,可以扩展实施
方式以扩展局域网的数量。系统300a、300b、300c中的每一者都包括连接管理系统150,该连接管理系统150可以标识哪个终端设备要与网络设备205通信,可以建立和管理(例如,保持或关闭)连接,可以确定是否以及何时在交换中重新路由通信等。因此,连接管理系统150可以被配置为动态地并且实时地评估通信、代理可用性、终端设备或代理的能力等,以影响路由确定。
59.在图3a中,连接管理系统150与网络设备205和远程服务器340中的每一者相关联(例如,连接管理系统150a与网络设备205相关联,而连接管理系统150b与远程服务器340相关联)。例如,可以将连接管理系统150a和/或连接管理系统150b作为应用程序分别安装或存储在网络设备205和远程服务器340中的每一者上。(一个或多个)应用程序的执行例如可以促进网络设备205与远程服务器340之间的通信,以标识被选择参与的与网络设备205的通信交换的终端设备215。可以基于一个或多个本文中公开的因素(例如,可用性、通信的主题/详细水平与代理或终端设备的知识库之间的匹配度、预测的延迟,通道类型可用性等等)来进行标识。
60.客户端设备330可以提供客户端数据,该客户端数据指示将如何进行路由确定。例如,这种数据可以包括:关于特定特征如何被加权或匹配的指示或约束或偏差(例如,与负载平衡或预测的响应延迟有关)。客户端数据还可以包括与何时建立(或关闭)通信通道或者何时将通信重新路由至不同的网络设备有关的规范。客户端数据可用于定义各种客户端特定的规则,例如用于通信路由的规则等。
61.在远程服务器340上运行的连接管理系统150b可以监控与终端设备有关(例如,与给定的客户端有关)的各种度量,例如支持哪些通信通道、与网络设备的地理和/或网络接近度、与终端设备的通信延迟和/或稳定性、终端设备的类型、终端设备的能力、终端设备(或代理)是否在先已经与给定的网络设备(或用户)通信、和/或与代理相关联的特征(例如,知识库、经验、所说的语言、可用性、一般性格或情绪等)。因此,可以使通信管理系统150b能够选择路由以促进更快的响应,该更快的响应基于度量更准确地和/或完整地响应于网络-设备通信。
62.在图3a所描绘的示例中,网络设备205和远程服务器340之间的通信交换可以促进目的地址的更早识别。然后,网络设备205可以使用该目的地址来定向后续通信。例如,网络设备205可以向远程服务器340发送初始通信(例如,通过一个或多个网络间连接和广域网),并且远程服务器340可以识别一个或多个相应的客户端。然后,远程服务器340可以识别与所述一个或多个相应的客户端相关联的一组终端设备,并收集针对那些终端设备的度量。可以(例如,通过远程服务器340)评估这些度量以便选择参与通信交换的终端设备,并且可以将与该终端设备有关的信息(例如,ip地址)发送至网络设备205。在一些实施方式中,远程服务器340可以连续地或周期性地收集和评估针对各种终端设备的度量并将评估结果存储在数据存储器中。在这种实施方式中,在识别与所述一个或多个相应的客户端相关联的一组终端设备时,远程服务器340可以从数据存储器访问存储的评估结果,并且基于存储的评估结果选择终端设备来参与通信交换。
63.在图3b中,连接管理系统150可以被配置为用作中继和/或目的地址。因此,例如,一组网络设备205可以发送通信,每个通信将连接管理系统150标识为目的地。连接管理系统150可以接收各个通信,并且可以同时监控一组终端设备(例如,以便生成针对每个终端
设备的度量)。基于监控和规则,连接管理系统150可以识别其可以将各个通信中继到的终端设备215。根据该实施方式,终端设备通信可以类似地定向到一致的目的地(例如,连接管理系统150的目的地),以用于进一步中继,或者终端设备可以开始直接与相应的网络设备通信。这些实施方式可以促进有效路由和全面的通信监控。
64.图3c中描绘的实施方式类似于图3b中的实施方式。然而,在一些实施方式中,连接管理系统150直接连接至网络内组件(例如,终端设备、网络内连接或其他)。
65.应当理解,能够预期图3a-图3c的许多变型。例如,连接管理系统150可以与连接组件(例如,网络间连接组件245或网络内连接组件255)相关联,使得对应于连接管理系统150(或其一部分)的应用程序安装在该组件上。例如,可以独立地执行应用程序或通过与类似或补充的一个或多个应用程序(例如,在一个或多个其它组件、网络设备或远程服务器上执行的应用程序)通信来执行应用程序。
66.图4示出了连接组件的操作的协议栈映射400的表示。更具体地,图4标识了在开放系统交互(open systems interaction,osi)模型中的对应于各种连接组件的操作层。
67.osi模型可以包括多个逻辑层402-414。这些层布置成有序堆栈,使得层402-412中的每个层服务较高水平,而层404-414中的每个层由较低层服务。osi模型包括物理层402。物理层402可以定义参数物理通信(例如,电、光或电磁通信)。物理层402还定义连接管理协议,例如建立和关闭连接的协议。物理层402还可以定义流控制协议和传输模式。
68.链路层404可以管理节点到节点(node-to-node)的通信。链路层404可以检测并纠正错误(例如,物理层402中的传输错误)以及管理访问许可。链路层404可以包括媒体访问控制(media access control,mac)层和逻辑链路控制(logical link control,llc)层。
69.网络层406可以协调跨同一网络中的节点的(例如,作为数据报的)传输数据(例如,具有可变长度的传输数据)。网络层406可以将逻辑网络地址转换为物理机器地址。
70.传输层408可以管理发送和接收质量。传输层408可以提供用于传输数据的协议,例如传输控制协议(tcp)。传输层408可以执行用于传输的数据包的分段/重组,并且可以检测并解释在层402、404、406中发生的传输错误。会话层410可以发起、维持和终止本地和远程应用程序之间的连接。会话可以用作远程过程交互的一部分。表示层412可以基于已知由应用程序或网络层接受的数据类型来加密、解密和格式化数据。
71.应用层414可以与控制或管理通信的软件应用程序进行交互。通过这样的应用程序,应用层414可以(例如)识别目的地、本地资源状态或可用性和/或通信内容或格式化。各个层402、404、406、408、410、412、414可以执行可用并适用的其它功能。
72.网络内连接组件422被示出在物理层402中操作,网络内连接组件424被示出在链路层404中操作。更具体地,集线器可以在物理层中操作,使得可以关于通信的接收和发送来控制操作。由于集线器缺乏寻址通信或过滤数据的能力,因此集线器几乎没有能力在更高水平操作。同时,交换机可以在链路层404中操作,因为交换机能够基于地址(例如,mac地址)过滤通信帧。
73.同时,网络间连接组件426、428被示出在更高水平(例如,层406、408、410、412、414)上操作。例如,路由器可以基于地址(例如,ip地址)过滤通信数据包。路由器可以基于地址将数据包转发至特定端口,以便将数据包定向至适当的网络。网关可以在网络层及其以上层操作,执行类似的过滤和定向以及数据的进一步转换(例如,跨协议或架构)。
74.在各种实施方式中,连接管理系统450可以与各个层中的一个、多个、全部或任何层进行交互和/或在各个层中的一个、多个、全部或任何层上操作。例如,连接管理系统450可以与集线器交互,以便动态地调整集线器与哪些终端设备通信。作为另一示例,连接管理系统450可以与桥接器、交换机、路由器或网关进行通信,以便影响该组件选择哪个终端设备作为目的地址(例如,mac、逻辑或物理地址)。作为另外的示例,连接管理系统450可以监控、控制或定向传输层408上的数据包的分段、会话层410上的会话持续时间、和/或表示层412上的加密和/或压缩。在一些实施方式中,连接管理系统450可以通过与在特定层上操作的设备(例如,在链路层404上操作的交换机)进行交换通信(例如,发送命令至该设备)、通过以特定的方式路由或修改现有通信(例如,在网络设备和终端设备之间的通信)、和/或通过基于现有通信生成包含特定信息(例如,新目的地址)的新通信来与各个层进行交互。因此,连接管理系统450可以通过与各种设备的交互和/或通过影响在各种协议栈层处的操作来影响通信路由和通道建立(或维持或终止)。
75.图5表示根据一实施方式的多设备通信交换系统500。系统500包括网络设备505,该网络设备被配置为在各种类型的通信通道上与各种类型的终结点通信。
76.在所描绘的实例中,网络设备505可以通过蜂窝网络(例如,通过基站510)传输通信。通信可以被路由至操作网络515。操作网络515可以包括连接管理系统150,该连接管理系统接收通信并标识哪个终结点将响应于该通信。这种确定可以取决于识别该通信所属的客户端(例如,基于指示客户端的内容分析或用户输入)并确定与该客户端相关联的一个或多个终结点中的每个终结点的一个或多个度量。例如,在图5中,终结点530a、530b、和530c的每个集群可以对应于不同的客户端。终结点可以在地理上共同定位或是分散的。可以基于存储的或学习的数据和/或(例如,基于可用性的)实时监控来确定所述度量。
77.连接管理系统520可以通过一个或多个路由器525或其它网络间连接组件或网络内连接组件与各种终结点进行通信。连接管理系统520可以在一个或多个数据存储器处收集、分析和/或存储来自(或关于)通信、终端-设备操作、客户端规则、和/或与用户相关联的动作(例如,在线活动、账户数据、购买历史等)的数据。这种数据可能影响通信路由。
78.值得注意的是,还可以使用各种其它设备来影响通信路由和/或处理。例如,在所描绘的实例中,连接管理系统520还连接至网络服务器540和(一个或多个)数据库535。因此,连接管理系统520可以检索感兴趣的数据,例如技术产品细节、新闻、当前产品供应、当前或预测的天气等。
79.网络设备505还可以连接至网络服务器(例如,包括流网络服务器545)。在一些实施方式中,与这种服务器的通信提供了发起与连接管理系统150的通信交换的初始选项。例如,网络设备505可以检测到在访问特定网页时通信机会是可获得的并且这种选项可以被呈现。
80.在一些实施方式中,通信系统500的一个或多个元件也可以连接至社交联网服务器550。社交联网服务器550可以聚集从各种用户设备接收的数据。因此,例如,连接管理系统150可以能够估计针对给定主题的一般(或用户特定)意图或估计给定用户或用户类别的一般行为。社交联网服务器550还可以维持一个或多个用户的社交图。社交图可以包括社交用户的第一水平的连接(直接连接)、以及附加水平的连接(通过用户的直接连接的间接连接)。
81.图6示出了连接管理系统600的实施方式的框图。在一些示例中,连接管理系统600可以用作连接管理系统150、520或任何其他此类连接管理系统。消息接收器接口605可以接收消息。在一些实施方式中,例如,可以接收消息作为由源设备(例如,与连接管理系统150分开设置或在同一外壳内)发送的通信的一部分,所述源设备例如网络设备或终结点。在一些实施方式中,通信可以是一系列通信的一部分或通信交换,其可以包括正在两个设备(例如,网络设备和终结点)之间路由的一系列消息或通信交换。该消息或通信交换可以是设备之间的交互的一部分和/或可以定义设备之间的交互。通信通道或操作通道可以包括用于促进设备之间的路由和通信交换的一个或多个协议(例如,路由协议、任务分配协议和/或寻址协议)。
82.在一些实施方式中,消息可以包括基于在用户界面处接收的输入而生成的消息。例如,消息可以包括基于按钮或按键或记录的语音信号、或语音转文本软件而生成的消息。在一个实例中,消息包括自动生成的消息,例如在检测到网络设备正在呈现特定的应用页面或网页或者已经提供特定输入命令(例如,键序列)时生成的消息。该消息可以包括指令或请求,例如用于发起通信交换的指令或请求。
83.在一些实施方式中,消息可以是自然语言通信,无论是口语的还是键入的。如本文中所使用的,自然语言通信是指用于在人类之间进行通信的语言的常规使用,并且与由与特定虚拟助手或人工智能工具进行通信所需的协议所定义的语言的使用形成对比。自然语言通信不应要求约束,所述约束诸如使用唤醒词来提醒人工智能工具通信是针对人工智能的。另外,自然语言通信不应要求用户标识特定的关键字、特定的短语或明确命名服务以了解如何为通信提供服务。在一些实施方式中,自然语言可以包括表情符号和现代通信的其他形式。
84.虽然本技术利用自然语言通信,但是该通信可以标识特定的关键词、特定的短语或明确地命名服务。例如,该消息可以包括客户端的标识符或与客户端的标识符相关联。例如,消息可以明确地标识客户端(或与客户端相关联的设备);消息可以包括与客户端相关联的网页或应用程序,或和与客户端相关联的网页或应用程序相关联;消息可以包括与客户端相关联的目的地址,或和与客户端相关联的目的地址相关联;或者消息可以包括与客户端相关联的项目(例如,产品)或服务的标识(例如,由客户端为了出售而提供、已经通过客户端出售或者客户端提供服务的标识),或和与上述项目(例如,产品)或服务的标识相关联。为了说明,网络设备可以呈现特定客户端的应用页面,该应用页面可以提供将通信发送至代理的选项。在接收到与消息相对应的用户输入时,可以生成包含该消息和特定客户端的标识符的通信。
85.处理引擎610可以处理所接收的通信和/或消息。处理可以包括例如提取特定的一个或多个数据元素(例如,消息、客户端标识符、网络-设备标识符、账户标识符等)。处理可以包括转换格式或通信类型(例如,以与特定设备类型、操作系统、通信通道类型、协议和/或网络兼容)。
86.意图管理引擎615可以评估(例如,提取或接收的)消息。该消息可从消息数据存储器620访问,该消息数据存储器620管理通过接口605接收并由意图管理引擎615评估的消息。评估可以包括识别例如消息的一个或多个意图。意图的示例可以包括(例如)主题(topic)、情绪、复杂性和紧急性。主题可以包括但不限于话题、产品、服务、技术问题、使用
问题、投诉、退款请求或购买请求等。例如,可以基于对消息的语义分析(例如,通过识别关键字、句子结构、重复的词、标点符号和/或非冠(non-article)词)、用户输入(例如,已经选择了一个或多个类别)、和/或与消息相关的统计(例如,键入速度和/或响应延迟)来确定意图。意图管理引擎615的各方面可以使用机器学习来生成和修正用于将来自用户的传入通信(例如文本)与意图类别相关联的系统。例如,机器学习模型可以使用传入通信中字和短语之间关联的先前数据和结果以及来自当前和历史通信的自然语言数据来生成和更新字和意图类别之间的关联。这可以通过利用构造的数据集和历史数据进行的监督学习、基于系统中当前路由路径和系统使用目标的预期或预测模型的无监督学习的任意组合来实现。任何此类数据都可用于自然语言处理操作(如自然语言理解、自然语言推理等),以生成自然语言数据或更新机器学习模型。然后,此类数据可由客户端系统使用,或与网络设备或服务器上运行的应用程序共享,以改进动态消息处理(例如,改进的意图指示数据结果或响应消息生成)。在一些示例中,卷积神经网络可以与输入的字和短语的集合以及输出的意图类别一起使用。这种神经网络可以通过输入字和短语进行训练,并输出与意图类别的相关性。然后,实时系统操作可以使用此类神经网络的实例来生成关于输入的用户通信与用户通信中的字和系统中的意图类别之间的关联的数据。基于这种神经网络的输出,可以将意图类别分配给通信中涉及的用户或用户账户,并且可以分配相关联的动作。在一些实现方式中,可以通过来自使用的实时动态反馈来修改神经网络设置,以转变用户通信中的字与基于这些字选择的意图类别和动作之间的关联。这些选择可以是概率性的,因此ai和机器学习系统可以通过整合用户反馈和使用数据来自动跟踪用户预期的转变,从而提高系统性能。例如,当用户被定向到特定意图类别或子类别的终结点动作时,用户可以提供反馈通信,指示用户正在寻找不同的动作。这可以用作系统中的实时反馈,以转变与未来意图类别分配相关联的概率和注释。
87.在一些实施方式中,可通过让用户110参与可包括澄清问题或简单请求附加信息的对话来澄清意图。如上所述,各种机器学习和ai系统可用于生成和更新用于响应用户的系统。例如,在一些系统中,每个意图类别和子类别可以具有不同的关联卷积神经网络。在一些示例中,响应于处理来自用户的字而采取的动作是将意图类别与用于意图类别的和用户通信的神经网络相关联,并且使用所分配的神经网络来处理用户通信。如本文所述,在对话过程中可以使用多个不同的神经网络(例如,用户和系统之间的多次来回通信),并且用于此类通信的数据可用于机器学习操作中以更新用于未来与用户交互的神经网络或其他系统,以及用于将意图类别和动作与来自用户通信的字相关联的操作。用户的使用数据可用于调整神经网络中的权重,以改进意图类别分配并跟踪用户意图趋势的变化(例如,与基于初始用户通信的分配意图相比,在用户与系统对话结束时识别的最终用户意图结果)。由意图管理引擎615生成的数据可与相关联的消息数据一起存储在消息数据存储器620中,并且该数据可用于各种更新,包括如本文所述的用于连续实时分析更新或对系统的其他动态反馈和修改的管理数据。
88.交互管理引擎625可以确定将通信路由至哪个终结点以及接收设备和发送设备将如何通信。这些确定中的每一者可以取决于例如特定的网络设备(或与特定用户相关联的任何网络设备)是否先前已与一组终结点中的终结点(例如,与连接管理系统150相关联的任何终结点、或与一个或多个特定客户端相关联的任何终结点)进行通信。在一些示例中,
交互管理引擎625被调用作为基于分配给用户通信的意图类别将用户通信路由到不同终结点的动作。这可以涉及对在与用户对话期间使用的终结点(例如,特定代理或ai资源)的更新。
89.在一些实施方式中,当网络设备(或与同一用户或账户相关联的其他网络设备)先前已经与给定的终结点(例如,与特定代理或ai系统的关于与特定主题或系统客户端或业务有关的事项的通信)进行通信时,通信路由通常可偏向于该同一终结点。可影响路由的其它因素可以包括:例如,与先前通信有关的推断或标识的用户或代理情绪;当前通信的主题(例如,以及与先前通信的主题和/或与一个或多个终结点相关联的知识库有关的程度);终结点是否可用;和/或终结点的预测的响应延迟。这些因素可以绝对地或相对于与其它终结点相对应的类似度量来考虑。重新路由规则(例如,客户端特定的或一般的规则)可以指示如何评估和加权这些因素以确定是否放弃代理一致性。正如上述意图类别分配一样,ai分析可用于确定系统中的重路由规则。例如,当机器学习系统处理的历史数据识别出某些类型的用户通信和某些重路由操作之间没有相关性时,可以中断此类重路由操作。相比之下,当此类机器学习分析识别出与重路由规则相关的积极结果时,可以强调或加强此类规则,以优先考虑重路由(例如,将附加系统专用于重路由、在代理分配中优先考虑重路由选项等)。
90.当网络设备(或与同一用户或账户相关联的其他网络设备)先前未与给定的终结点(例如,关于与客户端有关的事项)进行通信时,可以基于诸如以下的因素执行终结点的选择:例如,各种代理的知识库与通信主题对应的程度、各种代理在给定时间和/或通道类型上的可用性、终结点的类型和/或能力、用户和代理之间的语言匹配度、和/或个性分析。在一个实例中,规则可以标识如何确定诸如这些的一个或多个因素的子分数以及分配给每个分数的权重。通过组合(例如,求和)加权子分数,可以确定每个代理的分数。然后可以通过比较终结点的分数(例如,选择高分数或最高分数)来进行终结点的选择。
91.关于确定设备将如何通信,交互管理引擎625可以(例如)确定终结点是否通过(例如)电子邮件、在线聊天、sms消息、语音呼叫、视频聊天等来响应通信。可以基于例如以下项来选择通信类型:通信类型优先级列表(例如,至少部分地由客户端或用户来定义);先前从网络设备接收的通信的类型(例如,以便促进一致性)、接收的消息的复杂性、网络设备的能力、和/或一个或多个终结点的可用性。显然,一些通信类型将导致实时通信(例如,期望快速消息响应的情况),而其它通信类型可能导致异步通信(例如,消息之间的延迟(例如,几分钟或几小时)是可接受的情况)。
92.在一些实施方式中,通信类型可以是文本消息收发或聊天应用程序。这些通信技术的好处是,无需在用户的网络设备上下载和执行新软件。在一些示例中,通信类型可以是语音通信类型。在这样的示例中,语音到文本系统可用于将语音通信处理成要由本文所述的示例性系统分析的字。在一些示例中,系统分析的字可以包括由音频数据表示的字。因此,如本文所述,字可以由存储在存储器中的符号组合(例如,美国信息交换标准代码(ascii)数据)表示,或者可以由音频数据(例如,表示声音组合的数据)表示。
93.此外,交互管理引擎625可以确定是否应该建立、使用或终止两个设备之间的连续通道(例如用于用户设备和系统之间的对话或重复传输)。可以构造连续通道,以便促进从网络设备到指定终结点的未来通信的路由。即使跨消息系列(例如,数天、数周或数月),这
种偏向也可以持续。在一些实施方式中,连续通道的表示(例如,标识代理)可以包括在网络设备上待呈现的呈现中。以这种方式,用户可以理解该通信将被一致地路由以便提高效率。
94.在一个实例中,可以使用本文描述的一个或多个因素和规则(例如,包括所述一个或多个因素中的每个的权重)来生成分数,以确定对应于给定的网络设备和终结点的连接分数。该分数可以与整体匹配度或特定于给定的通信或通信系列的匹配度有关。因此,例如,该分数可以反映预测给定终结点适合于对网络-设备通信进行响应的程度。在一些实施方式中,分数分析可以用于标识要将给定通信路由到的每个终结点以及是否建立、使用或终止连接。当分数分析用于处理路由决策和通道决策两者时,可以以相同、类似或不同的方式来确定与每个决策相关的分数。
95.因此,例如,将理解,根据分数是预测长期匹配的强度还是响应特定消息查询的强度,可以考虑不同因素。例如,在前一种实例中,对总体时间表和时间区域的考虑可能是重要的,而在后一种实例中,立即可用性可能有更高的权重。可以针对单个网络-设备/终端-设备组合来确定分数,或者可以确定多个分数,每个分数表征给定网络设备和一不同的终结点之间的匹配度。
96.为了说明,可以评估用于潜在通信路由的与客户端相关联的一组的三个终结点。可以为每个终结点生成与特定通信的匹配度有关的分数。前两个终结点中的每者可以先前已经与已传输该通信的网络设备通信。来自网络设备的输入可以已经指示对与第一设备的(一个或多个)通信的交互感到满意。因此,第一设备、第二设备和第三设备的(如根据规则计算的)过往交互子分数(past-interact sub-score)可以分别是10、5和0。(负满意度输入可以得到负的子分数。)可以确定仅第三终结点是立即可用的。可以预测第二终结点将在15分钟内可用于响应,但是第一终结点将在第二天之前不可用于响应。因此,第一设备、第二设备和第三设备的快速响应子分数(fast-response sub-score)可以是1、3和10。最后,可以估计(与终结点相关联的)代理了解通信中的主题的程度。可以确定与第三终结点相关联的代理比与其它两个设备相关联的代理更了解,从而得到的子分数为3、4和9。在该示例中,规则不包括加权或归一化参数(虽然,在其它实例中,规则可以包括加权或归一化参数),从而得到的分数为14、11和19。因此,规则可以指示消息将被路由至具有最高分数的设备,即第三终结点。如果到特定终结点的路由不成功,则可以将消息路由至具有次高分数的设备,依此类推。
97.可以将分数与一个或多个绝对阈值或相对阈值进行比较。例如,可以将一组终结点的分数相互比较以确定高分数,从而选择通信可以被路由至的终结点。作为另一示例,可以将分数(例如,高分数)与一个或多个绝对阈值进行比较,以确定是否建立与终结点的连续通道。用于建立连续通道的总阈值可以(但不必须)高于用于在给定的一系列消息中一致地路由通信的阈值。总阈值和用于确定是否一致地路由通信的阈值之间的这种差异可能是因为考虑到通道的扩展效用,强匹配在连续-通道上下文中是重要的。在一些实施方式中,用于使用连续通道的总阈值可以(但不必须)低于用于建立连续通道的阈值和/或用于在给定的一系列消息中一致地路由通信的阈值。
98.交互管理引擎625可以在各种上下文中与账户引擎630交互。例如,账户引擎630可以在账户数据存储器635中查找网络设备或终结点的标识符,以识别与该设备相对应的账户。此外,账户引擎630可以维持关于先前通信交换的数据(例如,时间、涉及的(一个或多
个)其它设备、通道类型、问题解决方案阶段、(一个或多个)主题和/或相关联的客户端标识符)、通信通道(例如,对于一个或多个客户端中的每个客户端,指示:是否有任何通道存在、与每个通道相关联的终结点、建立时间、使用频率、上次使用的日期、任何通道约束和/或支持的通信类型)、用户或代理偏好或约束(例如,关于终端-设备选择、响应延迟、终端-设备一致性、代理专业知识、和/或通信类型偏好或约束)、和/或用户或代理特征(例如,年龄、所说的或优选的(一种或多种)语言、地理位置、兴趣等)。
99.此外,交互管理引擎625可以向账户引擎630提醒各种连接通道(connection-channel)动作,使得可以更新账户数据存储器635以反映当前通道数据。例如,在建立通道时,交互管理引擎625可以通知账户引擎630该建立,并且标识网络设备、终结点、账户和客户端中的一者或多者。账户引擎630可以随后通知用户该通道的存在,使得该用户可以意识到代理一致性是有用的。
100.交互管理引擎625还可以与客户端映射引擎640交互,客户端映射引擎640可以将通信映射至一个或多个客户端(和/或相关联的品牌(brand))。在一些实施方式中,从网络设备本身接收的通信包括对应于客户端的标识符(例如,客户端、产品、服务器、网页或应用页面的标识符)。该标识符可以作为(例如,客户端映射引擎640可以检测的)消息的一部分而被包含或作为包含消息的通信中的其它数据而被包含。然后,客户端映射引擎640可以在客户端数据存储器645中查找该标识符,以检索关于客户端和/或客户端的标识符的附加数据。
101.在一些实施方式中,消息可以不特别对应于任何客户端。例如,消息可以包括一般查询。客户端映射引擎640可以例如对消息执行语义分析、识别一个或多个关键字并且标识与(一个或多个)关键字相关联的一个或多个客户端。在一些实施方式中,标识单个客户端。在一些实施方式中,标识出多个客户端。然后可以通过网络设备呈现每个客户端的标识,使得用户可以选择要与之(例如,通过相关联的终结点)通信的客户端。
102.客户端数据存储器645可以包括与客户端相关联的一个或多个终结点(和/或代理)的标识。终端路由引擎650可以检索或收集与一个、多个或所有的这种终结点(和/或代理)中的每者有关的数据,以便影响路由确定。例如,终端路由引擎650可以维持终结点数据存储器655,终结点数据存储器655可以存储诸如终结点的设备类型、操作系统、通信类型(communication-type)能力、安装的应用程序附件、地理位置和/或标识符(例如,ip地址)的信息。信息还可以包括代理信息,诸如经验水平、职位、技能水平、知识库(例如,代理了解的各种主题和/或对于各种主题的知识水平)、个性度量、工作时长、所说的(一种或多种)语言和/或人口统计信息。某些信息可以动态地更新。例如,基于(例如)来自终结点的通信(例如,标识该设备是否处于睡眠状态、是否关闭/开启、是否空闲/活动,或标识是否在一段时间内已收到输入)、通信路由(例如,指示终结点是否参与通信交换或被分配为通信交换的一部分)、或者来自网络设备或终结点的指示通信交换已经结束或开始的通信,可以动态地更新指示终结点是否可用的信息。
103.应当理解,在各种上下文中,参与一个或多个通信交换不一定表示终结点不可用于参与另一通信交换。诸如通信类型(例如,文本、消息、电子邮件、聊天、电话)、客户端标识的或用户标识的目标响应时间、和/或系统负载(例如,通常是或关于用户)的各种因素可能影响终结点可参与多少交换。
104.当交互管理引擎625已经标识了参与通信交换或连接的终结点时,交互管理引擎625可以通知终端路由引擎650,终端路由引擎650可以从终结点数据存储器655检索关于该终结点的任何相关数据,诸如目的地址(例如ip地址)、设备类型、协议等。然后,处理引擎610可以修改该包含消息的通信或者生成新的通信(包含消息)以便具有特定的格式、遵守特定的协议等。在一些实施方式中,新的或修改后的消息可以包括附加数据,例如对应于网络设备的账户数据、消息记录和/或客户端数据。
105.然后,消息发送器接口660可以将该通信发送至终结点。该发送可以包括例如通向容纳在单独外壳内的设备的有线或无线发送。终结点可以包括与连接管理系统150在相同或不同网络(例如,局域网)中的终结点。因此,将通信发送至终结点可以包括将通信发送至网络间连接组件或网络内连接组件。
106.图7示出了根据本技术的一些方面的意图管理引擎615的示例性实施方式。意图管理引擎615可以接收通信705或从消息数据存储器620访问此类通信。通信705可以由分类引擎710、意图识别引擎715、注释引擎720、质量评价引擎725、意图建模引擎730、人工智能引擎735、和意图数据编译器740进行处理。如本文中将进一步描述的,得到的编译数据可以被提供给计算设备750(诸如网络设备、客户端设备、和/或终端设备)的接口以用于分析和/或操控。
107.通信705可以被提供给分类引擎710。如本文所述,通信705可以为自然语言并且可以包括一个或多个字。在一些实施方式中,通信705可以包括不同语言的字、体现为象形图或表情符号的字、或与意图类别相关联的字符串或图像串,而不管标准含义或词典含义如何。在一些示例中,字可以在通信705中作为音频数据接收。分类引擎可以被配置成联合处理器来解析通信705以识别一个或多个关键字(本文中也称为“有效字”)。有效字可以与发起通信705的用户可用的动作有关。例如,通信705可以陈述“我想要支付我的账单”。有效字可以是“支付账单”。分类引擎710可以将有效字传递给意图识别引擎。
108.意图识别引擎715可以联合处理器来从分类引擎710接收有效字。意图识别引擎715可以使用有效字来识别意图。示例性意图包括“支付_账单(pay_bill)”、“更改_地址(change_address)”、“与_代表_交谈(speak_to_representative)”、“更改_到期_日(change_due_date)”、“产品_信息(product_information)”、“进行_预订(make_a_reservation)”、“进行_购买(make_a_purchase)”等。该意图可以限定发起通信705的用户可用的动作。在一些实施方式中,意图可以被预定义并被存储在意图数据存储器745中。在这些实施方式中,意图识别引擎715可以利用有效字来查询意图数据存储器745以定位相应的预定义意图。例如,意图识别引擎715可以利用字“支付账单”查询意图数据存储器745以识别“支付_当前_账单(pay_current_bill)”的最接近的匹配意图。在一些实施方式中,有效字可能不对应于已存在的意图。在这些实施方式中,意图识别引擎715可以创建新意图并将其与所接收的有效字相关地保存到意图数据存储器745中。意图识别引擎715可以将识别的意图传递到注释引擎720。
109.在另一个示例中,意图识别引擎可以使用ai处理器、神经网络或其他用于分析通信或通信705的一部分的系统来实现。这可以包括自然语言处理,以选择与来自客户端设备的消息相关联的意图值。例如,如果客户端设备要发送文本“预约”,则可以使用意图识别引擎715来处理该字以识别用于行程安排的意图类别。此类意图类别还可以包括动作或子类
别,例如查看所有预约、取消预约、重新安排预约的动作选项或其他此类值。使用意图识别引擎,可以处理文本“预约”,以选择与意图值关联的响应。在一个示例中,意图识别引擎715的机器学习模型可以确定,接收到与查看所有预约的意图值相关联的响应消息与意图指示数据“预约”最接近,并使用消息进行响应以澄清意图类别。例如,响应动作可以是具有内容“查看所有预约?”的消息。相反,来自客户端设备的具有“新预约”、“cx apptmt”、“apt?”、“nxt apt”、“apt时间?”或“cng apt时间?”的新消息中的每一者都可以导致意图识别引擎715基于从消息中识别的字确定的不同意图值提供不同响应。
110.意图识别系统可以使用消息中的字作为ai分析的有效字或输入,以识别意图类别。这些字作为意图数据来操作,可以与历史数据、用户简档数据或任何这样的源一起聚合,以供用户自定义意图分析并为来自用户设备的通信选择意图类别。一个示例可以包括来自客户的自然语言文本,该自然语言文本指示试图在主账户与已开立且与该客户相关联的新会计账户之间转移资金。意图处理系统可以评估用户通信中的字,以确定客户希望解决的问题。在此特定情况下,客户可能在将资金从一个在线账户转移到另一个账户时遇到麻烦。基于所提供的字,意图识别引擎715可以从多个源收集数据,以确定响应于用户通信要使用哪些意图类别、子类别和相关联的动作。在一些示例中,除了用户消息的字之外,还可以使用上下文数据。该上下文数据可以包括与请求或问题共享的上下文相关联的意图或动作值、紧急程度、客户的压力或焦虑程度、是否存在时间压力等。
111.在一个示例中,基于识别的意图类别,意图识别引擎715基于识别的意图类别选择人工智能引擎735。该特定人工智能引擎735可以从多个不同的ai引擎选项中选择。例如,不同的意图类别或类别组可以与包括ai引擎735在内的不同的ai引擎相关联。ai引擎735与意图类别相关联,以解决客户提供的与所识别的意图类别相关联的问题或请求。例如,基于从用户通信中识别的意图类别,系统可以确定在客户可以将资金转入账户之前,账户必须经过授权。此外,系统可以确定可以在线执行账户授权。基于所识别的过程,意图识别引擎715选择ai引擎735,该ai引擎735以不仅解决意图而且以导致积极的客户体验的方式来促进用于响应客户意图的动作。这可以包括将客户定向到客户端客户服务节点,或者协助建立与这样的节点的连接通道。除了ai引擎735选择的路由路径之外,系统还可以基于数据(例如,意图指示数据、动作数据、用户人口统计数据等)生成与自定义路由路径相关联的自定义自然语言通信。这可以包括用户的自定义语言和术语(例如,“我看到问题”)以作为响应于用户通信和由意图识别引擎715识别的意图类别的动作,提供用户自定义的信息。此类系统通过减少各个用户实现适当问题解决方案而使用的系统资源来改进设备和通信系统的操作,并提高通信效率。
112.在一些示例中,意图建模引擎730的机器学习模型可以使用监控网络设备(例如客户)与服务(例如客户端)之间的通信的反馈系统。这样的性能监控系统可以监控客户与客户端之间的交互,以确定客户端是否能够有效地处理客户的意图。这种监控还可以提供用于更新意图识别引擎715、ai引擎735、意图建模引擎730、质量评估引擎725或意图管理引擎615的任何其他方面的训练数据。例如,性能监控系统可以评估任何客户的话语,以确定当从客户接收到新的意图指示数据时,意图是否正在满足(例如,监控沮丧程度或机器学习识别的指示符,即表明客户未通过与客户端系统的当前节点的交互实现预期结果)。作为说明示例,性能监控系统可确定,当客户用“完成”响应时,客户已确认从客户端提供的路由路径
中获得了积极结果,并且客户能够选择路由路径来实现客户的意图。此外,当客户用“谢谢!成功了!”响应时,性能监控系统可确定客户的意图已得到满足。然后,该信息可用于更新系统任何方面的机器学习模型,包括分析其他用户的意图指示数据,以识别用于未来系统用户的意图值。例如,性能监控系统可以实施一种调查算法,该算法监控客户端度量,以确定为什么选择某些路由路径时会产生消极或积极的客户结果。基于此确定,性能监控系统可以向机器学习算法提供反馈,以更新操作、节点选择和路由路径,从而改进系统性能。在不同的实现方式中,此类更新可以被聚合并呈现给客户端以供批准和发布给面向用户的通信通道,或者可以被配置为用于自动连续实时或近实时(例如,在系统给定的处理和其他资源限制中排队)动态更新。在某些示例中,动态更新通过阈值跟踪自动实现,以检查注释数据的转变,并在自动动态更新超过某些阈值时要求客户进行审查。例如,如果为某个字分配了具有意图类别的初始相关值,则偏离原始注释值的大于给定百分比的阈值变化(例如5%、20%、50%等)可能需要系统管理员或客户端的审查和批准。这可以防止数据中的意外趋势意外破坏系统操作或生成与用户和客户端预期不一致的动作。如本文所述,服务器系统可以执行任何此类操作,或者操作可以是联网服务器系统的一部分,其中不同的子系统或引擎一起操作以执行此类操作。
113.注释引擎720可以联合处理器来从意图识别引擎715接收识别的意图类别。注释引擎720可以促进识别的意图的注释。注释可以限定通信与识别的意图之间关联的质量。在一些实施方式中,注释引擎720可以通过应用公式自动地评价关联的质量。例如,注释引擎720可以自动地计算有效字“支付账单”与意图“支付_当前_账单”之间的质量为66%,而可以将质量为100%分配给有效字“支付账单”与意图“支付_账单(pay_bill)”。在一些实施方式中,注释引擎720可以将有效字和识别的意图提供给计算设备的用户界面,以便于接收关联的质量的手动评价。该手动评价可以作为反馈由监控对用户通信的基于ai的响应的代理提供。该手动评价也可在通信后用于生成训练数据,以用于对意图管理引擎615的任何方面进行修正。
114.在一些示例中,注释引擎720可以与ai引擎735并行操作。在这样的系统中,当意图识别引擎715选择意图类别时,ai引擎和注释引擎720分别被提供意图类别。ai引擎735可以基于意图类别自动选择一个或多个动作。注释引擎720可以提供关于意图管理引擎615的操作的任何方面的置信度反馈。与其他可能的意图类别相比,这可以包括对特定意图类别选择的置信度。这可以包括ai引擎735识别的多个可能动作之间的置信度。注释引擎720可提供对ai选择操作的质量检查,该质量检查既可用于设置对当前通信705的响应的阈值动作,也可用于生成用于更新意图管理引擎615的任何方面的训练数据。例如,注释引擎720可以识别与响应于通信的意图或动作相关联的质量置信度分数。在一些示例中,如果注释引擎720质量分数低于阈值,则采取回退动作,例如将通信路由到特定代理或其他终结点,而不是依赖ai响应。在其他示例中,可以按性能对代理进行分组。注释引擎720的具有高置信度分数的结果可以路由到性能较低的代理,因为错误阈值和预期结局不太可能受到代理性能的影响。注释引擎720具有低置信度分数的结果(其中代理的判断力更可能重要)可以路由到具有较高性能分数的代理。这也可用于创建训练数据的置信度,其中较高性能代理审查意图管理引擎615性能的复杂方面,并提供可能导致新类别或其他重大系统改变的意图类别的反馈。因此,注释引擎720例如不仅可以提供质量值作为意图类别反馈的一部分,还可
以用于识别可添加到系统的缺失类别、不必要或冗余类别(例如,通常具有类似置信度值并导致类似或相同系统动作的意图类别)或其他此类问题。
115.意图建模引擎730被配置成联合处理器来基于对意图所做的分类和注释构建意图的模型。该模型可以用于协助改善意图、添加新意图、将不同分类与意图相关联、将不同意图与某一分类相关联等等。
116.人工智能引擎735被配置成连同处理器来将人工智能应用于意图模型以集合与意图相关的数据并基于结果和分析得出关于可以采取的动作的结论。人工智能引擎735可由例如配置有人工智能系统的计算机来实现,以学习、应用和迭代地开发用于反映意图的更好模型。随着时间的推移,这些模型可能会随着输入数据的不断改善,以学习数据中的趋势并更好地预测意图。如上所述,人工智能引擎735可以是具有多个ai引擎的系统的一部分,或者可以包括不同的ai系统。例如,在某些系统中,每个意图类别可以与不同的神经网络相关联。可通过针对特定意图类别自定义的特定神经网络来分析通信中接收到的有效字或词的特定组合。通过将不同的神经网络用于较窄的意图类别,各个神经网络的大小和复杂性受到限制,并且可以在系统资源有限的情况下更有效地进行管理。例如,决定用户是否试图支付当前账单、过去账单或部分账单付款的神经网络将比如下的神经网络的复杂度和资源密集度更低:该神经网络在这些选项以及账户访问帮助、欺诈援助、新账户开立或在系统中可能发生的其他大不相同的动作的选项中做出决定。
117.意图数据编译器740被配置成连同处理器来聚合由人工智能引擎735输出的信息并将该信息制定成能够由计算设备750进行显示。计算设备750能够操控并配置所显示和所分析的数据。这可以包括针对图11和图12的界面生成数据。
118.图8示出了根据本技术的一些方面的方法实施方式的流程图。所述方法描述了分析意图的实施分数。在一些示例中,方法800由计算设备执行。在一些示例中,方法800体现为当由设备的一个或多个处理器执行时使设备执行方法800的操作的指令。
119.方法800包括步骤805,其中从设备接收通信。通信可以包括一个或多个字。如上所述,可以以各种格式接收通信。在一些实施分数中,通信可以是自然语言的。在一些示例中,这些字被配置为音频数据,这些音频数据可以直接处理,或者由服务器系统转换为文本,或者与另一联网设备提供的语音到文本服务进行通信。该设备可与一个或多个动作相关联。可以基于意图管理引擎615发现的用户意图来关联动作,意图管理引擎615处理来自通信的数据以选择意图类别并分配关联动作。响应所采取的动作而接收到的用户反馈可用于确定是否已识别正确的关联动作,或者是否需要添加动作以继续获得用户的偏好结果,这是用户已联系系统而实现的关联动作。
120.在步骤810,可以自动解析该通信以识别对应于与设备相关联的动作的一个或多个有效字。例如,通信可以陈述“我想要跟代表交谈”。该通信中的有效字可以是“代表”。可以通过将字与数据库中标识的有效字进行比较来识别有效字。在其他示例中,解析可由自然语言处理器、自然语言分析系统、神经网络或任何其他此类基于机器的通信分析来执行。
121.在步骤815,可以识别与一个或多个有效字相关联的意图。意图可以限定动作。例如,针对有效字“代表”,预定义的意图可以是“转发_到_代理(transfer_to_agent)”。在一些实施方式中,可以通过存储在数据库中的存储的有效字与意图之间的关联来识别意图。因此,可以通过搜索意图数据库来识别意图。通过将人工智能和/或机器学习应用于历史和
当前数据,可以随着时间的推移以提高的质量更好地识别和精化意图,以更好地预测意图。在一些示例中,步骤810和815的操作可以是组合或多步骤过程的一部分。例如,可以执行初始解析以选择输入到神经网络的有效术语。神经网络的输出是具有关联动作(例如,由意图类别定义的动作)的意图类别。在一些示例中,神经网络可以用于通信的解析和意图的识别两者。在一些示例中,初始意图识别可用于改善分析。例如,可以启动循环,其具有用于基于初始意图重新解析通信的初始识别的意图以及基于附加分析对意图类别进行的子类别识别。例如,可以解析通信“我担心我的账单付款”,以识别账单付款和初始“账单付款”类别。后续解析可将“担心”标识为附加的有效术语,该术语可导致被识别为“当前账单”或“逾期账单付款”的子类别意图。各种系统可以包括多个层次的此类分析。
122.在步骤820,可以促进意图的注释。注释可以限定通信与意图之间关联的质量。在一个实施方式中,可以通过应用算法来自动地进行注释。在一些实施方式中,可以基于原始通信与识别的意图之间的相关性手动地完成注释。质量可以以任何合适的形式来注释,包括用字(例如,“是”和“否”)、百分比(例如,“80%”)、数字(例如,从1到10的范围)等来注释。在一些示例中,注释分析使用独立于识别分析的历史数据执行。在一些示例中,注释由审查执行步骤815的识别的ai引擎操作的代理执行。在一些示例中,可以生成基于ai和基于代理的注释,以创建关于通信(例如,通信中的字)与意图(例如,从系统中可用的可能意图类别中选择的意图类别)之间的关联的质量反馈。
123.在步骤825,可以基于关联的质量为意图计算度量。度量可包括例如意图的频率、该意图的最有经验的代理、意图的难度水平等。在步骤830,可以促进意图和度量的显示。
124.在一些实施方式中,可以基于意图和度量检索一个或多个代理配置文件。该一个或多个代理配置文件中的每一者都可以与代理和终端设备相关联。代理配置文件可以包括与代理相关联的信息,该代理具有特定意图、类别、话题或主题方面的知识。代理配置文件还可以包括评级、问题解决时间、工作负荷、经验、费用结构、地理位置、感兴趣的意图、训练需求、难度水平等。
125.在一些实施方式中,可以选择一个或多个代理配置文件中的一代理配置文件。可以基于代理配置文件与意图的相关性以及通信与意图之间的关联的质量来选择该代理配置文件。代理配置文件与意图的相关性可以指示意图匹配或最接近于例如该代理熟知的或具有经验的意图。还可以基于通信与意图之间的关联的质量来选择该代理配置文件。例如,如果具有通信与意图相关联的100%的置信度,则可以选择非常熟知该意图的某一代理。如果置信度相对低、例如为50%,则可以选择不太熟知该意图的代理,因为不太可能识别正确的意图,并且可能不需要最熟知的代理。
126.在一些实施方式中,通信可以被路由。当在与代理配置文件相关联的终端设备处接收到通信时,促进动作的执行。例如,如果意图指示用户想要跟代理交谈,则可以在用户与代理之间打开通信通道。
127.图9示出了根据本技术的一些方面的意图模型的界面900的示例屏幕截图。图9示出了系统客户端选择意图和自定义意图分类的能力。如图所示,界面900包括具有意图类别911、912、913、914和意图子类别920的意图列表910。该意图列表910可被视为提供如本文所述的通信系统意图分析的服务的特定客户端可用的一组意图。根据本文所述的示例,特定客户端可以是银行、医疗服务提供商、为产品提供支持的产品的制造商或商户、或者如本文
所述的支持与用户的通信的任何其他客户端。界面900可允许客户端添加或修改可用于联系ai支持的通信系统的用户的意图类别。子类别数据窗口930和动作树950允许客户端查看和修改与可用于用户的意图类别相关联的数据。例如,在用户界面900的各种其他所示标签中,用户可以创建训练数据、审查注释质量、训练模型和发布模型。图9特别示出了根据本技术的一些方面用于建立意图的示例性自定义界面。在图9的示例中,意图的分类(例如,意图列表910)可以手动输入,也可以从预定义列表中选择。当系统操作时,在某些示例中,ai和机器学习算法可以自动创建附加的意图类别或子类别。在其他示例中,ai或机器学习系统可以建议附加意图类别,并且客户可以通过选择添加到意图列表910的建议来选择如何将这些建议添加到系统操作中。在某些示例中,可以存在附加分组。例如,可以根据域将多个意图类别列表分组在一起,每个域可以具有自己的意图集。意图集可以按版本保存为通用或自定义的。此外,可以使用多层子类别。例如,子类别920中的每一个子类别都可以具有子子类别,子子类别还可以具有在其下面构造的进一步的子类别,等等,这取决于针对特定系统客户端的意图确定的动作和精化的特定结构。
128.然后,数据窗口930和动作树950描述了关于意图列表910中的类别以及列表中类别之间关系的附加信息。数据窗口930既可用于生成用于意图类别的训练数据,也可用于显示与意图类别或子类别相关联的动作的信息的示例。id931是标识所显示数据的字段(例如,通过意图类别、子类别、数据库条目等),数据选择器932可用于排序或选择数据938以在数据窗口930中显示。数据938可以包括可与意图类别或子类别相关联的建议字或短语。当初始生成意图列表910时,可以基于针对客户端类型的预期信息对该列表进行种子化,然后可以使用联系系统的用户实际使用的字和短语更新数据938的列表。随着与用户的通信发生,并且来自用户通信的字与意图类别相关联,并且通信导致用户交互的问题解决方案(例如,积极问题解决方案和消极问题解决方案),与意图类别相关联并成功解决问题的字可以针对特定意图添加到数据938中。可从用于一个类别的数据938中移除导致不成功问题解决方案的字、或经常导致系统从一个意图类别和该类别的关联动作转变到具有不同关联动作的不同类别的字,并将其与另一类别的数据放在一起。在一些示例中,特定数据938的注释信息可用于允许客户端进行选择以将短语和字的关联转变到不同的意图类别(例如,使用ui选择指示符936来强调或不强调特定字与特定意图类别或子类别之间的关联)。不同ui标签934可用于选择用于显示的不同类型的数据938,例如种子短语、自定义客户端提供的短语、机器学习建议的短语、数据938的评论或历史数据、或其他此类信息。
129.然后,动作树950允许直观指示不同意图类别和子类别以及关联动作之间的关系。示出为类别指示符952、954和956的示例性类别指示符示出为与动作958相关联。在一些示例中,动作958可以是对附加用户信息的请求,以澄清用户的意图,并将系统集中到更窄的子类别,例如来自更广的意图类别912的子类别920。动作树950还可用于可视化导致相同动作958的类别之间的关系,或可视化可从意图类别分支出的不同动作之间的关系。该动作树950可由客户端用于构造和选择动作,以及修改与特定类别相关联的动作。这可以包括添加用于某些输入字的注释信息。这还可以包括用于显示和修改关于经常导致消极用户反馈或者相关性或结果差的动作或意图的信息的界面。系统的客户端可以修改针对意图的动作或数据,以尝试实现意图类别的更好结果。在某些示例中,ai或机器学习系统可以自动进行此类更改,或者可以基于系统历史数据建议更改以供客户端批准(例如,通过不同的字或意图
类别分析循环和对话路径,从而产生不同的问题解决方案)。
130.界面900允许客户端插入和跟踪自定义意图。界面900允许定义这些自定义意图并将其与训练数据相关联。注释数据可以添加到自定义意图中,以设置系统中与自定义意图相关联的(一个或多个)模型的意图检测质量功能条。在某些示例中,这允许在将界面类别结构的更新或更改发布到用户可访问的活动系统之前,在分析系统中对系统进行修改以进行建模。这可以包括创建离线系统(例如,意图管理引擎615的更新版本),该离线系统可以在发布给用户之前使用训练数据、注释质量和训练模型进行处理。此外,这种离线系统可用于通过使用利用活动系统历史生成的更新训练数据进行更改来更新已发布的系统。这可以包括将客户反馈和系统结果整合到用于先前发布系统的更新版本的训练数据中,以及在收集更多信息或出现特征和系统结构的更改时,将新注释质量数据整合到系统的新版本中。例如,如果系统的客户端发布的新产品与以前的产品具有不同的关联动作,并且不再支持旧产品,则客户端的动作可以更改,并且用户通信中预期的用户字和字之间的关联可以更改。在发布到实时面向用户的系统之前,可以使用离线版本对这些更改进行建模。类似地,当银行系统推出新产品、医疗服务提供新程序、或其他客户端业务更改导致客户端预期通信发生更改时,可以更新通信系统,以适应这些更改,并跟踪与系统联系以获取与客户端相关联的信息和动作的用户的意图类别的更改。
131.图10示出了注释值和意图类别的校准图1020,其中示出了意图频率1010。如上所述,注释可以提供关于意图的质量信息,例如用户通信中的字与意图类别之间的关联。例如,当向系统提供初始训练数据时,注释值可以指示分数或置信度百分比,即某些字将指示针对特定意图类别的用户意图以及针对意图类别的动作。例如,特定字可以为多于一个的意图类别分配注释值,并分配不同的质量强度值。校准图1020包括校准线1040,校准线1040是注释和某些字将导致分配到正确意图类别的概率之间的理想关联。注释分组1022可用于标识注释组合如何交互以产生类别分配,从而特定注释组具有沿着置信度轴1024和概率轴1024绘制的置信度值和概率值。如图所示,示出了第一注释组1032、第二注释组1034和第三注释组1036的曲线图。使用校准图1020,可以在实时系统中使用不同的注释和注释组来提高性能(例如,通过对用户通信产生积极问题解决方案的动作来提高用户通信与意图类别之间的系统匹配度)。初始意图类别分配可以基于这些注释值,并且当系统接收到与用户通信相关联的数据时,这些注释值可以根据本技术的某些方面的意图通过机器学习操作自动修改。图10示出了示出为意图频率1010的多个意图的频率。例如,对于示例性实现方式,最长功能条可以与最频繁分配的意图类别(例如“请求_账单或费用_信息”)相关联,最短功能条可以与最不频繁分配的类别(例如“预订单_产品”)相关联。图10进一步示出了校准图1020,该校准图以图形方式示出了与通过各种注释器分组的输入用户通信相匹配的意图类别的正确预测的概率和置信度分数。这允许当用户通信中的字与意图类别匹配时修改注释器以调整系统结果。例如,校准图1020可以被设置用于识别术语“请求”被高估(overweight)为“产品购买”,而被低估(underweight)为“请求账单”。可以转变注释以增加在用户通信中存在被分配有“请求”一词的意图类别“请求账单”的概率,并降低在用户通信中存在被分配有“请求”一词的意图类别“产品购买”的概率。
132.图11a-图11f示出了根据本技术的一些方面的用于意图驱动的联系中心的控制面板报告的示例性方面。图11a是示出了用于通信和意图的度量的控制面板过滤器界面1100
的屏幕截图。例如,图11a可以包括数据,该数据示出了关于对话的数量、通信会话的平均持续时间、意图分数、对话的意图、意图趋势、意图持续时间的概要信息或诸如使用数据概要界面1110的数据1114、数据度量1108图形和图表1116数据的其他信息。这些分析可以在用户联系意图驱动的联系中心并且他们的意图被确定时变得可用。用于添加过滤器、选择过滤器和设置过滤器的值范围的界面元素可用于使用添加过滤器元素1102、过滤器类型选择1104、过滤器值选择1106和其他此类用户界面选择来选择显示的数据。例如,在所示的过滤器界面1100中,数据概要界面1110可以在每个界面区域的关联数据1114区域中显示不同的概要数据类型以及每个界面的关联趋势箭头1112。图表1116可以示出随时间推移的意图类别分配量。例如,图表1116的每条线可以指示在给定的地理区域的一天中的给定小时(例如,在午夜的意图分配下降到接近零)内的意图分配量。每个意图类别可以具有一个或多个相关联的数据概要界面1110,该界面示出关于意图类别的统计值,例如过去一年的日平均量、周平均量、周平均趋势(例如变化)或任何其他此类度量。本文所描述的示例可以促进使用诸如过滤器界面1100或其他此类界面的界面来显示ai辅助通信系统的意图和度量数据。
133.图11b包括控制面板报告界面或其他此类界面的各个方面,这些界面可包括示出最高意图分数的数据概要界面1110示例、以及具有校准设置的关联视图设置1120界面,该界面可用于管理(例如,过滤器界面1100的)各种数据概要界面1110区域中显示的最高意图分数。示例性视图设置1120界面允许数据分类选择1124将质量文本值分配给意图分数(例如,极优秀、优秀、良好、一般、较差)。另外,诸如视图类型选择1122的界面元素可用于为诸如图11b的示例的特定数据概要界面1110选择标准设置。
134.图11c、图11d和图11d是如图表1116a、1116b和1116c所示的图表1116的示例。每个示例性图表1116是控制面板报告,其示出按意图的对话量,具有水平时间轴1117和竖直数量轴1118。可以使用图表选择界面1115值来选择图表1116的特定意图数据。这可以为图表的意图数据选择一个或多个过滤特征(例如,总时间段、地理区域、(一个或多个)关联代理、意图类别的意图子组、相关意图类别分组等)。所示的图表1116a包括意图数据1130,图表1116b包括意图数据1132,图表1116c包括意图数据1134。数量轴1118示出了意图类别在沿时间轴1117的时间段内被分配的次数。时间轴的结构可以使每个数据点为每分钟、每十分钟增量、每小时、或时间轴1117的任何其他选定时段的分配的次数。在一些实现方式中,时间轴1117的时段可以通过界面的用户界面选择(例如过滤器界面1100的过滤器值选择1106)来设置。
135.图11f是示出代理与用户对话的控制面板的屏幕截图。如本文所述,在一些示例中,系统采取的动作可以完全自动化,因此意图类别导致系统采取的自动化动作(例如,使用系统ai、语言处理或其他系统自动传输的响应通信).在其他示例中,一些或所有动作可以是ai辅助动作,涉及代理使用计算设备来实现对代理的ai辅助。在此类实现方式中,系统数据可以通过意图分类和代理来跟踪。图11f的界面包括允许特定代理(例如代理1142)被选择的代理列表1140。代理趋势数据1150和关联概要数据可以示出在界面的一个或多个概要区域中整合意图数据和代理数据的度量。这可以包括对于给定代理,与给定意图类别的对话持续时间的趋势、以及对于该代理,统计超时趋势。这可以包括不同意图类别、或意图类别组、或子类别的趋势。涉及代理和用户的特定对话的示例可显示在代理历史数据1144中。在一些示例中,ai系统可处理涉及代理的所有通信,并自动生成一组具有代表性的对
话,包括普通对话和落入阈值参数集合外的任何对话。此外,用于识别来自用户通信的字的自然语言处理系统或其他系统也可用于识别代理响应通信中的用于代理对话的文本数据1145中的某些字。此类信息可以显示在代理历史记录数据1144界面中,以及显示附加代理概要1146数据和代理审查数据1148。代理历史记录数据1144、代理概要1146和代理审查数据1148的控制面板示出与用户交换的消息、代理对话的总体度量、以及评级和问题解决方案框。代理概要1146数据可包括关于代理性能的度量,如用户评级、对话时间、与其他代理的比较排名、代理对话高于或低于与其他代理的阈值比较的区域或意图类别、或其他此类信息。代理审查数据1148可包括由系统从作为与给定代理对话的一部分的用户(例如,参与对话的用户,对话包括用于代理1142的文本数据1145)接收的特定反馈。如上所述,当反馈和趋势被整合到ai和机器学习系统中时,此类代理信息可用于评估系统更新。例如,在某些实现方式中,只有与具有特定概要数据度量(例如阈值响应时间、阈值用户反馈分数等)的代理相关联的意图数据用于使用机器学习更新ai系统。
136.图12示出了根据本技术的一些方面的意图驱动的联系中心的示例性代理排名界面1200。代理排名包括按参与的客户总数排名的代理和按对话量排名的代理。由于代理随着时间的推移处理和解决对话,这些分析能够变得可用。在图12的示例中,代理数据1204可以包括针对给定意图类别的排名靠前的代理的列表、以及具有代理比较1202的图形。代理比较图形可以包括靠前代理的靠前度量值、以及示出靠前代理处理的量的份额的彩色功能条。类似地,代理数据1208可包括具有用于代理比较1206的类似图形的最低性能代理的列表,其可示出排名最低的代理的最低性能值。这样的代理排名界面1200可以提供关于性能变化的系统反馈。在一些系统中,可以呈现关于代理之间的标准偏差和各种性能等级的信息。与其他界面一样,该信息可以按意图类别、时间、地理位置或系统存储的任何数据类别进行细分。
137.在各种实现方式中,上述ai和机器学习系统可以与界面整合,以提供关于系统使用和操作的信息。此类界面可实时动态且持续地更新(例如,在给定资源限制的情况下进行处理),以提供关于系统性能和系统使用的反馈。此类示例通过提供关于系统性能的信息,并允许在发生故障之前识别系统中的错误或改进,而改进了通信系统的操作。这样的界面通过促进响应于用户意图的添加功能和动作的更新(例如,在添加新的通信路径或功能时添加新的操作,以响应用户偏好并满足与访问通信系统的用户相关联的用户意图)而改进了通信系统的操作。此外,上述ai和机器学习系统提供了界面以外设备性能的改进。如上所述,这包括响应性能的改进,以及减少在系统采取的使用计算资源的动作与用户预期的结果不一致时浪费的处理资源。这些资源被浪费,并且由于系统试图达成满足用户意图的动作,因此在系统循环中使用附加的资源。所述的用户通信与意图类别的意图匹配的改进提高了所涉及的计算设备的效率,节约了电力和系统资源,同时代表系统客户端向用户提供通信和处理效用(例如,为用户构造意图类别和动作)。虽然上面描述了各种步骤,但显然可以重复某些步骤,也可以执行中间步骤。此外,系统中的不同设备将执行相应的步骤,并且各种设备可以同时执行多个步骤。例如,设备可以执行这些步骤来同时向多个代理路由请求,同时多个不同代理的设备执行相应的操作,并且代理设备与用户设备通信。
138.图13示出了根据一些实现方式的计算系统架构1300,包括使用连接1306(例如总线)彼此进行电通信的各种组件。示例性系统架构1300包括处理单元(cpu或处理器)1304和
将包括系统存储器1320的各种系统组件(例如rom 1318和ram 1316)联接到处理器1304的系统连接1306。系统架构1300可以包括高速存储器的高速缓存1302,高速存储器直接与处理器1304连接、靠近处理器1304或集成为处理器1304的一部分。系统架构1300可以将数据从存储器1320和/或存储设备1308复制到高速缓存1302以供处理器1304快速访问。这样,高速缓存可以提供性能提升,从而避免处理器1304在等待数据时的延迟。这些和其他模块可以控制或被配置为控制处理器1304执行各种动作。
139.也可使用其他系统存储器1320。存储器1320可以包括具有不同性能特性的多种不同类型的存储器。处理器1304可以包括任何通用处理器和硬件或软件服务,例如存储在存储设备1308中的服务1 1310、服务2 1312和服务3 1314,这些服务被配置为控制处理器1304以及软件指令被合并到实际处理器设计中的专用处理器。处理器1304可以是完全独立的计算系统,包含多个核或处理器、总线、存储器控制器、高速缓存等。多核处理器可以是对称的或非对称的。
140.为了实现用户与计算系统架构1300的通信,输入设备1322可以表示任意数量的输入机构,例如用于语音的麦克风、用于手势或图形输入的触敏屏、键盘、鼠标、运动输入、语音等。输出设备1324还可以是本领域技术人员已知的多个输出机构中的一个或多个。在一些实例中,多模式系统可使用户能够提供多种类型的输入以与计算系统架构1300通信。通信界面1326通常可以管理和控制用户输入和系统输出。对任何特定硬件布置的操作没有限制,因此,在开发时,这里的基本特征可以很容易地替换为改进的硬件或固件布置。
141.存储设备1308是非易失性存储器,并且可以是硬盘或其他类型的计算机可读介质,其可以存储计算机可访问的数据,例如磁带盒、闪存卡、固态存储设备、数字多功能磁盘、盒式存储器、ram 1316、rom 1318及其混合体。
142.存储设备1308可以包括用于控制处理器1304的服务1310、1312、1314。能想到其他硬件或软件模块。存储设备1308可以连接到系统连接1306。在一个方面中,执行特定功能的硬件模块可以包括存储在计算机可读介质中的软件组件,该软件组件与执行该功能所必需的硬件组件(例如处理器1304、连接1306、输出设备1324等)相连接。
143.公开的礼物选择、归属和分配系统可以使用计算系统执行。示例性计算系统可以包括处理器(例如,中央处理单元)、存储器、非易失性存储器和接口设备。存储器可以存储数据和/或一个或多个代码集、软件、脚本等。计算机系统的组件可以通过总线或一些其他已知或方便的设备联接在一起。处理器可被配置为例如通过执行例如存储在存储器中的代码来执行本文所述的全部或部分方法。用户设备或计算机、提供商服务器或系统、或挂起的数据库更新系统中的一者或多者可以包括计算系统的组件或此类系统上的变型。
144.本发明考虑采用任何合适的物理形式的计算机系统。作为示例而非限制,计算机系统可以是嵌入式计算机系统、片上系统(soc)、单板计算机系统(sbc)(例如,模块上计算机(com)或模块上系统(som))、台式计算机系统、膝上型计算机或笔记本计算机系统、交互式信息亭、大型机、计算机系统的网格、移动电话、个人数字助理(pda)、服务器、或这些中的两者或更多者的组合。在适当情况下,计算机系统可包括一个或多个计算机系统;单一的或分散的;跨越多个位置;跨越多台机器;和/或驻留在云中,云可以包括一个或多个网络中的一个或多个云组件。在适当的情况下,一个或多个计算机系统可以在没有实质性空间或时间限制的情况下执行本文所述或所示的一个或多个方法的一个或多个步骤。作为示例而非
限制,一个或多个计算机系统可在事件发生时执行,或在聚合多个事件的批处理模式下执行,例如在本文所述或所示的一个或多个方法的一个或多个步骤中执行。在适当的情况下,一个或多个计算机系统可以在不同的时间或不同的位置执行本文所述或所示的一个或多个方法的一个或多个步骤。
145.例如,处理器可以是传统微处理器,如英特尔奔腾微处理器或摩托罗拉功率pc微处理器。相关领域的技术人员将认识到术语“机器可读(存储)介质”或“计算机可读(存储)介质”包括处理器可访问的任何类型的设备。
146.存储器可通过例如总线联接到处理器。作为示例,存储器可以包括但不限于随机存取存储器(ram),例如动态ram(dram)和静态ram(sram)。存储器可以是本地、远程或分布式的。
147.总线还可以将处理器联接到非易失性存储器和驱动单元。非易失性存储器通常是磁性软盘或硬盘、磁性光盘、光盘、只读存储器(rom),例如cd-rom、eprom或eeprom、磁卡或光卡,或用于存储大量数据的另一种形式的存储器。在计算机中执行软件期间,这些数据中的一些通常通过直接存储器存取过程写入存储器。非易失性存储器可以是本地、远程或分布式的。非易失性存储器是可选的,因为可以使用存储器中的所有可用的使用数据创建系统。典型的计算机系统通常至少包括处理器、存储器和将存储器联接到处理器的设备(例如,总线)。
148.软件可存储在非易失性存储器和/或驱动单元中。事实上,对于大型程序,甚至不可能将整个程序存储在存储器中。然而,应当理解,对于要运行的软件,如有必要,将其移动到适于处理的计算机可读位置,并且出于说明目的,该位置在本文中被称为存储器。即使软件被移动到存储器中执行,处理器也可以利用硬件寄存器来存储与软件相关的值,以及利用本地缓存,在理想情况下,本地缓存用于加速执行。如本文所使用的,当软件程序被称为“在计算机可读介质中实现”时,假定软件程序存储在任何已知或方便的位置(从非易失性存储器到硬件寄存器)。当至少一个与程序相关联的值存储在处理器可读的寄存器中时,处理器被认为是“被配置为执行程序”。
149.总线还可以将处理器连接到网络接口设备。接口可以包括调制解调器或网络接口中的一个或多个。应理解,调制解调器或网络接口可被视为计算机系统的一部分。接口可以包括模拟调制解调器、综合业务数字网络(isdn)调制解调器、电缆调制解调器、令牌环接口、卫星传输接口(例如,“直接pc”)或用于将计算机系统联接到其他计算机系统的其他接口。接口可以包括一个或多个输入和/或输出(i/o)设备。通过示例但不限于,i/o设备可以包括键盘、鼠标或其他定点设备、磁盘驱动器、打印机、扫描仪和其他输入和/或输出设备,包括显示设备。通过示例但不限于,显示设备可以包括阴极射线管(crt)、液晶显示器(lcd)、或一些其他适用的已知或方便的显示设备。
150.在操作中,计算机系统可由包括文件路由系统(如磁盘操作系统)的操作系统软件控制。具有相关联的文件路由系统软件的操作系统软件的一个示例是来自华盛顿州雷德蒙微软公司的操作系统系列及其相关联的文件路由系统。操作系统软件及其相关联的文件路由系统软件的另一个示例是linux
tm
操作系统及其关联的文件路由系统。文件路由系统可存储在非易失性存储器和/或驱动单元中,并可使处理器执行操作系统涉及的各种动作以输入和输出数据并将数据存储在存储器中,包括将文件存储在非易失性存储器
和/或驱动单元上。
151.具体实施方式的某些部分可根据计算机存储器内数据位操作的算法和符号表示来呈现。这些算法描述和表示是数据处理领域的技术人员使用的手段,以最有效地将其工作的实质传达给本领域的其他技术人员。这里的算法通常被认为是得到期望结果的自洽的操作序列。这些操作是需要对物理量进行物理操纵的操作。通常,尽管不必须,这些量采取能够被存储、传输、组合、比较和以其他方式操纵的电信号或磁信号的形式。事实证明,主要是出于常用的原因,有时将这些信号称为位、值、元素、符号、字符、术语、数字等是方便的。
152.但是,应记住,所有这些和类似的术语都与适当的物理量相关,并且只是适用于这些量的方便标签。除非从以下讨论中明显地另外说明,否则应理解,在整个描述中,利用诸如“处理”或“计算(computing)”或“计算(calculating)”或“确定”或“显示”或“生成”等术语的讨论是指计算机系统或类似的电子计算设备的动作和过程,该电子计算设备将计算机系统的寄存器和存储器中表示为物理(电子)量的数据操纵并转换为计算机系统存储器或寄存器或其他此类信息存储器类似表示为物理量的其他数据。
153.本文呈现的算法和显示与任何特定计算机或其他装置没有内在联系。根据本文的教导,各种通用系统可以与程序一起使用,或者可以证明构造更专门的装置来执行一些示例的方法是方便的。各种这些系统的相关结构将在下面的描述中出现。此外,不参考任何特定编程语言来描述这些技术,因此可以使用各种编程语言来实现各种示例。
154.在各种实现方式中,系统作为独立设备操作,或者可以连接(例如联网)到其他系统。在联网部署中,系统可以在客户端-服务器网络环境中以服务器或客户端系统的能力操作,或者在对等(或分布式)网络环境中以对等系统操作。
155.系统可以是服务器计算机、客户端计算机、个人计算机(pc)、平板电脑、膝上型计算机、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、iphone、黑莓、处理器、电话、web设备、网络路由器、交换机或桥接器、或任何能够执行一组指令(顺序指令或其他指令)的系统,这些指令指定了该系统要采取的动作。
156.一般而言,为实现本发明的实现方式而执行的例程可作为操作系统或应用程序、组件、程序、对象、模块或被称为“计算机程序”的指令的序列的一部分实现。计算机程序通常包括在计算机中的各种存储器和存储设备中在不同时间设置的一个或多个指令,并且这些指令当由计算机中的一个或多个处理单元或处理器读取和执行时,使计算机执行操作以执行本方面的各个方面所涉及的元素。
157.此外,虽然已经在功能齐全的计算机和计算机系统的上下文中描述了示例,但本领域技术人员将理解,各种示例能够作为程序对象以各种形式分布,并且,无论用于实际影响分布的机器或计算机可读介质的特定类型如何,本发明等同地适用。
158.机器可读存储介质、机器可读介质或计算机可读(存储)介质的进一步示例包括但不限于可记录类型介质,例如易失性和非易失性存储器设备、软盘和其他可移除磁盘、硬盘驱动器、光盘(例如,光盘只读存储器(cd-rom)),数字多功能磁盘(dvd)等),尤其是传输型媒介,如数字和模拟通信链路。
159.在某些情况下,存储设备的操作(例如,状态从二进制1变为二进制0或反之亦然)例如可能包括变换,例如物理变换。对于特定类型的存储器设备,这种物理变换可以包括物品到不同状态或事物的物理变换。例如但不限于,对于某些类型的存储器设备,状态的改变
可能涉及电荷的累积和存储或存储的电荷的释放。类似地,在其它存储器设备中,状态的改变可包括磁取向的物理改变或变换、或分子结构的物理改变或变换(例如从晶体到非晶体或反之亦然)。前述内容并非旨在是所有示例的详尽列表,在这些示例中,存储器设备中二进制1到二进制0的状态变化(或反之亦然)可包括变换(例如物理变换)。相反,前述内容旨在作为说明性示例。
160.存储介质通常可以是非暂时性的,或者包括非暂时性设备。在此上下文中,非暂时性存储介质可以包括有形的设备,这意味着该设备具有具体的物理形式,尽管该设备可以改变其物理状态。因此,例如,非暂时性是指尽管状态发生了变化,但仍保持有形的设备。
161.上述描述和附图是说明性的,不应解释为将主题限制在所公开的精确形式。相关领域的技术人员可以理解,根据上述公开内容,许多修改和变化是可能的。描述了许多细节以提供对本发明的透彻理解。然而,在某些情况下,为了避免使描述晦涩难懂,没有描述众所周知的或传统的细节。
162.如本文所使用的,术语“连接”、“联接”或其任何变型当应用于系统模块时,指两个或更多个元件之间的任何直接或间接的连接或联接;元件之间的连接的联接可以是物理的、逻辑的或其任何组合。此外,在本技术中使用的词语“本文”、“上面”、“下面”和类似含义的词语应指本技术作为一个整体,而不是指本技术的任何特定部分。在上下文允许的情况下,上述具体实施方式中使用单数或复数的词语也可以分别包括复数或单数。在提到两个或更多个项目的列表时,“或”一词覆盖对该词的以下所有解释:列表中的任何项目、列表中的所有项目或列表中的项目的任何组合。
163.本领域技术人员将理解,所公开的主题可以以下文未示出的其他形式和方式体现。应理解,关系术语(如果有的话)的使用,例如第一、第二、顶部和底部等,仅用于区分一个实体或动作与另一个实体或动作,而不一定要求或暗示此类实体或动作之间的任何此类实际关系或顺序。
164.当过程或块以给定顺序呈现时,替代实现方式可以以不同顺序执行具有多个步骤的例程,或使用具有多个块的系统,并且可以删除、移动、添加、细分、替换、组合和/或修改某些过程或块,以提供替选组合或子组合。这些过程或块中的每一个可以以各种不同的方式实现。此外,虽然过程或块有时示出为串行执行,但这些过程或块可以并行执行,或者可以在不同的时间执行。此外,本文所述的任何数字仅为示例:替选实现方式可采用不同的值或范围。
165.本文提供的公开内容的教导可以应用于其他系统,不必须是上面描述的系统。可以组合上述各种示例的要素和动作以提供进一步的示例。
166.上述任何专利和申请以及其他参考文献,包括随附申请文件中列出的任何专利和申请,均通过引用并入本文。如有必要,可以修改本发明的各个方面,以采用上述各种参考文献的系统、功能和概念,从而提供本发明的进一步的示例。
167.根据上述具体实施方式,可以对本发明进行这些更改和其他更改。虽然上述说明描述了某些示例,并描述了设想的最佳模式,但无论上述内容在文本中有多详细,都可以通过多种方式实践这些教导。系统的细节在其实现细节上可能有很大的不同,但仍然被本文公开的主题所涵盖。如上所述,在描述本发明的某些特征或方面时使用的特定术语不应被视为暗示本文对术语进行了重新定义,而将其限制于与该术语相关联的本发明的任何特
性、特征或方面。一般而言,在以下权利要求中使用的术语不应被解释为将本发明限制于说明书中公开的实现方式,除非上述具体实施方式部分明确定义了这些术语。因此,本发明的实际范围不仅涵盖所公开的实现方式,还涵盖根据权利要求实践或实现本发明的所有等同方式。
168.虽然本发明的某些方面在下面以某些权利要求的形式呈现,但发明人以任何数量的权利要求的形式考虑本发明的各个方面。任何旨在根据35 u.s.c.
§
132进行处理的权利要求均应以“用于”一词开头。因此,申请人保留在提交申请后添加附加权利要求的权利,以为本发明的其他方面寻求这些附加权利要求的形式。
169.本说明书中使用的术语在本领域、本发明的上下文以及使用每个术语的上下文中一般具有其通常含义。上文或说明书中其他地方讨论了用于描述本发明的某些术语,以向实践者提供关于本发明的描述的额外指导。为方便起见,可以突出显示某些术语,例如使用大写、斜体和/或引号。突出显示的使用不会影响术语的范围和含义;在相同的上下文中,无论是否突出显示,术语的范围和含义都是相同的。应当理解,相同的元素可以用多于一种方式来描述。
170.因此,本文讨论的任何一个或多个术语都可以使用替选语言和同义词,对于本文是否详细阐述或讨论了术语也没有任何特殊意义。提供了某些术语的同义词。阐述一个或多个同义词并不排除使用其他同义词。本说明书中任何地方的示例(包括本文讨论的任何术语的示例)的使用仅是说明性的,并不旨在进一步限制本发明或任何示例性术语的范围和含义。同样,本发明不限于本说明书中给出的各种示例。
171.在不旨在进一步限制本发明范围的情况下,下文给出了根据本发明示例的仪器、装置、方法及其相关结果的示例。注意,为了方便读者,可以在示例中使用标题或副标题,这不应限制本发明的范围。除非另有定义,否则本文中使用的所有技术和科学术语具有与本发明所属领域的普通技术人员通常理解的相同含义。如有冲突,以本文档(包括定义)为准。
172.本说明的某些部分描述了关于信息的操作的算法和符号表示的示例。所属数据处理领域的技术人员通常使用这些算法描述和表示来将其工作的实质有效地传达给所属领域的其他技术人员。这些操作当在功能上、计算上或逻辑上被描述时被理解为通过计算机程序或等效电路、微码等来实现。此外,证明有时将这些操作布置称为模块也很方便,不会失去通用性。所描述的操作及其关联模块可体现在软件、固件、硬件或其任何组合中。
173.本文所述的任何步骤、操作或过程可单独或与其他设备组合使用一个或多个硬件或软件模块执行或实现。在一些示例中,软件模块通过包括包含计算机程序代码的计算机可读介质的计算机程序对象来实现,计算机程序代码可由计算机处理器执行以执行所描述的任何或所有步骤、操作或过程。
174.示例还可能涉及用于执行本文中操作的装置。该装置可为所涉及的目的而专门构造,和/或其可包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算设备。这样的计算机程序可以存储在非暂时性的、有形的计算机可读存储介质中,或者存储在适合存储电子指令的任何类型的介质中,这些介质可以联接到计算机系统总线。此外,说明书中提及的任何计算系统可以包括单个处理器,或者可以是采用多处理器设计以提高计算能力的架构。
175.示例还可能涉及通过本文所述的计算过程产生的对象。这样的对象可以包括由计
算过程产生的信息,其中该信息存储在非暂时性的、有形的计算机可读存储介质上,并且可以包括本文所述的计算机程序对象或其他数据组合的任何实现方式。
176.说明书中使用的语言主要是为了可读性和指导目的而选择的,并且其可能不是为了描述或限定主题而选择的。因此,本发明的范围旨在不受本详细描述的限制,而是受基于本详细描述的申请中提出的任何权利要求的限制。因此,示例的公开内容旨在说明而不是限制所附权利要求中阐述的主题的范围。
177.在前面的描述中给出了详细信息,以提供对上下文的连接系统的各种系统和组件的实现方式的透彻理解。然而,本领域普通技术人员将理解,可以在没有这些细节的情况下实践上述实现方式。例如,电路、系统、网络、过程和其他组件可以框图形式示出为组件,以避免以不必要的细节使示例晦涩难懂。在其他情况下,可以示出公知的电路、过程、算法、结构和技术而没有不必要的细节,以避免使实施方式晦涩难懂。
178.还要注意,各个实现方式可以被描述为过程,该过程被描绘为流程图、作业图、数据流图、结构图或框图。尽管流程图可以将操作描述为顺序过程,但是许多操作可以并行或同时执行。另外,可以重新安排操作的顺序。当一个过程的操作完成时,该过程将终止,但是可以具有未包含的附加步骤。过程可以对应于方法、函数、程序、子例程、子程序等。当过程对应于函数时,其终止可对应于该函数返回到调用函数或主函数。
179.客户端设备、网络设备和其他设备可以是包括一个或多个集成电路、输入设备、输出设备、数据存储设备和/或网络接口等的计算系统。集成电路可包括例如一个或多个处理器、易失性存储器和/或非易失性存储器等。输入设备可以包括例如键盘、鼠标、小键盘、触摸界面、麦克风、相机和/或其他类型的输入设备。输出设备可以包括例如显示屏、扬声器、触觉反馈系统、打印机和/或其他类型的输出设备。诸如硬盘驱动器或闪存的数据存储设备可以使计算设备能够临时或永久地存储数据。网络接口(例如无线或有线接口)可以使计算设备能够与网络通信。计算设备的示例包括台式计算机、膝上型计算机、服务器计算机、手持计算机、平板电脑、智能电话、个人数字助理、数字家庭助理、以及已并入计算设备的机器和装置。
180.术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光存储设备以及能够存储、包含或承载(一个或多个)指令和/或数据的各种其他介质。计算机可读介质可包括非暂时性介质,在非暂时性介质中可存储数据且非暂时性介质不包括无线或通过有线连接传播的载波和/或暂时电子信号。非暂时性介质的示例可包括但不限于磁盘或磁带、诸如光盘(cd)或数字多功能盘(dvd)的光学存储介质、闪存、存储器或存储器设备。计算机可读介质可在其上存储代码和/或机器可执行指令,代码和/或机器可执行指令可表示过程、函数、子程序、程序、例程、子程序、模块、软件包、类、或指令、数据结构或程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、自变量、参数、和/或存储器内容而联接至另一代码段或硬件电路。信息、自变量、参数、数据等可以通过任何合适的方式传递、转发或传输,所述方式包括存储器共享、消息传递、令牌传递、网络传输等。
181.上面讨论的各种示例还可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合来实现。当在软件、固件、中间件或微代码中实现时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可存储在计算机可读或机器可读存储介质(例如,用于存储程序代码或代码段的介质)中。在集成电路中实现的(一个或多个)处理器可以执
行必要的任务。
182.程序代码可由处理器执行,处理器可包括一个或多个处理器,如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其他等效集成或离散逻辑电路。这种处理器可以被配置为执行本发明中描述的任何技术。通用处理器可以是微处理器;但在替选方案中,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合(例如,dsp和微处理器的组合)、多个微处理器的组合、一个或多个微处理器与dsp内核的结合、或任何其他此类配置。因此,如本文使用的术语“处理器”可指前述结构中的任何一种、前述结构的任何组合、或适合于实现本文所述技术的任何其他结构或装置。此外,在一些方面中,本文描述的功能性可在配置用于实现挂起的数据库更新系统的专用软件模块或硬件模块内提供。
183.当组件被描述为“被配置为”执行某些操作时,可以通过设计执行操作的电子电路或其他硬件,通过对可编程电子电路(例如微处理器或其他合适的电子电路)进行编程以执行该操作或其任何组合,来实现此类配置。
184.结合本文公开的实现方式描述的各种说明性逻辑块、模块、电路和算法步骤可实现为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件和软件的这种可互换性,上文已经就其功能性一般地描述了各种说明性组件、块、模块、电路和步骤。此类功能是作为硬件还是软件实现取决于特定应用和施加在整个系统上的设计约束。本领域技术人员可以针对每个特定应用以不同的方式实现所描述的功能,但是这种实现决策不应被解释为导致偏离本发明的范围。
185.本技术的上述详细描述仅出于说明和描述的目的来呈现。其不旨在是详尽的或将本技术限制为所公开的精确形式。根据上述教导,许多修改和变化是可能的。选择所描述的示例是为了最好地解释该技术的原理、其实际应用,并使本领域的其他技术人员能够在各种示例中使用该技术,并进行各种修改以适合考虑的特定用途。本技术的范围旨在由权利要求限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1