掌桥专利:专业的专利平台
掌桥专利
首页

中间层消息传递系统

文献发布时间:2023-06-19 09:54:18


中间层消息传递系统

本申请是2018年6月28日提交的美国专利申请No.16/022,073的继续申请并要求其优先权,该专利申请通过引用整体地并入本文中。

技术领域

本公开一般地涉及消息传递系统,并且更具体地,本公开涉及一种管理消息传递接口与消息提供商之间的消息通信的中间层消息传递系统。

背景技术

服务提供商(诸如支付服务提供商、商家、零售商和其他服务提供商)可以向客户提供客户服务系统,使得客户可以询问或接收对客户可能遇到的与客户正在与之交互的服务提供商的产品、服务或系统有关的疑问或问题的支持。客户服务系统可以包括若干支持平台,包括客户可以与客户服务代表交互的联系中心、聊天机器人、交互式语音响应(IVR)系统和/或客户服务网站。这些支持平台中的每一个均可以在客户与客户服务代表或其他支持之间具有若干其他交互信道。例如,通过由客户服务网页或应用提供的消息传递接口,客户可以使用消息传递接口(诸如即时消息平台、电子邮件、异步消息传递和/或文本消息传递)来与诸如人工智能(AI)程序(例如,机器人)或实况客户服务代表的一个或多个消息提供商服务交互。在处理客户支持时通常优选实况客户支持。然而,雇用客户代表的联络中心提供起来昂贵,并且可能因一天的某些事件或时间而变得无法与客户交互,从而由于等待时间而导致解决客户的问题时的客户体验降低。

机器人平台可以减轻客户服务系统正在接收来自客户的询问的频繁问的疑问或问题中的一些并且常常首先被呈现给客户以确定机器人是否可解决该问题。然而,当机器人不能解决问题时,客户可能需要处于另一消息传递信道上并由不同消息提供商服务提供的实况客户代表。需要客户在该消息传递信道上重新开始与客户代表的通信,并且客户常常需要再次将提供给聊天机器人的所有信息和通信提供给实况客户服务代表。

此外,需要客户服务系统的开发人员将其客户服务系统与每个消息提供商服务单独地集成在一起。例如,每个机器人和/或实况消息传递服务可能需要单独的集成。然而,如果要改变机器人,则开发人员必须将客户服务系统与另一消息提供商服务重新集成在一起,这在时间和资源上是昂贵的。

附图说明

图1是图示中间层消息传递系统的实施例的示意图;

图2是图示图1的中间层消息传递系统的中间层消息传递设备的实施例的示意图;

图3是图示图1的中间层消息传递系统的用户计算设备的实施例的示意图;

图4是图示图1的中间层消息传递系统的服务提供商设备的实施例的示意图;

图5是图示图1的中间层消息传递系统的消息提供商服务设备的实施例的示意图;

图6是图示图1的中间层消息传递系统的客户服务终端的实施例的示意图;

图7是图示图1的中间层消息传递系统的策略服务设备的实施例的示意图;

图8是图示图1的中间层消息传递系统的域服务设备的实施例的示意图;

图9是图示使用中间层消息传递系统来提供通信会话的方法的实施例的流程图;

图10A是图示图9的使用中间层消息传递系统来提供通信会话的方法的实施例的流程图;

图10B是图示图9和图10A的使用中间层消息传递系统来提供通信会话的方法的附加步骤的流程图;

图11是图示中间层消息传递系统在IVR信道与消息传递信道之间切换的实施例的流程图;

图12是图示用户设备的实施例的立体图;以及

图13是图示计算机系统的实施例的示意图。

通过参考下面的详细描述,本公开的实施例及其优点被最好地理解。应该领会,相似的附图标记用于标识在一个或多个图中图示的相似的元件,其中本文中的各种展示是为了图示本公开的实施例而不是为了限制本公开的实施例。

具体实施方式

本公开提供了用于中间层消息传递系统的系统和方法,该中间层消息传递系统提供中间层消息传递服务,该中间层消息传递服务促进通过消息传递信道的通信,该消息传递信道包括消息传递接口和消息提供商服务,消息传递接口和消息提供商服务在彼此之间提供消息通信。中间层消息传递服务可以与域服务和策略服务交互,使得可以向用户做出推荐用户应该使用哪一个消息传递接口和消息提供商来建立通信会话以解决客户正在询问的问题的信道推荐。如果不能使用第一消息传递信道来解决问题,则中间层消息传递服务将提供对于第二信道的推荐并且促进信道的切换,使得转变对用户是无缝的。例如,如果正与机器人消息提供商和中间层消息传递系统交互的用户确定该用户应该与实况消息提供商交互,则中间层消息传递系统可以使用户转变为与实况消息提供商交互,而无需从用户正在与之交互的消息传递接口离开。在提供消息传递信道之间的这种切换时,中间层消息传递服务可以使用在建立第一消息传递信道时提供的认证信息来执行跨信道认证。另外,中间层消息传递服务可以将第一消息信道的消息历史提供给第二消息信道,使得消息提供商和/或消息传递接口能够访问在第一信道上提供的消息通信。

中间层消息传递系统的其他好处可以被客户支持系统的开发人员认识到。中间层消息服务由于其中介性质而提供了一种平台,该平台可被各种消息提供商、服务提供商和/或消息传递接口容易地访问和配置。应用编程接口(API)的使用允许中间层消息传递系统单独地集成消息提供商、服务提供商、消息传递接口、域服务和策略服务。因此,添加、去除和更新消息提供商、服务提供商和/或消息传递接口需要较少的时间和处理资源。

现在参考图1,图示了中间层消息传递系统100的实施例。中间层消息传递系统100包括通过网络122通信的用户计算设备102、服务提供商设备104、域服务设备106、消息提供商服务设备110、消息提供商服务设备112、客户服务终端114、中间层消息传递设备116、策略服务设备118和消息传递数据库120。尽管仅一个用户计算设备102、服务提供商设备104、客户服务终端114、策略服务设备118和域服务设备106被图示为与中间层消息传递设备116通信,但是拥有本公开的本领域的技术人员将认识到,任何数量的这些设备可以通过网络122与中间层消息传递设备116通信,同时仍然在本公开的范围内。在一个实施例中,用户计算设备102可以由台式计算系统、膝上型/笔记本计算系统、平板计算系统、移动电话、有线电话、可穿戴计算设备和/或本领域中已知的其他用户设备提供。

可以将网络122实现为单个网络或多个网络的组合。例如,在各种实施例中,网络122可以包括因特网和/或一个或多个内联网、有线网络、无线网络和/或其他适当类型的网络。网络122可以包括数据网络、公用交换电话网络和/或在上面传送数据通信和语音通信两者的融合网络。

服务提供商设备104可以包括服务提供商服务器,该服务提供商服务器可以包括多个服务器和计算设备(例如,(一个或多个)台式计算设备、(一个或多个)膝上型/笔记本计算设备、(一个或多个)平板计算设备、(一个或多个)移动电话等)以用于通过用户计算设备102向用户提供服务。例如,服务提供商设备104可以提供用于促进零售商/商家与客户之间的在线和/或移动支付的支付服务。在其他实施例中,服务提供商设备104可以为被配置为向客户呈现并销售产品的在线零售商系统、向客户提供在线游戏的游戏系统、向客户提供诸如流视频的内容的内容提供商系统、用于组织的通用客户支持系统、银行系统、社交网络系统和/或属于需要客户支持的组织的其他系统。服务提供商设备104可以包括用于提供与服务提供商的业务有关的服务和/或产品的多个服务器和系统。

服务提供商设备104可以经由网络应用向用户计算设备102提供消息传递接口。消息传递接口可以被包括在服务提供商设备104处或者可以由单独的消息传递接口服务设备提供,该单独的消息传递接口服务设备可以包括多个服务器和计算设备(例如,(一个或多个)台式计算设备、(一个或多个)膝上型/笔记本计算设备、(一个或多个)平板计算设备、(一个或多个)移动电话等)以用于通过用户计算设备102向用户提供消息传递接口服务。例如,消息传递接口服务可以由以下项提供:PayPal公司、Facebook Messenger

