论文解读系列NER方向:W2NER (AAAI 2022)

Posted JasonLiu1919

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文解读系列NER方向:W2NER (AAAI 2022)相关的知识,希望对你有一定的参考价值。

文章目录

基本信息

论文标题:
Unified Named Entity Recognition as Word-Word Relation Classification

论文地址:
https://arxiv.org/abs/2112.10070

论文代码:
https://github.com/ljynlp/W2NER

简介

NER 任务主要有三种类型:Flat(扁平)、overlapped(重叠或嵌套)、discontinuous(非连续),越来越多的研究致力于将它们统一起来。此前的 SOTA方案主要基于 Span 和 Seq2Seq 模型, 不过这类方法很少关注边界,可能会导致后续的偏移。2022 AAAI的论文《Unified Named Entity Recognition as Word-Word Relation Classification》介绍了一个统一NER的SOTA模型W2NER,该模型在14个包含扁平实体、重叠实体和非连续实体的数据集(8个英文 + 6个中文)上,均取得了SOTA的结果(F1指标)。W2NER将NER问题视为词词关系分类,为此引入两种词词关系:NNW(Next-Neighboring-Word)THW-*(Tail-Head-Word-*)。具体而言,构造一个 2D 的词词关系网格,然后使用多粒度 2D 卷积以更细致地抽取网格表示。最后,使用一个 共同预测器(co-predictor) 来推理词-词关系。

多类型NER抽取方法

多类型NER抽取方法大致可以分为4种:

  1. 序列标注方法
  2. 基于超图
  3. 基于sequence-to-sequence的生成方法
  4. 基于span的方法,比如指针网络或token 对的形式

1). 基于序列标注

序列标注方法比较常用,给每一个 Token 一个标签(比如BIO标注标准中的一个标签)。输入序列会使用已有的表征框架(如 CNN、LSTM、Transformer等) 表征成序列特征,再过一层CRF以得到各个Token的标签结果。对于多类型NER,可以将**「多分类」改为「多标签分类」**或将多标签拼成一个标签。前者不容易学习,而且预测出来的 BI 可能都不是一个类型的;而后者则容易导致标签增加,且很稀疏。虽有不少研究,比如《A Neural Layered Model for Nested Named Entity Recognition》提到的动态堆叠平铺 NER 层来识别嵌套实体;《Recognizing Continuous and Discontinuous Adverse Drug Reaction Mentions from Social Media Using LSTM-CRF》的 BIOHD 标注范式(H 表示多个实体共享的部分,D 表示不连续实体中不被其他实体共享的部分),注意 H 和 D 都是实体的 Label,标注时会和 BI 结合使用,如 DB,DI,HB,HI。但总的来说较难设计一个不错的标注 Scheme。

序列标注方法可以很好解决扁平实体的问题,对于嵌套实体通过修改标注可以勉强解决,但是会增加模型复杂度;而面对不连续实体序列标注方法无法解决。所以在只存在扁平实体的情况下,可以选择序列标注的方法,这边推荐一下复旦邱锡鹏老师团队的tener方法,使用transofrmer改进结构的模型。

2). 基于超图
基于超图的方法首次在《Joint Mention Extraction and Classification with Mention Hypergraphs》中提出,用于解决重叠NER问题,后续也被用于不连续实体。这类方法在推理时容易被虚假结构和结构歧义问题影响。

3). 基于 Seq2Seq

seq2Seq用于NER首次出现于《Multilingual Language Processing From Bytes》,输入句子,输出所有实体的开始位置、Span 长度和标签。其他后续应用包括:

  • 使用增强的 BILOU 范式解决重叠 NER 问题。
  • 基于 BART 通过Seq2Seq+指针网络生成所有可能的实体开始-结束位置和类型序列。

但是这种方法存在解码效率低Seq2Seq架构固有的暴露偏差(exposure bias)问题。所谓暴露偏差问题是指训练时使用上一时间步的真实值作为输入;而预测时,由于没有标签值,只能使用上一时间步的预测作为输入。由于模型都是把上一时间步正确的值作为输入,所以模型不具备对上一时间步的纠错能力。如果某一时间步出现误差,则这个误差会一直向后传播。

