论文阅读笔记:Modularized Interaction Network for Named Entity Recognition

Modularized Interaction Network for Named Entity Recognition

Introduction

命名实体识别(NER)是自然语言处理(NLP)中的一项基本任务,旨在发现和分类文本中命名实体的类型,如人(PER)、位置(LOC)或组织(ORG)等。它已广泛用于许多下游应用,如关系提取、实体链接、问题生成和共指消解。

目前,NER任务有两种类型的方法。

  • 第一种是基于序列标记的方法,其中句子中的每个单词都被分配一个特殊的标签(例如B-PER或I-PER)。这种方法可以捕捉相邻词级标签之间的依赖关系,并最大限度地提高预测标签在整个句子中的概率。多年来,它在各种数据集中取得了最先进的性能。然而,NER是一项段级识别任务。因此,仅关注单词级信息的基于序列标记的模型在识别长实体方面表现不佳。
  • 第二种是基于分段的方法,它们将段(即词的跨度)而不是单个词作为基本单元,并为每个段分配一个特殊标签(例如PER、ORG、LOC)。由于这些方法采用段级处理,因此能够识别长实体。然而,段内的字级依存关系通常被忽略。

NER旨在检测文本中的实体边界和命名实体的类型。因此,NER任务通常包含关于边界检测和类型预测的两个独立子任务。然而,作者在实验中观察到边界检测和类型预测子任务实际上是相关的。也就是说这两个子任务可以通过共享其信息进行交互并相互加强。以句子“Emmy Rossum was from New York University”为例。如果我们知道“University”是一个实体边界,那么将相应的实体类型预测为“ORG”会更准确。类似地,如果我们知道一个实体具有“ORG”类型,那么预测“University”是实体“New York University”的终点边界而不是“York”(实体“New York”的终点边界)将更准确。

然而,基于序列标记的模型将边界和类型视为标签,因此无法在子任务之间共享此类信息以提高准确性。另一方面,基于段的模型首先检测段,然后将其分类为相应的类型。这些方法通常不能在段检测过程中使用实体类型信息,并且在将这些信息从段检测传递到段分类时可能会出错。

在本文,作者提出了一个模块化交互网络(MIN)模型,该模型由NER模块、边界模块、类型模块和NER任务的交互机制组成。为了解决在基于序列标记的模型中识别长实体的问题以及在基于段的模型中利用段内词级依存关系的问题,我们将指针网络作为解码器纳入边界模块,以捕获每个词的段级信息。然后,将这些段级信息和每个单词上相应的单词级信息连接起来,作为基于序列标记的模型的输入。为了实现交互信息,作者将NER任务分为边界检测和类型预测子任务,通过共享每个子任务的信息来提高这两个子任务的性能。具体来说,作者使用两个不同的编码器从两个子任务中提取其不同的上下文表示,并提出一种相互增强的交互机制。最后,将这些信息融合到NER模块中,以提高性能。

Model

接下来我们来看看作者为NER提出的模块化交互网络(MIN)。整体模型架构如图所示,由NER模块、边界模块、类型模块和交互机制组成。

NER Module

首先我们来看NER模块。其具体结构如下图所示:

