Press "Enter" to skip to content

论文浅尝 – ACL2020 | 用于关系三元组抽取的级联二进制标记框架

论文笔记整理: 王中昊, 天津大学。

 

 

来源:ACL2020

 

链接: https://arxiv.org/pdf/1909.03227.pdf

 

摘要

 

从非结构化文本中提取关系三元组是构建大规模知识图的关键。然而,对于同一句子中的多个关系三元组共享同一个实体的重叠三元组问题,现有的研究很少。在这项工作中,我们引入了一个新的视角来重新审视关系三元组抽取任务,并从一个原则性的问题出发,提出了一个新的级联二进制标记框架(CASREL)。我们的新框架不再像以前的工作那样把关系看作是离散的标签,而是将关系建模为将句子中的主语映射到宾语的函数,这样就很自然地解决了重叠问题。实验表明,CASREL框架在编码模块使用随机初始化的BERT编码器时,其性能已经超过了最先进的方法,显示了新标签框架的强大功能。当使用预训练的BERT编码器时,它的性能得到了进一步的提升,在两个公共数据集NYT和WebNLG上,它分别比最强基线的F1分数提高了17.5和30.2个百分点。对重叠三元组的不同场景的深入分析表明,该方法在所有这些场景中提供了一致的性能增益。

 

CASREL 框架

 

关系三元组抽取的目的是识别句子中所有可能的(主语、关系、宾语)三元组,其中一些三元组可能与主语或宾语共享相同的实体。为了实现这个目标,我们直接对三元组进行建模,并在三元组的层次上设计一个训练目标。这与以前的方法(Fu et al.,2019)不同,前者通过实体和关系来定义训练目标,而没有在三元组的层次上对他们进行明确的建模。

 

形式上,给定训练集D中的注释语句x j 和x j 中一组潜在重叠的三元组T j ={(s,r,o)},我们的目标是使训练集D的数据可能性最大化:

 

 

这里我们稍微滥用了符号T j 。s∈T j 表示出现在T j 三元组中的主语。T j | s是T j 中主语s引导的三元组。(r,o)∈T j | s是T j 中主语s引导的三元组中的(r,o)对。R是所有可能关系的集合。R\T j | s表示除T j 中以s为首的所有关系。o ∅ 表示“空”宾语(解释如下)。

 

式(2)应用概率链式法则。式(3)利用了一个关键事实:对于给定的主语s,任何与s相关的关系(T j | s中的关系)都会对应句子中相应的宾语,而所有其他关系在句子中必然没有宾语,即“空”宾语。

 

这个公式有几个好处。首先,由于数据的似然性是从三元组层次开始的,优化这个似然性相当于在三元组层次上直接优化最终的评价标准。其次,通过不假设多个三元组如何共享一个句子中的实体,它通过设计来处理重叠的三元组问题。第三,式(3)中的分解启发了一种新的三元组抽取标记方案:我们学习一个主语标记符 p(s | x j ),它识别句子中的主语实体;对于每个关系 r ,我们学习一个宾语标记 p r (o | s,x j ),它识别给定主语的关系特定对象。通过这种方式,我们将每个关系建模为一个将主语映射到宾语的函数,而不是对(主语、宾语)对的关系进行分类。

 

事实上,这种新颖的标记方案允许我们一次提取多个三元组:我们首先运行主语标记器来查找句子中所有可能的主语,然后针对找到的每个主语,应用关系特定的宾语标记器来查找所有相关关系和对应的宾语。

 

上述通用框架中的关键组件,即主题标记器和特定于关系的对象标记器,可以通过多种方式实例化。在本文中,我们将它们实例化为深双向变压器BERT上的二进制标记器(Devlin等人,2019)。我们将在下面描述它的细节。

 

BERT编码器

 

编码器模块从句子x j 中提取特征信息x j ,并将其输入到后续的标记模块中。我们使用一个预先训练的BERT模型(Devlin等人,2019)来编码上下文信息。

 

本文简要回顾了基于多层双向变换器的语言表示模型BERT。它的目的是通过共同调节每个单词的左右语境来学习深层表征,并且最近被证明在许多下游任务中非常有效(Zhong等人,2019)。具体地说,它由N个相同的转换器组组成。我们将转换器块表示为Trans(x),其中x代表输入向量。具体操作如下:

 

 

式中,S是输入句子中子词索引的一个热点向量的矩阵,W s 是子词嵌入矩阵,W p 是位置嵌入矩阵,其中p代表输入序列中的位置索引,h α 是隐藏状态向量,即。,输入句在α层的上下文表示,N是转换块的个数。注意,在我们的工作中,输入是单个文本句子而不是句子对,因此等式(4)中没有考虑原始BERT论文中描述的分段嵌入。有关变压器结构的更全面的描述,请参考(Vaswani等人,2017)。

 

级联解码器

 

现在,我们描述一个新的级联二进制标记方案的实例,这个方案是受前面的公式启发的。其基本思想是通过两个级联步骤提取三元组。首先,我们从输入句子中检测主语。然后对于每个候选主语,我们检查所有可能的关系,看一个关系是否能将句子中的宾语与该主语相关联。与这两个步骤相对应,级联解码器由两个模块组成,如图2所示:一个主题标记器;一组特定于关系的对象标记器。

 

主题标记器   低层标记模块通过直接解码N层BERT编码器产生的编码向量h N 来识别输入句子中所有可能的主语。更精确地说,它采用两个完全相同的二值分类器来分别检测对象的起始位置和结束位置,为每个标记分配一个二进制标记(0/1),该标记指示当前标记是否对应于主题的开始位置或结束位置。主题标记器对每个令牌的具体操作如下:

 

 

其中p istart_s 和p iend_s 分别表示将输入序列中的第i个单词标识为对象的开始位置和结束位置的概率。如果概率超过某个阈值,则相应的部分将被分配一个标签1,否则将被分配一个标签0。x i 是输入序列中第i个单词的编码表示,即 x i = h N [i],其中 W (·)表示可训练的权重, b (·)是偏差,而α是 sigmoid 激活函数。

 

主题标记器优化以下似然函数,以确定给定句子表示x的主语 s 范围:

 

 

其中L是句子的长度。如果z为真,I{z}=1,否则为0。y istart_s 是x中第i个单词的主语开始位置的二进制标记,y iend_s 表示对象的结束位置。参数θ={ W start , b start , W end , b end }。

 

 

对于多目标检测,我们采用最近开始-结束对匹配原则,根据起始和结束位置标记器的结果来确定任何目标的跨度。例如,如图2所示,第一个开始标记“Jackie”最近的结束标记是“Brown”,因此第一个主题范围的检测结果将是“Jackie R.Brown”。值得注意的是,为了匹配给定开始令牌的结束令牌,我们不考虑其位置在给定单词位置之前的单词。这种匹配策略能够保持任何实体跨度的完整性,只要在给定句子中任何实体跨度的自然连续性,都能正确地检测到任何实体跨度的完整性。

 

特定于关系的对象标记器   高级标记模块同时识别对象以及与较低级别获得的主题相关的相关关系。如图2所示,它由一组特定于关系的对象标记器组成,这些标记器的结构与底层模块中所有可能关系的主题标记器结构相同。所有对象标记器将同时为每个检测到的对象标识相应的对象时间。不同在主题标记器直接解码编码向量h N 的基础上,关系特定对象标记器也考虑了主语特征。关系特定对象标记器对每个单词的详细操作如下:

 

 

其中p istart_s 和p iend_s 分别表示将输入序列中的第i个单词识别为对象的起始位置和结束位置的概率, v ksub 表示在低级模块中检测到的第k个对象的编码表示向量。

 

对于每个主题,我们迭代地对其应用相同的解码过程。注意,主体通常由多个令牌组成,为了使第9和等式(10)中的 x i 和 v ksub 的添加成为可能,我们需要保持两个向量的维数一致。为此,我们将第 k 个主语的开始和结束标记之间的平均向量表示作为 v ksub 。

 

关系r的宾语标记器优化以下似然函数,以确定给定句子表示x和主语s的宾语o的跨度:

 

 

其中y istart_s 是x中第i个单词的对象开始位置的二进制标记,y iend_s 是第i个单词的对象结束位置的标记。对于 “空” 对象o∅,所有i的标记 y istart_o∅ = y iend_o∅ =0。参数φ r ={ W rstart , b rstart , W rend , b rend }。

 

注意,在高级标记模块中,关系也由对象标记器的输出决定。例如,在检测到的主体“Jackie R.Brown”和候选对象“Washington”之间的关系“Work in”就不成立了。因此,关系“Work in”的object tagger不会识别“Washington”的跨度,即起始位置和结束位置的输出都是零,如图2所示。相反,“出生地”的关系在“Jackie R.Brown”和“Washington”之间,因此相应的宾语标注器将输出候选对象“Washington”的跨度。在此设置中,高级模块能够同时识别关系以及与在低级模块中检测到的对象有关的对象。

 

