TriggerNER: Learning with Entity Triggers as Explanations for Named Entity Recognition 阅读总结

TriggerNER: Learning with Entity Triggers as Explanations for Named Entity Recognition 阅读总结

Purpose

作者引入了“实体触发词”的概念,将其定义为“在一句话中,帮助解释人类为什么要将一个单词识别为实体的一组单词”。提出了触发词匹配网络(Trigger Matching Network)模型,联合学习触发词表示和带有自注意力机制的软匹配,提高其泛化能力,在未见过的句子上也能进行准确标注。

Background

目前NER最新进展主要集中在基于大量人工标注的数据集训练神经网络模型,从而产生较好的结果,然而,NER的人工标注昂贵且耗时,尤其是在技术领域。因此,如何以一种经济有效的方式训练神经网络模型成为了一个重要的研究问题。

人类标注实体时,是基于某些单词短语作为线索来识别一个实体。比如"Tom traveled a lot last year in Kasdfrcxzv.“根据"traveled … in"判断"Kasdfrcxzv"是一个位置实体。作者将这些短语称为"实体触发词”,认为它们也可以帮助模型,提高泛化能力。

TriggerNER: Learning with Entity Triggers as Explanations for Named Entity Recognition 阅读总结

Methods

在两个流行的NER数据集上对14708个触发词进行了众包标注,以研究其对NER任务的作用。作者还提出了一个新的框架——触发词匹配网络(TMN),该框架具有三个模块:TrigEncode,TrigMatcher,SeqTagger。学习指示实体类型的触发词表示,在未标注的句子上识别触发词,指导传统的实体标注器获得更好的性能。与传统的训练不同,学习过程分为两个阶段:首先联合训练一个触发词分类器和一个基于语义的触发词匹配器(TrigMatcher),接着利用触发词表示和使用一个注意力机制对给定句子进行的编码学习一个标注器(SeqTagger)。

TriggerNER: Learning with Entity Triggers as Explanations for Named Entity Recognition 阅读总结

Trigger Encodeing & Semantic Matching

学习触发词表示和基于语义匹配句子是不可分割的任务。所需的触发词向量在与token隐藏状态共享的嵌入空间中捕获语义,以便句子和触发词在语义上匹配。另外,触发词和句子之间基于注意力机制的匹配模块也是必要的(可能有不止一个触发词)。

对于具有多个实体{e1, e2,…}的句子x,对每个实体ei假定有有一组触发词Ti = { t 1 ( i ) t_1^{(i)} t1(i)​, t 2 ( i ) t_2^{(i)} t2(i)​, …},为了确保更有效的基于批次的训练,作者重新定义了数据集的格式,使每个新序列只包含一个实体和一个触发词。接着,通过为每个实体与其触发词之一配对来创建训练示例(x, e i e_i ei​, t j t_j tj​)。

对每个训练实例,首先在x的词向量序列上应用BiLSTM,获得一系列隐藏状态,这些隐藏状态是句子中每个token x i x_i xi​的上下文词表示 h i h_i hi​。使用H表示包含所有token的隐藏向量的矩阵,使用Z表示包含所有触发词token的隐藏向量的矩阵。

为了学习一个基于注意力机制的触发词和句子表示,使用(Lin et al.,2017b)提出的自注意力机制:

a ⃗ sent  = SoftMax ⁡ ( W 2 tanh ⁡ ( W 1 H T ) ) g s = a ⃗ sent  H a ⃗ trig  = SoftMax ⁡ ( W 2 tanh ⁡ ( W 1 Z T ) ) g t = a ⃗ trig  Z \begin{aligned} \vec{a}_{\text {sent }} &=\operatorname{SoftMax}\left(W_{2} \tanh \left(W_{1} \mathbf{H}^{T}\right)\right) \\ \mathbf{g}_{\mathbf{s}} &=\vec{a}_{\text {sent }} \mathbf{H} \\ \vec{a}_{\text {trig }} &=\operatorname{SoftMax}\left(W_{2} \tanh \left(W_{1} \mathbf{Z}^{T}\right)\right) \\ \mathbf{g}_{\mathbf{t}} &=\vec{a}_{\text {trig }} \mathbf{Z} \end{aligned} a sent ​gs​a trig ​gt​​=SoftMax(W2​tanh(W1​HT))=a sent ​H=SoftMax(W2​tanh(W1​ZT))=a trig ​Z​

W1和W2是计算自注意力分数向量的可训练参数,获得一个向量 g s g_s gs​,表示整个句子中token向量的加权和,作为最终的句子向量。类似的, g t g_t gt​是最终的触发词向量。 g t g_t gt​接下来被输入到多分类器预测与之相关的实体类型type(e),触发词分类器的损失为:

L T C L_{TC} LTC​ = - ∑ log ⁡ P ( t y p e ( e ) ∣ g t ; θ T C ) \sum {\log {\rm{P}}(type(e)|{g_t};{\theta _{TC}})} ∑logP(type(e)∣gt​;θTC​)