image-20220728121954723

  • 对于给定句子 S = < w 1 , w 2 , ⋯   , w n > S=<w_{1}, w_{2}, \cdots, w_{n}> S=<w1,w2,,wn>,每个单词 w i ( 1 ≤ i ≤ n ) w_i(1\le i\le n) wi(1in)通过连接字级嵌入 x i w x_{i}^{w} xiw和字符级字嵌入 x i c x_{i}^{c} xic来表示。其表示结果如为: x i = [ x i w ; x i c ] x_i=[x_{i}^{w};x_{i}^{c}] xi=[xiw;xic],其中 x i w x_{i}^{w} xiw是预训练的词嵌入; x i c x_{i}^{c} xic是使用BiLSTM获得字符级词嵌入用以捕获 r t h o g r a p h i c   a n d   m o r p h o l o g i c a l rthographic \ and\ morphological rthographic and morphological信息。它将单词中的每个字符视为一个向量,然后将它们输入到 BiLSTM 以学习隐藏状态。来自前向和后向输出的最终隐藏状态被连接为字符级单词信息。

  • 然后将分布式词嵌入 X = < x 1 , x 2 , ⋯   , x n > X=<x_{1}, x_{2}, \cdots, x_{n}> X=<x1,x2,,xn>输入BiLSTM编码器以提取所有词的隐藏序列 H = < h 1 , h 2 , ⋯   , h n > H=<h_{1}, h_{2}, \cdots, h_{n}> H=<h1,h2,,hn>,其中, h i = [ h i → ; h i ← ] h_{i}=\left[\overrightarrow{h_{i}} ; \overleftarrow{h_{i}}\right] hi=[hi ;hi ] h i → = LSTM ⁡ ( x i , h i − 1 → ) \overrightarrow{h_{i}}=\operatorname{LSTM}\left(x_{i}, \overrightarrow{h_{i-1}}\right) hi =LSTM(xi,hi1 ) h i ← = LSTM ⁡ ( x i , h i − 1 ← ) \overleftarrow{h_{i}}=\operatorname{LSTM}\left(x_{i}, \overleftarrow{h_{i-1}}\right) hi =LSTM(xi,hi1 )

  • 在NER模块中,作者融合了NER任务的不同上下文边界表示和类型表示。此外,还融合了来自边界模块的段信息,以支持长实体的识别。则NER模块中的最终隐藏表示为: H N E R = W ⊤ [ H ; H B ; H T ; H S ] + b H^{N E R}=W^{\top}\left[H ; H^{B} ; H^{T} ; H^{S}\right]+b HNER=W[H;HB;HT;HS]+b

    • H B = σ ( W 1 ⊤ H + W B ⊤ H ˉ B d y ) ⊗ H ˉ B d y H^{B}=\sigma\left(W_{1}^{\top} H+W_{B}^{\top} \bar{H}^{B d y}\right) \otimes \bar{H}^{B d y} HB=σ(W1H+WBHˉBdy)HˉBdy,在Boundary Module中详细介绍。
    • H T = σ ( W 2 ⊤ H + W T ⊤ H ˉ T y p e ) ⊗ H ˉ Type  H^{T}=\sigma\left(W_{2}^{\top} H+W_{T}^{\top} \bar{H}^{T y p e}\right) \otimes \bar{H}^{\text {Type }} HT=σ(W2H+WTHˉType)HˉType ,在Type Module中详细介绍。
    • H S = σ ( W 3 ⊤ H + W S ⊤ H S e g ) ⊗ H Seg  H^{S}=\sigma\left(W_{3}^{\top} H+W_{S}^{\top} H^{S e g}\right) \otimes H^{\text {Seg }} HS=σ(W3H+WSHSeg)HSeg ,在Boundary Module中详细介绍。
    • H ˉ B d y , H ˉ Type  = interact ⁡ ( H B d y , H Type  ) \bar{H}^{B d y}, \bar{H}^{\text {Type }}=\operatorname{interact}\left(H^{B d y}, H^{\text {Type }}\right) HˉBdy,HˉType =interact(HBdy,HType ),在Interaction Mechanism中详细介绍。

    H B H^B HB H T H^T HT H S H^S HS分别表示要注入到NER模块中的边界、类型和段信息。 σ \sigma σ表示 s i g m o i d sigmoid sigmoid激活函数, ⊗ \otimes 表示元素乘法。 H B d y H^{Bdy} HBdy表示来自边界模块的隐藏序列表示、 H T y p e H^{Type} HType表示来自类型模块的隐藏序列表示, H S e g H^{Seg} HSeg表示来自边界模块的段信息。 H ˉ B d y , H ˉ Type  \bar{H}^{B d y}, \bar{H}^{\text {Type }} HˉBdy,HˉType 分别表示使用交互机制interact(·,·) 交互后隐藏序列与边界模块和类型模块的不同表示。

  • 最终利用CRF Decoder将 H N E R H^{NER} HNER转化为预测的标签序列 y = < y 1 , y 2 , ⋯   , y n > y=<y_{1}, y_{2}, \cdots, y_{n}> y=<y1,y2,,yn>