4). 基于Span

基于 Span 的方法将 NER 问题转为 Span 级别的分类问题,具体方法包括:

  • 枚举所有可能的 Span,再判断他们是否是有效的 Mention。
  • 使用 Biaffine Attention 来判断一个 Span 是 Mention 的概率。
  • 将 NER 问题转为 MRC 任务,提取实体作为答案 Span。
  • 两阶段方法:使用一个过滤器和回归器生成 Span 的建议,然后进行分类。
  • 将不连续的 NER 转为从基于 Span 的实体片段图中找到完整的子图。

这类方法全枚举所有可能spans,因此受到最大span长度和模型复杂度的影响,尤其是对于长span实体。

总的来说,简单的NER 任务目前一般使用序列标注就可以解决,多类型NER效果较好的还是基于 Span 的方法。

NER->词词关系分类

现有大多数NER工作主要考虑更准确的实体边界识别,W2NER作者在仔细重新思考了三种不同类型NER的共同特征后,觉得统一 NER的瓶颈更多在于实体词之间相邻关系的建模。这种邻接相关性本质上描述了文本片段之间的语义连通性,尤其对于重叠和不连续的部分起着关键作用。如下图 a 所示:

因此,文章提出一种词-词关系分类架构——W2NER,通过对实体边界和实体词之间相邻关系进行建模。具体来说,预测两种类型的关系,如上图 b 所示。

  • NNW:这类关系可以解决实体词识别,指示两个 Token 在一个实体中是否相邻。比如aching-> in

  • THW-*:这类关系主要用以检测实体边界和和实体类型,指示两个 Token 是尾部还是头部, * 标签则对应实体的类型。比如legs->aching, Symptom,意味着尾部是legs,头部是aching,实体类型是Symptom

那W2NER如何将NER问题转为词-词关系分类问题?以下为例:

词之间的关系包括以下几种类型:

  • NONE:表示词对之间没有任何关系
  • NNW:词对属于一个实体 Mention的一部分,网格中特定行的 token 在列中有一个连续的 token
  • THW-*:THW 关系表示网格中 token 是一个实体 mention 的尾部,网格中 token 是一个实体 mention 的头部* 表示实体类型。

Figure 1中的例子的网格化结果如Figure 2 所示。Figure 1 中的两个实体:aching in legsaching in shoulders,可以通过Figure 2 中的 NNW 关系(aching→in)、(in→legs)和(in→shoulders)和 THW 关系(legs→aching,Symptom)和(shoulders→aching,Symptom)解码得出。

而且NNWTHW关系还暗示 NER 的其他影响,比如NNW关系将同一不连续的实体片段关联起来(如 aching in 和 shoulders),也有利于识别实体词(相邻的)和非实体词(不相邻的)。至于THW关系则有助于识别实体的边界。

W2NER模型框架

整体的网络架构如下图所示:

总的来说,W2NER由3部分组成。首先用 BERT 和 LSTM 抽取输入句子的上下文特征,然后过一个2D 卷积层对词-词关系进行建模和表征,以用于后续的词对关系分类。最后再过一个联合预测器(Co-Predictor)对词-词关系进行推理并产生所有可能的实体 Mention,其中 Biaffine 分类器和 MLP 被联合使用以获得更好的词对分类结果。

Encoder Layer:

  1. 输入 Bert ,得到 sub-word representation(因为英文使用 word piece的方式,每个token都会被分割成word piece)
  2. 使用 max pooling 得到 word representations
  3. 输入到 Bi-LSTM 得到最终 word representations

Convolution Layer:
Encoder层之后接的是卷积层以进一步对抽取的特征进行细化,因为 2D 卷积能很好地处理二维的网格关系,具体又包括三个模块:

  • Conditional Layer Normalization(CLN),即带归一化的condition layer。使用CLN以生成词对表示
  • BERT 风格的网格表征以进一步丰富词对表示
  • 多粒度膨胀卷积以捕获远近词之间的交互

