一、大纲
![在这里插入图片描述](https://img-blog.csdnimg.cn/3477576408884001b07407675204a374.jpeg#pic_center)
二、详细内容
abstract
■ 对话系统的engagement和consistency非常重要
■ 现有方法
● 复杂的网络结构->大量的标注语料
● 忽视了篇章的连贯性(discourse coherence)
■ 本文
● 方法
○ entailment(限定继承):利用NLI(自然语言推理)数据学习一个继承关系的记忆单元,来应用到挖掘对话生成数据的潜在蕴含关系挖掘中
○ discourse relations(话语关系):难道是对话间的关系?可能是连贯性
○ orthogonality(正交限制):确保潜在的蕴含关系的同时,保持对话独立
● 最终:两个记忆单元=>获取语义蕴含关系+对话表征=>sonsistency+coherence(一致性和连贯性)
● 评测:在PersonaChat和DSTC7-AVSD两个数据集的人工评测和自动化评测
Introduction
■ 传统的闲聊模式缺乏特异性和个性一致性
■ 一般的模式,没有面向合理性的记忆单元,并且只根据最近的几轮对话历史来生成回复,导致缺乏人格一致性
■ 人类受益于自然推理(NLI)能力,可以用少量的监督学习新的概念
■ 三类(entailment:True,contradiction:False,neutral:undetermined)
■ 近期工作有将其拆解为两个子任务:反应生成+一致性理解=>使生产的矛盾的回复越少越好=>多个子任务需要多个encoders=>复杂的生成结构
■ 待解决的困难总结
● 复杂的结构=>更多的训练语料
● 忽视了对话的信息=>导致缺乏对话一致性
■ 本文
● 尝试去记住entailment(蕴含)和discourse relations(对话关系)
● BART基础结构
● 额外的记忆单元=>蕴含关系
● 内部记忆单元=>对话关系
● 正交限制=>对话的独立性?
● personas + dialogue query=>two memory => entailment + discourse representation => BART + 额外的loss => 提升一致性(consistency)和连贯性(coherence)
● 在personachat和dstc7-avsd数据集上进行了测试,人格一致性效果不错
Related Work
■ 近期工作如何集成角色信息 => 直接将persona embedding
■ 大规模预训练模型 => fine-tuning => 提升persona-based对话,但是对话一致性(dialogue consistency)没有解决(2020)
■ 尝试利用NLI来提升dialogue-consistent(对话一致性)
■ Latent Modeling
● 对话场景,关联对话上下文和对话反应是非常难去观察和解析的 => 对对话的潜在空间进行建模可以提高对话生成的效果 => 2020年有人通过利用VAE(2014)的方法综合了BERT和GPT的好处
● PLATO:引入离散潜在变量解决生成模型中一对多的关系问题
● DialogVED:引入连续潜在变量提升对话生成的相关性和多样性
● 所有这些方法都显示对潜在的空间进行建模前途无量,本文延续这个思想,引入额外的NLI记忆单元作为潜在的对话独立特征来优化生成任务
Learning to Memorize for Persona-consistent Dialogue
■ ERM(Entailment Relation Memory):
● 个性一致性记忆单元,利用一个特殊的token[z],放在最前面,来学习个性化[p1, p2, ...]的隐藏空间
● 先添加一个z标记放在最前面,然后拿到隐藏层特征hz,最后通过softmax拿到每个M记忆单元的概率权重,最后相乘,输出一个特征z,最后结合一个特殊的标记e[SOH]+z作为一个可学习的参数,用于生成个性一致性的回答
● 优化目标:优化记忆单元M和参数u,通过最小化语言模型的loss来实现
■ DDM(Dialogue Discourse Memory):
● 对话连贯性记忆单元,也是类似的,特征是[z,个性化,个性化起点,回答,回答起点],学习到N的权重,N是记忆单元待学习的隐藏空间,相乘后得到最终的语义连贯性表达
■ 加了一个正交限制
■ 最终的生成回复的特征为:e[SOH]+z+zd,分别多加了两个特征
■ 最终优化loss:Lddm+Lbow+Llm+Lcls
■ 最后生成的时候,随机选择t个结果,然后利用一个multiple-choice task,选择一个最佳的结果
Experiments
■ 数据集
● ConvAI2 PersonaChat:给定个性化标签,生成一致性和连贯的对话
● DSTC7-AVSD:上下文对话数据集,根据背景知识和context生成问答回复,只用了text的信息
● NLI数据集
○ 用于学习ERM,蕴含关系记忆单元
○ DNLI:基于PersonaChat的蕴含数据
○ MNLI:多类型的NLI语料
■ baseline
● ConvAI2 baseline
○ KV profile memory
○ generative profile memory(官方baseline)
○ LIC:最佳人工评估模型
○ Transfertransfo:最佳自动评估
● DSTC7-AVSD baseline:CMU
■ sota
● ConvAI2
○ P2BOT
○ response selection task:Poly-Encoder Transformer(PE-Trans),在Reddit数据预训练,在ConvAI2 fine-tuned的模型
○ Imageseq2Seq Dodecadialogue:在12个任务上训练,然后在ConvAI2 fine-tuned
○ BOB:解开了个性化的限制,但是有更好的一致性理解?
● DSTC7-AVSD:
○ PLATO:第一个引入离散的边来来解决一对多的问题
○ ProphetNets:预测多个未来标记的预训练目标,以提高预训练语言模型在自然语言生成任务中的性能
○ DialogVED:引入一个连续的潜在变量,获得了sota
■ details
● BART-large,AdamW
● DNLI->PersonaChat
● MNLI->DSTC7-AVSD
● ERM:batch size 64 stage1,2 stage2
● PersonaChat:types of ERM和DDM:10
● DSTC7-AVSD:types of ERM和DDM:20和5
● 一块3090
● 对话生成,beam search:最大长度为50