Boundary Module

Boundary Module不仅需要提供不同的上下文边界信息,还需要为 NER 模块提供分段信息。

image-20220728123742274

在这里作者使用了另一个BiLSTM作为编码器来提取不同的上下文边界信息。并受BDRYBOT的启发,使用带有指针网络的递归神经网络编码器-解码器框架来检测实体片段以获取片段信息。BDRYBOT模型处理实体中的起始边界词以指向相应的结束边界词。实体中的其他实体词被跳过。非实体词指向特定位置。该方法在边界检测任务中取得了可喜的成果。然而,由于实体的可变长度,该模型被剥夺了批量训练的能力。另外,由于实体中每个词的段信息与起始边界词相同,如果错误地检测到起始边界词,则段内所有词的段信息都是不正确的。

为了避免这个问题,作者改进了训练过程并提出了一种新的方法来捕获每个单词的片段信息。我们训练起始边界词指向相应的结束边界词,而句子中的其他词指向一个不活跃的标记词。改进后的框架如下图所示:

image-20220728125322221

  • 与NER模块的前两步类似,作者用另一个BiLSTM作为编码器来获得不同的边界隐藏序列 H B d y = < h 1 B d y , h 2 B d y , ⋅ ⋅ ⋅ , h n B d y > H^{Bdy} =<h^{Bdy}_1 , h^{Bdy}_2 , ··· , h^{Bdy}_n> HBdy=<h1Bdy,h2Bdy,⋅⋅⋅,hnBdy>,并将哨兵向量填充到隐藏序列 H B d y H^{Bdy} HBdy的最后位置,作为不活跃标记词。

  • 为了向 LSTM 的输入添加额外信息,作者使用当前 ( h i B d y h^{Bdy}_i hiBdy)、先前 ( h i − 1 B d y h^{Bdy}_{i-1} hi1Bdy) 和下一个 ( h i + 1 B d y h^{Bdy}_{i+1} hi+1Bdy) 词的隐藏状态而不是词嵌入作为解码器的输入,得到 s j = h j − 1 B d y + h j B d y + h j + 1 B d y s_{j}=h_{j-1}^{B d y}+h_{j}^{B d y}+h_{j+1}^{B d y} sj=hj1Bdy+hjBdy+hj+1Bdy(注意第一个词和最后一个词没有previous和next的隐藏状态,则使用零向量来表示它,在图中显示为灰色)。然后,使用单向 LSTM 作为解码器,在每个时间步 j j j生成解码状态 d j = L S T M ( s j , d j − 1 ) d_{j}=L S T M\left(s_{j}, d_{j-1}\right) dj=LSTM(sj,dj1)

  • 接着使用 b i a f f i n e   a t t e n t i o n biaffine\ attention biaffine attention机制在时间步 j j j处为每个可能的边界位置 i i i生成一个特征表示,并使用 softmax 函数获得词 w i w_i wi的概率来确定一个实体以单词 w j w_j wj开头并以单词 w i w_i wi结尾的片段。

    • u i j = d j T W h i B d y + U T d j + V T h i B d y + b u_{i}^{j}=d_{j}^{T} W h_{i}^{B d y}+U^{T} d_{j}+V^{T} h_{i}^{B d y}+b uij=djTWhiBdy+UTdj+VThiBdy+b
    • p ( w i ∣ w j ) = Softmax ⁡ ( u i j ) , i ∈ [ j , n + 1 ] p\left(w_{i} \mid w_{j}\right)=\operatorname{Softmax}\left(u_{i}^{j}\right), i \in[j, n+1] p(wiwj)=Softmax(uij),i[j,n+1]
    • 其中 W W W是双线性项的权重矩阵, U 、 V U、V UV是线性项的权重矩阵, b b b是偏置向量, i ∈ [ j , n + 1 ] i ∈ [j, n + 1] i[j,n+1]表示解码中的可能位置。
  • 与现有方法枚举所有以单词 w j w_j wj开头的具有同等重要性的片段不同,我们使用概率 p ( w i ∣ w j ) p(w_i|w_j) p(wiwj)作为开头片段的置信度单词 w j w_j wj并以单词 w i w_i wi结尾,然后将所有这些在概率 p ( w i ∣ w j ) p(w_i|w_j) p(wiwj)下的片段相加,作为单词 w j w_j wj的片段信息。

    • H j S e g = ∑ i = j n p ( w i ∣ w j ) h j , i p H_{j}^{S e g}=\sum_{i=j}^{n} p\left(w_{i} \mid w_{j}\right) h_{j, i}^{p} HjSeg=i=jnp(wiwj)hj,ip
    • h j , i p = [ h j B d y ; h i B d y ; h i B d y − h j B d y ; h i B d y ⊙ h j B d y ] h_{j, i}^{p}=\left[h_{j}^{B d y} ; h_{i}^{B d y} ; h_{i}^{B d y}-h_{j}^{B d y} ; h_{i}^{B d y} \odot h_{j}^{B d y}\right] hj,ip=[hjBdy;hiBdy;hiBdyhjBdy;hiBdyhjBdy]
    • h j , i p h_{j, i}^{p} hj,ip是以单词 w j w_j wj开头并以单词 w i w_i wi结尾的段的表示。

