外呼系统自动打电话

发布时间:1970-01-01 人气:205

  携程是综合性的OTA,它涵盖了广泛的业务线路,包括机票、酒店、火车票、景点门票、汽车票、租车、出租车等。携程的系统也是根据业务线建立的。属于所有业务线的人只能为客人提供业务线咨询。然而,一次旅行往往涉及到全面的资源调度。携程还致力于为用户提供一站式的服务体验。显然,用户需要找到相应的业务线来咨询旅行中的问题。图1显示了用户在咨询时需要找到相关业务线的场景。

  随着我们团队在各业务线咨询中引入机器人辅助劳动力,成熟度越来越高,我们有进一步的计划,即携程App一站式机器人的推出可以让用户解决一次旅行可能涉及的各个方面。

  本文将首先比较当前用户咨询问题入口与一站式入口的异同,从而导致建立一站式机器人的重要性和挑战,然后结合具体情况讲述机器人的完整结构,并详细介绍自然语言理解部分(NLU)的算法。

图1 各业务线售前咨询入口一、各业务线咨询入口及一站式入口

  让我们从一个泛业务线咨询的例子来看看各业务线咨询入口和一站式咨询入口之间的区别。在图2中,携程用户因私人事务取消了一次旅行,导致机票、酒店等产品的退款。在图2的左半部分,用户从机票订单详细信息页面进入咨询过程,咨询机票退款进度,然后咨询酒店退款进度。然而,由于机票入口只有机票产品的技能,面对用户咨询的酒店问题,只能建议用户跳转。在图2的右半部分,用户可以在一站式入口进行咨询,以完成单个入口的完整咨询过程。

图2 机票订单详情页入口与一站式入口

  机票订单详情页入口的机器人,只能回答本业务线的问题,对于跨业务线的问题只能提供转接服务;一站式入口的机器人,拥有解答全业务线问题的能力。

  让我们来看看酒店咨询和推荐混合需求的例子。在图3中,用户浏览酒店后,咨询酒店是否有游泳池。在得知酒店没有游泳池后,他们希望在附近的地区找到一家有游泳池的酒店。图3的左半部分是用户通过酒店详细信息页面进入咨询入口后的服务流程。由于入口限制了所有的咨询只能针对特定的酒店,因此用户的推荐需求只能选择手动转移。图3的右半部分是用户在一站式入口处获得的服务流程。一站式具有咨询和推荐的能力。

图3 酒店详情页入口及一站式入口

  酒店详细信息页面入口处的机器人仅限于特定酒店,只能提供与酒店相关的信息问答;一站式入口可灵活提供酒店信息、酒店预订和推荐功能。

  综上所述,我们可以看到的咨询入口相比,一站式有两个明显的优势。

  首先,一站式拥有全业务线的知识,可以在不进入各业务线的情况下,为用户提供全方位的旅行支持。

  第二,一站式除了咨询技能外,还有更多的技能,如推荐、预订等,为用户带来更方便的一站式体验,也为企业创造了准确营销的可能性。

二、“一站式”机器人架构

  在部分,我们可以看到一站式机器人比目前的系统有很大的优势,但也有很大的挑战。

  当用户进入一站式入口时,与每条业务线的咨询入口不同,我们需要通过自然语言理解算法了解用户的服务需求。此外,一站式入口的许多技能也需要在适当的时间激活,因此我们需要一个对话管理模块来控制这些技能的激活,对话管理模块也将与自然语言理解模块一起使用,以更准确地分析用户的真实需求。

  图4是算法端一站式机器人的完整架构,在架构中省略了服务端的接口调用和前端的显示逻辑。自然语言理解模块主要包括三个子模块、领域分类、意图分类和槽分析,该模块的结果输出到对话管理模块。对话管理模块更新了当前的对话状态,并根据分析的用户意图选择了合适的机器回复。最终的回复生成模块负责调用各种问答、推荐和技能服务,并使用自然语言用户的需求。

图4

  在对一站式机器人的结构有了初步的了解之后,我们将回顾部分的两个例子。

  在图5中,用户进入入入口并发起咨询,我取消了机票订单,但没有收到退款。自然语言理解模块分析了机票领域,意图是机票领域的问答。对话管理模块选择相应的机票问答Action,调用机票业务线服务常见问题(FAQ)回答用户的问题。满足用户需求后,进一步咨询酒店退款。自然语言理解模块识别用户在酒店领域的问答意图,对话管理模块选择相应的酒店问答Action,调用酒店业务线业务常见问题服务(FAQ),满足用户完整的服务需求,实现一站式目标。

