- https://zhuanlan.zhihu.com/p/33300418
- https://zhuanlan.zhihu.com/p/45210996
- https://zhuanlan.zhihu.com/p/57532328
- http://www.shcas.net/jsjyup/pdf/2018/12/%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E7%B3%BB%E7%BB%9F%E7%A0%94%E7%A9%B6%E8%BF%9B%E5%B1%95.pdf
- https://image.hanspub.org/pdf/CSA20180600000_56614827.pdf
- https://vel.life/NLP%E5%AD%A6%E4%B9%A0%E6%89%8B%E5%86%8C/
基于深度学习的开放领域对话系统
- http://cjc.ict.ac.cn/online/onlinepaper/42-7-1-201974192124.pdf
- 开放领域的对话系统:在历史对话信息背景下,人将无领域限制的话语作为查询输入计算机,计算机返回对应的回复语句
- 以场景设置为标准,对话系统可以分为单轮对话系统和多轮对话系统
- 单轮对话:只考虑找到给定查询的回复
- 以q为前提,得到语句r作为回复
- 多轮对话:综合考虑对话上下文(包括历史对话信息和查询),建立对话的长期依赖关系,给出更加符合对话逻辑的回复
- 在c的背景下,以q为前提,得到r作为回复
- 单轮对话:只考虑找到给定查询的回复
- 传统的基于规则/模板的开放领域对话系统需要手工制定规则,不需要大规模训练集.而数据驱动的方法需要收集大量的对话数据
- 检索式方法.检索式方法首先构建一个供检索的对话语料库,将用户输入的话语视为对该索引系统的查询,从中选择一个回复.具体来说,当用户在线输入话语后,系统首先检索并初步召回一批候选回复列表,再根据对话匹配模型对候选列表做重排序并输出最佳回复.该方法重点在于让匹配模型克服查询和回复之间的语义差
- 生成式方法.受到神经机器翻译的启发,生成式方法的对话系统首先收集大规模对话语料作为训练集,基于深度神经网络构建端到端的对话模型,来学习输入与回复之间的对应模式.在预测阶段,系统根据对话模型计算输入语义向量,再逐个生成词语组成回复话语.
检索与生成相结合的方法
单轮检索模型:对用户输入的查询先检索再重排序给出最佳回复
多轮检索模型:将对话上下文信息表示成语义向量,再计算其与回复的匹配分数
- 单轮生成模型:Seq2Seq+Attention
- 多轮生成
- 基于检索的模型问题:语句质量较高,但依赖于检索数据库,无法创建新回复
- 基于生成的模型问题:
- 倾向于生成缺乏语义信息的“万能回复“,因为好的,你好的频次太多
- 生成句子的质量不能保证
- exposure bias问题,即训练时使用ground truth,但是测试时是通过贪心搜索或使 Beam Search 来完成的,该 Beam Search 基于先前产生的单词预测下一个单词, 不同于训练模式。 由于该模型从未暴露于自己的预测中,所以在测试时间会导致错误累积。
- 减缓exposure bias:Scheduled Sampling,在先前的 GroundTrue 单词和先前产生的单词之间随机选择
- 开放域问答的挑战
- 回复多样性Diversity of responses:改进排序规则,引入潜在变量,多头注意力机制捕获查询话语中不同方面的语义
- 话题模型Topic Model:
- 检索中引入话题线索:先用卷积神经网络将查询和回复表示成句向量,并根据推特基于LDA训练的话题模型计算出其话题加权的向量表示,再将查询分别与回复和回复话题的向量表示进行语义融合,回复也与查询及查询话题的向量表示进行语义融合,实现基于话题的回复选择
- 生成中引入话题线索:先基于LDA模型学习对话数据的话题,然后将话题信息和输入表示联合起来作为注意力机制的组件来生成与话题相关的回复
- 引入外部知识external knowledge:
- 检索:先用TFIDF选择与对话上下文相关的非结构化文本的外部知识,再通过知识编码器RNN进行知识表示,最后计算候选回复匹配分数时同时考虑与上下文和外部知识
- 生成:用记忆网络建立了一个基于知识库回答的开放领域对话生成系统中.其核心思想是先在对话上下文中找到知识库中的知识,并将知识转换为语义向量表示与对话上下文向量表示整合输入到解码器中生成回复
- 个性化回复Personalized response:
- 融入个性化向量
- 评测指标
- 当前开放领域对话系统的评价方法有两种思路,一种是人工评测,一种是客观地自动评价指标
- 检索模型:Recall,P,F1,MAP(平均准确率)
- 生成模型:
- 困惑度
- 评价生成回复语句的语言质量.
- 其基本思想是测试生成的回复语言质量越高,困惑度越小,越接近人类正常说话
- 不能评估在对话中回复与上文的相关性
- BLEU:
- 根据n元词(n=1,...,4)的准确率计算几何平均来衡量生成回复与真实回复的相似度
- 有效性低,因为参考回复少
- ROUGE:也是基于词语重叠程度来衡量生成句子质量
- 与n-gram不同,指标中的子串不必连续
- 它基于生成回复和真实回复的最长公共子序列的召回率
- METEOR:加入了生成回复和真实回复之间的对齐关系.使用wordnet计算特定的序列匹配、同义词、词根、词缀、释义之间的匹配关系
- 这些评测方法仍然跟人类判断之间的相关性很低
- 困惑度
基于深度学习的聊天机器人综述
- http://qngw2014.bj.bcebos.com/zhuankan/11/%E5%9F%BA%E4%BA%8E%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E7%9A%84%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E7%BB%BC%E8%BF%B0_tang.pdf
- 挑战
- 如何利用好上下文信息
- 基于生成的方法中倾向于生成通用的回复,可以改变目标函数,因为极大似然估计就会造成这样
- 如何评价聊天内容的好坏
- 在基于检索的方法中不能生成新的文本,只会在固定的回复集中挑选合适的回复,基于生成的方法不需要依赖于定义好的回复
- 检索是不能创造新的,但是质量高,生成是质量不高,可以创造新的
聊天机器人系统研究进展
对话系统综述
- https://zhuanlan.zhihu.com/p/33300418
- 对话系统大致可分为两种:(1)任务导向型(task-oriented)对话系统和(2)非任务导向型(non-task-oriented)对话系统