总结
- 将NER视作是word-word间的 Relation Classification。 这个word-word 间的工作就很像是TPlinker那个工作,那篇工作是使用token间的 link。
- 推荐指数:★★★☆☆
- 值得学习的点:
(1)用关系抽取的方法做NER抽取
(2)用空洞卷积解决词间交互问题
(3)CLN(conditional LayerNorma)的使用
1. 动机
统一三类任务(flat、overlapped、nested NER)的处理
span-based 的方法 只关注边界识别。
sequence-to-sequence 的模型有暴露偏差的影响
2. 想法
- 建模实体词间的简单邻接关系(用NNW,THW-*)
- multi-granularity 2D convolutions for better refining the grid representations. (提出一个多粒度的二维卷积用于更好的refine grid 的表示)
3. 模型
3.1 方法介绍
下面先介绍本文的方法思想。
作者对统一的NER任务进行了介绍:
就是将三种NER统一成一个 token pairs 的关系抽取任务。(相当于将这个NER的任务转换成了关系抽取的任务。)这里的关系预定义了三种:None, Next-Neighboring-Word, Tail-Head-Word-*。那么就详细介绍一下这三种关系代表啥意思:
- None: 这两个token之间没有关系;
- Next-Neighboring-Word(NNW):说明这一对token pair 属于的是同一个entity mention. gird 中行的下标的紧跟着的一个词就是列下标中的那个词,例如坐标(i,j) 代表i这个词的后来者就是j这个词。
- Tail-Head-Word-*(THW): grid 中的行所在的那个词是这个entity mention的tail,列所在的那个词是head。 * 代表的是实体类型的意思。
3.2 模型架构
上面讲了本文的主要方法思想,下面就看下本文的提出的模型的架构:
该模型主要分成三部分:
- 第一部分:BERT+LSTM 的编码器,用于编码文本
- 第二部分:卷积层,用于构建、改善 word-pair grid的表示,用于后面的word-word 的关系分类。
从之前的工作中,可以看出CNN是非常适合做2D convolution的。
看下这个CLN是啥,
word-pair 的 grid是一个3维的矩阵。对于word pair
(
x
i
,
x
j
)
(x_i,x_j)
(xi,xj) 的表示
V
i
j
V_{ij}
Vij 可以被认为是x_i 的表示 h_i 和 x_j 的表示的拼接。根据CLN这个方法来计算
V
i
j
V_{ij}
Vij
这个CLN 有啥用?为啥要用这个?
受BERT的三个输入embedding 启发,作者这里使用了是三个word embedding。其中 V 表示词向量, E d E^d Ed表示相对位置信息(每对words), E t E^t Et表示region information 用于区分出是上三角、下三角区域。然后交由一个MLP做映射处理。
接着 Multi-Granularity Dilated Convolution
受TextCNN启发,使用多个2维空洞卷积。用于捕捉不同距离间的词交互。
- 第三部分:一个co-predictor layer,(包含一个biaffine classifier 和一个multi-layer perceptron) 用于推理出所有的word pair 间的关系
4.实验
略~
关键参数
问题
- the kernel bottleneck of unified NER 是啥?
- Current best-performing method