一种用于联合实体和关系提取的划分过滤网络
-
A Partition Filter Network for Joint Entity and Relation Extraction
一种用于联合实体和关系提取的划分过滤网络
Abstract
在联合实体和关系提取中,现有的工作要么对特定于任务的特征进行顺序编码,导致任务间特征交互不平衡,即后来提取的特征与第一个提取的特征没有直接联系。或者它们以并行的方式编码实体特征和关系特征,这意味着每个任务的特征表征学习在很大程度上是相互独立的,除了输入共享。提出了一种划分过滤网络来对任务间的双向交互进行合理建模,将特征编码分解为划分和过滤两个步骤。在本文的编码器中,本文利用两个门:实体门和关系门,将神经元分割成两个任务分区和一个共享分区。共享分区表示对两个任务都有价值的任务间信息,并且在两个任务之间均匀地共享以确保正确的双向交互。任务分区代表任务内信息,通过两个门的共同努力形成,确保任务特定特征的编码相互依赖。在六个公开数据集上的实验结果表明,本文的模型的性能明显好于以前的方法。此外,与前人的工作相反,本文的辅助实验表明,关系预测对命名实体预测具有不可忽略的贡献。
1 Instruction
联合实体和关系抽取旨在同时抽取给定文本中的实体和关系事实,以形成(s,r,o)的关系三元组。提取的信息为许多研究提供了补充,例如知识图谱构建、问题回答和文本摘要。
传统上,命名实体识别(NER)和关系提取(RE)是以流水线方式执行的。这些方法是有缺陷的,因为它们没有考虑到NER和RE之间的密切联系。此外,错误传播是流水线方法的另一个缺点。为了克服这些问题,提出了实体和关系的联合提取方法,并在这两种任务上都表现出了较好的性能。在早期的工作中,联合方法主要依靠精细的特征工程来建立NER和RE之间的交互。最近,端到端神经网络已被证明在提取关系三元组方面取得了成功,并已成为联合实体和关系提取的主流。
根据它们在编码特定任务特征方面的不同,现有的大多数方法可以分为两类:顺序编码和并行编码。在顺序编码中,特定于任务的特征是按顺序生成的,这意味着首先提取的特征不会受到后来提取的特征的影响。在并行编码中,使用共享输入独立地生成特定于任务的特征。与顺序编码相比,基于该方案构建的模型不需要担心编码顺序的影响。由于这两个特定于任务的特征都是通过孤立的子模块提取的,因此这种方法属于并行编码的范畴。
然而,上述两种编码设计都不能很好地模拟NER和RE任务之间的双向交互作用。在顺序编码中,交互只是单向的,具有特定的顺序,导致暴露在NER和RE任务中的信息量不同。在并行编码中,尽管编码顺序不再是一个问题,但交互只存在于输入共享中。考虑到在特征编码中加入双向交互,本文采用了一种替代的编码设计:联合编码。该设计使用单个编码器对特定于任务的特征进行编码,其中应该有一些交互部分用于任务间的通信。
在这项工作中,本文使用分区过滤编码器来实例化联合编码。本文的编码器首先使用实体门和关系门根据每个神经元对单个任务的贡献对其进行分类和划分。在此过程中,将形成两个任务分区和一个共享分区(参见图1)。
然后将单个任务分区和共享分区相结合,生成特定于任务的特征,过滤掉存储在相反任务分区中的无关信息。
在本文的编码器中,任务交互通过两种方式实现:首先,通过实体门和关系门的共同努力来形成分区,特别是特定于任务的分区,允许实体的形成和由这些分区确定的关系特征之间的交互。第二,共享分区表示对两个任务都有用的信息,对于形成两个任务特定的特征是平等的,确保了平衡的双向交互。本文工作的贡献总结如下:
-
提出了分区过滤网络,这是一个专门为联合编码设计的框架。该方法能够对特定于任务的特征进行编码,并保证了NER和RE之间正确的双向交互。
-
在六个数据集上进行了大量的实验。主要结果表明,本文的方法优于其他基线方法,消融研究为本文的框架提供了最好的方法。
-
与前人的工作相反,本文的辅助实验表明,关系预测对命名实体预测具有不可忽略的贡献。
2 Related Work
近年来,联合实体和关系抽取方法一直专注于解决三重重叠问题和对任务交互进行建模。重叠三元组问题指的是三元组共享相同的实体(SEO,即SingleEntityOverlap)或实体(EPO,即EntiyPairOverlack)。
例如,在\“Adam and Joe Are Born in the USA\”中,由于三元组(Adam,Birth Place,USA)和(Joe,Birth Place,USA)只共享一个实体\“USA\”,因此应归类为SEO三元组;
或在\“Adam was born in the USA and lived there ever since.”中,三元组(Adam,Birthplace,USA)和(Adam,Residence,USA)同时共享这两个实体,因此应归类为EPO三元组。
一般来说,有两种方法可以解决这个问题。一种是通过生成方法,其中实体和关系的提及可以在输出序列中多次解码,另一种是通过使用序列分别对每个关系进行建模。本文的方法使用特定于关系的表来分别处理每个关系。
然而,大多数以前的工作都没有很好地处理任务交互建模。在以前的一些方法中,任务交互是通过实体和关系预测共享相同的特征来实现的TPLinker: Single-stage joint extraction of entitiesand relations through token pair linking。这可能是有问题的,因为关于实体和关系的信息有时可能是矛盾的。此外,由于使用顺序编码或并行编码的模型在特征提取中缺乏适当的双向交互,对这些特征进行的预测遇到了不正确交互的问题。在本文的工作中,分区过滤编码器建立在联合编码的基础上,能够更好地处理任务间信息的通信,以避免顺序和并行编码(曝光偏差和交互不足)的问题,同时使任务内信息远离相反的任务,以缓解任务之间的负迁移问题。
3 Problem Formulation
该框架将联合实体和关系抽取分为两个子任务:NER和RE。
形式上,给定一个输入序列s=w1,…,wLs={w_1,…,w_L}s=w1,…,wL
对于NER,本文的目标是提取将其集合被表示为s的所有类型化实体,其中<wi,e,wjw_i, e, w_jwi,e,wj>表示token wiw_iwi和wjw_jwj是类型e∈εe\in \varepsilone∈ε的实体的开始和结束token。其中ε\varepsilonε表示实体类型的集合。
关于RE,目标是识别其集合被表示为T的所有仅头部三元组,每个三元组<wi,r,wjw_i,r,w_jwi,r,wj⟩∈T\in T∈T指示token wiw_iwi和wjw_jwj是具有关系r∈Rr\in Rr∈R的主语和宾语实体的对应开始token。
结合NER和RE的结果,本文应该能够提取具有完整实体跨度的关系三元组。
4 Model
该模型包括一个分区过滤编码器和两个任务单元,即NER单元和RE单元。
划分过滤编码器用于生成特定于任务的特征,这些特征将作为实体和关系预测的输入发送到任务单元。本文将在以下三个小节中详细讨论每个组件。
4.1 Partition Filter Encoder分区过滤编码器
与LSTM类似,分区过滤器编码器是一种递归特征编码器,其信息存储在中间存储器中。在每个时间步长中,编码器首先将神经元划分为三个分区:实体分区、关系分区和共享分区。然后,它通过选择和组合这些分区来生成特定于任务的特征,过滤掉与每个任务无关的信息。如图2所示,该模块专门设计用于联合提取特定于任务的特征,它严格遵循两个步骤:划分和过滤。
图2:(A)PFN概述。该框架由三部分组成:分区滤波编码器、NER单元和RE单元。在任务单元中,本文使用填表来进行词对预测。橙色、黄色和绿色代表与NER相关、共享和与RE相关的组件或功能。(B)在单个时间步内对分区滤波编码器的详细描述。本文将特征编码分解为两个步骤:分割和过滤(如灰色区域所示)。在划分中,本文首先将神经元分割成两个任务分区和一个共享分区。然后在过滤器中,选择并组合分区以形成特定于任务的特征和共享特征,过滤掉与每个任务无关的信息。Partition
该步骤执行神经元划分,将神经元划分为三个分区:两个存储任务内信息的任务分区,即实体分区和关系分区,以及一个存储任务间信息的共享分区。
要划分的神经元是表示当前信息的候选cell c∼<em>t\overset{\sim}{c}<em>tc∼<em>t和表示历史信息的先前cell ctc_tct。c</em>t−1c</em>{t-1}c</em>t−1是来自最后一个时间步长的直接输入,c∼t\overset{\sim}{c}_tc∼t的计算方式与lstm相同:
其中,Linear表示线性变换的运算。
本文利用entity gate e∼\overset{\sim}{e}e∼ and relation gate r∼\overset{\sim}{r}r∼来进行神经元划分。
如图1所示,代表一个特定任务的每个门将根据神经元对指定任务的有用性将神经元分为两个部分。例如,实体门˜$\overset{\sim}{e}将神经元分为两个分区:NER相关的和NER无关的。
通过组合来自两个门的分区结果来形成共享分区。共享分区中的神经元可以被视为对两个任务都有价值的信息。为了正确地对双向交互进行建模,共享分区中的任务间信息对两个任务均可访问(这将在筛选器子部分中讨论)。此外,仅对一个任务有价值的信息对相反的任务是不可见的,并将存储在各个任务分区中。
使用Cummax激活函数来计算门,其输出可以被视为形式为(0,…,0,1,…,1):
公式(2)背后的直觉是识别两个截止点,在图2中显示为剪刀,这自然地将一组神经元分为三个部分。
门将神经元划分为三个分区,实体分区ρe\rho _eρe、关系分区ρr\rho _rρr and shared partition ρs\rho _sρs。先前cell 的分区公式如下:
候选cell c∼t\overset{\sim}{c}_tc∼t的计算实际上与公式(3)相同,因此未示出。
请注意,如果将所有三个分区相加,结果不等于1。这保证了在转发消息传递时,一些信息被丢弃,以确保消息不会过载,这类似于LSTM中的遗忘机制。
然后,本文聚合来自两个目标单元的分区信息,结果形成三个分区。对于所有三个分区,本文将两个单元格中的所有相关信息相加:
Filter
本文提出了三种类型的内存块:实体内存、关系内存和共享内存。这里,本文将µeµ_eµe 表示为实体存储器,将µrµ_rµr 表示为关系存储器,将µsµ_sµs 表示为共享存储器。
在µeµ_eµe 中,选择实体分区和共享分区中的信息。相反,关系划分中的信息被过滤掉,本文认为这些信息与命名实体识别任务无关,甚至是有害的。
同样的逻辑也适用于µrµ_rµr,其中实体分区中的信息被过滤掉,其余的被保留。此外,共享分区中的信息将以µsµ_sµs 存储:
注意,共享分区中的任务间信息对于实体存储器和关系存储器都是可访问的,从而允许NER和RE之间的平衡交互。而在顺序编码和并行编码中,关系特征对实体特征的形成没有直接影响。
在更新每个存储器中的信息后,与对应的存储器生成实体特征heh_ehe 、关系特征hrh_rhr 和共享特征hsh_shs:
在分割和过滤步骤之后,所有三个存储器中的信息被用来形成cell状态ctc_tct,该cell状态ctc_tct 然后将被用来产生隐藏状态hth_tht(在时间步长t的隐藏和单元状态被输入到下一个时间步长):
4.2 Global Representation
在本文的模型中,本文使用单向编码器进行特征编码。双向设置中的后向编码器被特定于任务的全局表示所取代,以捕获未来上下文的语义。从经验上看,这似乎更有效。对于每个任务,全局表示是特定于任务的特征和共享特征的组合,计算方法如下:
4.3 Task Units
该模型由两个任务单元组成:NER单元和RE单元。在NER单元中,目标是对给定句子中的所有实体跨度进行识别和分类。更具体地说,该任务被视为特定于类型的表格填充问题。
给定一个实体类型集合ε\varepsilonε,对于每个类型k,本文填写一个表,其元素eijke_{ij}^keijk 表示词wiw_iwi和词wjw_jwj作为具有类型k的实体的开始和结束位置的概率。
对于每个词对(wi,wjw_i,w_jwi,wj),本文将词级实体特征hieh_i^ehie 和hjeh_j^ehje 以及语句级全局特征hgeh_g^ehge 连接在一起,然后将其送入具有ELU激活的全连通层,以获得实体跨度表示hijeh_{ij}^ehije:
利用跨度表示,本文可以通过将跨度反馈到前馈神经层来预测跨度是否是类型为k的实体:
在RE单元中的计算大多与NER单元对称。给出一组用T表示的gold关系三元组,这个单元的目标是识别句子中的所有三元组。本文只预测这个单元中每个实体的起始词,因为实体跨度预测已经包含在NER单元中。与NER类似,本文认为关系抽取是一个特定于关系的表填充问题。
给定一个关系标签集R,对于每个关系l∈Rl \in Rl∈R,本文填写一个表,其元素rijlr_{ij}^lrijl 表示词wiw_iwi和词wjw_jwj作为主语和宾语实体的起始词的概率。
这样,本文就可以用一个关系表来提取所有围绕关系lll的三元组。对于每个三元组(wi,l,wj)(w_i,l,w_j)(wi,l,wj),类似于NER单位,三元组表示hijrh_{ij}^rhijr 和关系得分rijlr_{ij}^lrijl 计算如下:
4.4 Training and Inference
对于给定的训练数据集,在训练期间指导模型的损失函数L由两部分组成:用于NER unit的LnerL_{ner}Lner 和用于RE unit的LreL_{re}Lre:
其中e∧ijk\overset{\wedge}{e}^k_{ij}e∧ijk and r∧ijl\overset{\wedge}{r}^l_{ij}r∧ijl分别是实体表和关系表的ground truth标签。eijke_{ij}^keijk and eijle_{ij}^leijl是预测中的两个。对每项任务都采用BCELoss。训练目标是最小化损失函数L,其计算公式为Lner+LreL_ner+L_reLner+Lre。
在推理过程中,本文通过结合NER和RE单元的结果来提取关系三元组。
对于每个合法的三元预测(si,jk,l,om,nk’)(s_{i,j}^k,l,o_{m,n}^{k’})(si,jk,l,om,nk’),其中l是关系标签,k和k’是实体类型标签,并且索引i,j和m,n分别是主体实体s和客体实体o的开始和结束索引,应满足以下条件:λe和λr是用于实体和关系预测的阈值超参数,都被设置为0.5而无需进一步微调。
5 Experiment
5.1 Dataset, Evaluation and Implementation Details
本文在六个数据集上对本文的模型进行了评估。《NYT》、WebNLG、ADE、Science ERC、ACE04和ACE05.
在前面工作的基础上,本文在NYT/WebNLG上评估了本文的模型在部分匹配下的性能,其中只注释了实体的尾部。此外,由于实体类型信息在这些数据集中没有标注,本文将所有实体的类型设置为单个标签\“None\”,因此在本文的模型中不会预测实体类型。在ACE05、ACE04、ADE和SciERC上,本文在实体的头部和尾部都被标注的精确匹配下对本文的模型进行了评估。对于ADE和ACE04,分别使用10次和5次交叉验证对模型进行评估,并使用15%的训练集来构建开发集。对于评估指标,本文同时报告了NER和RE的F1分数。在NER中,只有当实体的类型和边界正确时,才会将其视为正确的。在RE中,只有当两个实体的类型、边界及其关系类型正确时,三元组才是正确的。此外,本文在ADE中报告了Macro-F1得分,在其他数据集中报告了Micro-F1得分。
本文根据开发集的表现(NER和RE的最佳F1平均得分)来选择本文的模型参数,并在测试集上报告结果。
5.2 Main Result
在部分注释的数据集WebNLG和NYT中,在BERT的设置下。对于RE,本文的模型在WebNLG上获得了1.7%的改进,但在NYT上的性能仅比以前的Sota TpLinker 略高0.5%。本文认为,这是因为《NYT》是在远程监督下产生的,对实体和关系的注释往往是不完整和错误的。与TpLinker相比,该方法的优点在于加强了实体和关系之间的双向交互。然而,在处理有噪声的数据时,强度可能会适得其反,因为两个任务之间的错误传播也会被放大。
5.3 Ablation Study
在这一部分中,本文将从编码层的数量、双向与单向、编码方案、划分粒度和解码策略五个不同的方面来仔细查看和检查本文框架在关系提取方面的有效性。
Number of Encoder Layers
与递归神经网络类似,本文用任意层数堆叠本文的分区滤波编码器。在这里,本文只检查不超过三层的框架。如表2所示,向本文的分区过滤器编码器添加层不会导致F1分数的提高。
这表明对于编码特定于任务的功能,一个层就足够好了。
Bidirection Vs Unidirection
通常,本文需要两个分区过滤器编码器(一个以相反的顺序)来对前向和后向上下文之间的交互进行建模。然而,正如在第4.2节中讨论的那样,本文的模型用全局表示取代了向后编码器,以使未来的上下文对每个单词都可见,从而实现了与双向设置类似的效果。为了找出哪种方法效果最好,本文在消融研究中对这两种方法进行了比较。从表2中本文发现,具有全局表示的单向编码器的性能优于没有全局表示的双向编码器,这表明全局表示比反向编码器更适合为每个单词提供未来的上下文。此外,当涉及全局表示时,单向编码器的F1得分与双向编码器相似,说明单独使用全局表示就足以捕捉未来语境的语义。
Encoding Scheme
本文用两个LSTM变体替换了本文的分区过滤器编码器,以检验本文的编码器的有效性。在并行设置中,本文使用两个LSTM编码器来分别学习特定于任务的功能,并且不允许交互,除非共享相同的输入。在只允许单向交互的顺序设置中,从第一个LSTM编码器生成的实体特征被馈送到第二个编码器以产生关系特征。从表2中,本文观察到本文的分区过滤器的性能远远超过LSTM变体,证明了本文的编码器在建模双向交互方面比其他两种编码方案的有效性。
Partition Granularity
本文将神经元分割成几个块,并在每个块内进行划分。每个块共享相同的实体门和关系门。因此,所有区块的分区结果保持不变。例如,对于一个300维的神经元集合,如果本文将其分成10个块,每个块有30个神经元,那么只需要两个30维门来进行神经元划分。本文将上述操作称为粗略划分。相比之下,本文的细粒度分区可以被视为一个特例,因为神经元只被分割成一个块。本文将本文的细粒度分区(块大小=300)与粗粒度分区(块大小=10)进行比较。表2显示细粒度分区比粗粒度分区性能更好。这并不像在粗略的划分中那样令人惊讶,对于编码者来说,为每个块执行相同的神经元划分的假设可能太强了,无法正确地分离每个任务的信息。
Decoding Strategy
在类似流水线的方法中,对系统认为在其实体预测中有效的实体执行关系预测。本文认为,更好的关系预测方法是考虑所有无效的词对。本文将前一种策略称为选择性译码,将后者称为通用译码。对于选择性解码,本文仅根据在NER单元中计算的实体分数来预测被认为有效的实体的关系分数。表2显示了包含所有否定实例的通用译码比选择性译码更好。除了缓解错误传播,本文认为普遍解码类似于对比学习,因为负实例有助于通过内隐比较更好地识别正实例。
6 Effects of Relation Signal on Entity Recognition
实体识别有助于预测关系,这是一个被广泛接受的事实,但关系信号对实体预测的影响在研究者中仍然存在分歧。
通过两个辅助实验,本文发现关系信号的缺失对实体识别有相当大的影响。6.1 Analysis on Entity Prediction of Different Types
在表1中,本文的模型的NER性能始终好于其他基线,除了ACE05,其性能落后于不可忽略的差距。本文认为这可以归因于这样一个事实,即ACE05包含许多不属于任何三元组的实体。
为了证实本文的说法,在这一部分中,本文试图量化属于特定三元组的实体和那些与其他实体没有关系的实体之间的实体预测性能差距。前者称为三元组内实体,后者称为三元组外实体。本文将实体分成两组,并在ACE05/ACE04/SciERC中测试每组的NER性能。在NYT/WebNLG/ADE中,由于不存在三选一实体,因此不对这些数据集进行评估。
如表3所示,三重实体内预测和三重外实体预测之间存在巨大差距,特别是在本中心,其差异分数达到26.6%。
NER对不同的实体类型产生结果。根据实体是否出现在关系三元组中,实体被分为两组:三元组中的实体和三元组之外的实体。差异是三元组和非三元组之间的性能差异。Ratio是给定类型的实体数除以测试集中的总实体数(ACE04中组合的列车、开发和测试集)。ACE04的结果平均超过5倍
本文认为,这可能归因于这样一个事实,即考虑到它涉及到科学术语的识别,并且SciERC中实体的平均长度更长,因此SciERC中的实体预测通常更难。另一个观察结果是,差异得分在很大程度上归因于精度的差异,这意味着如果没有关系信号的指导,本文的模型往往对实体预测过于乐观。
此外,与PUREA frustratingly easy approach for entity and relation extraction相比,本文发现NER的整体性能与数据集中三元组外实体的百分比呈负相关。特别是在ACE05中,本文的模型的性能相对较弱,超过64%的实体是三者之外的。这种现象体现了联合模型的弱点:考虑到关系信息与实体预测之间的动态关系对于三重内实体和出三重实体的动态不同,NER和RE的联合建模可能会对实体预测造成一定的损害,因为三重内实体和三重外实体的推理模式是不同的。
6.2 Robustness Test on Named Entity Recognition
在恶劣环境下,本文使用稳健性测试来评估本文的模型。从表4中,本文观察到,与其他基线相比,本文的模型对输入扰动的弹性大多更强,特别是在跨类别类别中,这可能是因为本文训练中使用的关系信号对实体施加了类型约束,因此实体类型的推断受目标实体本身的语义影响较小,而是受到实体周围的(关系)上下文的影响。
6.3 Does Relation Signal Helps in Predicting Entities
与PUREA frustratingly easy approach for entity and relation extraction的说法相反(关系信号对实体预测的影响很小),本文发现了几条线索,表明情况并非如此。首先,在6.1节中,本文观察到三元组中的实体比三组外的实体更容易预测,这表明关系信号对实体预测是有用的。其次,在6.2节中,本文在NER中进行了稳健性测试,以评估本文的模型抗输入扰动的能力。在稳健性测试中,本文将本文的方法–唯一的联合模型与其他与关系无关的基线进行了比较。结果表明,本文的方法对不利环境具有更强的弹性,这可以(至少部分)通过引入关系信号来解释。综上所述,本文发现关系信号确实对实体预测有不可忽视的影响。PURE得出关系信息对实体预测影响最小的结论的原因很可能是选择性偏见,这意味着评估的数据集ACE05包含很大比例的三元组中的实体(64%),其本质上不需要任何关系信号本身。
7 启示
- 2021年关系抽取的SOTA,创新点确实牛,论文写的也无敌强。
- 对于关系有助于实体抽取的是直接给出的结论,如果能够给出具体的数据集示例就完美了。
- 欢迎关注微信公众号:自然语言处理CS,一起来交流NLP。
-