中间层消息传递系统100可以包括多个消息提供商服务设备110和112。每个消息提供商服务设备110和/或112可以包括消息提供商服务服务器,该消息提供商服务服务器可以包括多个服务器和计算设备(例如,(一个或多个)台式计算机、(一个或多个)膝上型/笔记本计算设备、(一个或多个)平板计算设备、(一个或多个)移动电话等)以用于通过用户计算设备102向用户提供消息提供商服务。消息提供商服务设备110和/或112可以包括实况聊天平台(例如,允许代表经由消息传递接口与用户进行通信的消息提供商服务)、人工智能(AI)平台(例如,机器人平台,其中计算机程序被配置为经由消息传递接口与用户进行通信)、异步消息传递平台、电子邮件平台和/或对于拥有本公开的本领域的技术人员而言将显而易见的任何其他通信平台语音和/或文本。机器人平台可以包括例如IBM Watson

中间层消息传递系统100也包括客户服务终端114,客户服务代表可以帮助从该客户服务终端提供客户服务。客户服务终端可以包括用于语音通信的电话和/或用于接收与通信会话有关的信息并向客户服务代表显示信息、视频和/或消息通信的计算设备。如可在所图示的实施例中看到的,客户服务终端114与消息提供商服务设备112直接通信。然而,设想到客户服务终端114可以通过网络122与消息提供商服务设备110和112的组件中的任一个通信,并且可以经由被设想为落入本公开的范围内的其他配置来提供。

中间层消息传递系统100可以包括策略服务设备118。策略服务设备118可以包括策略服务服务器,该策略服务服务器可以包括多个服务器和计算设备(例如,(一个或多个)台式计算设备、(一个或多个)膝上型/笔记本计算设备、(一个或多个)平板计算设备、(一个或多个)移动电话等)以用于为中间层消息传递系统100提供策略服务。例如,策略服务设备118可以包括一个或多个策略服务,该一个或多个策略服务确定用户与中间层消息传递系统100交互的意图,向用户推荐通信信道,映射用户对中间层消息传递系统100的体验,执行自然语言处理,提供中间层消息传递系统信息(例如,实况聊天的运行时间、实况聊天的估计等待时间和/或其他信息),执行机器学习和/或在下面讨论并且对于拥有本公开的本领域的技术人员而言将显而易见的任何其他服务。

