本文前置知识:
- LSTM: 循环神经网络小结
Synchronous Dual Network with Cross-Type Attention for Joint Entity and Relation Extraction
本文是论文Synchronous Dual Network with Cross-Type Attention for Joint Entity and Relation Extraction的阅读笔记和个人理解, 论文来自EMNLP 2021.
Basic Idea
联合抽取因NER和RE之间的复杂交互而有挑战性, 现有的方法经把二者通过一个共享的网络来解决, 丢失了实体类型和关系类型的相互依赖.
因此, 作者从多任务学习角度, 设计了一种跨类型注意力的同步对偶网络, 来充分利用实体类型和关系类型之间的联系.
下图是一个实体关系抽取的例子, 需要根据给出的句子来抽取出实体以及其对应的实体类型, 并判断实体之间所存在的关系, 以此组成三元组:

Type - Attention LSTM

作者设计的框架TA - LSTM(Type Attention LSTM)是基于LSTM的, 作者先介绍了标准LSTM. 在
其中
上述式子由上到下分别为:
Type - Attention Mechanism
这部分是TA - LSTM额外添加的内容.
在Type - Attention机制中, 对于类型
这样就可以根据类型数量
接着把上下文表示
最后, TA - LSTM的
Synchronous Dual Network with Cross - Type Attention

Task Definition
在这里重新给出形式化的实体关系抽取任务定义.
对于给定的包含
Subject, Object规定在实体集
Synchronous Dual Learning
接下来作者将通过Entity Type Learning和Relation Type Learning来捕获实体类型增强的表示
Entity Type Learning
NER作为序列标注问题, 实体类型作为标签, 例如PER, LOC, ORG等:

若有
为了让模型学会实体类型预测的感知, 所以引入了Entity Type Learning作为辅助任务.
下面的公式有些琐碎, 与原论文保持同步, 但其实并不复杂, 请耐心看完.
从上一节可以仅用LSTM直接得到
并由Type Attention机制得到一组与每种关系一一对应的Key - Value对
根据上述过程, 每个时间步
然后把上下文表示
然后用极大似然优化:
Relation Type Learning
同样的, 跟Entity Type Learning相类似, Relation Type Learning也是用来强化模型对类型感知的辅助任务.
因为存在相同实体对存在多种关系的情况(EPO问题), 所以用多标签来标注, 即用0, 1标签来表明实体之间的关系, 例如:

在这里, 作者区分了Subject和Object的位置关系, 并将其纳入标签中. 设
下内容与Entity Type Learning完全类似, 这里只是将实体类型转换为
上下文表示为
最后也是将双向拼接得到关系表示,
因为是多标签问题, 所以用的是Sigmoid得到
也是用极大似然优化:
Cross - Type Attention Mechanism
其实在Entity Type Learning和Relation Type Learning中的Entity Type和Relation Type使用是独立的, 所以接下来作者需要让它们彼此产生交互.
对于Entity Type Learning中得到的实体类型增强的表示
与之相似的, 对于Relation Type Learning中得到的关系类型增强表示
注: 该Cross Attention形式绝非首次出现, 在多模态模型ViLBERT 中早就已经有把两种跨模态信息互相作为Query的方法. 只不过这里是将两种模态换为两种包含相关性的任务而已, 这二者十分相似.
然后仿照TA - LSTM unit的最后, 把两种表示相加作为新的实体类型增强表示和新的关系类型增强表示:
这也就是处理NER和RE前的最终表示形式了.
Joint Entity and Relation Extraction
下面的内容才是针对实体关系联合抽取的模型设计, 这部分设计的非常简单, 因为本文主要侧重点在于前面.
首先把Entity Type Learning中得到的实体表示
Named Entity Recognition
在NER任务中, 使用BIESO标签, 用Softmax和一层线性层搞定:
用极大似然优化即可:
Relation Extraction
作者Follow了前人的做法, 因为RE是一个与实体对相关的多标签任务, 所以这里做了实体对穷举, 判断Token
其中
然后用二分类交叉熵做Loss:
其中
至此, SDN的模型结构已经完全确定:

其实就是用TA - LSTM和ETC提供的信息完成辅助任务Entity Type Prediction, 再由这部分信息和Cross Attention组合, 经过简单的变换处理NER. 关系侧则完全同理, 不再叙述.
Training
Training的Loss一共是五个, 最后加上一个L2正则化Loss:
Inference
在推断时, 需要判断三元组是否正确.
对于NER抽取出的实体集
这种计算方式确实比较特殊, 是将实体内所有Token对逐一求和平均来确定两实体之间是否存在指定关系.
Experiments
作者使用了RTE上最常用的两个Benchmark NYT和WebNLG, 统计信息如下:

Main Results
作者将SDN分别与多任务类, Tagging类, 生成类放在一起对比, 结果如下(应该指的是精确匹配结果):

SDN在F1上是最好的.
Ablation Experiments
文中消融实验如下:

Entity Type Learning和Relation Type Learning对模型性能均有相当大提升, 而且是对NER和RE任务都有影响, 并且能观察到NER和RE任务之间的关联性很强.
Analysis of Inference Threshold
作者做了不同阈值

作者将阈值对性能的影响归因与WebNLG和NYT之间实体长度不一.
Case Study
作者做了Case Study, 如下:

Summary
作者从实体类型和关系类型的假设入手, 提出了一种基于TA - LSTM和Cross Type Attention的同步对偶网络, 通过强调对实体类型的感知, 关系类型的感知, 以及跨类型注意力解决了实体关系抽取问题.
但其实从文章中看出, 能把这个想法做Work是一件非常不容易的事情, 引入了额外的两个辅助任务, 除去正则外4个Loss属实难顶. 文章中的符号描述比较混乱, 尤其是两个辅助任务那部分, 但其实不复杂,