在过去的十几年,人机交互的方式从键盘升级成按键,从按键又变成手指触摸,下一个次变革,人类将回归最自然的交互方式——对话。对话方式让机器帮助人直接完成工作。智能客服作为最早的应用智能对话系统的落地产品,对于智能对话系统的工业化应用的探索贡献颇多。
京东一直坚持以技术驱动公司成长,致力于将人工智能技术与商业场景应用相结合,给消费者提供更优质的体验。在今年11.11全球好物节中,京东智能客服与用户发生超1630万次对话,独立解决了90% 用户反馈的问题。此外,智能客服也拥有了情感智能,能够精准识别出七种不同的用户情感,为消费者提供更贴心温暖的帮助。在近期的产品迭代实践中,针对一系列的技术难点,京东AI团队对此进行了突破性的探索,这些尝试,既让普通用户与智能客服的对话体验实现极致提升,又让人工客服享受AI智能辅助带来的便利,更让所有使用智能客服的京东商家在构建机器人知识大脑时更容易,真正地让所有参与客服服务的人都感受到AI赋能的力量。
在经典的智能对话交互架构中,自然语言理解是整个流程中的核心模块,直接影响整体的对话效果。京东智能客服作为任务导向型机器人,此前较为关注对话中的业务处理逻辑。为了完善整体对话体验,势必需要对闲聊对话与FAQ对话给予更多的关注。因此,在近期,京东AI的算法团队重点对自然语言理解模块与闲聊对话、FAQ对话两类对话模式这三部分进行了一系列全新的探索。
常见的智能对话交互框架
首先,在自然语言理解领域,上下文理解一直是智能对话系统重点关注的问题。最简单的上下文理解方法,是将历史问题拼接起来整体进行预测,但是这种策略无法区分每一句的侧重点,往往出现因为结合上文反而导致识别错误的情况。
下图是基于Hierachical Attention Networks(HAN)改进的Sentence Attention Hybrid Networks模型,能够较好的解决上面提到的问题,在结合上下文的同时,结合attention机制能够有效的区分每句话的重要程度。
Sentence Attention Hybrid Networks模型算法结构
改进后的HAN模型做了以下优化:先将第一层双向LSTM模型替换为捕捉局部特征能力更强的CNN模型;再将第二层双向LSTM改为单向LSTM,这也与实际情况中越靠近最后的话越重要保持一致。每个层级具体内容如下:第一层CNN输入为词向量拼接成的句字向量矩阵;经CNN处理后的输出直接作为第二层LSTM的输入,其中LSTM的节点数与句子个数保持一致,LSTM的输出作为每句话的句向量;经过最终attention后获取最终文档的向量表示,并经过softmax进行最终的分类。新模型在多个场景上线后,准确率有5-10个点的提升。因上下文识别错误导致的应答问题占比降低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模型算法结构
这一新算法主要应用于人工客服会话的前文智能总结中:基于人工客服会话数据建模,打破了传统针对单句的意图识别,采用用户问题+客服答案的会话维度训练数据,对整通会话进行识别,模型返回分类结果。模型上线后,对线上30分类的会话意图,准确率能达到80%。另外,实验发现,HADCN在少数DCN堆叠的情况下,对上下文意图识别任务可以比改进后的HAN模型有约2%的准确度提升。
除此之外,我们还将多层次意图的思想引入自然语言理解领域。传统的意图识别仅仅Domain – intent的单一维度的识别,而本质上人的任何表达必然具备多种不同维度的信息。而一旦将句子的信息进行多维投射,人的思维就难以通过经验对多维信息进行意图定义。此时便需要引入聚类的思想进行分类构建。为了适应聚类这一数据处理方式在逻辑上的不清晰,则需要引入层级的概念,对聚类结果进行容错。层级的概念也与客服领域将用户诉求进行分级归类的惯例不谋而合,更便于运营工作开展进行。
因此,我们利用聚类的方式,把意义较为接近的分类分成两层或者多层,每个模型之间不能冲突,下层节点具有容错性。层次聚类算法分成凝聚式和分裂式两种,取决于层次分解是以自底向上(合并)还是以自顶向下(分裂)方式形成。
凝聚式层次聚类使用自底向上的策略,开始时每个对象自己是独立的类(N个),然后不断合并成越来越大的类,直到所有的对象都在一个类中,或者满足某个终止条件。在合并过程中需找出两个最近的类让他们合并形成一个类,所以最多进行N次迭代就能将所有对象合并到一起。分裂式层次聚类使用自顶向下的策略,开始时所有对象都在一个类中(1个),然后不断的划分成更小的类,直到最小的类都足够凝聚或者只包含一个对象。考虑到分类语料本身的多维特征以及含义交叉性,我们主要采用层次凝聚的方式构建层级。方案上线后,末端分类有6%的上升。
业务分类在二维空间聚类分布图
说完了意图识别,在FAQ对话领域,我们同样达成了一定的技术突破。由于客服对话场景中,对于答案质量的要求较高,因此在匹配时我们一般侧重于准确率,这就导致FAQ的召回受限,效果难以发挥。
因此,我们应用了QA SWEM算法方案来解决此问题。该算法综合考虑了算法的准确率和运行效率,使用了Word Embedding和Pooling两种结构,采用了四种SWEM模型,包括:
SWEM-AVG:基于word embeddings 的 average pooling,作为hidden state
SWEM-MAX:基于word embeddings 的 max pooling,作为hidden state。
SWEM-CONCAT:将SWEM-AVG和SWEM-MAX concat后,作为hidden state。
SWEM-HIER:将word embeddings分窗口进行avg pool,之后再整体的max pooling,作为hidden state
以SWEM-MAX为例,整个模型的核心算法表示为:
我们针对整个算法,进行了进一步的迭代和优化,创新地提出将Attention以及GBDT与SWEM结合的方案。
Attention按照如下的算法进行构建:
fatt(hi,sj)=h⊤iWasj。
双向的Attention,对待匹配的两个句子分别进行二次编码。
考虑到SWEM主要是深度学习的特征,而且模型比较简单,特征表达能力有限,我们使用GBDT把一些非深度学习的特征(比如编辑距离、词语重合度等)和SWEM进行融合,在保证运行性能的同事,进一步提升QA匹配模型的效果。
得到句子之间的Attention编码,再整合上SWEM模型,比现有的BiLSTM算法提升2-3%,模型的训练和运行性能上都取得了更好的效果。
最后再谈一下闲聊对话领域,之前智能客服仍采用传统检索方式。传统检索方式主要包括三个模块,query解析,问答检索和答案重排序。query解析是对用户query进行理解,提取出重要部分;问答检索是从问答库中检索出query相关的问答对;答案重排序是对检索出来的问答对进行重新排序。该方法简单易操作,答案易理解,缺点是答案受限于问答库,缺乏多样性。
为了解决缺乏多样性带来的效果欠佳与维护成本高的问题,我们着力将深度生成方式引入该场景。深度生成方式采用经典的encoder-decoder框架,并结合了注意力机制,能根据用户query,来直接生成答案。生成方式主要有三个部分,编码,解码和注意力。编码就是将输入的query编码成一个向量,解码则是将生成的向量再转化成输出的答案,注意力指在输出的时候需要重点关注输入的哪些部分。通过对生成答案与原有检索式方案产出的答案的标注对比,生成答案较检索式答案质量提升约20%,应答效果显著提升。
深度生成式闲聊框架
过去一段时间,结合业务需求,我们在智能对话领域展开了多项探索,取得了一定成效。我们的技术探索之路还在继续,未来还要在坚持用户体验为先的基础上,不断扩展AI技术的应用领域,并打造数据闭环,通过数据反哺算法效果的持续提升,为打造业内首个具备情感智能个性化的解决型智能客服,为用户提供极致体验而努力。相信随着AI技术的不断发展,未来智能客服对话系统还将有持续提升,我们也将和业界一道推动这一领域的创新实践。
(免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。 )