在Chatbot整体解决方案中, 既有面向任务型的taskbot(诸如订机票、查天气等), 也有更偏向知识问答的qabot,而在客服场景下,最基础的类型也是这类。如果从知识库的形式来区分qabot,可以有 基于「文档」的doc-qabot、基于「知识图谱」的kg-qabot、基于「问答对」的faq-qabot等。我们这里重点关注的是最后一种faq-qabot(也简称faqbot), 这种形式的方案对用户而言易理解易维护,也是目前chatbot解决方案中不可缺的一部分。
本篇内容已被ACL2019收录,《Simple and Effective Text Matching with Richer Alignment Features》,下载地址:https://102.alibaba.com/downloadFile.do?file=1565937869795/Simple%20and%20Effective%20Text%20Matching%20with%20Richer%20Alignment%20Features.pdf
faqbot就是将query匹配到一条「问答对」上,从技术的角度看,有两大类方法, 一是text classification, 二是text matching,它们各有适合的场景,前者适合咨询量大且比较稳定的faq,后者适合长尾或时常变化的faq。
店小蜜是我们提供给阿里平台商家的一套智能客服解决方案。在店小蜜中, 基于Faq的问答是个很基础的部分,我们在这个领域,在文本分类和文本匹配上进行了各方面的研究和实践, 在本篇中重点对文本匹配的基础模型进行介绍。
「文本匹配」是NLP方向的一个重要研究领域,有着悠久的历史,很多NLP任务都与此相关,比如 natual language inference、parahparase identification、answer selection等,都可以归结成「文本匹配」问题。
有很多人研究这个课题, 当前优秀的匹配模型有哪些?这些模型有什么异同?这些模型存在哪些问题?这些都是我们展开这个项目需要先分析和回答的问题。我们通过分析SNLI榜单上的模型,有几个结论:
- 优秀的匹配模型都可以归纳成embed-encode-interacte-aggregate-predict五个步骤, interact部分主要是做inter-sentence alignment;
- 在interact步骤中的对齐操作,设计会比较复杂;而且很多模型只有一次interact步骤;
- 也有些更深的模型结构,会做多次的inter-sentence alignment, 但因为较深的模型面临着梯度消失、难以训练的问题;
- 不管是参数量还是响应时间,支撑像店小蜜这样对实时性能要求比较高的场景,都不是很理想。
所以我们在设计的时候, 要求我们的模型在更少的参数量、更简洁的模型结构、更少的inference cost, 保证更容易训练、更适合部署到生产环境, 在这几个前提下, 我们也希望能借鉴深层网络的优势,让我们可以很方便地加深我们的网络层次, 让模型有更强的表达能力。