其中 θ T C {{\theta _{TC}}} θTC​是模型要学习的参数。

为了学习基于注意力表示的触发词和句子匹配,作者使用了对比损失。相似的触发词和句子应该距离相近。作者通过随机混合触发词和句子,创建了负样本,它们的嵌入之间应该有一个边界m。TrigMatch使用正样本和负样本进行训练,对比损失如下:

d = ∣ g s − g t ∣ ∣ 2 |{g_s} - {g_t}|{|_2} ∣gs​−gt​∣∣2​

L S M = ( 1 − 1 m a t c h e d ) 1 2 ( d ) 2 + 1 m a t c h e d 1 2 { max ⁡ ( 0 , m − d ) } 2 {L_{SM}} = (1 - {1_{matched}})\frac{1}{2}{(d)^2} + {1_{matched}}\frac{1}{2}{\{ \max (0,m - d)\} ^2} LSM​=(1−1matched​)21​(d)2+1matched​21​{max(0,m−d)}2

其中触发词在句子中时 1 m a t c h e d 1_{matched} 1matched​为1,否则为0。

两个模块的联合损失L = L T C L_{TC} LTC​ + λ \lambda λ L S M L_{SM} LSM​ , λ \lambda λ是超参数。

Trigger-Enhanced Sequence Tagging

将实体触发词作为注意query,为NER任务训练一个触发词增强序列标注器,SeqTagger所用到的BiLSTM与TrigEncoder和和TrigMatcher中的相同。给定一句话x,使用先前训练的TrigMatcher计算所有与这句话关联的触发词向量和的平均值 g t ^ \hat {g_t} gt​^​。将其作为查询,创建一系列基于注意力的token表示H’。

α ⃗ = SoftMax ⁡ ( v ⊤ tanh ⁡ ( U 1 H T + U 2 g ^ t T ) ⊤ ) \vec{\alpha}=\operatorname{SoftMax}\left(\boldsymbol{v}^{\top} \tanh \left(U_{1} \mathbf{H}^{T}+U_{2} \hat{\mathbf{g}}_{\mathbf{t}}^{T}\right)^{\top}\right) α =SoftMax(v⊤tanh(U1​HT+U2​g^​tT​)⊤)
H ′ = α ⃗ H \mathbf{H}^{\prime}=\vec{\alpha} \mathbf{H} H′=α H

U 1 U_1 U1​, U 2 U_2 U2​和v是为每个token计算触发词增强注意力分数的可训练参数。最后将原始token表示H与H‘连接为[H;H’]输入最终的CRF层。这一阶段的目标与传统NER相同,即正确标记每一个token。

Inference on Unlabelled Sentence

在未标注的句子上预测实体时,使用TrigMatcher计算句子和触发词的相似度,选用最合适的触发词作为SeqTagger的额外输入。

Experiment and Results

Annotating and Datasets

采用两个广泛使用的数据集:通用领域的CoNLL2003和生物医学领域的BC5CDR。采用众包的方式标注实体触发词,作者抽取每个训练集的20%作为输入样本,并修改成需要的格式。标注过程中,作者将实体token用类型掩盖,以便人类标注员更关注句子中的触发词而不是实体。

Baseline

由于CNN-BiLSTM-CRF在神经网络NER模型中的广泛应用,作者选其作为base model。CNN,BiLSTM,CRF中的超参数都相同。

Results and Analysis

可以看到,仅使用20%的含触发词的标注数据,TMN模型就可以获得与baseline使用50%~70%传统数据集相当的性能,性能的显著提升证明了标注触发词产生的额外成本是合理的。

作者对触发词的自训练(self-training)做了一个初步调查研究:对未标注的数据进行推断,选取置信度高的结果作为弱训练实例,对模型进行持续训练。置信度基于MNLP度量计算,选取每轮的前20%。通过自训练,TMN模型的F1分数提升了0.5~1.0%。

TriggerNER: Learning with Entity Triggers as Explanations for Named Entity Recognition 阅读总结

作者模拟之后认为,同时标注触发词和实体的时间是只标注实体的时间的1.5倍,在下图中可以清楚地看到,TMN模型相比BiLSTM-CRF有很大的优势。

TriggerNER: Learning with Entity Triggers as Explanations for Named Entity Recognition 阅读总结

Conclusion

作者引入了实体触发词作为补充标注,在两个主流数据集上众包标注,并将其在社区发布,提出了一个新的框架TMN,可以泛化到未见过的句子上进行NER。

未来工作中,发展方向主要包括:

1)开发自动抽取新触发词的模型

2)将现有实体触发器迁移到low-resource语言

3)使用更好的结构化归纳偏置(inductive bias)改善模型

归纳偏置 = 归纳(泛化、归纳规则) + 偏置(偏好),即从现实观察到的现象中归纳总结,形成规则,对所使用的模型进行约束(这也是选择模型的过程)。

上一篇:SpringBoot项目中model层、Dao层、Mapper层、controller层、service层、entity层作用


下一篇:VS2019使用EF连接mysql (CodeFirst)