丁泽源 Adversarial Transfer Learning for Chinese Named Entity Recognition with Self-Attention Mechanism
新闻来源:IR实验室       发布时间:2019/3/28 13:09:28

一、引言

本论文是由刘康老师团队发布在2018年的EMNLP会议上的论文。作者提出尽管在中文命名实体识别的方法已经得到了很好的提高,然而还是有些问题有待解决。其一人工标注的数据集的数量很少,其二,在预测实体类型时,许多提及的模型不能很好的捕捉长句子的依赖关系。

针对第一个问题,作者说中文分词任务和中文命名实体识别任务上有很大的相似性,且中文分词任务的语料也比命名实体识别的语料多。举个栗子。希尔顿离开休斯顿机场。中文分词会将此句分为希尔顿/离开/休斯顿/机场,而命名实体识别会分为,希尔顿/离开/休斯顿机场。由此可以看出中文分词和命名实体识别任务有很多地方很相像,也有很多不同。于是作者提出了对抗迁移学习的架构,充分的利用共同的边界信息,同时也阻止的中文分词特有的特征对中文命名实体识别的影响。

针对第二个问题,作者提出,为了捕捉句子中长距离的依赖性和语法信息,作者将自制力引入模型中。

二、模型介绍

                                             

这是模型的总体架构,左边的粉色的部分是命名实体识别,分别有embedding层,双向LSTM层,自注意力机制层,和条件随机场层。右侧绿色的部分是中文分词。中间的为最大池化层,梯度翻转层和softmax层。

2.1、特征提取器

该模型使用了双向LSTM提取特征,然后将两个方向得到的向量直接拼接起来。作为下一层的输入。具体公式如下:

2.2、自注意力机制

这层的主要作用是捕捉句子中长距离的依赖性。这个方法是2017年谷歌发布的Attention is all you need 论文中提出的。scaled dot-Product attention就是常用的使用点积进行相似度计算的attention,其中为了其调节作用,为了避免QK的点积过大或过小。造成softmax输出非10. 多头attentionMulti-head attention)结构如下图,QueryKeyValue首先进过一个线性变换,然后输入到放缩点积attention,注意这里要做h次,其实也就是所谓的多头,每一次算一个头。而且每次QKV进行线性变换的参数W是不一样的。然后将h次的放缩点积attention结果进行拼接,再进行一次线性变换得到的值作为多头attention的结果。可以看到,google提出来的多头attention的不同之处在于进行了h次计算而不仅仅算一次,谷歌论文中说到这样的好处是可以允许模型在不同的表示子空间里学习到相关的信息。

 image.pngimage.png


这层的主要作用是捕捉句子中长距离的依赖性。在长距离依赖上,由于self-attention是每个词和所有词都要计算attention,所以不管他们中间有多长距离,最大的路径长度也都只是1。可以捕获长距离依赖关系然后谷歌的这篇论文中从(每一层的复杂度,是否可以并行,长距离依赖学习)这三个方面考虑使用自注意机制的原因。

2.3条件随机场

条件随机场层。条件随机场的输入向量是特有特征和共享的特征拼接起来的。这里主要用的是线性链条件随机场,经常用于标注问题,就是给定的输入x预测标签y。具体公式如下:

2.4任务鉴别器

这部分主要是要分辨输入的句子来自于命名实体识别任务还是来自于分词任务。其主要借鉴了gan网络的思想来实现此步骤。就是共享双向BiLSTM生成的特征要误导任务鉴别器,而任务鉴别器要尽可能的正确判断句子来自哪个任务。其损失函数

 

 

三、实验结果

原始WeiboNER数据集上的命名实体的结果。表格上有三个块,前两个块包含主模型和简化模型。最后一个块列出了作者提出的模型的性能。

上表分为两个块,第一个块是最新模型的性能, 第二个块是作者提出的模型的性能。 由于页面的长度有限,作者使用“adv”来表示“对抗”。

这是在sighan数据集上的结果,表格上分为有两块,第一块是目前先进的模型,第二块是作者提出的模型。

作者提出的模型和其简化模型在SighanNER数据集和原始WeiboNER数据集上的比较。

 

 

四、总结

作者为中文命名实体识别任务提出了一种新颖的对抗性转移学习框架,可以利用任务共享的单词边界特征,防止中文分词任务的具体信息进入实体识别任务中,降低实体识别的准确率。

此外,作者还引入自我关注机制来捕捉任意两个字符的依赖关系,并学习句子的内部结构信息。在两个不同的广泛使用的数据集上的实验表明,该方法显着且一致地优于先前的最先进模型。