中间层消息传递系统100可以包括域服务设备106。域服务设备106可以包括域服务服务器,该域服务服务器可以包括多个服务器和计算设备(例如,(一个或多个)台式计算设备、(一个或多个)膝上型/笔记本计算设备、(一个或多个)平板计算设备、(一个或多个)移动电话等)以用于为中间层消息传递系统100提供域服务。例如,域服务设备106可以包括一个或多个域服务,该一个或多个域服务包括用户认证服务、信息管理服务(例如,OracleKnowledge Management

中间层消息传递系统100包括消息传递数据库120,该消息传递数据库可以包括一个或多个存储系统,这一个或多个存储系统经由网络122与中间层消息传递系统100通信和/或可以连同中间层消息传递系统100上提供的服务器设备中的任一个而被提供。在各种实施例中,消息传递数据库120可以包括中间层消息传递系统日志,这些中间层消息传递系统日志包括关于中间层消息传递系统100的错误日志、消息传递信道的配置、用户体验、消息传递交互日志(例如,标识符、意图、持续时间、结果等)、用户与消息提供商服务之间的通信会话的消息和/或在下面讨论和/或对于拥有本公开的本领域的技术人员而言将显而易见的中间层消息传递系统100的任何其他信息。此外,中间层消息传递系统100可以包括第三方数据库,第三方数据库可以通过网络122与中间层消息传递系统100通信。第三方数据库可以提供第三方数据,诸如社交媒体数据、第三方服务提供商解体、信用局数据、联邦法规和监管数据以及对于拥有本公开的本领域的技术人员而言将是显而易见的用于提供客户服务的其他第三方数据。

中间层消息传递系统100可以包括中间层消息传递设备116。中间层消息传递设备116可以包括中间层消息传递服务器,该中间层消息传递服务器可以包括多个服务器和/或计算设备(例如,(一个或多个)台式计算设备、(一个或多个)膝上型/笔记本计算设备、(一个或多个)平板计算设备、(一个或多个)移动电话等)以用于向其他设备(例如,用户计算设备102、服务提供商设备104、消息提供商服务设备110和112、客户服务终端114、策略服务设备118、消息传递数据库120、域服务设备106和/或可以被用于在下面讨论的方法和系统的任何其他设备)提供中间层消息传递服务。如在下面更详细地讨论的,中间层消息传递设备116可以集成、促进和/或以其他方式管理中间层消息传递系统的不同组件,使得存在通信信道、不同供应商、域服务、策略服务、消息传递接口、消息提供商服务以及消息传递数据库和/或其他服务的无缝集成。中间层消息传递设备116可以在与消息提供商服务设备110和112建立通信会话时提供无缝的用户体验和/或为开发人员提供容易地去除、添加和/或改变由可以被包括在中间层消息传递系统100中的各种平台和供应商提供的服务。

现在参考图2,图示了中间层消息传递设备200的实施例。在一个实施例中,中间层消息传递设备200可以为以上讨论的中间层消息传递设备116。在所图示的实施例中,中间层消息传递设备200包括机架202,该机架容纳中间层消息传递设备200的组件,其中的仅一些被图示在图2中。例如,机架202可以容纳处理系统(未图示)和非暂态存储器系统(未图示),该非暂态存储器系统包括指令,这些指令当由处理系统执行时,使处理系统提供中间层消息传递引擎204,该中间层消息传递引擎被配置为执行在下面讨论的中间层消息传递引擎204和/或中间层消息传递设备200的功能。在具体示例中,中间层消息传递引擎204可以为存储在计算机可读介质上的软件或指令,这些软件或指令提供多个消息传递应用程序接口(API)206以提供诸如例如跟踪引擎208、隐私引擎210、会话管理引擎212、消息规范化引擎214、信道推荐引擎216、信道切换引擎218、跨信道授权引擎220、配置引擎222、会话创建引擎224,和/或提供在下面讨论的其他功能性中的任一种。

机架202可以进一步容纳通信系统226,该通信系统耦合到中间层消息传递引擎204(例如,经由通信系统226与处理系统之间的耦合)并且被配置为提供用于通过如在下面详述的网络222进行通信。通信系统226可以由网络接口控制器(NIC)、无线通信子系统(例如,WiFi通信子系统、蓝牙通信子系统、近场通信(NFC)子系统和/或本领域中已知的其他无线通信子系统)和/或对于拥有本公开的本领域的技术人员而言将显而易见的任何其他通信组件来提供。机架202也可以容纳存储系统228,该存储系统228通过处理系统耦合到中间层消息传递引擎204。存储系统228可以包括图1的消息传递数据库120的全部或一部分并且可以存储系统日志230、配置232、消息历史234、消息传递交互日志236和/或对于拥有本公开的本领域的技术人员而言将显而易见的任何其他数据和/或指令。虽然存储系统228已被图示为被容纳在中间层消息传递设备200的机架202中,但是本领域的技术人员将认识到,在不脱离本公开的范围的情况下,它可以通过网络122连接到中间层消息传递引擎204。虽然已图示并描述了具体中间层消息传递设备200,但是拥有本公开的本领域的技术人员将认识到,中间层消息传递设备可以包括用于执行常规功能性以及在下面讨论的功能性的其他组件和/或组件配置,同时仍然在本公开的范围内。

现在参考图3,图示了用户计算设备300的实施例,该用户计算设备在一些实施例中可以为以上讨论的用户计算设备102。因此,在一些示例中用户计算设备300可以由诸如台式计算系统、膝上型/笔记本计算系统、平板计算系统、移动电话、专用集成电路(ASIC)计算系统和/或本领域中已知的其他计算设备的一个或多个用户计算设备来提供,同时仍然在本公开的范围内。

在所图示的实施例中,用户计算设备300包括机架302,该机架容纳用户计算设备300的组件,其中的仅一些被图示在图3中。例如,机架302可以容纳处理系统(未图示)和非暂态存储器系统(未图示),该非暂态存储器系统包括指令,这些指令当由处理系统执行时,使处理系统提供应用引擎304,该应用引擎被配置为执行根据方法900在下面讨论的应用引擎和用户计算设备的功能。例如,设备引擎304可以包括网络浏览器和/或本机应用,该网络浏览器和/或本机应用能够访问由服务提供商设备提供的服务,以及提供在下面讨论的应用引擎的其他功能中的任一个。应用引擎304也可以包括消息传递接口引擎306,该消息传递接口引擎306被配置为向用户计算设备300提供消息传递接口,以及执行在下面讨论的消息传递接口引擎的其他功能中的任一个。

机架302可以进一步容纳通信系统308,该通信系统耦合到应用引擎304(例如,经由通信系统308与处理系统之间的耦合)并且被配置为提供用于通过如在下面详述的网络122进行通信。通信系统308可以由网络接口控制器(NIC)、无线通信子系统(例如,WiFi通信子系统、蓝牙通信子系统、近场通信(NFC)子系统和/或本领域中已知的其他无线通信子系统)和/或对于拥有本公开的本领域的技术人员而言将显而易见的任何其他通信组件来提供。机架302也可以容纳存储系统310,该存储系统通过处理系统耦合到应用引擎。存储系统310可以存储由应用引擎304和/或消息传递接口引擎306利用来提供在下面讨论的功能性的规则、设置和/或其他数据。虽然存储系统310已被图示为被容纳在用户计算设备300的机架302中,但是本领域的技术人员将认识到,在不脱离本公开的范围的情况下,它可以通过网络122连接到应用引擎304。虽然已图示并描述了具体用户计算设备300,但是拥有本公开的本领域的技术人员将认识到,用户计算设备可以包括用于执行常规功能性以及在下面讨论的功能性的其他组件和/或组件配置,同时仍然在本公开的范围内。

现在参考图4,图示了服务提供商设备400的实施例,该服务提供商设备在一些实施例中可以为以上讨论的服务提供商设备104。因此,在一些示例中服务提供商设备400可以由一个或多个服务器设备提供。然而,拥有本公开的本领域的技术人员将认识到,服务提供商设备400可以由诸如台式计算系统、膝上型/笔记本计算系统、平板计算系统、移动电话、专用集成电路(ASIC)计算系统和/或本领域中已知的其他计算设备的各种计算设备中的任一个来提供,同时仍然在本公开的范围内。

在所图示的实施例中,服务提供商设备400包括机架402,该机架容纳服务提供商设备400的组件,其中的仅一些被图示在图4中。例如,机架402可以容纳处理系统(未图示)和非暂态存储器系统(未图示),该非暂态存储系统包括指令,这些指令当由处理系统执行时,使处理系统提供服务引擎404,该服务引擎被配置为执行根据方法900在下面讨论的服务引擎和服务提供商设备的功能。例如,服务引擎404可以包括应用引擎406,该应用引擎被配置为向用户设备提供应用、网页和其他服务应用,以及提供在下面讨论的应用引擎的其他功能中的任一种。服务引擎404也可以包括消息传递接口引擎408,该消息传递接口引擎408被配置为向用户计算设备102提供消息传递接口,以及执行在下面讨论的消息传递接口引擎的其他功能中的任一种。

机架402也可以容纳通信系统410,该通信系统耦合到服务引擎404(例如,经由通信系统410与处理系统之间的耦合)并且被配置为提供用于通过如在下面详述的网络122进行通信。在所图示的实施例中,服务提供商设备400也包括具有数据库的存储设备412,该存储设备存储用户信息414a、应用414b、内容414c以及用于提供在下面更详细地讨论的功能性的其他信息中的任一种。虽然服务提供商设备400被图示为包括容纳存储设备412的机架402,但是拥有本公开的本领域的技术人员将认识到,可以在与服务提供商设备400不同的设备/机架(例如,网络附连存储设备和/或本领域中已知的任何其他设备或存储系统)中提供存储设备412,同时仍然在本公开的范围内。虽然已图示并描述了具体服务提供商设备400,但是拥有本公开的本领域的技术人员将认识到,服务提供商设备可以包括用于执行常规功能性以及在下面讨论的功能性的其他组件和/或组件配置,同时仍然在本公开的范围内。

现在参考图5,图示了消息提供商服务设备500的实施例,该消息提供商服务设备在一些实施例中可以为以上讨论的消息提供商服务设备110或112。因此,在一些示例中消息提供商服务设备500可以由一个或多个服务器设备提供。然而,拥有本公开的本领域的技术人员将认识到,消息提供商服务设备500可以由诸如台式计算机系统、膝上型/笔记本计算系统、平板计算系统、移动电话、专用集成电路(ASIC)计算系统和/或本领域中已知的其他计算设备的各种计算设备中的任一个来提供,同时仍然在本公开的范围内。

在所图示的实施例中,消息提供商服务设备500包括机架502,该机架容纳消息提供商服务设备500的组件,其中的仅一些被图示在图5中。例如,机架502可以容纳处理系统(未图示)和非暂态存储器系统(未图示),该非暂态存储器系统包括指令,这些指令当由处理系统执行时,使处理系统提供消息提供商引擎504,该消息提供商引擎被配置为执行根据方法900在下面讨论的消息提供商引擎和消息提供商服务设备的功能。例如,消息提供商引擎504可以提供实况聊天平台、机器人平台、异步消息传递平台、电子邮件平台和/或对于拥有本公开的本领域的技术人员而言显而易见的任何其他通信平台语音和/或文本,以及提供在下面讨论的消息提供商引擎的其他功能中的任一种。

机架502可以进一步容纳通信系统506,该通信系统耦合到消息提供商引擎504(例如,经由通信系统506与处理系统之间的耦合)并且被配置为提供用于通过如在下面详述的网络122进行通信。通信系统506可以由网络接口控制器(NIC)、无线通信子系统(例如,WiFi通信子系统、蓝牙通信子系统、近场通信(NFC)子系统和/或本领域中已知的其他无线通信子系统)和/或对于拥有本公开的本领域的技术人员而言将显而易见的任何其他通信组件来提供。机架502也可以容纳存储系统508,该存储系统通过处理系统耦合到应用引擎。存储系统508可以存储由消息提供商引擎504利用来提供在下面讨论的功能性的规则、设置和/或其他数据。虽然存储系统508已被图示为被容纳在消息提供商服务设备500的机架502中,但是本领域的技术人员将认识到,在不脱离本公开的范围的情况下,它可以通过网络122连接到消息提供商引擎504。虽然已图示并描述了具体消息提供商服务设备500,但是拥有本公开的本领域的技术人员将认识到,消息提供商服务设备可以包括用于执行常规功能性以及在下面讨论的功能性的其他组件和/或组件配置,同时仍然在本公开的范围内。

现在参考图6,图示了客户服务终端600的实施例,该客户服务终端在一些实施例中可以为以上讨论的客户服务终端114。因此,在一些示例中客户服务终端600可以由诸如台式计算系统、膝上型/笔记本计算系统、平板计算系统、移动电话、专用集成电路(ASIC)计算系统和/或本领域中已知的其他计算设备的一个或多个用户计算设备来提供,同时仍然在本公开的范围内。

在所图示的实施例中,客户服务终端600包括机架602,该机架容纳客户服务终端600的组件,其中的仅一些被图示在图6中。例如,机架602可以容纳处理系统(未图示)和非暂态存储器系统(未图示),该非暂态存储系统包括指令,这些指令当由处理系统执行时,使处理系统提供客户服务接口引擎604,该客户服务接口引擎被配置为执行根据方法900在下面讨论的应用引擎和用户计算设备的功能。例如,客户服务接口引擎604可以向客户服务终端600提供消息传递接口,该消息传递接口允许代表与用户进行通信,以及执行在下面讨论的客户服务接口引擎的其他功能中的任一种。

机架602可以进一步容纳通信系统606,该通信系统耦合到客户服务接口引擎604(例如,经由通信系统606与处理系统之间的耦合)并且被配置为提供用于通过如在下面详述的网络122进行通信。通信系统606可以由网络接口控制器(NIC)、无线通信子系统(例如,WiFi通信子系统、蓝牙通信子系统、近场通信(NFC)子系统和/或本领域中已知的其他无线通信子系统)和/或对于拥有本公开的本领域的技术人员而言将显而易见的任何其他通信组件来提供。机架602也可以容纳存储系统608,该存储系统通过处理系统耦合到客户服务接口引擎604。存储系统608可以存储由客户服务接口引擎604利用来提供在下面讨论的功能性的规则、设置和/或其他数据。虽然存储系统608已被图示为被容纳在客户服务终端600的机架602中,但是本领域的技术人员将认识到,在不脱离本公开的范围的情况下,它可以通过网络122连接到客户服务接口引擎604。虽然已图示并描述了具体客户服务终端600,但是拥有本公开的本领域的技术人员将认识到,客户服务终端可以包括用于执行常规功能性以及在下面讨论的功能性的其他组件和/或组件配置,同时仍然在本公开的范围内。

现在参考图7,图示了策略服务设备700的实施例。该策略服务设备在一个实施例中可以为以上讨论的策略服务设备118。在所图示的实施例中,策略服务设备700包括机架702,该机架容纳策略服务设备700的组件,其中的仅一些被图示在图7中。例如,机架702可以容纳处理系统(未图示)和非暂态存储系统(未图示),该非暂态存储系统包括指令,这些指令当由处理系统执行时,使处理系统提供策略服务引擎704,该策略服务引擎被配置为执行在下面讨论的策略服务引擎和/或策略服务设备的功能。在具体示例中,策略服务引擎704可以为存储在计算机可读介质上的软件或指令,这些软件或指令提供多种策略服务,诸如例如自然语言处理(NLP)引擎710、运行时间(HOO)引擎712、估计等待时间(EWT)引擎714、信道推荐引擎716、意图/最佳下一个动作(BNA)引擎718、跟踪引擎720,和/或提供在下面讨论的其他功能性中的任一种。

机架702可以进一步容纳通信系统706,该通信系统耦合到策略服务引擎704(例如,经由通信系统706与处理系统之间的耦合)并且被配置为提供用于通过如在下面详述的网络122进行通信。通信系统706可以由网络接口控制器(NIC),无线通信子系统(例如,WiFi通信子系统、蓝牙通信子系统、近场通信(NFC)子系统和/或本领域中已知的其他无线通信子系统)和/或对于拥有本公开的本领域的技术人员而言将显而易见的任何其他通信组件来提供。机架702也可以容纳存储系统708,该存储系统708通过处理系统耦合到策略服务引擎704。存储系统708可以存储由策略服务引擎704利用来提供在下面讨论的功能性的规则、设置和/或其他数据。虽然存储系统708已被图示为被容纳在策略服务设备700的机架702中,但是本领域的技术人员将认识到,在不脱离本公开的范围的情况下,它可以通过网络122连接到策略服务引擎704。虽然已图示并描述了具体策略服务设备700,但是拥有本公开的本领域的技术人员将认识到,策略服务设备可以包括用于执行常规功能性以及在下面讨论的功能性的其他组件和/或组件配置,同时仍然在本公开的范围内。

现在参考图8,图示了域服务设备800的实施例。在一个实施例中,域服务设备800可以为以上讨论的域服务设备121。在所图示的实施例中,域服务设备800包括机架802,该机架容纳域服务设备800的组件,其中的仅一些被图示在图8中。例如,机架802可以容纳处理系统(未图示)和非暂态存储器系统(未图示),该非暂态存储器系统包括指令,执行指令当由处理系统执行时,使处理系统提供域服务引擎804,该域服务引擎被配置为执行在下面讨论的域服务引擎和/或域服务设备的功能。在具体实施例中,域服务引擎804可以为存储在计算机可读介质上的软件或指令,这些软件或指令提供多种域服务,诸如例如授权引擎810、通知引擎812、风险引擎814、路由引擎816,和/或提供在下面讨论的其他功能性中的任一种。

机架802可以进一步容纳通信系统806,该通信系统耦合到域服务引擎804(例如,经由通信系统806与处理系统之间的耦合)并且被配置为提供通过用于如在下面详述的网络122进行通信。通信系统806可以由网络接口控制器(NIC)、无线通信子系统(例如,WiFi通信子系统、蓝牙通信子系统、近场通信(NFC)子系统和/或本领域中已知的其他无线通信子系统)和/或对于拥有本公开的本领域的技术人员而言将显而易见的任何其他通信组件来提供。机架802也可以容纳存储系统808,该存储系统通过处理系统耦合到域服务引擎804。存储系统808可以包括用户账户数据820、缓存的数据822和/或对于拥有本公开的本领域的技术人员而言将显而易见的任何其他数据和/或指令。虽然存储系统808已被图示为被容纳在域服务设备800的机架802中,但是本领域的技术人员将认识到,在不脱离本公开的范围的情况下,它可以通过网络122连接到域服务引擎804。虽然已图示并描述了具体域服务设备800,但是拥有本公开的本领域的技术人员将认识到,域服务设备可以包括用于执行常规功能性以及在下面讨论的功能性的其他组件和/或组件配置,同时仍然在本公开的范围内。

现在参考图1、图2、图3、图4、图5、图6、图7、图8、图9、图10A和图10B,图示了用于使用中间层消息传递来提供通信会话的方法900。在下面描述的方法900的一些实施例中,中间层消息传递系统可以执行方法900。例如,中间层消息传递系统可以接收用户试图与服务提供商系统建立通信会话的意图。中间层消息传递系统可以开始中间层会话并推荐通信信道以提供通信会话。响应于接收到关于要使用通信信道的指示,中间层消息传递系统可以在消息服务提供商与用户设备处的消息传递接口之间建立通信信道。例如,诸如例如加利福尼亚州圣何塞的PayPal公司的支付服务提供商可以利用中间层消息传递服务设备来执行在下面讨论的方法900,并且在一些实施例中可以与一个或多个其他服务提供商(经由其服务提供商设备)和/或用户(经由其用户计算设备)协同操作以执行在下面讨论的方法900。然而,这些实施例意在仅仅为实施例,并且拥有本公开的本领域的技术人员将认识到,在不脱离本公开的范围的情况下,各式各样的服务提供商和用户可以单独或一起操作,以提供本文讨论的系统和方法。

方法900在框902处开始,在框902处接收要发起通信会话的请求。在框902的实施例中,中间层消息传递引擎204可以接收关于用户计算设备102的用户正在请求与消息提供商服务的通信会话的指示。例如,中间层消息传递引擎204可以从用户计算设备300的消息传递接口引擎306和/或服务提供商设备400的消息传递接口引擎408接收请求。通信会话可以为在消息传递接口与消息提供商服务之间,消息提供商服务诸如机器人平台、实况聊天平台、异步消息传递平台、电子邮件平台和/或对于拥有本公开的本领域的技术人员而言可能显而易见的任何其他通信平台。在方法900之前并参考图10A和图10B中图示的中间层消息传递系统100的方法900的示例中间层消息流程图1000,服务提供商设备400经由服务引擎404可以在框1002处接收或检测用户与服务引擎404的交互,诸如用户与由服务引擎404提供的网站的帮助网页的交互,用户计算设备102的用户从该网站请求客户服务帮助。然而,如在下面图11中所图示的,用户交互可以为与交互式语音响应(IVR)系统的交互。用户交互可以包括交互信息,诸如用户计算设备102的用户正在请求帮助的主题。交互信息也可以包括可用的任何认证信息和用户标识信息。

服务引擎404可以向策略服务设备118提供用户交互,该用户交互可以包括可用的交互信息中的任一种。基于交互信息,策略服务设备118的意图/BNA引擎718和/或其他策略服务引擎710-720中的任何一个可以基于交互信息来确定正在与服务引擎404交互的用户的意图。意图/BNA引擎718可以确定用户计算设备102的用户的意图是与客户帮助服务联系以获得关于具体主题(例如,拒绝购买)的帮助,并且意图/BNA引擎718确定最佳下一个动作是在消息传递接口与消息提供商服务之间建立通信会话,这是完成用户交互所必需的。在框1004处信道推荐引擎716可以基于意图和最佳下一个动作确定通信信道。此外,信道推荐引擎716可以基于消息提供商信息和用户信息确定通信信道。例如,信道推荐引擎716可以经由中间层消息传递引擎204从消息传递数据库120、存储系统228和/或存储系统808中检索用户信息,该用户信息包括对于中间层消息传递系统100的用户历史、对于服务提供商的用户账户信息、用户偏好、以及对于拥有本公开的本领域的技术人员而言将是显而易见的其他用户信息。例如,中间层消息传递引擎204可以使知识管理引擎818检索用户账户数据820、缓存的数据822和/或任何其他数据,并且通过中间层消息传递引擎204经由消息传递API 206来将该数据提供给策略服务引擎704。在另一示例中,意图/BNA引擎718和/或信道推荐引擎716可以在确定最佳下一个动作和/或信道推荐时使用消息提供商信息。例如,意图/BNA引擎718和/或信道推荐引擎716可以与正在提供消息的运行时间引擎712、跟踪引擎720和/或估计等待时间引擎714交互,以提供可以用于确定最佳下一个动作和/或信道推荐的信息。虽然策略服务引擎710-720被图示为位于同一策略服务设备700上,但是策略服务引擎710-720中的一个或多个可以位于单独的设备上并且可经由中间层消息传递引擎204彼此交互。

因此,基于意图、消息提供商信息和用户信息,信道推荐引擎716可以确定用户交互是由消息提供商引擎504提供的机器人平台被配置为进行服务的交互。在另一示例中,意图可以指示用户交互是由消息提供商引擎504提供的实况聊天平台被配置为进行服务的交互。在另一示例中,意图、消息提供商信息和用户信息可以指示用户交互是由消息提供商引擎504提供的实况聊天平台和/或另一机器人平台被配置为进行服务的交互。当判定要推荐实况聊天平台和/或机器人平台中的哪一个时,信道推荐引擎716可以考虑由运行时间引擎712和估计等待时间引擎714提供的消息提供商信息。例如,时间可能在实况聊天平台的运行时间之外,实况聊天平台的估计等待时间可能满足预定阈值,和/或跟踪引擎720可以指示用机器人平台和实况聊天平台为意图进行服务的成功率,用户是否已经设法使用这些平台中的一个来解决问题,和/或由策略服务引擎704提供的任何其他跟踪信息和/或消息提供商信息。

策略服务引擎704可以将通信信道推荐提供给服务引擎404,该服务引擎可以将通信信道推荐提供给用户计算设备300的应用引擎304,该应用引擎可以继而在框1006处将通信信道推荐提供给用户计算设备300的用户。用户可以向用户计算设备300提供指示接受或拒绝通信信道推荐的输入。响应于接受通信信道推荐,服务引擎404和/或应用引擎304可以向中间层消息传递引擎204提供要与所标识的消息传递服务提供商建立通信信道的请求并且提供消息传递接口引擎306。在其他示例中,由消息传递接口引擎306和/或408提供的消息传递接口可以自动地发起并经由用户计算设备102被提供给用户并且将要与所标识的消息传递服务提供商建立通信信道的请求提供给中间层消息传递引擎204。在其他示例中,由服务提供商设备400提供的网络应用可以提供用户可以在不使用策略服务引擎704的情况下从中选择的所有可能的通信信道。因此,用户可以选择消息传递接口引擎306和/或408以及要与之进行通信的消息提供商并且向该消息提供商生成请求。在各种实施例中,请求可以包括认证信息,诸如用户在登录服务提供商设备400时提供的认证令牌,该认证令牌指示在通信会话中标识的用户账户和用户。请求可以包括其他信息,诸如用户信息、用户的意图和/或对于拥有本公开的本领域的技术人员而言将显而易见的任何其他信息。

方法900然后进行到框904,其中建立被映射到通信会话的中间层会话。在框904的实施例中,中间层消息传递引擎204的会话创建引擎224可以创建中间层会话,该中间层会话由会话管理引擎212映射到由服务提供商设备和/或用户计算设备请求的通信会话。中间层会话标识符(例如,统一消息传递交互标识符(UMID)、通用谈话标识符(UCID))可以与诸如通信会话标识符的通信会话相关联。也可以将中间会话标识符映射到用户标识符和/或用户账户标识符,诸如电话号码、电子邮件地址、信用卡号码、账户号码、用户名、生物特征标识符和/或对于拥有本公开的本领域的技术人员而言将显而易见的任何其他用户/用户账户标识符。会话管理引擎212可以将服务提供商标识符、消息提供商标识符、消息传递接口标识符、消息提供商类型和/或其他标识符映射到中间层会话标识符。可以将各种标识符和/或会话到中间层会话标识符的映射存储在消息传递交互日志236中。现在参考图10A,会话创建引擎224可以在框1008处发起中间层会话并且会话管理引擎212可以将该中间会话映射到消息传递接口标识符、服务提供商标识符和/或用户标识符。

在各种实施例中,会话创建引擎224可以耦合到由在域服务设备800上包括的域服务引擎804提供的授权引擎810。消息传递API206的身份消息传递API可以促进从用户计算设备300和服务提供商设备400传送在要建立通信会话的请求中提供的任何认证信息。授权引擎810可以执行认证过程以确定在建立通信会话之前是否验证了用户的身份。例如,在框1010处授权引擎810可以确定在要建立通信会话的请求中接收到的授权令牌是否有效。授权引擎810可以向身份消息传递API提供认证过程的结果,并且如果像判定框1012处所指示的那样认证不成功,则在框1014处中间层消息传递引擎204可以向消息传递接口引擎306和/或408a提供关于通信会话已结束的通知。通知可以指示认证不成功。如果认证成功,则方法900可以进行到框906。

方法900然后进行到框906,其中中间层会话用于在第一消息传递接口与第一消息提供商之间建立通信会话。在框906的实施例中,中间层消息传递引擎204可以使消息提供商引擎504建立消息提供商会话。消息提供商会话可以包括经由会话管理引擎212与中间层会话相关联或以其他方式映射到中间层会话的消息提供商会话标识符。如图10A中所指示的,在框1016处中间层消息传递引擎204可以使在要建立通信会话的请求中标识的消息传递提供商引擎504发起消息提供商会话。例如,如果框1004处的信道推荐是在消息传递接口引擎306/408与在消息提供商服务设备110上提供的机器人平台之间建立通信会话,则中间层消息传递引擎204可以使消息提供商服务设备110的消息提供商引擎504发起与该机器人平台的消息提供商会话。在另一示例中,如果框1004处的消息传递信道推荐是在消息传递接口引擎306/408与在消息提供商服务设备112上提供的实况聊天平台之间建立通信会话,则中间层消息传递引擎204可以使消息提供商服务设备112的消息提供商引擎504发起与该实况聊天平台的消息提供商会话。

方法900然后进行到框908,其中通过中间层会话来提供第一消息提供商与第一消息传递接口之间的消息通信。在框908的实施例中,中间层消息传递引擎204可以提供多个消息传递API 206中的直通API。直通API促进消息传递提供商引擎504与消息传递接口引擎306和/或408之间的通信。例如,直通API可以从消息提供商引擎504接收消息并且将那些消息提供给消息传递接口引擎306和/或408。同样地,直通API可以从消息传递接口引擎306和/或408接收消息并且将那些消息提供给消息提供商引擎504。如图10A中所指示的,在框1018和1020处中间层消息传递引擎204可以促进消息提供商与消息传递接口之间的通信。

除了促进消息传递接口引擎306和/或408与消息提供商引擎504之间的直通通信之外,中间层消息传递引擎204还可以被配置为执行若干动作或操作以增加引擎能力。例如,中间层消息传递引擎204可以提供消息规范化引擎214,该消息规范化引擎被配置为使在中间层消息传递引擎204处接收到的消息通信规范化,使得中间层消息传递引擎204可以按消息提供商服务的消息传递格式和/或结构而转化来自一个消息传递接口的消息的消息传递格式和/或结构。类似地,消息规范化引擎214可以使消息通信规范化,使得消息通信被转化成可由中间层消息传递引擎204理解的格式/结构。

在另一实施例中,中间层消息传递引擎204可以包括隐私引擎210,该隐私引擎被配置为处理来自消息通信的敏感信息。例如,隐私引擎210可以被配置为在由用户在消息传递接口引擎306/408中键入的情况下标识并去除支付卡信息(PCI)数据。在另一示例中,个人标识信息(PII)可以在它被提供给中间层消息传递系统100中的第三方消息提供商服务和/或任何其他第三方服务之前由隐私引擎210标识并进行掩蔽处理。然而,在返回路径上,隐私引擎210可以将来自消息提供商服务的响应绑定回到由中间层消息传递系统100的提供商管理的客户特定账户。在各种实施例中,隐私引擎210也可以被配置为对在中间层消息传递引擎204处接收到的消息通信和其他数据进行加密。

在各种实施例中,中间层消息传递引擎204可以包括跟踪引擎208,该跟踪引擎被配置为将消息通信存储在存储系统228中存储的消息历史234中。消息通信可以与通信会话标识符、中间层会话标识符、用户标识符和/或按中间层会话而映射的其他标识符中的任一个相关联。在一个实施例中,跟踪引擎208和/或其他消息传递API可以在系统日志230中记录允许报告中间层消息传递系统100的健康状况和性能的数据(例如,响应时间、故障数据、超时以及其他健康状况和性能数据)。在各种实施例中,一些消息提供商服务可以为无状态的,并且仅在完整谈话之外操作。因此,每当调用无状态消息提供商服务时,中间层消息传递引擎204可以从缓存获得可以被包括在消息传递数据库120中的完整谈话历史。然而,在不是无状态的其他消息服务提供商之中,中间层消息传递引擎204可以仅向该消息服务提供商提供最后消息。

在各种实施例中,中间层消息传递引擎204可以使用跟踪引擎208来记录并统一跨通信信道和/或在相同信道内根本不同的消息传递交互(例如,异步消息传递)。例如,如果用户中途离开通信会话并随后建立新的通信会话,则中间层消息传递引擎204将从能够从消息提供商服务查询的不完整通信会话的消息交互日志236和/或消息历史234中检索日志并且可引导用户完成消息传递交互。在另一示例中,用户可以经由第一消息传递接口与消息提供商服务进行通信会话并且可以随后经由第二消息传递接口检查在通信会话中做出的请求的状态。中间层消息传递引擎204可以使用消息交互日志236和/或消息历史234将这些查询绑定在一起并且确保用户在其与消息提供商服务的消息交互中具有上下文连续性。

因此,中间层消息传递引擎204将促进用户的消息传递交互的上下文服务随着时间的推移而展开。这通常被称为异步消息传递并且将涉及用户提交消息并离开。在消息提供商服务侧,代理将在离线模式下对用户的消息做出响应。稍后,用户回来,查看代理响应,答复响应,并离开。这时另一代理对客户做出响应,但是具有整个谈话历史的上下文(例如,先前代理响应考虑在内的)。

为了统一跨消息传递信道和/或在相同消息传递信道内根本不同的消息传递交互,由中间层消息传递引擎204发布的中间层会话标识符可以将多个根本不同的通信会话绑定在一起。如以上所讨论的,中间层会话标识符可以与通信会话标识符、用户标识符、服务提供商标识符、消息提供商标识符、消息传递接口标识符、消息提供商类型和/或对于拥有本公开的本领域的技术人员而言将显而易见的其他标识符相关联。通信会话标识符可以包括随着时间的推移而跟踪谈话的分块的数据字段。例如,消息通信可能已在早晨发生且又在晚上发生,但是都是相同谈话主题的一部分。

在各种实施例中,中间层消息传递引擎204可以包括配置引擎222,该配置引擎被配置为向中间层消息传递系统100提供控制。例如,配置引擎222可以提供用于管理员创建并编辑存储在存储系统228中的配置232的用户接口。配置引擎222可以配置为通过服务提供商、消息提供商的类型、消息提供商、用户的意图、到中间层消息提供商的入口点(例如,第三方消息服务、服务提供商网站、电话服务)、意图确定、路由引擎、客户服务终端、域服务、策略服务和/或配置引擎可以用中间层消息传递系统100配置的任何其他服务来控制中间层消息传递系统100。

在方法900的各种实施例中并且参考图10A和图10B中的中间层消息流程图1000,在消息提供商引擎504与消息传递接口306/408之间传递消息通信期间,消息提供商引擎504可以被配置为像判定框1022处所指示的那样确认由策略服务引擎704的意图/BNA引擎718确定的意图。如果意图被确认,则该意图由中间层消息传递引擎204记录并且被存储在存储系统228的消息传递交互日志236中。另外,如果意图被确认,则中间层消息传递引擎204可以在框1024和1026处促进在策略服务引擎704处对意图的更新,使得策略服务引擎704可以强化策略服务引擎704可以在确定意图和最佳下一个动作时使用的任何机器学习能力。在各种实施例中,信道推荐引擎716和/或意图/BNA引擎718可以包括一种或多种机器学习算法,诸如频繁模式增长启发法、其他非监督学习算法、监督学习算法、半监督学习算法、强化学习算法、深度学习算法和本领域中已知的在做出信道推荐、确定意图和/或确定最佳下一个动作时使用的其他机器学习算法。

中间层消息传送流程图1000然后进行到判定框1028,其中消息提供商引擎504确定意图是否是可服务的。如果意图是可服务的,则消息提供商引擎504通过像框1030处所指示的那样与消息传递接口引擎306和/或408传递消息通信来为意图服务。消息提供商引擎504可以在判定框1032处确定是否通信会话的意图被解决了。如果意图被解决了,则消息服务提供商会话可以在框1034处结束。另外,由中间层消息传递引擎204提供的会话管理引擎212可以被配置为终止被映射到消息提供商会话的中间层会话。在各种实施例中,会话管理引擎212可以被配置为模拟并侦听消息提供商会话的会话生命周期。例如,如果消息提供商会话超时,则映射到该消息提供商会话的中间层会话应该由会话管理引擎212认为超时。如图10B中所图示的,消息提供商引擎504和/或消息传递接口引擎306/408可以在判定框1050处确定用户不活动并且可以在框1052处向由中间层消息传递引擎204提供的会话管理引擎212提供超时通知。会话管理引擎212可以促进对消息提供商会话的管理并且使消息提供商会话在框1054处结束。同样地,会话管理引擎212可以使被映射到消息提供商会话的中间层会话结束。类似地,会话管理引擎212可以被配置为模拟并侦听用户的认证的会话生命周期。例如如果在框1010处域服务引擎804认为认证会话超时,则中间层会话应该超时。

如果在判定框1022处不能确认意图,在判定框1028处意图不是可服务的,或者在判定框1032处意图未得到解决,则在框1036处消息提供商可以请求信道推荐。消息提供商引擎504可以经由中间层消息传递引擎204的信道推荐引擎216请求信道推荐。信道推荐引擎216可以包括被配置为像框1038处所指示的那样在策略服务引擎704的信道推荐引擎716与消息提供商引擎504之间传递信道推荐的API。信道推荐可以基于更新的意图,意图可以基于策略服务引擎704继在框1004处做出初始信道推荐之后接收到的信息而更新。信道推荐可以为针对第二消息提供商服务的。例如,第一消息提供商服务可以由机器人平台提供,而第二消息提供商服务可以由实况聊天平台提供。

在接收到针对新信道的信道推荐之后,消息提供商引擎504可以在框1040处通过与跨信道授权引擎220进行通信来发起跨信道认证以促进在框1042处向第二消息提供商认证用户。跨信道授权引擎220可以从第一消息提供商会话中检索认证信息并且将其存储在存储系统228中,使得第二消息提供商可以检索认证信息并且使域服务引擎804的授权引擎810在框1044中验证认证信息。

在框1040中发起跨信道认证之后,第一消息提供商服务在框1046处可以发起信道切换,使得第一消息传递接口与第一消息提供商服务之间的通信会话是在第一消息传递接口与第二消息提供商服务之间。第一消息提供商服务可以与由中间层消息传递引擎204提供的信道切换引擎218进行通信,该信道切换引擎可以包括信道切换API。信道切换引擎218可以被配置为在框1048处促进信道切换。例如,信道切换引擎218可以被配置为与信道推荐引擎216结合来获取信道推荐并且确定包括第二消息服务提供商的下一个通信信道。信道切换引擎218也可以被配置为将所有消息历史存储在消息历史234中,该消息历史发生在消息传递接口306/408与第一消息提供商服务之间的第一通信信道上,使得当发生到第二信道的切换时,切换对用户计算设备102的用户来说似乎为无缝的,因为消息通信都未丢失。类似地,信道切换引擎218被配置为将意图从第一通信信道传递到第二通信信道,使得第二消息提供商能够访问意图以及在第一信道上传递的消息通信。在针对用户的多消息信道旅程中,信道切换引擎218可以被配置为针对该用户基于用户标识符和/或中间层会话标识符从存储系统228中检索所有消息传递信道交互历史,统一来自多个信道的消息历史234,并且将该消息历史234提供给下一个通信信道。信道切换引擎218也可以被配置为将认证信息传递给第二消息提供商,使得可以在第二消息提供商处发生跨信道认证。

如图10B的框1056处所图示的,第二消息提供商可以从信道切换引擎218接收通信会话信息。在所图示的实施例中,第二消息提供商可以为实况聊天平台。使用消息会话信息,第二消息提供商可以在框1058处创建任务。在框1060处,任务可以由路由引擎816经由域服务引擎804路由到客户服务终端114。可以基于意图、客户服务终端的估计等待时间和/或对于拥有本公开的本领域的技术人员而言可能显而易见的任何其他路由因素来路由任务。客户服务接口引擎604可以在框1062处创建包括通信会话的案例并且将该案例存储在存储系统608处的队列中,直到客户服务代表可用于处理该案例为止。在框1064处客户服务接口引擎604可以在客户服务接口上加载通信会话。客户服务接口引擎604可以提供在用户与第一消息提供商之间发生的完整消息历史。客户服务代表经由客户服务接口引擎604可以为通信会话的意图服务。客户服务接口引擎604经由第二消息提供商服务可以向中间层消息传递引擎204提供消息历史和消息传递交互,诸如意图变化、询问的状态(例如,成功、不成功)以及在本领域中将显而易见的任何其他消息传递交互信息。消息交互信息和消息历史可以被存储在存储系统228中并且与中间层会话标识符和/或用户标识符相关联。中间层消息传递引擎204也可以将通信会话信息中的任一种传递到策略服务引擎704和/或域服务引擎804以供将来使用或者更新机器学习算法以提供更准确的最佳下一个动作或信道推荐。

在其他示例中,中间层消息传递引擎204可以用于抽象(abstract)客户关系管理(CRM)系统和客户服务终端114,使得二者通过中间层消息传递引擎204连接。类似地,中间层消息传递引擎204可以用于创建和/或使用机器人,该机器人可以当用户经由客户服务接口引擎604与客户服务代表交互时增强向用户呈现的体验。例如,客户服务代表可以使用通过中间层消息传递引擎204与客户服务接口引擎604通信的短消息服务(SMS)一次性密码(OTP)机器人来验证请求登录协助的用户的身份。在其他示例中,客户服务接口引擎604可以通过中间层消息传递引擎与主管代理的客户服务终端耦合并且经由另一客户服务终端接口与该主管代理交互。虽然提供了在中间层消息传递系统100内抽象不同模块和系统的具体实施例,但是拥有本公开的本领域的技术人员将认识到,其他模块、程序和/或客户服务系统可以经由中间层消息传递引擎204耦合到中间层消息传递系统100。

在各种实施例中,如果在消息传递接口306/408与消息提供商服务(诸如机器人或实况聊天)之间的通信会话期间,通信会话被断开连接,则中间层消息传递引擎204可以促进通信会话的重试和重新建立。为了重新开始通信会话,因为由于消息历史的存储而中间层管理引擎204知道通信会话在何处被断开连接,所以中间层消息传递引擎204可以帮助从它结束的地方重新开始通信会话,而不是客户必须在重新开始的会话中再次提交所有消息。

现在参考图11,流程图图示中间层消息传递系统在IVR信道与消息传递信道之间切换的实施例。在步骤1102处,用户经由用户计算设备102可以向呼叫中心进行呼叫并且由交互式语音响应(IVR)系统服务。在步骤1104处,IVR系统可以将从与用户的语音交互中收集的任何用户意图传递到策略服务引擎704。在步骤1106处,策略服务引擎704可以从中间层消息传递引擎204请求关于可用的各种通信信道的信道信息,诸如估计等待时间、信道的状态以及在做出信道推荐时对于本领域的技术人员而言将显而易见的其他信息。在步骤1106处,策略服务引擎704也可以请求与正在与IVR系统交互的用户相关联的用户信息,诸如对中间层消息传递系统的联系历史。在步骤1108处,中间层消息传递引擎204可以从消息传递数据库120中检索用户信息和来自各种信道的信道信息中的任一种(例如,实况消息信道的EWT)并且将该信息返回给策略服务引擎704。在步骤1110,策略服务引擎704可以做出信道推荐并且将该信道推荐提供给用户计算设备102的用户。例如,策略服务引擎704可以做出对于较低成本机器人平台的推荐,机器人平台与语音呼叫相比提供较低成本信道。

响应于用户计算设备102的用户选择要接受信道推荐,在步骤1112a处IVR系统可以发起针对通信信道的可视IVR会话并且使用域服务引擎804的授权引擎810和/或风险引擎814来对为用户服务时的风险进行认证或计算。虽然步骤1112a被图示为由IVR系统和域服务引擎804直接发起,但是IVR系统可以经由中间层消息传递引擎204与域服务交互。在用户的成功认证后,在步骤1112b处可以发起可视IVR会话并且在步骤1112c处由域服务引擎804的通知引擎812生成的通知可以例如通过SMS消息传送给用户计算设备102。在步骤1112d处,用户计算设备102可以从用户接收要启动包括消息传递接口并针对机器人平台的通信信道。消息传递接口可以为电话的文本消息传递接口,或由服务提供商设备104提供的消息传递接口,或安装在用户计算设备102上的消息传递接口。

在步骤1114处,消息传递接口可以发起并建立经由中间层消息传递引擎204与机器人消息提供商的通信会话。可以在消息传递接口与机器人消息提供商之间传递消息通信。中间层消息传递引擎204可以用交互更新存储系统228。如果在步骤1114处询问未得到解决,则在步骤1116处机器人消息提供商可以向中间层消息传递引擎204发起信道切换请求,这使中间层消息传递引擎204向策略服务引擎704传送新意图(若可用的话),并且从策略服务引擎704接收关于下一个通信信道的判定。在步骤1122处,中间层消息传递引擎204然后可以提供可以包括实况聊天消息平台的下一个通信信道,通过使实况消息提供商会话被映射到中间层会话并且从中间层会话中去除机器人消息提供商会话来在消息传递接口与实况消息提供商之间建立通信信道,并且用域服务引擎804的授权引擎810执行对用户/用户计算设备102的跨信道认证。

在步骤1124处,消息通信传可以在消息传递接口和中间层消息传递引擎204之间传递,并且在步骤1126处针对实况消息信道的消息通信可以由路由引擎816路由到客户服务终端114,该客户服务终端提供用于为实况消息提供商信道服务的客户服务消息传递接口。消息通信可以在消息传递接口与由客户服务消息传递接口提供的客户服务消息传递接口之间被提供。在步骤1128处,当来自用户计算设备102的询问已被服务和/或以其他方式完成时,通信会话和信道可以由中间层消息传递引擎204和/或消息提供商服务终止。在步骤1128处,中间层消息传递服务也可以用通信会话的结果更新消息传递数据库120。

因此,已描述了一种用于中间层消息传递服务的系统和方法,该中间层消息传递服务促进通过通信信道的通信,该通信信道包括消息传递接口和消息提供商服务,消息传递接口和消息提供商服务在彼此之间提供消息通信。中间层消息传递服务可以与域服务和策略服务交互,使得可以向用户做出推荐用户应该使用哪一个消息传递接口和消息提供商来建立通信会话以解决客户正在询问的问题的信道推荐。如果不能使用第一消息传递信道来解决问题,则中间层消息传递服务将针对第二个信道提供推荐并且促进信道的切换,使得转变对用户是无缝的。通过提供抽象层,中间层消息传递服务也允许容易集成和去除在中间层消息传递服务中使用的服务和平台。这提供了从与消息提供商的紧密集成的隔离,使得可以容易地切换消息提供商,以测试消息提供商以判定哪一个消息提供商工作最好。

现在参考图12,图示了用户设备1200的实施例。用户设备1200可以为以上讨论的用户计算设备中的任一个。用户设备1200包括具有显示器1204的机架1202以及包括显示器1204和多个输入按钮1206的输入设备。本领域的技术人员将认识到,用户设备1200是包括触摸屏幕输入设备和允许以上参考方法900讨论的功能性的多个输入按钮的便携式或移动电话。然而,在不脱离本公开的范围的情况下,可以在方法900中使用各种其他便携式/移动设备和/或台式设备。

现在参考图13,图示了适合于实现例如用户计算设备、客户服务终端、服务提供商设备以及中间层消息传递设备、域服务设备、策略服务设备、消息提供商设备和消息传递数据库的计算机系统1300的实施例。应该领会,可以以如下方式将以上讨论的中间层消息传递系统100中利用的其他设备实现为计算机系统1300。

依照本公开的各种实施例,诸如计算机和/或网络服务器的计算机系统1300包括总线1302或用于传送信息的其他通信机制,其互连子系统和组件,诸如处理组件1304(例如,处理器、微控制器、数字信号处理器(DSP)等)、系统存储器组件1306(例如,RAM)、静态存储组件1308(例如,ROM)、磁盘驱动组件1310(例如,磁性或光学的)、网络接口组件1312(例如,调制解调器或以太网卡)、显示组件1314(例如,CRT或LCD)、输入组件1318(例如,键盘、键区或虚拟键盘)、光标控制组件1320(例如,鼠标、指针或轨迹球)和/或位置确定组件1322(例如,如图示的全球定位系统(GPS)设备、蜂窝塔三角测量设备和/或本领域中已知的各种其他位置确定设备)。在一个实施方案中,磁盘驱动组件1310可以包括具有一个或多个磁盘驱动组件的数据库。

依照本公开的实施例,计算机系统1300通过处理器1304执行包含在系统存储器组件1306中的一个或多个指令序列来执行具体操作,诸如本文相对于用户设备、客户服务终端、服务提供系统和/或第三方数据库所描述的。可以将此类指令从诸如静态存储组件1308或磁盘驱动组件1310的另一计算机可读介质读取到系统存储器组件1306中。在其他实施例中,可以使用硬连线电路代替软件指令或与软件指令相结合地使用以实现本公开。

可以将逻辑编码在计算机可读介质中,该计算机可读介质可以为指参与向处理器1304提供指令以供执行的任何介质。这样的介质可以采取许多形式,包括但不限于非易失性介质、易失性介质和传输介质。在一个实施例中,计算机可读介质是非暂态的。在各种实施方案中,非易失性介质包括光盘或磁盘,诸如磁盘驱动组件1310,易失性介质包括动态存储器,诸如系统存储器组件1306,并且传输介质包括同轴电缆、铜线和光纤,包括含总线1302的电线。在一个实施例中,传输介质可以采取声波或光波的形式,诸如在无线电波和红外数据通信期间生成的那些。

计算机可读介质的一些常见形式包括例如软盘、柔性盘、硬盘、磁带、任何其他磁性介质、CD-ROM、DVD、任何其他光学介质、穿孔卡、纸带、具有孔图案的任何其他物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储器芯片或盒、载波、或计算机被适配为从中读取的任何其他介质。在一个实施例中,计算机可读介质是非暂态的。

在本公开的各种实施例中,用于实践本公开的指令序列的执行可以由计算机系统1300执行。在本公开的各种其他实施例中,通过通信链路1324耦合到网络322(例如,诸如LAN、WLAN、PTSN和/或各种其他有线或无线网络,包括电信、移动和蜂窝电话网络)的多个计算机系统1300可以执行指令序列以相互协调地实践本公开。

计算机系统1300可以通过通信链路1324和网络接口组件1312来传送和接收消息、数据、信息和指令,包括一个或多个程序(即,应用代码)。网络接口组件1312可以包括天线,分开的或集成的,以使得能够经由通信链路1324进行传送和接收。接收到的程序代码可以由处理器1304随着被接收和/或存储在磁盘驱动组件1310或某个其他非易失性存储组件中以供执行来执行。

在适用的情况下,可以使用硬件、软件或硬件和软件的组合来实现由本公开提供的各种实施例。另外,在适用的情况下,在不脱离本公开的范围的情况下,可以将本文阐述的各种硬件组件和/或软件组件组合成包括软件、硬件和/或两者的复合组件。在适用的情况下,在不脱离本公开的范围的情况下,可以将本文阐述的各种硬件组件和/或软件组件分成包括软件、硬件或两者的子组件。另外,在适用的情况下,设想到可以将软件组件实现为硬件组件并且反之亦然。

可以将依照本公开的诸如程序代码和/或数据的软件存储在一个或多个计算机可读介质上。也设想到可以使用联网和/或另外的一个或多个通用或专用计算机和/或计算机系统来实现本文标识的软件。在适用的情况下,本文描述的各种步骤的排序可以被改变,组合成复合步骤,和/或分成子步骤以提供本文描述的特征。

前面的公开内容不旨在将本公开限于所公开的精确形式或特定使用领域。因此,设想到对本公开的各种替代实施例和/或修改无论被显式地描述了还是在本文中暗示了,鉴于本公开都是可能的。在如此描述了本公开的实施例后,本领域的普通技术人员将认识到,在不脱离本公开的范围的情况下,可以在形式和细节上做出变化。因此,本公开仅受到权利要求限制。

相关技术
  • 中间层消息传递系统
  • 自动化设备和机器人的消息传递方法及动态消息传递系统
技术分类

06120112348654