Type Module

对于类型模块,作者使用与 NER 模块中相同的网络结构。并且需要从此模块中获得 H T = σ ( W 2 ⊤ H + W T ⊤ H ˉ T y p e ) ⊗ H ˉ Type  H^{T}=\sigma\left(W_{2}^{\top} H+W_{T}^{\top} \bar{H}^{T y p e}\right) \otimes \bar{H}^{\text {Type }} HT=σ(W2H+WTHˉType)HˉType 

image-20220728130018804

  • 给定输入的分布式表示 X = < x 1 , x 2 , ⋯   , x n > X=<x_{1}, x_{2}, \cdots, x_{n}> X=<x1,x2,,xn>, 用BiLSTM提取不同的上下文类型信息 H T y p e = < h 1 T y p e , h 2 T y p e , ⋅ ⋅ ⋅ , h n T y p e > H^{Type} =< h^{Type}_1 , h^{Type}_2 ,··· , h^{Type}_n> HType=<h1Type,h2Type,⋅⋅⋅,hnType>,。
  • 然后用CRF解码输出标记的类型标签。

Interaction Mechanism

如前面作者所说,边界信息和类型信息可以相互加强。具体实现如下:

image-20220728134128411
  • 首先在每个子任务标签上使用自注意机制来获得明确的标签表示。

  • 然后将这些表示和相应子任务的上下文信息连接起来,以获得标签增强的上下文信息。

  • 对于第 i i i个标签增强的边界上下文表示 h i B − E h^{B-E}_i hiBE,首先使用 b i a f f i n e   a t t e n t i o n biaffine\ attention biaffine attention机制来掌握 h i B − E h^{B-E}_i hiBE与标签增强型上下文信息 < h 1 T − E , h 2 T − E , ⋯   , h n T − E > <h_{1}^{T-E}, h_{2}^{T-E}, \cdots, h_{n}^{T-E}> <h1TE,h2TE,,hnTE>之间的注意力分数 < α i , 1 B − E ˉ , α i , 2 B − E , ⋯   , α i , n B − E > <\alpha_{i, 1}^{B-\bar{E}}, \alpha_{i, 2}^{B-E}, \cdots, \alpha_{i, n}^{B-E}> <αi,1BEˉ,αi,2BE,,αi,nBE>。然后,通过将类型信息视为其更新的边界表示来连接第 i i i个标签增强边界表示 h i B − E h^{B-E}_i hiBE和交互表示 r i B − E r^{B-E}_i riBE

    r i B − E = ∑ j = 1 n α i , j B − E h j T − E h ˉ i B d y = [ h i B − E , r i B − E ] \begin{aligned} r_{i}^{B-E} &=\sum_{j=1}^{n} \alpha_{i, j}^{B-E} h_{j}^{T-E} \\ \bar{h}_{i}^{B d y} &=\left[h_{i}^{B-E}, r_{i}^{B-E}\right] \end{aligned} riBEhˉiBdy=j=1nαi,jBEhjTE=[hiBE,riBE]

    H ˉ B d y = < h ˉ 1 B d y , h ˉ 2 B d y , ⋯   , h ˉ B d y > \bar{H}^{B d y}=<\bar{h}_{1}^{B d y},\bar{h}_{2}^{B d y}, \cdots,\bar{h}_{}^{B d y}> HˉBdy=<hˉ1Bdy,hˉ2Bdy,,hˉBdy>

  • 同理可得, H ˉ T y p e = < h ˉ 1 T y p e , h ˉ 2 T y p e , ⋯   , h ˉ T y p e > \bar{H}^{Type}=<\bar{h}_{1}^{Type},\bar{h}_{2}^{Type}, \cdots,\bar{h}_{}^{Type}> HˉType=<hˉ1Type,hˉ2Type,,hˉType>

