京东智能客服言犀启发式问答技术揭秘

京东科技开发者

共 6099字,需浏览 13分钟

 ·

2022-02-28 18:21

文章作者:邹波、宋双永、孙博秋



1. 背景介绍


近年来,随着智能客服机器人在电商平台上的使用越来越多,用户满意度和问题解决率已成为评价智能客服服务质量、衡量用户体验的最重要指标,而用户体验主要受到用户的交流便利性和服务机器人的答案准确性影响。为了提高智能客服机器人的服务水平,我们提出了一种启发式问答框架。

该框架在用户咨询的“前中后”全环节,通过问题预测的方式,给出若干个候选query,引导用户通过“点点点”来完成咨询,以减少用户输入,规范用户表述,收敛用户问题。

在此过程中需遵循原则:
1)候选query都是规范的表述;
2)用户点选候选query之后,系统都应该给出正确答案或进入正确对话流。


2. 落地情况


京东智能客服启发式问答主要包括,咨询前-问题预判,咨询中-联想输入,咨询后-关联推荐三大模块。目前,已有1/3的消息可通过启发式问答体系点击完成,很大程度提升了用户的交流便利性,同时根据线上业务统计效果显示,该体系帮助有效提升了整体的智能客服问答准确率、用户问题解决率以及用户的反馈满意度。

图1 启发式问答落地情况




3. 算法技术介绍


3.1 咨询前-问题预判
在顾客进线咨询前,机器人会对顾客的咨询意图进行预测(简称问题预判),并将顾客可能咨询的问题推送到前台界面,供顾客点选。这样可以降低用户咨询的费力程度,也能在一定程度规范用户的表达降低后续机器识别的难度,提升顾客整个购物和咨询过程中的体验。

3.1.1 预判引擎
我们设计一种基于海量业务数据沉淀和分析的引擎(简称预判引擎),该引擎有几个核心价值:
1)快速支撑不同业务问题预判需求接入;
2)沉淀海量业务数据和部分用户脱敏数据;
3)建立基于海量数据的问题预判统一模型;
4)挖掘并不断完善预判模型自学习能力。

随着接入业务的增多,预判引擎自身沉淀的业务数据、算法、以及预判能力都在持续提升,最终形成一个良性的闭环,提升用户进线咨询的体验。
  
图2 预判引擎总体架构图

数据层:通过不断接入更多信息,沉淀海量业务数据,并在不同的业务中复用这些数据。这些数据包括用户进线咨询前的购买信息,进行系统分析。
存储层:包括实时数据计算框架Flink,分布式数据存储HBase等
算法层:基于DeepCTR体系下的DeepFM和DCN等,用于建立预判模型
服务层:基于之前的数据、存储和算法层,提供用户进线的问题预判,以及用户进线咨询的订单预判等
业务层:包括在线机器人客服、在线语音机器人客服、人工客服等

3.1.2 冷启动和热启动
为什么会有冷启动?当外部系统需要使用预判引擎服务,我们得先准备好预测用户进线问题的模型,才能提供该服务。冷启动的过程,就是接收外部系统输入数据,结合预判引擎内部数据,以及用户当前进入的咨询意图,综合记录下这些信息用于建立问题预判模型。

冷启动过程中,预判引擎是不能直接提供模型预测服务的,只有当有了足够的数据支撑后,做好训练好预判模型,才能对外提供问题预判模型预测服务。

以人工客服端接入预判请求为例,如图2所示,冷启动有如下四步骤:

图3 冷启动流程图

(1)接入数据整理
a) 第一步,我们找到一些业务专家,离线对人工客服咨询的各类问题进行分析,甄别出可能对进行问题判断有帮助的信息。注意这里收集原则是,能直接或间接决定用户进线咨询问题。比如,用户有退换货申请时会提交的服务单。这个服务单对应的状态,类型等信息,很可能决定用户进线咨询问题。类似的人工客服数据还有工单、纠纷单、赔付单等。

