UNIRE: A Unified Label Space for Entity Relation Extraction

  • 来源:ACL 2021
  • 机构:上交
  • 任务:Joint RE
  • 动机:前任工作(wang EMNLP20,danqi NAACL21)都说 NER 和 RE 需要的上下文是不同的,因此要分成两个 encoder。两个 encoder 了,也就只能是分别的任务,分别的标签空间,最多是两个任务的表示之间有一些交互。本文认为不对,改进了 tabel filling 的方法,将 NER 和 RE 的所有 label 都放到一个空间。放到一个标签空间,就得有新的解码方式,本文解码的时候也不是用以前 NER + RE 标签的组合来解码,而是在 tabel 里找三角形(relation)和正方形(entity),就会快很多。
  • 方法:
    • 每个格子都是多标签分类问题,其余定义和以前方法一致
    • 整体方法分成两步,先用 biaffine attention 填表,然后解码
    • biaffine:将 BERT embedding reshape 之后,用 biaffine 公式计算每个格子的分数(得到一个标签数维度长的向量),在 logit 上 dropout,然后 softmax 得到标签填表。这里 loss 就是让标签对应的 CE。
    • 引入两个任务的交互:上面 loss 视各格子独立,这里提出两个 constraint loss:symmetry and implication
      • symmetry:表格应该是对称矩阵,因此缩小对应位置差的二范数
      • implication:如果都抽出关系了,那肯定也得有头尾实体。因此实体的预测概率要大于关系的预测概率(因为后者是前者的子集),又由于这俩是同一个标签空间,因此概率就能用格子的分数表示,因此实体分数得大于等于关系分数,即对于对角线上的每一个元素,都要大于其行和列的所有元素(考虑不同标签的三维的“大于”)。
    • 解码:分成三步,span、entity type、relation
      • span:就是把句子分段,无视了实体重叠的问题。分段就是找切分点,切分点就是表格里数字和周围差距大的格子。具体地,对于第 i 个 token,分别计算表格里 i 行&相邻行,i 列&相邻列的二范数,超过阈值则为切分点。这样的好处是,解码过程是线性复杂度,而不像其他的平方。
      • entity type、relation 都是直接 softmax
  • 实验
    • comparable SoTA @ ACE04 ACE05 SciERC,快很多
    • ablation:span 解码非常有用(十几-几十 pt)、两个 constraint、logit dropout、更多的 context 都有用

发表评论