Adversarial Transfer Learning for Chinese Named Entity Recognition with Se..., Pengfei Cao 2018【NER】


title: “Adversarial Transfer Learning for Chinese Named Entity Recognition with Self-Attention Mechanism, Pengfei Cao 2018 【ner+adversarial+self-attention】”
subtitle: “”
date: 2021-1-5
author: “xuqiurong”


摘要:中文命名实体识别(Chinese NER)和中文分词(Chinses word segmentation,CWS)具有相似的单词边界。

目前的方法要么不利用CWS的单词边界信息,要么不能过滤CWS的特殊信息。
本文提出对抗转移学习框架来充分利用任务共享的边界信息,并阻止CWS的特定任务特征。因为在预测实体类型的时候,任意字符都可以提供重要的线索,利用自注意来明确捕获两个字符之间长期依赖。

实验在weibo dataset和sighan dataset上做实验。


NER

以往的NER任务的方法有:SVMs, HMMs, CRFs 这些方法太依赖特征工程。 Zhou(2013)将中文NER制定为联合识别和分类任务。2016年将神经网络用于NER任务,Huang(2015)利用BiLSTM抽取特征,然后将其喂入CRF解码器。之后BiLSTM-CRF模型通常作为baseline。Lample(2016)使用字符LSTM表示拼写特征。Wang(2017)提出一个gated convolutional neural network(GCNN)模型。Peng(2016)提出联合训练NER任务和CWS任务。但是,CWS任务的特定特征可能会降低中文NER任务的性能。

Adversarial Training

对抗学习在NLP中用于领域适应(domain adaption),跨语言迁移学习,多任务学习和众包学习。Bousmalis(2016)在域分离中提出shared-private模型。本文利用对抗网络联合训练中文NER任务和CWS任务,目的是抽取来自CWS的任务共享的字词边界信息

Self-Attention

self-attention在机器翻译中用于捕获输入和输出的全局依赖。Shenet(2017)利用self-attention学习长期依赖。Tan(2017)应用self-attention到语义角色标记任务。本文将self-attention用于中文NER任务。

The model

在这里插入图片描述

Embedding Layer

第一层是对中文NER数据集合中文CWS数据集中的句子训练词向量。使用的是word2vec

Shared-Private Feature Extractor

第二层是抽取特征,使用的是BiLSTM。

为了整合序列两边的信息,文中采用BiLSTM抽取特征。(BiLSTM的结构略)。文中提出了一个shared-private特征提取器,private BiLSTM层用来抽取特定任务的特征,share BiLSTM层被用于学习任务共享的词边界。
在这里插入图片描述

private BiLSTM各自训练两组参数,shared BiLSTM共享同一组参数。

Self-Attention

第三层用self-attention精确学习句子中任意两个字之间的依赖关系,并且捕获句子中信息的内部结构。文中采用多头自注意机制

附上一位博主写的self-attention的讲解:
Attention is All You Need 1 transformer结构

Attention is All You Need 2 编码器

Attention is All You Need 3 解码器

H={h1, h2, …, hN}, 表示private BiLSTM的输出,S={s1, s2, …, sN}表示shared BiLSTM的输出。文中Q=K=V=H。multi-head attention首先用用不同的线性映射函数映射queries,keys,values h次,然后h个映射平行地执行缩放点乘,最后,这些attention的结果做concatenated运算得到新的表示。正式的,多头注意力可以表示为:
在这里插入图片描述
在这里插入图片描述

Task-Specific CRF

对于来自task k的数据集中的句子,我们通过连接来自private space和shared space经过self-attention layer之后的表达式,得到最终的表达式。
在这里插入图片描述
我们介绍一种特殊的CRF,给定一个句子x={c1, c2, …, cN},而且它的预测标签序列为y={y1, y2, …, yN},CRF的标记过程可以如下形式化:
在这里插入图片描述
在这里插入图片描述
训练的时候,我们使用负对数似然函数作为loss function,真实的label序列的计算公式为:
在这里插入图片描述
给定T个训练样本,loss函数为:
在这里插入图片描述
使用gradient back-propagation方法最小化loss函数。

Task Discriminator

这部分是添加在shared BiLSTM中,使用过对抗神经网络之后,作为下一层self-attention的输入。

受到对抗神经网络(adversarial network)的启发,我们整合对抗训练到shared space来保证任务的特殊特征不会存在于shared space,我们提出一个任务判别器来评估句子是来自于哪个任务,正式地,任务判别器可以表示为如下:

在这里插入图片描述
除了task loss L T a s k L_Task LTask 之外,我们介绍了一个adversarial loss L A d v L_Adv LAdv 来预防CWS的特殊特征嵌入shared space,adversarial loss训练shared model产生shared features,导致任务判别器不能可靠的识别句子来自于哪个任务。
在这里插入图片描述
在这里插入图片描述

我们在softmax层下面添加了梯度翻转层,gradient reversal layer,来处理minimax优化问题,在训练阶段,我们最小化任务判别器错误率,通过梯度逆转层我们的梯度将变成对立符号,对抗鼓励共享特征抽取器来学习任务共享单词边界信息,训练结束后,共享特征抽取器和任务判别器达到一个点,在该点判别器无法根据从共享特征提取器中学习的表示来区分任务。

Training

此时,训练的loss函数可以写成:

在这里插入图片描述

实验

我们使用的数据集是Weibo NER dataset(WeiboNER),SIGHAN2006 NER dataset(SighanNER),MSR dataset(from SIGHAN2005)for CWS task。
在这里插入图片描述

WeiboNER数据集有四种实体分类:person, location, organization and geopolitical. 包括named entites and nominal mentions. WeiboNER使用的是同样的训练集,开发集,测试集。

SighanNER数据集有三种实体分类:person, location, organization.SighanNER使用其中10%作为开发集。

用MSR数据集提升中文NER任务的性能。

我们使用Percision§, Recall®, F1分数作为衡量标准.

我们将embedding size d e d_e de设置100, LSTM隐藏层的维度 d h d_h dh设置为120,初始学习率0.001,loss权重系数 λ \lambda λ 0.06, dropout 0.3, 映射层数8层,batch size of SighanNER and WeiboNER is 64 and 20, respectively.

训练参数初始化,使用xavier initializer, character embeddings are pre-trained on Baidu Encyclopedia corpus and Weibo corpus by using word2vec tookit.

在这里插入图片描述
在这里插入图片描述

这是在WeiboNER and SighanNER上的实验结果,和一些论文中的实验结果的对比。

在这里插入图片描述

这是模型在两个数据集上和一些baseline的对比。

实验结果表明,迁移学习,CWS的词语边界信息对于中文NER任务非常有效。

对抗学习,可以防止CWS任务的特殊特征潜入shared space。

错误率分析:从实验结果可以看出,在WeiboNER数据集上的性能相对较低,一个原因是WeiboNER数据集的训练数据相比于SighanNER较少。另一个原因是在社交媒体中的表达是非正式的,所以降低了WeiboNER的性能。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值