您当前的位置:首页 > 客户服务

再谈机器智商京东如何实现智能客服理解力提升

发布时间:2019-04-30 02:06:42 编辑: 浏览次数: 打印此文

  在过去的十几年,人机交互的方式从键盘升级成按键,从按键又变成手指触摸,下一个次变革,人类将回归最自然的交互方式——对话。对话方式让机器帮助人直接完成工作。智能客服作为最早的应用智能对话系统的落地产品,对于智能对话系统的工业化应用的探索贡献颇多。

  京东一直坚持以技术驱动公司成长,致力于将人工智能技术与商业场景应用相结合,给消费者提供更优质的体验。在今年11.11全球好物节中,京东智能客服与用户发生超1630万次对线% 用户反馈的问题。此外,智能客服也拥有了情感智能,能够精准识别出七种不同的用户情感,为消费者提供更贴心温暖的帮助。在近期的产品迭代实践中,针对一系列的技术难点,京东AI团队对此进行了突破性的探索,这些尝试,既让普通用户与智能客服的对话体验实现极致提升,又让人工客服享受AI智能辅助带来的便利,更让所有使用智能客服的京东商家在构建机器人知识大脑时更容易,真正地让所有参与客服服务的人都感受到AI赋能的力量。

  在经典的智能对话交互架构中,自然语言理解是整个流程中的核心模块,直接影响整体的对话效果。京东智能客服作为任务导向型机器人,此前较为关注对话中的业务处理逻辑。为了完善整体对话体验,势必需要对闲聊对话与FAQ对话给予更多的关注。因此,在近期,京东AI的算法团队重点对自然语言理解模块与闲聊对话、FAQ对话两类对话模式这三部分进行了一系列全新的探索。

  首先,在自然语言理解领域,上下文理解一直是智能对话系统重点关注的问题。最简单的上下文理解方法,是将历史问题拼接起来整体进行预测,但是这种策略无法区分每一句的侧重点,往往出现因为结合上文反而导致识别错误的情况。

  改进后的HAN模型做了以下优化:先将第一层双向LSTM模型替换为捕捉局部特征能力更强的CNN模型;再将第二层双向LSTM改为单向LSTM,这也与实际情况中越靠近最后的话越重要保持一致。每个层级具体内容如下:第一层CNN输入为词向量拼接成的句字向量矩阵;经CNN处理后的输出直接作为第二层LSTM的输入,其中LSTM的节点数与句子个数保持一致,LSTM的输出作为每句话的句向量;经过最终attention后获取最终文档的向量表示,并经过softmax进行最终的分类。新模型在多个场景上线个点的提升。因上下文识别错误导致的应答问题占比降低5个点,上下文应答效果提升明显。

  除此之外,在人工客服智能辅助领域,我们还尝试了另一种解决上下文意图识别的方案。由于上述模型更多适用于关联少量上文语句的场景,对于需要全文关联的情况效果不够优秀,因此我们提出了Hierarchical Attention Dilated Convolutional Networks(以下简称HADCN)算法。

  传统RNN类的模型在捕获全局的句子语义时有优势,但速度较慢。CNN类的模型在运算速度上有优势,但很难获取上文信息。而HADCN模型参考了WaveNet/Bytenet按照Dilated Convolutional Networks(以下简称“DCN”)扩展到语音和翻译结果的产生的思路,是一种兼顾精度和速度的框架。这一框架的引入,提供了几乎业界最好的精确度,灵活度,适应不同的上下文输入,训练和推理速度亦在同类型算法里最快,可以让工业实践在一个稳定的框架下,不需要完全跟随学界各种神经网络分类算法,解决业务范围内大多数应用问题,减少重复开发。

  这一算法采用句子间先分句编码再合并编码的方式;每一个DCN网络可以堆叠若干层,加大深度,如下图绿色虚线框所示;每个句子用DCN堆叠S1层,产生编码,句子之间也采用DCN堆叠S2层,产生整体多句的编码,然后产生最后的分类输出;下图中以3句为例展示结构;每个DCN内采用Dilated CNN,在每个时刻都计算对应每个词的编码表达;相邻两个DCN堆叠之间采用Self Attention连接,规整不同位置的词之间的句法和语义关系;DCN内的每一个运算块简化为单层CNN,加快运算速度。

  这一新算法主要应用于人工客服会话的前文智能总结中:基于人工客服会话数据建模,打破了传统针对单句的意图识别,采用用户问题+客服答案的会话维度训练数据,对整通会话进行识别,模型返回分类结果。模型上线分类的会线%。另外,实验发现,HADCN在少数DCN堆叠的情况下,对上下文意图识别任务可以比改进后的HAN模型有约2%的准确度提升。

  除此之外,我们还将多层次意图的思想引入自然语言理解领域。传统的意图识别仅仅Domain – intent的单一维度的识别,而本质上人的任何表达必然具备多种不同维度的信息。而一旦将句子的信息进行多维投射,人的思维就难以通过经验对多维信息进行意图定义。此时便需要引入聚类的思想进行分类构建。为了适应聚类这一数据处理方式在逻辑上的不清晰,则需要引入层级的概念,对聚类结果进行容错。层级的概念也与客服领域将用户诉求进行分级归类的惯例不谋而合,更便于运营工作开展进行。

  因此,我们利用聚类的方式,把意义较为接近的分类分成两层或者多层,每个模型之间不能冲突,下层节点具有容错性。层次聚类算法分成凝聚式和分裂式两种,取决于层次分解是以自底向上(合并)还是以自顶向下(分裂)方式形成。

  凝聚式层次聚类使用自底向上的策略,开始时每个对象自己是独立的类(N个),然后不断合并成越来越大的类,直到所有的对象都在一个类中,或者满足某个终止条件。在合并过程中需找出两个最近的类让他们合并形成一个类,所以最多进行N次迭代就能将所有对象合并到一起。分裂式层次聚类使用自顶向下的策略,开始时所有对象都在一个类中(1个),然后不断的划分成更小的类,直到最小的类都足够凝聚或者只包含一个对象。考虑到分类语料本身的多维特征以及含义交叉性,我们主要采用层次凝聚的方式构建层级。方案上线%的上升。

  说完了意图识别,在FAQ对话领域,我们同样达成了一定的技术突破。由于客服对话场景中,对于答案质量的要求较高,因此在匹配时我们一般侧重于准确率,这就导致FAQ的召回受限,效果难以发挥。

  因此,我们应用了QA SWEM算法方案来解决此问题。该算法综合考虑了算法的准确率和运行效率,使用了Word Embedding和Pooling两种结构,采用了四种SWEM模型,包括:

  我们针对整个算法,进行了进一步的迭代和优化,创新地提出将Attention以及GBDT与SWEM结合的方案。

  考虑到SWEM主要是深度学习的特征,而且模型比较简单,特征表达能力有限,我们使用GBDT把一些非深度学习的特征(比如编辑距离、词语重合度等)和SWEM进行融合,在保证运行性能的同事,进一步提升QA匹配模型的效果。

  得到句子之间的Attention编码,再整合上SWEM模型,比现有的BiLSTM算法提升2-3%,模型的训练和运行性能上都取得了更好的效果。

  最后再谈一下闲聊对话领域,之前智能客服仍采用传统检索方式。传统检索方式主要包括三个模块,query解析,问答检索和答案重排序。query解析是对用户query进行理解,提取出重要部分;问答检索是从问答库中检索出query相关的问答对;答案重排序是对检索出来的问答对进行重新排序。该方法简单易操作,答案易理解,缺点是答案受限于问答库,缺乏多样性。

  为了解决缺乏多样性带来的效果欠佳与维护成本高的问题,我们着力将深度生成方式引入该场景。深度生成方式采用经典的encoder-decoder框架,并结合了注意力机制,能根据用户query,来直接生成答案。生成方式主要有三个部分,编码,解码和注意力。编码就是将输入的query编码成一个向量,解码则是将生成的向量再转化成输出的答案,注意力指在输出的时候需要重点关注输入的哪些部分。通过对生成答案与原有检索式方案产出的答案的标注对比,生成答案较检索式答案质量提升约20%,应答效果显著提升。

  过去一段时间,结合业务需求,我们在智能对话领域展开了多项探索,取得了一定成效。我们的技术探索之路还在继续,未来还要在坚持用户体验为先的基础上,不断扩展AI技术的应用领域,并打造数据闭环,通过数据反哺算法效果的持续提升,为打造业内首个具备情感智能个性化的解决型智能客服,为用户提供极致体验而努力。相信随着AI技术的不断发展,未来智能客服对话系统还将有持续提升,我们也将和业界一道推动这一领域的创新实践。