b) 第二步,实现关联信息的线上实时获取,需要时可直接调用系统接口获取。

(2)发起预判请求
a) 当线上真实用户进线时,外部系统优先获取(1)中的相关信息。注意,这里需要实时获取,保证信息的时效性,务必是用户进线这一时刻对应的服务单、工单等信息。

b) 调用预判引擎,获取问题预判信息。由于是冷启动过程,引擎接口在调用相关信息处理模块的同时,也会调用配置问题模块,从中获取一些人工端用户经常咨询的问题。这样,即便在冷启动过程中,也能保证在每次请求有信息返回,不至于返回空。

(3)数据处理与缓存
a)调用预判引擎内部数据源,结合外部传入数据,形成一份统一的预判源信息源。比如,内部的订单信息、外部传入的服务单、工单等。

b) 将所有获取的信息缓存在DateBase中,以便后续离线流程使用。

(4)离线模型训练
a) 离线获取之前缓存数据,作为模型训练的特征;再获取用户进线咨询的意图,作为模型训练的标签。这里每一个训练样本,都是一次真实用户进线那一时刻,对应用户的订单、服务单等信息,以及进线后咨询意图分类。必须保证同一用户,同一时刻的数据,这样训练样本才是有效的

b) 模型训练:基于上面已获取的数据,训练一个分类模型。这里采用业界常用的分类模型都可以完成这个步骤,比如XGBoost等。

一般情况,受收集数据量的影响,冷启动过程大概需要1-2周。比如,我们需要建立一个100类问题的问题预判模型,预估需要总共收集50w条数据来训练模型。假设每天外部系统能有10w次的调用量,那理论上就需要5天的数据收集时间。

当完成模型建立,将模型加载到系统中,系统就能够提供线上模型预测服务。此时,外部系统再次调用,就可以获得模型问题预判的结果,引擎也就真正具备了模型问题预判的能力。

热启动流程如图3所示,主要有以下两步骤:

图4 热启动流程图

(1)发起预判请求
a) 对于外部系统,无需再获取任何数据,只需直接发起预判请求。所有数据获取,模型预测的步骤,都交由预判引擎完成。

b) 外部系统提供一个用户唯一标识(pin),传入预判引擎用于数据获取。比如,上文提到的服务单、订单等信息,都可以通过pin查询到。

(2)预判引擎处理
a) 根据传入pin获取相关数据。这里把冷启动过程中,在外部系统获取的数据,直接沉淀到预判引擎系统中。这样,随着越来越多的外部系统接入,引擎就能积累更多的数据,并且可以在不同业务复用这些数据。

b) 基于已获取的数据,模型预测得到问题预判结果,并直接返回给外部系统

c) 热启动过程获取的数据也需要缓存下来,后续可用于模型的训练和调优
通过预判引擎收集并沉淀外部的数据,在下一个业务接入时,这些数据都是可以复用的。同时,由于各个端的咨询业务类型都很类似,所以问题预判的模型也可以复用。这样我们就构建了一个能够快速支撑不同外部系统接入问题预判服务的引擎。随着更多的外部数据接入,预判模型的预测也能随之变得更准。

3.1.3 预判算法
基于以上收集的用户进线咨询信息进行建模。采用用户进线第一个业务问题对应的分类作为标签,模型结构可参考图5。我们围绕DeepCTR体系下,尝试了DCN、DeepFM、Wide&Deep等模型,并且增加LSTM网络用于处理用户实时特征。其中DCN模型作为Wide&Deep的扩展,能够在深度网络基础上,很好的学习交叉特征之间的关系。我们总共搜集532k条样本,分类数量总共120个,效果最好的DCN模型,准确率能够达到40.73%。


图5 问题预判模型结构图