Experiments

Datasets

  1. CoNLL2003 - 它是从路透社新闻文章中收集的。 CoNLL 2003 NER 共享任务定义了四种不同类型的命名实体,包括 PER、LOC、ORG 和 MISC。
  2. WNUT2017 - 它是一组嘈杂的用户生成文本,包括 YouTube 评论、StackExchange 帖子、Twitter 文本和 Reddit 评论。标注了 PER、LOC、Group、Creative work、Corporation 和 Product 六类实体。
  3. JNLPBA - 它是从 MEDLINE 摘要中收集的。注释了五种类型的实体,包括 DNA、RNA、蛋白质、细胞系和细胞类型。

表中的详细信息如下所示:image-20220728132048602

Experimental Results

image-20220728132245603

如图所示为作者提出的 MIN 模型和基线模型的实验结果。

  • 与不使用任何语言模型或外部知识的模型相比,可以观察到作者的MIN模型在精度、召回率和 F1 分数方面优于所有比较的基线模型,并实现了 0.57%、4.77% 和 3.26% 的改进分别针对CoNLL2003、WNUT2017 和 JNLPBA 数据集的 F1 分数。

  • 在比较的模型中,BiLSTM-Pointer 模型的 F1 分数普遍低于其他模型。这是因为它没有利用段内的单词级依赖关系,并且在边界检测和类型预测期间也存在边界错误传播问题。

  • CNN-BiLSTM-CRF 和 RNN-BiLSTM-CRF 模型在三个数据集上取得了相似的性能结果,其性能比 HCRA 和 HSCRF 差。 HCRA 模型使用句子级和文档级表示来增强上下文化的单词表示,而 HSCRF 模型通过多任务训练考虑句段级和单词级信息。但是,HCRA 模型不考虑句段级信息,HSCRF 模型不直接对句段内的词级依赖关系建模。

  • 此外,上述所有模型都不共享边界检测和类型预测子任务之间的信息。MIN模型取得了最佳性能,因为它能够考虑所有这些信息。

  • 当结合 ELMo 和 BERT 等预训练语言模型时,所有模型都取得了更好的性能结果。与其他模型相比,MIN 模型在 CoNLL2003、WNUT2017 和 JNLPBA 数据集的 F1 分数上分别提高了 0.95%、3.83% 和 2.73%。结果与未使用任何预训练语言模型的模型中讨论的结果一致。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值