图5 一站式机器人完成跨业务线用户的服务需求

  让我们看看图6中的另一个例子。在酒店预订过程中,用户咨询酒店是否有游泳池。自然语言理解模块分析了用户的意图是酒店领域的问答,并分析了酒店和酒店设施的槽。对话管理模块填写酒店和酒店设施的槽,并要求酒店KBQA服务,了解酒店没有游泳池。用户进一步询问附近是否有其他酒店有游泳池。自然语言理解模块分析用户意图是酒店领域的推荐,并分析酒店设施的槽位。对话管理模块更新酒店设施的槽位,将中心地标和酒店设施带入接口,查询符合相应条件的酒店。

图6 一站式机器人法

  在部分,我们描述了建立一站式机器人的动机,并比较了它与当前业务线咨询入口的异同。在第二部分,我们给出了一站式机器人的算法架构,并结合两个例子描述了它的工作过程。从机器人架构的角度来看,自然语言理解是步,也是一个非常重要的模块。只有正确地理解用户Query机器人可以通过对话管理和自身技能为用户服务。

  用户自然语言理解模块Query的解析主要包括两个部分,意图识别和槽位解析,其中意图识别又被细分为领域分类和领域下的意图分类,主要使用分类算法,槽位解析主要使用实体识别和实体链接的一些算法。在此我们着重介绍意图识别中使用到的分类算法。

  考虑到我们场景中的领域与意图之间存在层次关系,即每个意图都是某一领域下的一种意图,我们在设计算法时充分反映了这种层次关系。如图7所示,我们使用表将用户输入转换为one-hot形式,通过Embedding层转换为连续向量,用户的输入可以是字级或字级,也可以通过字级结果CNN或Highway Network方式和词级Embedding结合。

  然后我们用LSTM或GRU的RNN类序列表征层学习序列的表征。通过全连接层和soft ** x激活函数,获得该领域的预测结果。一方面,该领域的预测结果将以真实的领域标签作为损失函数的一部分,也将与随机初始化的领域相结合Embedding矩阵点乘得到与句子相关的领域向量。该领域的向量与以前的序列表征共同构成意图分类的输入,我们使用另一个LSTM或GRU的RNN序列表征层进一步表达序列,再次引入领域向量对序列结果进行Attention操作得到最终句子表征。通过全连接层和soft ** x激活函数,得到预测结果。

图7 领域及意图分类算法

  在我们的实验过程中,Embedding层的各种方法差别不明显,我们尝试包括词级的方法Embedding、字级别Embedding以及字级CNN结合词级共同行动Embedding;序列表征层的各种方法差异不明显,包括GRU、LSTM以及Self-Attention层。当获得最终表征层时,基于领域向量Attention操作相比于CNN特征提取方法及对RNN输出的隐向量做 ** x-pooling方法显著提高,分类精度提高约1.5%-2%。与平铺意图分类方法相比,级联意图分类方法有了显著提高,分类精度提高了2%左右-3%。我们认为这种方法之所以能带来改进,是因为它首先预测了相对简单的领域标签,然后使用该领域的信息来辅助预测意图,类似于curriculum learning从易到难的过程可以使模型更好地学习。

  我们在离线数据集的培训集上培训模型,在开发集上调整参数,在集上评估调整参数优化后的模型。集的领域级别分类精度约为90%,意向级别分类精度约为87%,模型符合在线可用标准。

四、结语

  在本文中,我们向读者描述了携程的一站式机器人愿景,并提出了其优势和挑战。我们采用了结合自然语言理解和对话管理的算法架构,使一站式机器人着陆。

  未来,我们将继续从多个角度进行优化,包括更精细的自然语言理解、更准确的意图分类和槽分析模型、容错对话管理过程、更丰富的知识库、更好的意图扩展等,希望创建智能一站式机器人,与各业务线人员更好地服务携程用户。

  【作者简介】经纬,从事机器人算法研发,专注于nlp该领域的算法研究和应用,如数据和场景驱动的算法研发。

  更多携程技术人员干货文章,请关注携程技术微信公众号。

在线客服
联系方式

热线电话

19237985954

上班时间

周一到周五

公司电话

19237985954

微信二维码
线
获取免费体验资格

提交后,我们将在3个小时内与您联系