Snapshot

  • 论文来源:AAAI 2021

  • 面向任务:DocRE

  • 方法分类:Graph-based

  • 论文动机:

    通常情况下,基于构建图所学习得到的graph representation往往会建模所有实体对之间的关系信息,而不管这些实体对之间是否真的存在关系,这就导致了那些本不存在关系的实体对 减弱/分散(disperse)模型在有关系存在的实体对上的注意力;基于此,作者提出针对图的结构进行“重构”,从而让有关系的entity pair 连接更强,没关系的更弱,对路径进行重构。(=pay more attention to model entity pairs with ground-truth relationships.)

    对图结构进行调整,这点和LSR的出发点有点相像?

  • 指标分数:

    F1 score: 55.23, 59.45(w/o BERT, w/ BERT)

    Ign F1 score: 53.27, 57.12(w/o BERT, w/ BERT)

  • 快看速评:

    当实体间存在关系,那么图结构中相应的实体节点之间就存在强大的路径依赖(strong path dependency),反之,没有关系实体节点之间仅仅只有weak path denpendency。为了贯彻这一“强者愈强,弱者愈弱”的思想,基于上述假设,作者定义了三种类型的meta path来加强有关系实体对之间的路径,本质上不是重建了边,而是增强了inference path。

  • 代码复现:https://github.com/xwjim/DocRE-Rec

7,8,9之间,仅有7,9实体间实际存在关系

Method

Baseline model:

  • Graph Construction:

    与EoG类似建图方式类似,还是三种不同类型的节点,Mention node, Entity node, Sentence node;边的类型有 MM edge, MS edge, ME edge, SS edge, ES edge;

    另外,本文额外增添一种类型的边,Mention-Coreference edge以连接同一实体的不同mention。

  • Graph Encoder:

    Dense connected GAT。经由密集连接的GAT得到entity的representation:

    其中,$[ \mathbf{s}_{n}^{1}: \mathbf{s}_{n}^{2}: \cdots: \mathbf{s}_{n}^{l-1}]$ 为所有先前hop reasoning 操作的输出;在每一步推理过程中(hop reasoning),根据每一种类型的edge,capture当前节点与周围节点之间的特征信息(self-attention):

  • Classifier:

    $L$ 次 hop reasoning 后 (相当于有$L$层密集连接层,好好想想~),得到序列$[ \mathbf{s}_{n}^{1}: \mathbf{s}_{n}^{2}: \cdots: \mathbf{s}_{n}^{L}]$, 最后每一节点再经过一层非线性变换得到异构图表示:$\left\{\mathbf{q}_{1}, \mathbf{q}_{2}, \cdots, \mathbf{q}_{N}\right\}$

    每一对实体对间计算存在某种关系(r)的可能性:

    BCE(binary cross-entropy, 二分类,遍历所有的实体对以及关系类型)计算Loss:

Our model

  • 问题一:我们需要增强哪条路径?

人为定义三种类型的meta path: Pattern Recognition, Logical Reasoning, Coreference Reasoning;(可能就是为了符合DocRED数据集中所要求的那几种推理类型,我猜的)

所有的实体对间至少存在一种上述的meta path,三种 meta path 优先级:meta-path1 > meta-path2 > meta-path3。(如果一个entity pair里有多条符合meta path的路径,按照上述优先级保留一条即可)

通常,相同的meta path可能会有多条实例路径,此时选用文档中首次出现的实例路径。

  • 问题二:怎么增强此类型路径?

    对于一条路径,把它看做是一系列节点的序列,最大化这条路径出现(序列生成?)的概率。

    利用LSTM建模,输入已选择路径中每个节点表示$q$(GAT输出表示),输出LSTM隐藏状态$p$,softmax计算节点出现的条件概率,连乘之得此路径分数。($b_{C}$:number of nodes)

  • 问题三:增强此路径出现的概率会带给模型什么?

    针对每一实体对,都会有一条实例路径被视为路径重构的监督路径(supervision path):

    Reconstruction loss:(最大化有关系的路径分数,最小化没有关系的路径分数)

    不清楚为什么作者在这里使用 $\prod_{c=1}^{C}\left(1-P_{b_{c}}\right)$ 替换了 $1-\mathcal{N}\left(\phi_{n}\right)$….

    新的$Loss_r$长这样子:

    最终$Loss$(分类+重构):

  • 推断时,加入reconstruction偏置项,计算关系对分数:

Experiment

作者也做了一些消融与对比实验,结论如下:

  • 随着迭代步数(Iteration=Training step)的进行,classification / reconstrucation performance性能均有提升,24K迭代两者达到平衡。

  • Reconstruction 在训练和推断时都有用。

  • 所定义的三种 meta path 都有效帮助模型capture了实体对间的路径依赖#见原文4.8#

  • path attention scores没太看懂是什么意思?留下问题;

    其他同学的理解:加 reconstruction 之后,GAT 里面的 attn score 更不平均了,说明能更有针对的 attn 到某些词了

Reflection

  1. 这篇文章主要是在于人为固定了三种推理路径,真“人工”智能,规定了inference的方向,那么问题来了,之前的模型inference的机制出问题了吗?
  2. GAT那里只用了两层,那为啥还要dense连接呢?这个dense连接是为了什么呢?两层不至于信息丢失吧?
  3. reconstruction中的双线性以及LSTM隐藏状态与输出为什么都要用呢?节点出现概率计算公式的意义呢?

To do

  • 基于图的四部曲??能总结出东西吗?

    encoder - graph - inference - classification

  • 作者说到自己是从机器翻译得到的灵感?有几篇机器翻译的参考文献需要看下;

参考链接:https://ivenwang.com/2021/01/23/docre-rec/

问题二补充公式: