http://arxiv.org/abs/2106.08657
要了解本论文,最好先看一下ATLOP论文和E2GRE论文,本文提出的EIDER模型是在这两个模型上进行改进的模型。
目录
3 Joint Relation and Evidence Extraction
4 Evidence-centered Relation Extraction
5 Fusion of Extraction Results
1 摘要
在文档关系抽取任务中,文档中某一部分句子可以称为证据句,它们可以充分地预测实体对之间地关系,而不需要其他的非证据句。因此,为了更好地使用证据句,我们提出了一个三阶段的证据增强模型-EIDER。三个阶段分别是:joint relation and evidence extraction,evidence-center relation extraction,and fusion of extraction results.我们首先联合训练一个RE模型和一个简单且内存高效的证据提取模型。然后,我们根据提取的证据语句构造伪文档,并再次运行RE模型。
一方面,如果提取的证据完全准确,直接使用提取的证据进行预测可以简化原始文档的结构,从而使模型更容易做出正确的预测。另一方面,提取证据的质量并不完美。此外,原始文件中的非证据句也可能提供实体的背景信息,并可能有助于预测。因此,仅仅依靠这些预测出的证据句子可能会导致信息丢失,并导致次优性能。因此,我们将原始文档和提取的证据上的预测结果结合起来。
2 动机
为了充分地利用证据句,使模型更容易做出正确的预测。但同时避免信息的丢失,仍然可以访问整个文档。因此既从原文档中提取关系,也从伪文档中中提取关系。
模型设计
三个阶段:
阶段一:
训练关系提取模型和证据提取模型
在两个模型中都采用了局部上下文池化,得到实体对的上下文表示
阶段二:
把真正的证据句按照原文档中出现的顺序连接起来,然后用阶段一中提取到的证据句替换真正的证据句,把该文档视为伪文档,阶段一的关系提取模型上进行关系的预测,得到关系预测的分数即概率值(无需再训练关系提取模型,因为阶段一已经训练过了)
阶段三:
将阶段一得到的关系预测分数和阶段二得到的关系预测分数进行融合,得到最终的关系预测分数。
3 Joint Relation and Evidence Extraction
3.1 Encoder
3.1.1 目的
得到文档的上下文表示,实体的embedding,实体对的上下文信息(局部上下文池化)
3.1.2 步骤
- 在提及前后插入"*"
- 将文档序列送入Encoder中,得到文档的上下文表示embedding
- 将提及前的一个“*”的embedding作为该提及的embedding
- 我们对一个实体的所有提及采用logsumexp池化得到该实体的embedding
- 从预训练模型中得多头的attention,将每个提及的token的attention求平均,得到提及的attention,再将提及的attention求平均,得到实体的attention
- 然后,将头实体和尾实体的attention的注意力相乘,并累加多头的结果,放入softmax函数中,得到最终的实体对entity pair的attention
- 将文档的上下文表示乘以实体对的attention,得到最终的实体对的上下文表示
3.2 Relation Prediction Head
3.2.1 目的
通过Encoder模块的信息,利用自适应阈值技术训练出关系预测模型。从而去预测实体对的之间存在的关系
3.2.2 步骤
- 根据上面得到的实体对()的上下文表示c,我们将其同实体的embedding一起,经过全连接层,和tanh函数,得到头实体和尾实体的隐藏状态
- 根据实体对的隐藏状态,通过下面的公式计算出该实体对存在关系 r 的概率值
- 训练时期的损失函数我们直接使用ATLOP论文中自适应阈值损失函数作为我们该关系抽取模型的损失函数,来计算损失值
3.3 Evidence Prediction Head
3.3.1 目的
证据预测模型是用来预测每个句子是不是实体对()的证据句子
3.3.2 步骤
- 对一个sentence中的所有token运用mean pooling ,得到sentence embedding即
- 得到通过Encoder已经求得的实体对的上下文表示
- 将句子的表示和实体对的表示一起放入公式,计算是实体对()的证据句的概率
- 定义交叉熵损失函数,来求得证据预测的损失值
3.4 Optimization
3.4.1 目的
最终,在训练阶段,我们通过将关系抽取损失和证据抽取损失结合起来去优化我们的模型
3.4.2 步骤
- 将两个损失函数值以一定的比例结合起来,一起训练
3.5 Inference
3.5.1 目的
在模型训练结束后,我们输入原始文档作为关系抽取的输入。对于每个实体对,我们将获得每种关系的分数,大于阈值类为预测的标签,若没有大于阈值类的logit,则预测的关系为NA
另外,我们也将得到证据预测模型中预测出的概率值,若P>0.5,则该sentence就是证据句
3.5.2 步骤
- 根据Relation Prediction Head中的步骤一步一步得到关系预测的概率值logit
- 将得到的概率值用下面的公式,大于阈值类为预测的标签,若没有大于阈值类的logit,则预测的关系为NA,得到模型预测出的实体对的预测分数
- 根据Evidence Prediction Head中的步骤,得到预测证据的概率值,若大于0.5,则判断为证据句,记为
4 Evidence-centered Relation Extraction
4.1 目的
假设我们在推理阶段得到的证据句基本正确,那么这些证据句就已经包含了与关系有关的全部信息,那我们就不用使用整个文档进行关系抽取了。以证据句为中心的关系抽取,使模型能够更容易地进行关系抽取工作
4.2 步骤
- 制作伪文档,也就是用Inference阶段预测出的证据句,组成一个新的文档,作为Relation Prediction Head关系抽取模型中的输入,得到预测分数
- 将原始文档和伪文档得到的预测分数分别记为
5 Fusion of Extraction Results
5.1 目的
一方面,如果提取的证据完全准确,直接使用提取的证据进行预测可以简化原始文档的结构,从而使模型更容易做出正确的预测。另一方面,提取证据的质量并不完美。此外,原始文件中的非证据句也可能提供实体的背景信息,并可能有助于预测。因此,仅仅依靠这些预测出的证据句子可能会导致信息丢失,并导致次优性能。因此,我们将原始文档和提取的证据上的预测结果结合起来。
5.2 步骤
在从原始文档和伪文档中获得两组关系预测结果后,我们通过混合层聚合它们的预测分数来融合结果:
将原始文档和伪文档的预测分数融合,再定义损失函数计算损失值
6 模型结果
7 结论
在这项工作中,我们提出了一个包含联合关系和证据提取、以证据为中心的关系提取和提取结果融合的三阶段DocRE框架。联合训练阶段采用简单的模型结构,记忆效率高。关系提取和证据提取模型相互提供额外的训练信号,并相互增强。我们将原始文档和提取的证据的预测结果结合起来,这鼓励了模型在减少信息损失的同时关注重要句子。实验结果表明,我们的模型在DocRED上的性能明显优于现有的方法,尤其是在句间关系上。