3.1.4 预判自迭代模型
预判模型上线之后,我们观察到两个现象。第一,随着时间推移,模型的准确率和点击率会有波动。第二,对用户咨询意图数据做聚类分析,发现京东618、11.11等大型营销活动(下文简称“活动”)期间咨询意图分类和平时有明显区别。从咨询分布来看,活动前活动咨询和商品咨询比较多,活动后催单类的咨询比较多。通过聚类分析,我们可以把用户咨询意图分布分为平时、活动前、活动后、半年前这几种情况。

图6 用户咨询数据聚类分析

对于以上4种意图分布情况,分别用各自的数据训练模型,并交叉验证准确率结果。最终实验结果表明,各模型都在自己的验证数据上准确率最高,在其他的验证数据表现略差一些。


针对这个问题,我们设计了一套自动触发训练、验证、上线的自迭代模型。这套机制能够基于线上实时意图分布数据,自动适配分布最相似的问题预判模型。在意图分布偏差超过阈值时,自动触发模型训练生成新的问题预判模型,保证模型的时效性,提供更好的用户体验。

图7 问题预判自迭代流程图
 
3.2 咨询中-联想输入
联想输入又叫句子自动补全(query auto-completion),常用于现代搜索引擎中,目标是在用户输入过程中预测完整的query,并按照相关性排序后推荐给用户点选。通过辅助用户输入,避免输入拼写错误或表述模糊的query,提升用户体验。

3.2.1 整体流程
现有对话系统中句子自动补全的主要流程是,获取用户输入的prefix后,先从语料库召回一批与用户输入prefix相关的候选query,再通过特定的排序算法对候选query进行相关性排序,最后取排名最高的若干个query推荐给用户。

在京东智能客服系统中,为提升整体效果增加了敏感词过滤,繁简转换,文本纠错等功能。以下是我们优化后的联想输入全流程:



图8 联想输入整体流程图

3.2.2 query算法排序
整体流程中的算法排序功能,通过Learning-to-rank机器学习模型对召回的query进行排序,取排序中前n个query作为最终结果推荐给用户。总体实验数据89k,使用以下三类特征,
1)意图特征,包括Query-class Distribution,Session-classDistribution等5种;
2)文本特征,包括query长度,document长度,query-document长度比例等9种;
3)统计特征,包括语料三天内点击量

算法建模采用以下思路:
  • 实验一:仅用文本特征+统计特征,作为baseline
  • 实验二:直接增加意图特征,用于排序模型
  • 实验三:不直接使用意图特征,而是建立基于prefix的意图预测模型,将预测的prefix意图用于排序模型

实验结果表明,将意图特征+文本特征+统计特征用于排序效果最好,整体top3准确率达到89.1%。


3.3咨询后-关联推荐
关联推荐又叫下一问题预测,在给出当前问题答案的同时,将接下来可能咨询的问题推送到前台供顾客点选,以降低咨询的费力程度,规范顾客表达降低后续机器识别的难度。

传统的关联问题推荐方法有两种,要么完全靠人工配置问题,要么完全靠模型推荐问题。第一种方法过度依赖人的能力,配置工作量大,且配置的问题不具备时效性;第二种方法,也是对话系统中常见做法,可能出现一些明显的推荐错误,导致顾客觉得机器人不够智能。

京东智能客服颠覆传统独立运营配置或独立模型推荐的模式,探索AI推荐与运营配置深度融合的解决方案,充分利用AI的优势弥补人工的短板,使得两者结合产生1+1>2的效果,为产品带来提升。

3.3.1 总体流程

图9 关联问题推荐总体流程图
 1)离线流程
  • 运营触发:运营判断该答案节点需要配置关联推荐问题,触发关联推荐离线问题挖掘流程
  • 挖掘模型:自动挖掘关联推荐问题,供运营同学配置关联问题参考。
  • 人工配置:基于挖掘结果,人工选择性的配置关联问题到系统中
  • 数据回流:前端点击数据,可以返回给人工配置模块,供运营参考并调整配置

