《Adversarial Transfer Learning for Chinese Named Entity Recognition with Self-Attention Mechanism》阅读

《Adversarial Transfer Learning for Chinese Named Entity Recognition with Self-Attention Mechanism》

摘要

中文NER缺少大量的标注数据。。中文NER和中文分词中间含有大量的相似实体边界,两个任务之间也各有自己的特点。而现有的中文NER模型既没有从CWS中获取到有用的边界信息, 也没有过滤出分词任务的特殊信息。
本文创新点: 提出一种新的对抗迁移学习框架,充分利用共享任务之间的 边界信息同时过滤掉分词任务的特有信息以免干扰NER任务。此外,因为每个字符在进行实体预测时都可以提供非常重要的信息,所以本文还引入了self-attention机制,在预测实体类别时,利用自注意力机制捕捉两个实体之间的长期依赖关系。

引言

在这里插入图片描述

  • task-shared information: CWS和NER之间含有很多共同的信息, 比如希尔顿和离开都是一样的边界信息。
  • task-specific information:特有的信息。比如休斯顿机场,二者的边界并不一样,NER的边界更为粗粒度。

挑战
(1)怎样只运用二者共享的信息而防止特有的信息干扰彼此。如果不区分特有的信息,当遇到“休斯顿机场”时,CWS分词为“休斯顿“和”机场“,而NER是”休斯顿机场“,造成识别错误。
(2)如何更好的捕捉到整个序列间的全局依赖关系。LSTM可以较好的获得长期依赖的信息,但是它并不能获得任意两个字符之间的依赖信息。比如“希尔顿”可以是人名也可以是机构名;当“希尔顿离开”时区分为人名,当为“住在希尔顿”时区分为机构名。

解决方法
问题一方案:提出对抗迁移学习架构,任务共享的词边界信息整合到NER任务中。对抗迁移学习是将对抗学习合并到迁移学习中。引入对抗学习保证CWS只利用task-shared词边界信息。
问题二方案:利用自注意力机制对LSTM的隐藏层表示进行同步。

本文贡献

  1. 第一个在NER任务中应用对抗迁移学习。将CWS中的task-shared词边界信息应用到NER任务中。
  2. 引入srlf-attention机制,能够捕捉到整个序列中的全局依赖信息学习到序列中的潜在特征。
    3.在两个不同的数据集上进行实验,并且取得了state-of-the-art的成绩。
2 Related Work
  • NER
    早期方法:HMM CRF
    近期:神经网络
    BILSTM+CRF
    GCNN 中文NER

  • 对抗训练
    GoodFellow在CV中取得很大成果
    NLP中,对抗学习 被应用到领域自适应,跨语言迁移学习,多任务学习以及众包学习
    在本文中,不同于之前的对抗学习应用,利用对抗学习对NER和CWS进行联合训练,目的是提取出两个任务中共享的词边界信息。这是对抗学习首次应用在中文NER中。

*自注意力机制
self-attention在2017年被Vaswani引入到机器翻译中,捕捉句子中的全局依赖,取得最好的结果。
NLU和语义角色标注中都有用到自注意力机制。本文是第一个将self-attention应用到中文NER中的。

3方法

本文提出一种对抗迁移学习框架,学习CWS和NER中task-shared词边界信息,同时利用对抗学习过滤掉CWS独有的信息,利用self-attention学习全局依赖信息,也就是任意两个字符之间的依赖关系。
本文模型主要包括五个部分:embedding layer,shared-private 特征提取器,也就是BIlstm,self-attention, task-specific CRFtask discriminator

在这里插入图片描述

3.1 Embedding Layer

加载预训练embedding 词典,将离散的NER和CWS字符映射为分布式的embedding 向量。

3.2 Shared-Private Feature Extractor

LSTM是RNN 的一种变种,主要是通过门控机制和记忆细胞解决梯度消失和梯度爆炸问题。
双向LSTM能够捕捉到当前时刻的过去和将来的上下文信息。
其隐藏层单元可以表示为:
在这里插入图片描述

  • shared-private feature extraction
    如上图所示:
    共享特征提取器:输入为NER和CWS, 提取任务共享的边界信息
    private 提取各个任务的特征。
    在这里插入图片描述
3.3 self-attention

本文应用multi-head self-attention机制。
H = {h1, h2, …hn}表示private特征提取器的输出。S = {s1, s2, …sn}表示共享特征提取器的输出。

以private为例讲述self-attention的工作机制。
Q,K,V分别是query, key, value的矩阵,维度为N*2d, N代表N个序列,d代表隐藏层维度。
multi-head self-attenyion是先用不同的线性映射将QKV映射h次,然后h个映射结果并行进行scaled dot-product 计算,最后将h个计算后的结果拼接起来得到新的表示。
在这里插入图片描述

3.4 task-specific CRF

对于任务k的每句话,最后的表示是将private空间以及shared空间经过self-attention后的表示拼接起来。

对于句子x={c1, c2…cn},预测tag序列为y={y1, y2…y3},CRF的计算如下:
在这里插入图片描述
其中oi 代表 ci 字符的tag为 yi 的tag概率值。T是转移概率矩阵,也就是两个连续label s 之间的转移概率。
最后利用viterbi算法得到最后的tag sequence。

训练过程中loss函数: 负对数似然函数。
ground-truth label的概率计算如下:
在这里插入图片描述
给定T个训练样本,得到的损失函数计算如下:
在这里插入图片描述
然后运用反向传播算法优化损失函数。

3.5 Task Discriminator

对抗学习:防止CWS的特有信息会出现在共享的信息中,对NER任务造成负面影响。
利用task discriminator 判断每个输入的句子来自哪个任务法人数据集。
任务区分器的计算如下:
在这里插入图片描述
引入对抗学习的loss, 防止CWS的specific特征混入shared信息,
Es代表shared 特征提取器,D代表任务区分器
对抗学习loss训练共享模型提取出共享特征,导致任务区分器不能很好的对任务进行区分,产生loss。所以最小化这个loss函数,也就是 当共享的LSTM生成一个共享特征的表示会误导任务区分器,任务区分器必须尽最大可能的做出正确的判断。
在这里插入图片描述
在softmax之前增加梯度逆转层,解决优化函数的极大极小问题。在训练阶段,最小化任务区分器的loss函数,然后通过梯度反转层,梯度变为相反的符号进而对抗的鼓励共享层学习共享词边界信息特征。
在训后,任务区分器和共享特征提取器会达到一个点:任务区分器不能通过共享特征提取器的输出判断该句子来自哪一个任务。

3.6 Training

最后的损失函数为:
在这里插入图片描述
在训练过程中,每一轮都随机选择一个任务,然后从该任务的训练集中选取 一个batch的数据。通过Adam优化函数进行优化loss。因为二者的收敛率不同,所以根据NER的性能进行early stopping。

4. 实验
4.1 Datasets

NER: 微博数据集和sighan数据集
CWS: MSR 数据集

4.2 Setting

embedding size:100
LSTM size: 120
learning rate: 0.001
lambda: 0.06
droupout:0.3
multi-head: 8
batch size:64 / 20
pretrain embedding : 百度百科数据的word2vec

4.3 实验结果

在这里插入图片描述
在这里插入图片描述
本文中加的小技巧的比较。
在这里插入图片描述
transfer learning:证明CWS中的词边界信息对于NER任务是有正向作用的
adversarial:证明对抗学习能够减少CWS中的独有信息混入共享信息中
self-attention: 正向作用

微博的性能较差的原因:
(1)数据集很少,训练集只有1300条。
(2)微博数据表达不正式。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值