Snapshot

  • 模型名称:ATLOP

  • 论文来源:AAAI 2021 南加利福尼亚

  • 面向任务:DocRED

  • 方法分类:BERT-based

    观点:It is unclear weather graph structures still help on the top of pre-trained language models.

  • 论文动机:文档级关系抽取中的多标签问题一直没有受到重视(multi-label);文档中会包含多对实体对且每个实体对中的实体会在文档中提及多次,处于不同实体对中同一实体的representation,其对周围context的需求是不同的。

  • 指标分数:

    • Ign F1: 59.31 F1: 61.30 (BERT-base)
    • Ign F1: 61.39 F1: 63.40 (RoBERTa-base)
  • 快看速评:统计表明,7%的实体对不止存在一种关系;其实有必要去关注下多标签的问题,再者针对阈值的设定,一个固定的,global阈值显然不合理,对于不同的关系类型,动态阈值会更加合适。(文中提出a learnable threshold class)这篇paper从耳熟能详的问题出发,解决了两个本质上的问题,同时也是基本的问题,文风也较为行云流水。

  • 代码复现:https://github.com/wzhouad/ATLOP

Method

Enhanced BERT baseline

  • Mentions 标识:Inserting “*” symbol at the start and end of mentions.

  • Smooth version of max pooling:取代了之前的求平均

  • Group bilinear:将entity pair各自的embedding切分为$k$块,两个实体的每一块各自bilinear,最后将logit相加,再归一,这样将参数量从$d^2$缩减到$d^2/k$ (TODO4)

Adaptive Thresholding

问题,针对关系?还是针对每个实例的实体对?

回想之前设置阈值的方法,人为枚举,验证挑选。一个global的阈值 $\theta$ 并不能适用于所有的实体对的关系分类($\mathrm{P}\left(r \mid e_{s}, e_{o}\right)>\theta$, return 关系 $r$ ,or return $NA$)

One global threshold does not suffice.

设定Positive labels (当前实体对间存在的关系)与 Negative labels(当前实体对不存在的关系)

原则:The logits of positive labels should be higher than the threshold while those of negative labels should be lower. 两者的差距越大越好

方法:引入threshold class TH,作为一个关系类别存在,一对 entity pair 属于 TH class 的概率的计算方式,与其它所有 relation 的分数计算方式也是一样的。

在测试阶段,我们返回的relation class是比 TH class 的logits要高的class作为结果,训练阶段损失函数如下:

$\mathcal{L}_{1}$: positive class 大于 TH class

Push the logits of all positive labels to be higher than the TH class

$\mathcal{L}_{2}$: TH class 大于 negative class

Pull the logits of negative labels to be lower than the TH class

Localized Context Pooling

实体表示不能由唯一的embedding表示,在不同的实体对中,实体的含义与表达要根据其上下文而定(Attend to the relevant context that useful to decide the relations for the entity pair.)

利用token-level attention heads $A_{ijk}$(transformer last layer),表示在第$i_{th}$ heads中token $k$ 对 token $j$ 的重要程度。将“*” symbol attention 作为mention-level attention, 将mention-level attention 加和平均得到entity-level attention $\boldsymbol{A}_{i}^{E} \in \mathbb{R}^{H \times l}$,$i$ 表示第$i_{th}$ entity $H$ 为 attention heads。

Use the attention of “*” at the mentions as the mention-level attention. and average mention-level attentions of the same entity as the entity-level attention $A^E$ .

对于一对实体对来说,我们关心的是对于当前的这一实体对,与之最有关的context token, 计算方式如下:

上式为哈达玛积,意义:The weights of tokens are derived by multiplying the attention weights of the subject entity $E_s$ and the object entity $E_o$ from the last transformer layer so that only the tokens that are important to both entities receive higher weights.

Attention heads aggregation:

Normalize to 1:

Relevant context aggregation: (猜测…..这里不是特别清楚)

Add the localized context to entity pair representation:

相当于丰富了原始实体的表示

Experiments

性能表现:

消融实验:

- Logsumexp Pooling, Group Bilinear对性能都有一个点的提升(原因待探究TODO5) - entity marker 对性能的影响很小 ### 阈值选择策略 全局 vs 分类别阈值 vs 自适应阈值

分类别阈值设置在验证集上最优,测试集上最差,泛化能力不足?

上下文池化

Localized context pooling (LOP)在实体数量越来越多时,提升幅度也逐渐变大,在entity数量<5个时候,pooling没有什么用,

TODO

  1. 以往都是怎么缓解在DocRED中多分类问题的呢?

  2. 了解下CorefBERT(Coreferential reasoning learning for language representation)

  3. 关键还是在于提升多实体下的性能表现才是最本质最需要解决的问题。

  4. https://liwt31.github.io/2018/10/12/mul-complexity/ 矩阵、张量乘法的时间复杂度分析

  5. Logsumexp Pooling, Group Bilinear为什么会带来性能的提升?

    Document-Level N-ary Relation Extraction with Multiscale Representation Learning

  6. 文献:

    Zheng, H.; Fu, J.; Zha, Z.-J.; and Luo, J. 2019. Learning Deep Bilinear Transformation for Fine-grained Image Representation. In NeurIPS.

    Tang, Y.; Huang, J.; Wang, G.; He, X.; and Zhou, B. 2020b. Orthogonal Relation Transforms with Graph Context Modeling for Knowledge Graph Embedding. In ACL.

    Fan, R.-E.; and Lin, C.-J. 2007. A study on threshold selec- tion for multi-label classification. Department of Computer Science, National Taiwan University 1–23. 计算 treshold 的算法

  7. 参考链接:https://ivenwang.com/2021/01/22/atlop/