>>最受欢迎的情感词典,欢迎点击下载!<<
研究方向
学术报告
资源下载
当前位置: 首页>>组会报告>>正文
    使用自适应阈值和定位的上下文池进行文档级关系抽取
    2022-04-27 13:17  


    本文的英文题目是:Document-Level Relation Extraction with Adaptive Thresholding and Localized Context Pooling。这篇文章主要针对于文档级关系抽取中的多实体问题:即在一个文档中有多个实体对和多标签问题:即每一个特定的实体对有多种关系的种类,提出了定位的上下文池和自适应阈值两种新技术,并建立了ATLOP(Adaptive Thresholding and Localized cOntext Pooling)模型。该模型在三个文档级关系抽取数据集上实验,均取得SOTA。本文被AAAI 2021录用,作者机构是南加州大学、京东和斯坦福大学,并对代码进行了开源。

    1. 引言

    关系抽取(Relation Extraction, RE)是从纯文本中提取未知关系事实,是自然语言处理领域非常重要的一项任务。过去的句子级关系抽取方法主要将注意力集中于抽取单个实体对在某个句子内反映的关系,然而单句关系抽取会在实践中受到很大的限制:比如在医疗领域、金融文档等真实场景中,有许多关系事实是蕴含在文档中不同句子的实体对中的,且文档中的多个实体之间,往往存在复杂的相互关系。而在一篇文档中有多个实体对和每一个特定的实体对有多种关系的种类则也是文档级关系抽取所固有面对的问题。

    就像DocRED数据集中的一个例子,如图1所示。就有John Stanistreet、Australian和Bendigo等等多个实体对,并且针对于John Stanistreet和Bendigo这个实体对之间还存在place of birth和place of death两种关系。

     

    1 DocRED数据集示例

    (1)对于多实体对问题,之前的方法多数只是简单地将实体标签嵌入以获得实体嵌入,并将它们输入分类器以获得关系标签。然而这会导致每个实体在不同的实体对中有相同的表示(实体嵌入),从而会引入不相关背景信息的噪声。

    本文提出的定位上下文池技术,解决了对于所有不同的实体对使用相同实体嵌入的问题,它使用与当前实体对相关的附加上下文背景来增强实体嵌入,也就是说 我们没有从头开始直接训练一个上下文注意力层,而是直接从预先训练的语言模型中转移注意力头来获得实体级的注意力。然后,对于一对中的两个实体,我们通过乘法合并它们的注意力以找到对它们都重要的上下文。

    (2)对于多标签问题,之前的方法是将其归纳成一个二值的多标签分类问题,在训练结束后,给每一个类class应用一个全局阈值来获得关系标签。这种方法涉及启发式阈值调整,当来自开发数据的调整阈值并非对所有的实例都是最佳时,会引入决策错误。

    本文提出的自适应阈值技术,使用一个可学习的阈值类代替了全局阈值,该阈值类通过我们的自适应阈值损失来学习,它是一种基于等级的损失,在模型训练中把正类的对数推到阈值以上,把负类的对数拉到阈值以下,在测试中把对数高于阈值的类作为预测关系的标签,如果不存在这样的类,则返回NA。这种技术消除了对阈值调整的需要,并使得阈值可调整为适用于不同的实体对,从而获得更好的结果。

    2. 模型

    我们的任务是给定一个文档和一个实体集合,然后从一组预先定义的实体关系集合中预测对于某一特定实体对的一个关系子集。其中,一个实体可以通过实体提及的方式在文档中多次出现。如果一个实体对被他它们任意的提及所表达,它们就存在关系,反之,则不存在关系,并被标记为NA。测试时,模型需要预测所有文档中实体对的标签。

    该模型分为3个部分,分别是强化BERT baseline,以及本文提出的定位上下文池和自适应阈值。

    2.1 Enhanced BERT Baseline

    该模型首先基于现有的BERT baseline来构建模型,并整合其它技术来提高性能。编码器部分:对于给定文档,我们通过在提及的开头和结尾插入“*”号来标记实体提及的位置,然后,我们将文档输入预训练的语言模型以获得上下文嵌入:根据原有的工作,将文档编码一次后,把所有实体对的分类都基于相同的上下文嵌入。我们将提及开始时的“*”号嵌入作为提及嵌入。对于提及中的实体,我们使用在NAACL 2019一篇文章提出的logsumexp池化,即最大池化的平滑版本,来获得实体嵌入hei:

    二元分类器部分:对于刚计算出的实体嵌入,我们使用线性层将实体映射到隐藏状态z,然后进行非线性激活,然后通过双线性函数和sigmoid激活来计算关系r的可能性:  这时,一个实体在不同实体对中的表征是相同的。为了减少双线性分类器中的参数数量,我们使用分组双线性方法,它将嵌入维度分成k个大小相等的组,并在组内应用双线性:我们使用二元交叉熵损失进行训练。在推理过程中,我们通过调整全局阈值θ来最大化F1值,如果关系r与实体对 (es, eo) 相关联的概率即P (r|es, eo) >θ则返回r作为关联关系,否则返回NA。这个增强的BERT baseline方法已经接近于现有的SOTA,比现存BERT baseline方法效果好得多。

    2.2 Localized Context Pooling

    前面提到的logsumexp池化在一个文档中累积了一个特定实体所有提及的嵌入,并为该实体生成一个实体嵌入。然后将来自该文档级全局池的实体嵌入用于所有实体对的分类。但是对于某个特定的实体对来说,这个实体的某些上下文可能是不相关的,我们需要定位一个实体对的相关上下文,以更好获得实体对中的两个实体之间的关系。进而提出了定位上下文池,通过与当前实体对相关的附加上下文背景来增强实体嵌入。使用基于transformer的预训练模型作为编码器,直接使用它们的注意力头来定位上下文池,这种方法从预训练的语言模型中转移了良好的依赖关系,而不需要从头学习注意力层。

    具体来说,给定一个预训练的多头注意力矩阵A,我们首先将注意力从“*”号作为提及级别的注意力,然后对同一实体所有提及的注意力进行平均,去获得一个实体级的注意力AiE。然后给定一个实体对 (es, eo),我们通过将它们的实体级注意力相乘,来定位对两个实体都很重要的上下文,并获得局部上下文嵌入 c(s,o): 然后将这个定位上下文嵌入c(s,o)融合到全局池化实体嵌入中,再通过修改之前(3)(4)式子中的原始线性层,获得对于不同实体对的不同的单个实体表示:

    定位上下文池的插图如下图2所示。标签被加权平均以形成实体对 (es, eo) 的定位上下文 c(s,o)。标签的权重是通过将来自最后一个transformer层的主体实体 es 和客体实体 eo 的注意力权重相乘得出的,这样只有对两个实体都重要的标签(以浅黄色突出显示)才能获得更高的权重。

     

    2 定位的上下文池插图

    2.3 Adaptive Thresholding

    根据之前说过的,RE分类器输出[0, 1]范围内的概率P(r|es, eo),需要进行阈值化才能转换为关系标签。确定阈值的常用做法是枚举 (0, 1) 范围内的多个值并选择最大化F1的值。但是,对于一个全局阈值不足以满足的不同实体对或类别会导致该模型可能具有不同的置信度。这个问题促使我们用可学习的自适应阈值替换全局阈值,这可以减少推理过程中的决策错误。

    我们将实体对T = (es, eo)的标签分成两个子集:正类PT和负类NT,定义如下:正类PT⊆R是对于一对实体T,只要二者存在关系,Pt就包含这类关系,如果这对实体没有任何关系,Pt为空。负类NT⊆R是对于一对实体T,如果二者不存在任何关系,Nt存储的就是实体对T不存在的关系。如果一个实体对被正确分类,正类的对数应该高于阈值,而负类的对数应该低于阈值。这里我们介绍一个阈值类TH,它以与其他类相同的方式自动学习。如图3所示,使用TH类来区分正类和负类:正类的概率高于TH,负类的概率低于TH。

     

    3 TH类介绍图

    在测试时,我们将对数高于TH类的类作为正类返回,如果不存在,则返回 NA。我们设计一个考虑 TH 类的特殊损失函数,即基于标准分类交叉熵损失设计自适应阈值损失函数。损失函数分为两部分:并对两部分相加,得到损失函数。

    3. 实验

    我们在三个公共的文档级关系抽取数据集上评估我们的ATLOP模型。DocRED数据集是清华大学在ACL2019提出的基于维基百科的大规模数据集。CDR是用来预测化学和疾病概念之间二元相互作用的生物医学领域的人工标注的数据集。GDA是预测基因和疾病概念之间二元相互作用的生物医学领域数据集。

    实验设置上,我们使用BERT-base 或RoBERTa-large作为DocRED上的编码器,并在CDR和GDA上使用SciBERT。

    我们在DocRED数据集上将ATLOP与基于序列的模型、基于图的模型和基于transformer的模型进行比较。实验结果如表1所示。我们在评估中使用F1和Ign F1。其中Ign F1表示排除训练集和验证/测试集共享的关系事实之外的F1分数。实验结果显示我们重新实现的BERT基线比先前结果要好得多。我们的BERT-ATLOP BASE模型将BERT-E BASE的性能进一步提高了2.6%,证明了所提出的两种新技术的有效性。使用RoBERTa-large作为编码器,我们的ATLOP模型达到了63.40%的F1分数,这是DocRED上的一个新的SOTA。

    1 DocRED数据集上的主要实验结果

     

    在两个生物医学数据集的实验结果如表2所示。在实验中,我们将编码器替换为 SciBERT,它在科学出版物的多领域语料库上进行了预训练。SciBERT基线已经优于所有现有方法。我们的 SciBERT-ATLOP模型进一步将CDR和GDA上的F1分数分别提高了4.3%和1.4%,在这两个数据集上取得SOTA。

    2 CDR和GDA数据集上的实验结果

     

    接下来是消融实验。我们通过一次关闭一个组件,对ATLOP和增强基线进行了两组消融研究。结果观察到所有组件都有助于模型性能。结果如表3所示。自适应阈值和局部上下文池对模型性能同样重要,从ATLOP中移除后,验证集F1都会有一定程度的下降。对于增强的基线模型BERT-E BASE,组双线性和logsumexp池都导致dev F1增加约1%。我们发现实体提及的“*”号标记的改进很小,但仍然在模型中使用该技术,因为它使提及嵌入和提及级嵌入的推导更容易。

    3 DocRED数据集上的消融实验结果

     

    4. 总结

    在总结部分,作者再次阐述了应用两种新技术的用于文档级关系抽取的ATLOP模型。并对于这两项技术的原理进行了再次的说明,最后表示本文的ATLOP模型取得了最新的SOTA。

    参考文献

    [1]Zhou, W., Huang, K., Ma, T., & Huang, J. J. a. e.-p. (2020). Document-Level Relation Extraction with Adaptive Thresholding and Localized Context Pooling. arXiv:2010.11304.

    关闭窗口