博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
好的数据集能让生成的对话配的上你的才华-------知识驱动的中文多轮对话数据集KdConv...
阅读量:2242 次
发布时间:2019-05-09

本文共 3842 字,大约阅读时间需要 12 分钟。

AI TIME欢迎每一位AI爱好者的加入!

在开放领域对话系统中,由于缺少包含知识标注、涵盖多个话题的多轮对话语料的支撑,知识驱动对话中的知识交互的研究受到了一定的限制。如可以在多轮对话中有效的对知识的交互进行建模,则可以极大地提升对话系统的逻辑性,信息量,可解释性等智能化程度,从而带来更好的用户体验。

在本次分享中,讲者将介绍一个最新构造的知识驱动的中文多轮对话数据集KdConv,并分析知识建模在对话系统中的应用。

郑楚杰,清华大学计算机系2020级博士生,交互式人工智能组(CoAI)成员,师从黄民烈副教授。主要研究方向为开放域对话系统。已在ACL上发表数篇论文。

本次分享论文地址:https://arxiv.org/abs/2004.04100

所构建的数据库已经开源:https://github.com/thu-coai/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

一种开源工具包,用于语言生成模型的快速开发和公平测评,包含了当前主流的语言生成任务的评价方法。

Paper: https://arxiv.org/abs/2002.00583

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)

六、提问与回答

请问有没有尝试过基于BERT/GPT做生成的基准模型的对比结果呢,这种情况下是否会削弱knowledge的辅助提升的效果?

没有在KdConv上做过,但我在后续的工作中做了类似的尝试。如果用BERT作为编码器,不影响知识的作用。如果用GPT作为解码器,可能会和拷贝机制效果冲突(个人猜想GPT的优势在于多样性与human-like,但拷贝机制优势在于可控性,两者是冲突的)

这个训练和评价过程,是所有domain混在一起的,还是分domain分别训练评测?

分domain测评。

分开训练测评,是出于什么考量吗?还是说皆可呢?

主要是想观察不同domain知识的gap会为模型性能带来怎样的gap。

整理:闫昊

审稿:郑楚杰

AI Time欢迎AI领域学者投稿,期待大家剖析学科历史发展和前沿技术。针对热门话题,我们将邀请专家一起论道。同时,我们也长期招募优质的撰稿人,顶级的平台需要顶级的你,请将简历等信息发至yun.he@aminer.cn!

微信联系:AITIME_HY

AI Time是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者们创办的圈子,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,加强思想碰撞,打造一个知识分享的聚集地。

更多资讯请扫码关注

(点击“阅读原文”下载本次报告ppt)

(直播回放:https://b23.tv/bE9nHZ)

转载地址:http://amgbb.baihongyu.com/

你可能感兴趣的文章
java静态方法和实例方法
查看>>
java多线程并发去调用一个类的静态方法,会有问题吗?
查看>>
关于JAVA中的static方法、并发问题以及JAVA运行时内存模型
查看>>
Java命令学习系列(一)——Jps
查看>>
java如何计算程序运行时间
查看>>
Java Calendar 类的时间操作
查看>>
Java]NIO:使用Channel、Charset(字符集)、使用Charset传递CharBuffer
查看>>
Eclipse下运行Maven项目提示缺少maven-resources-plugin:2.4.3
查看>>
Java 中int、String的类型转换
查看>>
比较两个JSON字符串是否完全相等
查看>>
删除JSONArray中的某个元素
查看>>
Linux下Tomcat重新启动
查看>>
使用HttpClient请求另一个项目接口获取内容
查看>>
HttpClient get和HttpClient Post请求的方式获取服务器的返回数据
查看>>
net.sf.json Maven依赖配置
查看>>
Could not initialize class net.sf.json.JsonConfig错误解决
查看>>
Java编程思想重点笔记(Java开发必看)
查看>>
eclipse 创建maven 项目 动态web工程完整示例
查看>>
前端JSP与Spring MVC交互实用例子
查看>>
使用maven一步一步构建spring mvc项目
查看>>