在开放领域对话系统中,由于缺少包含知识标注、涵盖多个话题的多轮对话语料的支撑,知识驱动对话中的知识交互的研究受到了一定的限制。如可以在多轮对话中有效的对知识的交互进行建模,则可以极大地提升对话系统的逻辑性,信息量,可解释性等智能化程度,从而带来更好的用户体验。
在本次分享中,讲者将介绍一个最新构造的知识驱动的中文多轮对话数据集KdConv,并分析知识建模在对话系统中的应用。
一、介绍
a)研究背景
背景知识对对话系统至关重要,有两大类主要应用:1) 搜索和问答类型的场景;2) 自然语言理解类的场景。
- 对于任务导向对话系统,背景知识一般被定义为槽值对,为问答和推荐提供了必要的信息;
- 对于开放域对话系统,它有助于生成更具有信息量和吸引力的回复;
- 从形态上来说,背景知识可以划分成结构化知识图谱或非结构化文本。
现有的带有外部知识的开放域对话语料中,根据收集方式的不同,大致可以分为两个类别:
- 利用现有的对话数据集,根据上下文标注相关的外部知识:
▪常用的标注方法有:命名实体识别(NER),字符串匹配,人工评分和规则过滤等;
▪但是也有缺点,不匹配的知识会为数据集带来噪音,不利于模型的训练; - 基于给定的背景知识,由人类标注者从头开始构造对话数据集:
▪有些语料可能缺少轮次级别的标注;
▪对话内容局限于1-2个给定的话题,或缺少话题之间的关系:限制了对多样化的话题转移和知识规划的建模。
b)研究动机
- 当前带有知识标注的涵盖多个话题的对话数据集有所欠缺;
- 对于进一步的知识交互的建模方面(例如话题转移和知识规划),现有的基于知识的对话数据集存在局限性
二、调研部分
a)与现有的基于知识的对话数据集进行对比
可以看到,KdConv中的知识形式包含了非结构化的文本和结构化的图谱,并提供了轮次级别的知识标注。语料涵盖三个领域(电影,音乐和旅游),可以用于领域迁移的研究。KdConv中的对话的平均轮次为19.0,每段对话平均涉及话题数量2.3个。
b)KdConv样例数据
一个音乐领域的数据样例。左侧为对话内容,斜体内容为话题,下划线内容则为背景知识。右侧展示了精细的知识标注,既包含了结构化的知识(如飞得更高-发行日期-2005年3月19日等),也包含了非结构化的知识(如information一行)。
在上述对话所使用的知识三元组构成的知识图谱中,斜体文本和圆圈表示话题(指知识三元组中不同的头实体),该图谱还体现了话题转移的过程。
三、数据构造
a)领域相关的知识图谱
构建知识图谱的过程:
1.从几个相关的网站(豆瓣、去哪儿等)中爬取热门实体,如电影和电影明星、音乐和歌手以及景点,将其作为起始实体,以减少特定领域知识的范围;
2.在XLORE(一个大型英汉双语知识图谱)中过滤知识三元组很少的起始实体;
3.以起始实体作为起点,在XLORE的三跳范围中检索其邻居实体,以支持对话能够进行合理的话题转移;
- 对于旅游领域,由于XLORE中有关起始实体的知识三元组较少,该领域的知识图谱仅从网站上爬取。这也导致了旅游领域的知识图谱的统计特征与其他领域有所差别。
4.将这些实体和关系整合为领域相关的知识图谱。
从下面的统计信息来看,电影领域无论是实体数量,关系数还是三元组数量都是最多的。旅游领域则由于仅基于网站爬取,关系数和三元组都较少。
b)构建对话数集
1.在众包平台上,招募标注者,在无特定目标和约束的情况下生成多轮对话;
2.在对话过程中,两个发言者都可以访问知识图谱;
3.要求标注人员记录构造发言所用的相关的知识三元组,以提供轮次级别的知识标注;
4.指示标注人员从起始实体开始对话,并鼓励他们将对话的话题转移到其他实体;
5.过滤掉低质量的对话,例如包含语法错误、对话内容与知识事实不一致等,以保证对话数据的质量。
c)统计指标
三个领域各自收集了1500个对话,数据集按照8:1:1切分为训练集、开发集和测试集。从对话的轮次数与对话所涉及的话题数来看,电影领域的对话与音乐、旅游领域存在明显不同。从对话数据中包含的实体数、三元组数目来看,三个领域也存在较大差别。
上图表示在前n个回合中讨论了至少k (k = 2, 3, 4) 个主题的对话数量统计。随着对话轮次的增长,包含3个或4个主题的对话比例会变大。
这验证了深入讨论多个话题通常需要足够多的对话轮次,因为简短的对话通常不足以涵盖多个话题,更难以产生话题之间的自然过渡。
上面的表格显示了电影领域的1跳、2跳、3跳范围内,各自频次最高的三种话题转移模式,其中Tn表示对话的第n个主题,Tn →X→Tn + 1表示Tn经由关系X跳转到Tn + 1。可以看到KdConv中话题转移的模式多样而复杂。“−Information→”则表示Tn + 1出现在了有关Tn的非结构化知识文本中,而经由知识文本跳转话题的模式出现得相对更少,表明比起非结构化文本,人们更倾向于基于结构化关系转移话题。
四、实验部分
a)实验所用基准模型
包含了三个基于生成的模型,一个基于检索的模型,以及通过键值存储模块进行知识增强的模型。
基于生成的模型:
1.Language Model:建模对话内容的语言模型;
2.Seq2Seq:带注意力机制的序列到序列模型;
3.HRED:带有层次化结构的Seq2Seq模型。
基于检索的模型:BERT,训练任务是在给定上下文的情况下预测候选回复是否是真实回复。
通过键值存储模块进行知识增强:将头实体和关系作为键、尾实体作为值,在上述模型中引入对话相关的知识图谱以利用知识信息。
工具:CoTK
一种开源工具包,用于语言生成模型的快速开发和公平测评,包含了当前主流的语言生成任务的评价方法。
GitHub: https://github.com/thu-coai/cotk
b)评价
(1)自动评价
生成模型和检索模型的最佳结果分别用粗体和下划线标出。“+know”表示知识增强的模型。
实验结果表明,模型可以通过引入背景知识来增强性能,但多轮对话中的知识建模仍有很大的研究空间。
结果还显示,各个模型的性能以及知识增强的效果在不同领域之间差别较大,说明迁移学习和领域转换方面同样值得进一步研究。
(2)人工评估:
指标(0-2分制):
- 流利度:回复是否流畅自然;
- 连贯性:回复是否与上下文及背景知识相关、一致;
评价方式:
- 每个领域500个样本,3个标注者对样本打分,打分结果如上图所示;
- 从标注一致性的角度来看,Fleiss卡帕值:在0.37到0.74之间
- 3个标注者打分相同的比例:在68.14%至81.33%之间
从结果来看,融入知识图谱的信息后,HRED模型获得了一定的性能提升。
c)案例分析
上图包含了旅游领域和电影领域的两个案例,融入知识图谱信息后,模型生成的对话能够更有效地利用知识,但仍然不能有效处理需要利用非结构化文本构建回复的场景。
五、结论
- 本工作提出一个知识驱动的中文多领域对话数据集:KdConv。该语料库包含4.5K个对话和86K条语句,平均对话轮数为19.0;
- 实验表明,通过引入背景知识,基准模型的性能可以获得一定的提升,但对话中的知识交互建模在未来的工作中仍然有很大的研究空间。
竞赛:
SMP2020-ECDT(中文人机对话技术评测,任务2)
整理:闫昊
审稿:郑楚杰