论文标题: DocRED: A Large-Scale Document-Level Relation Extraction Dataset
论文下载地址:https://arxiv.org/abs/1906.06127
项目地址:https://github.com/thunlp/DocRED
DocRED: A Large-Scale Document-Level Relation Extraction Dataset
论文下载地址:https://arxiv.org/abs/1906.06127
项目地址: https://github.com/thunlp/DocRED
序言
抽空看了一篇关于文档级别命名实体关系挖掘的论文,现在大部分的关系挖掘仍然停留在句内,至多在长句到段落这个级别上,因为当关系挖掘落到更大的文本规模上时,就会成指数倍的复杂起来。单词与单词间会有关系,关系和关系之间又会推导出新的关系,多个单词间会有联合关系,多个关系又会推出矛盾或是合理逻辑。
本文看完后发现论文基本上也没做什么实质性工作,本质上就是把现成的RE模型掏过来调调参数在文档级上测试了一下,结果自然是不尽人意的,但是文档级RE的任务目前确实进展很缓慢,笔者认为可能还是需要很多外部性的知识,比如知识图谱构建完善,这类问题可能会水到渠成吧,直接跳过外部知识框架的搭建就来做文档级的RE确实有点本末倒置,越俎代庖了。
其实看完之后觉得质量不是特别高,没有什么很突出的创新点,感觉跟我们期末项目的报告有的一拼,但是确实这年头研究路上要创新真的很难,很多东西可能十几乃至几十年难以有实质性突破,但是可能就在某一天一个新事物横空出世改变了所有问题的解决思路,最后得以解决,但是个体又能等多少年呢,不过是湮没在时间的潮流中罢了。
权当知识性的补充吧,饭后糕点,食之无味,弃之可惜。
目录
摘要 Abstract
- 文档中的多实体一般表现句子间的关系, 但是不能被现存的用于挖掘句内单组实体间关系的关系挖掘(relation extraction, RE)方法来解决
- 为了解决文档级别的RE, 本文介绍了一种由wikipedia和wikidata构成的新数据集DocRED, 它有三个特征:
- DocRED标注了命名实体与关系, 是目前最大的人类标注的用于文档级别RE的数据集
- DocRED要求在文档中读取多个句子来挖掘实体然后通过综合文档中的所有信息来推断他们的关系
- 除了人类标注的数据, 本文也提供大规模的远程监督数据(distantly supervised data), 使得DocRED可以用于监督和弱监督的场景
- 本文实现了现有的先进RE方法, 但在DocRED上效果很差, 说明DocRED数据集是具有挑战性的
- 本文提供基线模型, 认为该任务是需要未来工作的
1 引入 Introduction
- 句子级别的关系挖掘遇到的问题是, 多个句子中会提及大量的关系事实, 且句子与句子间的关系是有承接关系的
- 如B是A的首都, C是B的一个区, 则可以推导出C是在A国家内的这个事实
- 因此需要将句子级别的关系挖掘上升到文档级别
- 目前可用的文档级别关系挖掘的数据集(很少):
- BC5CDR, DocRED(本文推荐)
- 目前的数据集, 要么标注与实体很少, 要么噪声很多, 总之就是很差
- DocRED有132375个实体与56354个关系事实基于5053个维基百科文档, 是目前最大的已标注文件级别数据集
- 40.7%的关系事实在DocRED中可以被多个句子挖掘出, 这使得它区别于普通的句子级别的数据集
- 我们也提供了大规模远程监督数据来支持弱监督的关系挖掘研究
- Figure1: 一个文档级别实体关系挖掘的实例
2 数据收集 Data Collection
我们终极目标是从明文中构建一个数据集来进行文档级别的关系挖掘, 这将需要命名实体, 命名共指关系(named coreferences), 文档中所有entity pair的关系等
我们先说明收集人工标注数据的过程, 然后描述生成大规模远程监督数据的方法
2.1 人工标注数据的收集
一共有四个步骤:
标注方法是ACE(Doddington et al., 2004)
从第二步到第四步都在数据上进行三次迭代:
① 使用NER模型进行命名实体的生成(或用远程监督和RE模型进行关系推荐)
② 手动校正和提供建议
③ 回顾并进一步修正标注结果
为了确保标注器是很好地被训练了, 我们采用一个具有强原则性的训练步骤, 并且标注器需要通过测试任务才能对数据集进行标注,
数据集从完整的English Wikipedia文档收集和Wiki数据, 这是一个与维基百科紧密联系的大规模KB, 我们使维基百科里引入性的部分作为语料, 这些预料一般质量较高且包含大部分的关键信息
- 第一步: 远程监督标注(Distantly Supervise Annotation)生成
- 我们在远程监督假设下对齐维基百科文档和维基数据来作为人类标注的文档
- 特别地我们首先用spaCy来进行命名实体识别, 然后这些命名实体就与维基数据的条目联系起来, 其中具有相同KB编号的命名实体将被合并
- 最后文档中每个被合并的命名实体对会通过查询维基数据后打上标签
- 少于128个单词的文档将被过滤掉, 并且为了确保可解释性, 将少于包含4个实体或少于4个关系实例的文档也删除, 最终得到107050个拥有远程监督标签的文档, 其中我们为人类标注随机选取了5053个文档与最常出现的96组关系
- 第二步: 命名实体与命名共指关系的标注
- 为从文档中挖掘关系, 需要先识别命名实体和指向相同实体的mentions
- 为了提供高质量的命名实体与共指信息(coreference information), 我们先让人类标注员进行检查, 纠正然后补充第一步中生成的命名实体mentions推荐(named entity mention recommendations), 然后再合并那些指代同一实体的不同mentions, 这些mentions提供额外的共指信息;
- 产生的中间语料库(intermediate)包含许多命名实体类别包括person, location, organization, time, number和不属于前面提及的类别的杂乱实体(miscellaneous entities)的名称;
- 第三步: 实体链接(基于维基条目)
- 本阶段, 将命名实体mention链接到多个wikidata条目来从远程监督提供关系推荐, 从而为第四步做好铺垫;
- 具体而言, 每个命名实体mention关联到wikidata条目的一个候选集, 这个候选集包含所有wikidata项目, 他们的名称或别名都字面上与这个命名实体mention关联;
- 进一步地, 通过文档作者以及来自一个实体链接工具包TagMe的推荐, 将wikidata条目超链接到命名实体mention上, 从而扩展了候选集;
- 特别地, 数字和时间是通过语义上匹配的;
- 第四步: 关系与支撑证据的成对收集
- 关系和支撑证据的标注都是基于命名实体以及第二步中的共指信息, 这就面临两个主要挑战:
- ① 文档中大量潜在的实体对
- 一方面实体对总数是实体总数的平方(平均来说一个文档有19.5个实体), 穷举地标注这些实体对太费事费力了;
- 另一方面大部分实体对是不包含关系的, 这就会导致很多徒劳;
- ② 数据集中存在大量超细颗粒度的关系类型, 这对标注者和标注器提出巨大挑战, 事实上几乎是不可行的;
- ① 文档中大量潜在的实体对
- 我们解决这些问题通过提供人类标注者一些参考, 如RE模型的推荐, 基于实体链接(第三步)的远程监督;
- 平均而言, 我们对每个文档推荐19.9个关系实例(来自实体链接)和7.8个关系实例(来自RE模型)作为补充;
- 我们让标注者检查推荐结果, 移除不正确的关系实例并且补充遗漏的关系实例;
- 我们也让标注者进一步选择所有支撑保留下的关系实例的句子作为支撑证据;
- 保留的关系必须能够在文档中有所反映, 而无需依赖外部的知识来源;
- 最终57.2%的关系实例(来自实体链接)与48.2%的关系实例(来自RE模型)被保留下来;
2.2 远程监督数据收集 Distantly Supervised Data Collection
- 除了人类标注数据外, 我们也收集了一个大规模的远程监督数据来提升弱监督的RE场景;
- 我们从106926个文档中移除了5053个人类标注的文档, 然后使用剩余的101873个文档作为远程监督数据的语料库;
- 为了确保远程监督数据和人类标注数据共享同样的实体分布, 命名实体mention将通过BERT进行重编号(reidentified), 这将是对2.1中人类标注数据的一个微调;
- 我们通过一个启发式(heuristic-based)方法将每个命名实体mention链接到一个wikidata条目, 这个方法联合地考虑了目标wikidata条目的频率和它与当前文档的关联性;
- 然后我们就合并命名实体mentions通过唯一的KB IDs;
- 最后每个合并的实体对间的关系通过远程监督打上标签;
3 数据分析 Data Analysis
本节通过分析DocRED数据集的各个方面来加深对数据集以及文档级别RE任务的理解
- 数据大小:
- Table1: RE数据集的统计信息
- Table1展示了包括DocRED在内的一些典型RE数据集, 包括句子级别的RE数据集SemEval-2010 Task 8, ACE 2003-2004, TACRED, FewRel, 文档级别的RE数据集BC5CDR; 可以看到DocRED在很多统计信息上都要比其他几个数据集大得多, 包括文档书, 单词数, 句子数, 实体数, 尤其是关系类型, 关系实例, 关系事实; 希望DocRED能完成文档级别的关系识别挖掘任务;
- 命名实体类别:
- 人名(person): 18.5%
- 地点(location): 30.9%
- 组织(organization): 14.4%
- 时间(time): 15.8%
- 数字(number): 5.1%
- 其他难以分类的实体名称(如events, artistic work, laws): 15.2%
- 平均每个实体被标注了1.34次mention;
- 关系类别
- 本文的数据集包括96种常见关系类型(来自wikidata)
- 值得注意的是这些关系覆盖了广阔的类别, 包括science(33.3%), art(11.5%), time(8.3%), personal life(4.2%);
- 这意味着关系事实没有被局限在某个特定的领域内;
- 且这些关系类别被很好定义在一个层级分类的框架中, 这就可以提供给文档级RE系统丰富的信息;
- 推理类别:
- 我们随机采样300个文档从dev和test集合中, 包含3820个关系实例, 然后手动分析他们的挖掘出这些关系的推理类型;
- Table2: DocRED上的推理类型类别
- Table2展示了数据集上一些主要的推理类型的统计量;
- 大部分关系实例(61.1%)需要推理来确定, 只有38.9%的关系实例可以被简单的模式识别直接推断出来, 这说明推理对于文档级RE是很重要的;
- 在由推理导出的关系实例中, 大部分(26.6%)需要逻辑推理, 这些实体关系可能是被一个桥接实体给联系起来的; 逻辑推理需要RE系统有能力建模多个实体间的相互作用;
- 一些关系实例(17.6%)需要共指推理(coreference reason), 这里的共指解析(coreference resolution)必须最先执行, 以确定包含丰富内容的上文中的目标实体;
- 一些关系实例(16.6%)需要基于常识推理而被确定, 读者需要结合文档中关系事实与常识来完成关系确定;
- 总而言之, DocRED需要丰富的推理技巧来综述文档中的信息
- 句间关系实例:
- 平均每个关系实例与1.6个支撑语句联系; 46.4%的关系实例与1个以上的支撑语句联系;
- 40.7%的关系事实只能被多个句子推断出;
- DocRED对于文档级别RE是个极好的基线(benchmark);
- 我们可以总结出, 阅读能力, 综述能力, 推理能力在文档级别RE任务上是必要的;
4 基线设置 Benchmark Settings
Table3: 两种基线设置的统计数据
本文设计两个极限设置对于监督的和弱监督的场景; 两种设置下, RE系统可以在高质量的人类标注数据集上评估, 这足以提供可信赖的模型评估结果; Table3中展示了两种配置的统计信息;
- 监督的设置
- 本设置中, 只使用人类标注数据, 随机划分为训练集, dev集, 测试集;
- 监督设置引出文档级RE的两个挑战:
- ① 文档级RE需要的丰富推理技巧; 第三节中提到六成关系实例需要推理;
- ② 用于建模长文档和文档中大量潜在实体对的高昂的计算成本; 前面也提到实体对是实体数的平方倍, 平均每个文档有19.5个实体, 这导致RE系统如果要建模上下文信息, 就需要平方级甚至更高的复杂度, 这样效率很低, 于是上下文感知的RE系统的效率需要被进一步改善以使得能够适应文档级的RE;
- 弱监督的设置
- 弱监督设置与监督设置基本一样, 除了训练集被替换成了远程监督数据(第2节第2点);
- 除非前面提到的两个挑战, 远程监督数据上无可避免的错误标注问题也是RE模型的一个主要挑战(在弱监督设置下);
- 前人有很多研究来减轻句子级别中错误标注所带来的负面影响; 然而文档级的远程监督数据中的噪声要比句子级的影响更加显著;
- 比如对于一个推荐关系实例, 在2.1中的第四步里, 它的头尾实体同时出现在一个句子中(i.e. intra-sentence relation instance), 41.4%的标注都错了, 且61.8的句间关系实例也标错了, 这个问题对于弱监督的文档级RE要更尖锐;
- 所以我们详细在DocRED中提供远程监督数据将会加速对于文档级RE的远程监督方法;
- 进一步, 平衡远程监督数据和人类标注数据将会在未来进一步提升RE系统性能;
5 实验 Experiments
为了评估DocRED的挑战, 我们实施一个复杂的实验来评估先进的RE系统在RE系统上的表现
特别地, 我们在监督和弱监督配置下分别进行实验;
我们也评估了人类表现和分析不同支撑证据类型的表现;
我们进行了侵蚀研究(ablation study)来研究不同特征的贡献;
通过详细分析, 我们讨论了几个文档级RE的未来研究方向;
- 模型
- 本文使用4个先进的RE模型来在文档级别RE场景下测试:
- ① CNN-based模型
- ② LSTM-based模型
- ③ bi-LSTM-based模型
- ④ Context-Aware模型
- 前三个模型都只在encoder时使用, 用于编码文档, 第四个最初设计用于平衡(leverage)上下文关系来提升句间RE;
- 前三个模型首先将包含 n n n个单词的文档 D = { w i } i = 1 n D=\{w_i\}_{i=1}^{n} D={wi}i=1n编码进隐层状态向量序列 { h ⃗ i } i = 1 n \{\vec h_i\}_{i=1}^{n} {hi}i=1n, 使用各自的CNN/LSTM/bi-LSTM作为encoder, 然后计算各自的对于实体的表示, 最后预测每个实体对的关系;
- 对于每个单词, 喂给encoder的特征是以下三个词向量的拼接:
- ① GloVe
- ② 实体类型编码
- 通过使用一个嵌入矩阵将指向单词的实体类型(如PER, LOC, ORG)映射;
- ③ 共指编码:
- 人类标注数据集上的实体类型被人类分配部署, 远程监督模型则是由一个微调的BERT模型得到的;
- 指向同一实体的命名实体mention被分配给相同的实体编号, 这由出现在文档中的顺序决定实体编号是多少;
- 实体编号最终映射成向量作为共指编码;
- 对于从第 s s s个单词到第 t t t个单词的每个命名实体mention m k m_k mk, 定义 m ⃗ k = 1 t − s + 1 ∑ j = s t h ⃗ j {\vec m_k}=\frac{1}{t-s+1}\sum_{j=s}^{t}{\vec h_j} mk=t−s+11∑j=sthj
- 每个带有 K K K个mentions的实体 e i e_i ei表示被计算成这些的mentions的均值: e i = 1 K ∑ k m ⃗ k e_i=\frac{1}{K}\sum_{k}{\vec m_k} ei=K1∑kmk
- 我们把关系预测当成多标签分类问题, 具体而言, 对于每个实体对
(
e
i
,
e
j
)
(e_i,e_j)
(ei,ej), 先拼接有相对距离嵌入的实体表示, 然后使用一个双线性(bilinear)的函数来计算每个实体类型的概率:
e
^
i
=
[
e
i
;
E
(
d
i
j
)
]
e
^
j
=
[
e
j
;
E
(
d
j
i
)
]
Pr
(
r
∣
e
i
,
e
j
)
=
s
i
g
m
o
i
d
(
e
^
i
T
W
r
e
^
j
+
b
r
)
{\hat e_i} = [e_i;E(d_{ij})]\\{\hat e_j}=[e_j;E(d_{ji})]\\\Pr(r|e_i,e_j)={\rm sigmoid}({\hat e_i^{T}}W_r{\hat e_j}+b_r)
e^i=[ei;E(dij)]e^j=[ej;E(dji)]Pr(r∣ei,ej)=sigmoid(e^iTWre^j+br)
- [ ⋅ ; ⋅ ] [·;·] [⋅;⋅]表示拼接;
- d i j d_{ij} dij和 d j i d_{ji} dji分别是两个实体在文档中首次mentions的相对距离;
- E E E是一个嵌入矩阵;
- r r r是关系类别;
- W r W_r Wr和 b r b_r br是关系类型依赖的训练参数;
- 评估指标
- 本文评估指标为F1和AUC;
- 一些关系事实在训练集和dev/test集合上同时出现, 于是模型会在训练中记忆他们的关系然后就会取得一个更好的表现在dev/test集合上(事实上我们并不希望这样), 这就导致了评估偏差;
- 但是我们无法避免关系事实会发生重复的现象, 因为很多常见的关系事实可能被不同文档共有;
- 所以我们在计算F1和AUC时会将那些重复出现的关系事实剔除, 本文表示为Ign F1和Ign AUC;
- 模型表现
- Table4: 不同RE模型在DocRED上的表现
- Table4统计分析:
- ① 使用人类标注数据训练的模型要比远程监督数据训练的模型表现的好; 说明远程监督数据里的噪声对弱监督设置的结果造成影响, 虽然远程监督数据规模更大;
- ② 一个有趣的现象: 在远程监督数据集上训练出的LSTM, BiLSTM, Context-Aware模型与人类标注数据在F1评分上相当, 但是其他评估指标就要差很多; 表明上述的关系事实重复问题是重要的, 计算Ign F1和Ign AUC是必要的;
- ③ 权衡(leverage)丰富上下文信息的模型表现得好, LSTM和BiLSTM比CNN好, 表明建模长依赖语义在文档级RE中是有效的, Context-Aware取得具有竞争性的表现, 但是它不能比其他神经模型表现得好; 这表明在文档级RE中需要考虑多关系的联系, 鉴于当前的模型还不能够很好利用关系之间的信息;
- 人类表现
- 实验从测试集上随机采样100个文档, 然后找了几个群众工作者来挖掘关系,;
- 事实上在2.1里就已经让群众工作者协助进来了
- Table5: 人类表现
- 表现 v.s. 支撑证据类别
- 为了研究从不同类别的支撑证据上综述信息的难度(这是文档级RE必须要做的事情), 我们将dev集里12332个关系实例划分成三个不相交的子集:
- ① 6115个关系实例包含一个支撑语句(下称single类);
- ② 1062个关系实例包含多个关系实例且实体对同时出现在至少一个支撑语句中(下称mix类);
- ③ 4668个关系实例包含多个关系实例且实体对从未同时出现在同一个支撑语句中, 即都是分割的语句导出的实力关系(下称multiple);
- 注意如果一个模型预测错了关系, 我们就不知道哪个语句被用于当作支撑语句, 所以我们只报告RE模型对于每个子集的召回率(recall), 其中single为51.1%, mix为49.4%, multiple为46.6%;
- 这表明mix类中的多个支撑语句可能会提供补充信息, 高效地综述丰富的全局信息是具有挑战的;
- 进一步, multiple的表现很差, 说明RE模型仍然难于挖掘句间关系;
- 特征侵蚀(feature abaltion)
- 本文实施特征侵蚀实验在BiLSTM模型上来要救不同特征在文档级RE上的贡献, 包括实体类型, 公职信息, 实体相对距离;
- Table6: dev集上的特征侵蚀
- Table6展示了上面提到的特征都对模型表现有所贡献, 实体类别是贡献最突出的, 原因是他们对可行关系类型的约束; 共指信息和实体相对距离对于从多命名实体mentions上综述信息也很重要;
- 支撑证据预测
- 本文提出一个用于预测对于关系实例的支撑证据新任务;
- 一方面联合预测证据提供了更好的可解释性;
- 另一方面确定支撑证据和从文本中推理关系事实是自然的对偶任务(dual tasks), 他们有潜在的相互促进;
- 我们设计两个支撑证据预测方法:
- ① 启发式预测器(Heuristic predictor): 这个启发式模型会考虑所有包含头尾实体作为支撑证据的所有句子;
- ② 神经预测器: 给定一个实体对和一个预测关系, 句子会通过拼接词嵌入和位置嵌入(position embedding)先被转化成输入特征, 然后喂给BiLSTM编码器得到上下文表示;
- 受前人研究启发, 我们首先使用一个可训练的关系嵌入拼接了BiLSTM的输出的首尾, 以获得句子表示, 这用来预测一个句子是否被采用为支撑证据对于给定的关系实例
- Table7: 联合关系和支撑证据预测的表现(F1)
- Table7表明神经预测其比启发式预测器表现得好, RE模型有潜在的对支撑证据及联合关系的预测能力;
- 讨论
- 为了缩小人类和模型的差距, 我们由上述实验得出以后的可能的方向:
- ① 挖掘模型推理能力;
- ② 设计更加厉害的模型架构用于收集和综述句间信息;
- ③ 权衡(leverage)远程监督数据来提升文档级RE的表现;
6 相关工作 Related Work
- 近年来用于RE的数据集越来越多, 前人也都做了很多研究, 但是数据集质量对模型评估结果影响很大;
- 文档比句子包含更多信息, 文档级别的RE逐渐成为主流, 相关领域如事实挖掘与验证, 阅读理解, 情绪分类(sentiment classification), 总结, 机器翻译;
- 其余略;
7 结论 Conclusion
- 我感觉本文的工作就是把一些前人的句子级RE模型用在文档级RE任务上做了一些测试, 并没有做什么实质性的工作, 感觉有点捞, 质量不是很行;
- 但是文档级RE确实很难, 这个事情目前还没有人能做得很好;
8 致谢 Acknowledgement
- National Key Research and Development Program of China
- National Natural Science Foundation of China
- China Association for Science and Technology
附录A
A.1 实验细节 Experimental Details
- 基线模型使用Adam优化器, 学习率0.001, β 1 = 0.9 , β 2 = 0.999 \beta_1=0.9,\beta_2=0.999 β1=0.9,β2=0.999
- 其他一些实验超参数见Table8
- Table8: 超参数设置
- 考虑到文档级中的实体距离, 距离鲜卑划分成数个bin { 1 , 2 , . . . , 2 k } \{1,2,...,2^k\} {1,2,...,2k}, 每个bin与一个可训练的距离嵌入联系;
A.2 命名实体类别
- Table9: DocRED中的命名实体类别及举例
A.3 关系列表
- Table10&11: DocRED里的关系类别及举例
附录B 图表