CLN 部分:
V i j = CLN ⁡ ( h i , h j ) = γ i j ⊙ ( h j − μ σ ) + λ i j γ i j = W α h i + b α λ i j = W β h i + b β μ = 1 d h ∑ k = 1 d h h j k , σ = 1 d h ∑ k = 1 d h ( h j k − μ ) 2 \\mathbfV_i j=\\operatornameCLN\\left(\\mathbfh_i, \\mathbfh_j\\right)=\\gamma_i j \\odot\\left(\\frac\\mathbfh_j-\\mu\\sigma\\right)+\\lambda_i j \\\\ \\gamma_ij = \\mathbfW_\\alpha h_i + \\mathbfb_\\alpha \\\\ \\lambda_ij = \\mathbfW_\\beta h_i + \\mathbfb_\\beta \\\\ \\mu=\\frac1d_h \\sum_k=1^d_h h_j k, \\\\ \\quad \\sigma=\\sqrt\\frac1d_h \\sum_k=1^d_h\\left(h_j k-\\mu\\right)^2 Vij=CLN(hi,hj)=γij(σhjμ)+λijγij=Wαhi+bαλij=Wβhi+bβμ=dh1k=1dhhjk,σ=dh1k=1dh(hjkμ)2

其中 V \\mathbfV V是单词对表征矩阵, V i , j \\mathbfV_i,j Vi,j可以看作词 x i x_i xi x j x_j xj 的词表征( h i \\mathbfh_i hi h j \\mathbfh_j hj)的组合。由于NNWTHW具有方向性,所以可以将 x i x_i xi视为 x j x_j xj的条件。 γ i j \\gamma_ij γij λ i j \\lambda_ij λij是超参数,而 h i \\mathbfh_i hi是这2个参数的条件。 μ \\mu μ σ \\sigma σ分别是均值和标准差,而 h j k h_jk hjk表示 h j \\mathbfh_j hj的第 k k k个维度。

BERT-Style的网格表示效仿BERT的3种表征,也对应引入3种张量表示:词信息(CLN)表征(对应BERT中的token embedding) 、词对的相对位置信息(对应BERT中的 position embedding)和用于区分网格上下三角的区域信息(对应BERT中的 segment embedding)。其中表示词信息的表征来自于前一个模块CLN的输出结果,即 V \\mathbfV V。而词对之间相对位置关系 E d \\mathbfE^d Ed和区域信息 E t \\mathbfE^t Et

再将3个张量拼接输入到MLP层进行降维和信息融合,以此得到网格表征,至此网格表征具有位置-区域敏感的特点。再接一个多粒度膨胀卷积(粒度=1,2,3),用以捕获不同距离词的交互信息。最后将三个膨胀卷积结果拼起来得到最终的词对网格表征 Q \\mathbfQ Q

Co-Predictor Layer:
这个步骤主要是利用MLP对上述卷积层得到的网格表征预测词对关系。由于之前的研究表明使用**双仿射预测器(Biaffine Predictor)**可以提升MLP预测器在关系分类上的性能,所以文章也使用2个Predictor进行词对的关系分类,然后合并后作为最后输出结果。

  1. Biaffine Predictor
    词对 ( x i , x y ) (x_i,x_y) (xi,xy)之间的Biaffine分类器关系得分计算如下:
    s i = MLP ⁡ 2 ( h i ) o j = MLP ⁡ 3 ( h j ) y i j ′ = s i ⊤ U o j + W [ s i ; o j ] + b \\beginaligned \\mathbfs_i &=\\operatornameMLP_2\\left(\\mathbfh_i\\right) \\\\ \\mathbfo_j &=\\operatornameMLP_3\\left(\\mathbfh_j\\right) \\\\ \\mathbfy_i j^\\prime &=\\mathbfs_i^\\top \\mathbfU o_j+\\mathbfW\\left[\\mathbfs_i ; \\mathbfo_j\\right]+\\mathbfb \\endaligned siojyij论文解读系列NER方向:FGN (2020)

    论文解读系列NER方向:FGN (2020)

    论文解读系列NER方向:FLAT (ACL 2020)

    论文解读系列NER方向:FLAT (ACL 2020)

    论文解读系列NER方向:LatticeLSTM (ACL2018)

    论文解读系列NER方向:LatticeLSTM (ACL2018)