数据记录可能性目标

 

通过式(3)的对数,目标J(Θ)为:

 

 

其中参数Θ={θ,{φr} r∈R }。p θ (s | x)在式(8)中定义,p φr (o | s,x)在式(11)中定义。我们通过Adam随机梯度下降方法(Kingma和Ba,2014)在小批次中最大化J(Θ)来训练模型。

 

实验

 

比较方法 我们将我们的模型与几个强大的最先进模型进行比较,即NovelTagging(Zheng et al.,2017)、CopyR(Zeng et al.,2018)、GraphRel(Fu et al.,2019)和CopyRRL(Zeng et al.,2019)。上述基线的报告结果直接取自原始出版文献。

 

 

请注意,我们在预先训练的BERT模型上实例化CASREL框架,以结合所提出的新标记方案的能力和预先学习的先验知识,以获得更好的性能。为了评估引入基于转换器的BERT模型的影响,我们进行了一系列消融试验。CASREL random 是一个框架,其中BERT的所有参数都被随机初始化;CASREL LSTM 是在基于LSTM的结构上实例化的框架(Zheng et al.,2017),带有预先训练的手套嵌入(Pennington et al.,2014);CASREL是使用预训练的BERT权重的成熟框架。

 

主要结果 表2显示了对两个数据集进行关系三元组抽取的不同基线的结果。在所有三个评估指标方面,CASREL模型在所有三个评估指标方面均优于所有基线,在纽约时报和WebNLG数据集上,F1分数分别比最先进方法(Zeng等人,2019年)提高了17.5%和30.2%。即使不利用预先训练的BERT,CASREL random 和CASRELLSTM仍然与现有的最新模型相竞争。这验证了所提出的级联解码器的实用性,该解码器采用了一种新的二进制标记方案。从CASREL random 到CASREL的性能改进突出了先验知识在预训练语言模型中的重要性。

 

 

不同类型句子的详细结果   为了进一步研究 CASREL 框架提取重叠关系三元组的能力,我们对不同类型的句子进行了两次扩展实验,并与前人的工作进行了比较。

 

图3显示了三种不同重叠模式的详细结果。可以看出,大多数基线在 Normal、EPO和SEO上的性能都呈下降趋势,反映出从不同重叠模式的句子中提取关系三元组的难度越来越大。也就是说,在这三个重叠的模式中,普通类是最容易提取的模式,而EPO和SEO类则是比较难提取的基线模型。相比之下,所提出的CASREL模型在所有三个重叠模式上都获得了一致的强性能,特别是对于那些硬模式。我们也验证了CASREL在从不同三元组数的句子中提取关系三元组的能力。我们把句子分成五类,表3显示了结果。同样,CASREL模型在所有五个类中都取得了优异的性能。虽然发现大多数基线的性能随着句子中包含的关系三元组数量的增加而下降并不奇怪,但是从不同模型的性能变化中仍然可以观察到一些模式。与以往致力于解决关系三元组抽取中的重叠问题的工作相比,我们的模型对输入句子日益复杂的影响最小。尽管与最先进的方法CopyRRL(Zeng et al.,2019)相比,CASREL模型在所有五个类别上都获得了相当大的改进,但这两个数据集的F1得分的最大提高都来自最困难的类别(N≥5),这表明我们的模型比基线更适合复杂的场景。

 

 

这两个实验验证了级联二元标记框架在从复杂句子中提取多个(可能重叠)关系三元组方面的优越性。以往的研究都需要明确地预测句子中可能包含的所有关系类型,这是一个相当具有挑战性的任务,因此在提取的结果中缺少许多关系。相比之下,我们的 CASREL 模型不考虑关系类型的预测,并且倾向于从给定的句子中提取尽可能多的关系三元组。我们将此归因于级联解码器的高级标记模块中的关系特定对象标记器同时考虑了所有关系类型。

 

总结

 

本文中,我们介绍了一个新的级联二进制标记框架(CASREL),它是从关系三元组抽取的一个原则性问题中派生出来的。我们没有将关系建模为实体对的离散标签,而是将关系建模为映射主语到宾语的函数,这为重新审视关系三元组抽取任务提供了一个新的视角。因此,我们的模型可以同时从句子中提取多个关系三元组,而不存在重叠问题。我们在两个广泛使用的数据集上进行了大量的实验,以验证所提出的CASREL框架的有效性。实验结果表明,在不同的场景下,我们的模型的性能远远优于最新的基线,尤其是在重叠关系三元组的提取上。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注