摘要
神经模型已经在关系抽取(RE)领域取得了瞩目的成功。然后,我们还不明白到底是哪种类型的信息影响了RE模型去判断,去进一步的提升这些模型的性能。为此,我们实证研究了文本中两个主要的信息来源:文本的上下文和实体名字。我们发现:第一点,当上下文信息作为主要信息来源,RE模型…我们进行了广泛的实验去支撑我们的观点,并且显示出我们的框架可以提升不同的RE神经模型的有效性和鲁棒性。代码和数据集可以从https://github.com/thunlp/RE-Context-or-Names.
介绍
关系抽取只在抽取文本中两个实体之间的关系事实,使用RE获得的结构化知识,我们可以构建和补全知识图谱,以及可以用于下游的应用,例如问答系统,对话系统和搜索引擎。随着最近出现的深度学习,神经关系抽取模型(NRE)已经取得了突破性的结果,其中一些模型在部分公开的RE基准上的效果可以堪比人工的性能。
这些模型的成功让我们不禁去思考,到底是哪种信息能够帮助模型抽取正确的关系。这个问题的分析或许会找到模型的本质和揭示他们尚存的问题并进行进一步的探索。一般的,在典型的关系抽取设置中,文本信息的来源主要有两种,可能会帮助RE模型进行分类关系:文本上下文和实体名字。
根据人类的直觉,文本上下文应该是RE的信息主要来源。研究者们都达成了一个共识,在文本上下文中表达的关系事实存在可解释的模式。早期的RE系统将模式形式化为字符串模板,并通过这些模板确定关系。后来出现的神经模型更倾向于把模式编码为分布式表示,然后通过表示匹配进行关系预测。相比于死板的模式匹配,神经模型的分布式表示更加一般化和表现得更好。
此外,实体名字也能为冠词分类提供很多的信息。从实体名字中,我们可以得到实体的类型,这个可以帮助进行过滤掉不可能的关系。此外,如果实体可以链接到知识图谱,那么模型可以从知识图谱中获得更多的知识去进行关系抽取。而且,对于预训练语言模型,经过预训练以后,可以从存储的参数中得到一些固有的实体知识。
在这篇文章中,我们对两个信息来源进行了大量的实验得到:
- 对于关系抽取来说,**上下文和实体名称都重要。**当我们把上下文作为关系抽取的主要信息来源,实体名字也会提供重要的信息,其中大部分是实体的类型信息。
- 现存的关系抽取基准会通过实体名字泄露浅显的提示,这会导致现存的模型得到较高的性能。我们的实验表明,仅仅给出实体信息作为输入,模型也能取得较高的性能,这表明数据集中的实体名字的提示会导致统计的偏差。
上述的观察揭示出现存的模型在RE数据集上的工作原理和对于进一步提升RE模型的建议。我们需要通过更好的理解上下文和使用实体类型,并且阻止模型进行简单的记录实体名字或者名字给出的显示偏差提示。从这些点中,我们提出了一个RE新框架,就是entity-masked contrastive pre-training framework实体掩盖对比预训练框架。我们使用wikidata去搜集表达相同关系的句子,使模型去学习哪些句子是相近的,通过一个对比对象去学习哪些在关系语义上表达不同。在这个过程中,我们随机的掩盖实体名字去避免偏差。我们展示了它在多种设置和多个基准集上的有效性,结果表明,更好的预训练对于关系抽取来说是一个值得信赖的方向。
初步实验和分析
在这一章节中,为了学习哪种信息影响关系抽取模型,我们介绍了一些RE模型的初步知识,设置,和执行初步实验,并进行实证分析。
模型和数据集
我们选择了三种代表性神经模型。
CNN,卷积神经网络,通过词性,命名实体识别和位置嵌入来增强输入。
BERT,简而言之,我们通过特殊标记突出显示实体,并使用实体表示的级联进行关系分类。
Matching the blanks(MTB),
3 RE对比预训练
从第二章我们知道上下文和实体类别信息对于关系抽取模型来说很重要。然而在一些情况下,RE模型并不能从上下文中得到关系的模式,或者依靠实体名字的浅层提示进行分类。为了提高关注实体类别的能力和从上下文中抽取关系事实,我们提出了实体掩蔽的对比预训练框架。我们首先介绍动机和关系对比样本生成的过程,然后讲预训练的细节。
3.1关系对比样本生成
我们通过针对RE的特别预训练,让我们的模型在上下文文本中编码关系表示效果好和从名字中构建实体类别。为了实现这个目标,我们采用了对比学习的思想。对比思想旨在让“neighbors”在一起,“non-neighbors”分开。因此邻居事例具有相似的表示。在对比学习中定义邻居具有非常重要的意义,我们使用KG的信息来进行定义邻居。有远程监督思想,我们假设包含有实体对的句子在KG表达相同关系的是邻居。
现在,我们使用Wikidata作为KG,因为对于预训练来说,它很容易能够连接到Wikipedia的语料库。在训练的时候,我们根据一个关系r在KG的中的比例进行采样,然后对连接到r的句子对进行采样。为了进行对比学习,我们随机采样了N个句子XiB,因此它们可以与XA形成N个负对。这个模型需要从所有的正例和负例中得到谁与XA表示相同关系。
为了避免记忆实体名字或者从实体名字中抽取浅显特征,我们使用blank掉实体,按照0.7的概率替换。注意,把所有的实体都抹掉也是不行的,因为会在预训练和微调之间造成差距,同时让阻止预训练模型使用实体提及信息。
附录A 预训练细节
预训练数据集