赞
踩
智能客服设计整体框架
智能客服根据任务类型可以分为:咨询问答、任务型多轮对话、闲聊客服。
参考链接:
QA机器人的本质是:假设用户提了一个问题Q,QA机器人需要从已有的QA数据库中寻找最合适的QA对返回,QA机器人会进行QQ相似度计算和QA匹配度计算,通过综合相似度与匹配度,找到最适合的一组QA对 (Qi, Ai),即最佳答案返回。
设计思路
1、客服根据常见的问答数据创建问答知识库。
2、用户提出的问题是,将用户问题与知识库中的问题进行相似度计算,检索出最相近的问题
3、返回最相关的问题及其答案
解决方案:
基于问答对的方法,常用检索+排序的算法。
1、NN模型:常见的网络模型包括RNN和CNN模型。例如双层编码(Decoder)的长短期记忆模型(LSTM)。这种模型在很多场景下都比较好用,网络模型的主要缺点是需要一定数量的样本。
2、拆分成子问题:在语料比较小的情况下,将问题进行拆分(1)把问题变成一种短文本语义表征,通常有tfidf、w2v。(2)然后再进行语义距离计算,例如计算向量的余弦距离
eg:QA机器人问题-问题匹配算法原理
QQ匹配包括几个部分:句向量化、相似度计算、相似度排序。
(Task-Bot) 的关键技术是基于意图识别与语义槽提取。
eg: A: “帮我订一个今天下午3点到4点的会议室吧?要大一点的。”
机器人识别出来这是一个任务,而这个任务要完成必须三个语义槽:时间、地点、大小。
任务型对话主要包括三部分:自然语言理解,对话管理,最后是自然语言生成 (忽略语音识别步骤)
自然语言理解:
该模块一般包含以下三个模块:
第一个是语法分析,可以通过语法规则去分析一句话,得到这句活是疑问句还是肯定句,继而分析出用户意图。相应的也可以通过语法结构中找到对应的槽值。
第二种方法是生成模式,主要两个代表性的HMM,CRF, 这样就需要标注数据。
第三种方法是分类思想,先对一句话提取特征,再根据有多少个槽值或意图训练多少个分类器,输入一句话分别给不同的分类器,最终得到包含槽值的概率有多大,最终得到这个槽值。
还有一种采用深度学习方式,使用LSTM+CRF两种组合的方式进行实体识别,现在也是首选的方法 ,但有一个问题是深度学习的速度比较慢 ,一般轻量型的对话系统还是通过语法分析或分类方式或序列标注来做。
自然语言生成模块
该模块主要任务是将对话策略输出的语义表达生成流畅可读的自然语言句子,反馈给用户。
传统方法(a)基于模板的NLG方法: 人为定义一些模板,用需要的信息填空的方法。
(b)基于树的NLGhttps://zhuanlan.zhihu.com/p/49197552
解决方案
斯坦福大学自然语言处理的QA数据集SQuAD
来自Stack Overflow平台的Python语言问答数据集【Kaggle】
来自Stack Overflow品台的R语言问答数据集【Kaggle】
保险行业问答(QA)数据集【Minwei Feng】
AI2科学问答数据集(多选)
康奈尔大学电影对白
微软的10万个问题和答案的MS MARCO数据集
百度的中文问答数据集WebQA
中文问答数据
中文对话数据集
中文电影台词数据集dgk_shooter_min.conv
白鹭时代中文问答语料:白鹭时代论坛问答数据,一个问题对应一个最好的答案
微博数据集:华为李航实验室发布,也是论文“Neural Responding Machine for Short-Text Conversation”使用的数据集
新浪微博数据集,评论回复短句
系列(三)-- BERT在阅读理解与问答上应用
DuReader:百度大规模的中文机器阅读理解数据集
基于知识图谱的问答系统入门—NLPCC2016KBQA数据集
基于DrQA的中文问答系统构建(一):DrQA安装
Li P, Li W, He Z, et al. Dataset and Neural Recurrent Sequence Labeling Model for Open-Domain Factoid Question Answering[J]. arXiv: Computation and Language, 2016.
DGCNN,全名为Dilate Gated Convolutional Neural Network,即“膨胀门卷积神经网络”
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。