2)线上流程
  • 应答树:用户请求经过机器人的意图识别和应答模块,已定位到具体的答案节点
  • 关联推荐:该答案节点配置有关联问题推荐,根据已配置的内容出关联问题
  • 排序模型:基于配置的关联问题,模型重新进行排序,给出最终的推荐问题供前端展示。可参考用户订单、当前意图、用户历史点击等信息,建立排序模型。
  • 数据回流:用户点击信息,可以回流用于线上排序模型的建模
  • 离线挖掘模型

离线挖掘采用的两种方案,挖掘结果上可以互为补充,共同给到运营做关联推荐配置问题的参考。一方面保证了挖掘出问题的多样性,另一方面也保证了问题的准确性。

方案一:计算答案结点ANSWER_NODE,到下一句意图B的转移概率,再基于意图维度进行归类和排序。该方案优势是最终结果更丰富更规范,不足之处在于,不是直接对用户的下一个问题进行挖掘,挖掘结果可能缺乏针对性。

具体步骤:
(1)计算答案节点-精细化意图转移概率
a) 对于任意答案节点ANSWER_NODE,在他之后的所有用户问题对应的意图分类,假设是10A,10B,5C,5D,10E,ABCDE分别对应不同意图,那么从ANSWER_NODE到A的转移概率就是10/40=0.25,ANSWER_NODE到C的转移概率5/40=0.125

(2)根据转移概率值、全局意图咨询量等条件筛选答案节点相关意图
a) 转移概率用于不同答案节点下推荐的意图排序
b) 意图咨询量是基于全局维度统计的,目的是筛选出顾客经常咨询的意图
c) 综合转移概率和意图咨询量筛选相关意图信息

(3)对每个答案节点的top3相关意图提取高频问法
a) 对于已筛选出的意图分类,统计该意图的高频问法,作为待推荐的标准问题

方案二:基于答案结点ANSWER_NODE,统计下一句用户问题,并基于问题做聚类。该方案优势是挖掘的问题目标更加精准,不足之处在于下一句的问题较发散,也存在部分无意义的句子。

具体步骤:
(1)提取触发答案节点后的用户问法

(2)根据意图类型等因素对各答案节点关联问法聚类
a) 聚类直接用层次聚类或k-means聚类方法
b) 对每个答案节点下的所有用户问题进行聚类。经过聚类后,可得到用户真实问法,以及问题出现次数。

3.3.3 线上排序模型
当用户输入问题走到对应答案节点,且该节点已配置关联问题推荐时,会触发关联问题推荐功能,给前端用户展示已配置的问题。在此之前,排序模型会对配置的N个问题进行重排序,将模型认为用户点击概率最高的问题排在最前面。

特征采用以下三类,包括
1)文本特征:query和document公共词数等3种;
2)意图特征:query意图与document之间的转移概率等5种;
3)业务特征:订单类型/状态,商品品类信息等5种

模型采用句子对匹配的深度模型,如ESIM、ABCNN、DIIN等。query和各个document组成句子对,通过深度相关性模型预测query和document之间相关性。

图12 关联问题排序模型结构图

实验结果表明,仅用ABCNN深度模型捕获query和document相关性特征是不够的,还需要结合其他特征做XGboost融合模型效果最好,目前最优top3准确率97.9%。



4. 未来提升空间


以上给出的京东智能客服启发式问答相关能力的打造,均是基于京东智能人机交互平台-‘言犀’,相关工作已经被数据挖掘/数据库领域的知名会议DASFAA录用。着眼未来,我们还可以从以下几个方向去做提升:

第一,从单个功能各自预测,到启发式问答整体预测,避免重复问题。
第二,解决多轮问题的重要手段之一,提升对话流畅度,缓解首句直接转人工。
第三,毋需事先配置,自动实现基于深度语义理解的多轮启发式问答,引导用户清晰表述诉求。

-End-
浏览 216
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报