命名实体识别方法-基本模型,词汇增强,嵌套实体,少样本学习

写在最前面。最近对NER做了一个调研,看了一些论文,将论文中提到的NER方法汇总到博客里,此博客还会继续更新。相关论文和数据集整理可见Github
按照我的个人理解,NER任务可以分为Encoder和Decoder两部分。前者获取输入句子的向量化表示,后者得到对每个字符的分类结果。对于大部分的NER论文,Decoder都会用到CRF,主要的创新在不同的子任务(比如中文NER的词汇增强,少标注样本以及低资源学习、重叠实体识别等)的Encoder部分。

基本模型

基本模型包括RNN-CNN based模型及其变种,也有一部分使用了多任务学习的方法,图神经网络在近几年也开始出现在相关NER任务里,主要用于Flat NER的任务。对于小样本或者低资源没有特定的解决方案。

1. Bidirectional LSTM-CRF Models for Sequence Tagging

在这里插入图片描述
BiLSTM+CRF,没有什么好描述的,不过却奠定了NER的基调。

2. A Multi-task Approach for Named Entity Recognition in Social Media Data,ACL2017

采用多任务学习的解决方案:次要任务实体分割;主要任务实体识别。整个模型分为三部分:feature representation, model description, and sequential inference。
使用了三种不同的特征作为模型的输入: character, word(预训练的词向量+词性标注), and lexicons(专业词典)。这三种不同的输入分别使用CNN,LSTM和Dense进行提取。
整个模型表示为:
在这里插入图片描述
首先,系统将句子嵌入到高维空间中,使用CNN、BLSTM和Dense编码器提取特征。然后,它将每个编码器的结果向量串联起来并执行多任务。左上方的单节点层表示分割(红色),右上方的三节点层表示分类(蓝色)。最后,CRF分类器使用公共Dense层的权重来执行序列标注。
其中的CNN和BiLSTM分别如下:
在这里插入图片描述

3. Empower Sequence Labeling with Task-Aware Neural Language Model,AAAI2018

依然是多任务的,本文的多任务是语言模型以及NER。在character level LSTM之上加入了一个highway layer,用来将LSTM产生的字符表示映射到不同的表示空间,这样语言模型和序列标注模型就可以共享character level LSTM。
在这里插入图片描述
字符级LSTM只会在单词边界处对下一个单词进行预测,因此在图中,输出到下highway的都是 c i , _ c_{i,\_} ci,_这种表示单词边界的向量。对于BLSTM,前向和后向分别有两种不同的结果,分别表示为 f i , r i f_i, r_i fi,ri。Highway的本质其实就是门操作,论文中给出了如下公式:
在这里插入图片描述
图中提到的蓝色和灰色的Highway的输出被用于语言模型(Language Model),而黄色和粉丝的Highway的输出和单词的embedding结合起来被输入到单词级别的BLSTM中,最终过一个CRF进行词性标注。
这里要提及一下LM,它是描述序列生成的一组模型,当前单词的概率与之前所有的单词相关:
在这里插入图片描述
而在本文的语言模型中的输入是 c i , _ c_{i,\_} ci,_,所以写作:
在这里插入图片描述
然后又做了一个逆向的:
在这里插入图片描述
最终,总体的loss被表示为:
在这里插入图片描述

4. Neural Chinese Named Entity Recognition via CNN-LSTM-CRF and Joint Training withWord Segmentation,WWW2019

引入一个CNN-LSTM-CRF神经结构来为CNER捕获本地和远程上下文。其次,提出了一个统一的框架来联合训练CNER模型和分词模型,以提高CNER模型识别实体边界的能力。第三,引入了一种从已有标记数据中自动生成伪标记样本的方法,可以丰富训练数据。
在这里插入图片描述
其中,中文分词的损失函数为:
在这里插入图片描述
其中 y s s e g y_s^{seg} ysseg为句子的标签序列, c s c_s cs为CNN网络输出语句的隐藏字符表示, θ s e g θ^{seg} θseg为参数。最终的损失函数依旧是联合损失:
在这里插入图片描述
本文提到的标记数据生成方法值得强调一下,假如标记数据中“张三在阿里工作”,张三被标记为人名,阿里为公司,那么“李四在腾讯工作”这个未标记数据中的李四也可以被认为是人名。其实这对应了一个trigger的提取操作,这中想法有被应用在其他论文里,咱们后续再说。

5. CAN-NER: Convolutional Attention Network for Chinese Named Entity Recognition,NAACL2019

首先将CNN与局部注意机制相结合,增强模型捕捉字符序列之间隐含的局部上下文关系的能力。与使用正常CNN层的基线的实验结果相比,我们的卷积注意层的F1性能有了明显的提高;其次,引入了一个基于字符的中文NER模型,该模型由具有局部注意的CNN和具有全局自注意层的Bi-GRU组成。我们的模型实现了最先进的f1分数没有使用任何外部词嵌入和词汇资源,这是更实际的真实NER系统。
在这里插入图片描述
这个图看起来有点抽象,不过使用公式拆解开来就很好理解了:
首先是输入的embedding。 d e = d c h + d p o s + d s e g d_e = d_{ch}+d_{pos}+d_{seg} de=dch+dpos+dseg,也就是输入的维度包含了三种特征:中文字级别的特征,position的特征,分割的特征(通过BMES编码,俺也不太清楚具体是啥)。然后,是一个local attention,用于获取局部大小为 k k k的窗口内部的字符级别的注意力:
在这里插入图片描述
最终的输出为 h m h_m hm。然后是对其进行经典的卷积,最后接一个sum-pooling。
之后是GRU和一个全局的注意力机制,计算过程和local注意力差不多:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
最终通过CRF得到的预测值为:
在这里插入图片描述

词汇增强

词汇增强有一些列论文,旨在借助预定义的专业提点提升中文NER的准确率。因为基于词的中文NER还需要一个上层的分词任务,与英文不同。关于词汇增强有一系列的论文,最早发表于2018ACL。词汇增强中经常出现的关键词有:Lexicon,FLat,Lattice。强调一下,我最后把Gazetteers的相关任务也算作词汇增强的一种。
此处偷懒,放一下知乎大佬的文章,我们在此只介绍一下复旦大学邱锡鹏老师团队的文章。

FLAT: Chinese NER Using Flat-Lattice Transformer,ACL2020

传统的lattice结构存在复杂性和动态性,现有的大多数基于格的模型难以充分利用gpu的并行计算,推理速度通常较低。
在这里插入图片描述
因此本文提出了一种新的flat的lattice结构,将词典的相对位置信息编码并加到输入的后边。
在这里插入图片描述
Flat的结构可以和transformer结合起来,作为encoder的部分服务于文本表示学习的下游任务:
在这里插入图片描述
图中的矩阵代表四种不同的position encoder方法(这是在transformer中必不可少的),通过对位置信息的编码,使得模型对不同词之间的相对位置信息敏感。本文的四种位置编码分别为:
在这里插入图片描述
其中, i j ij ij表示不同的实体, ( h h ) (hh) (hh)表示两个单词head之间的距离。那么,所有实体相对位置的编码的融合向量为:
在这里插入图片描述在这里插入图片描述
那么,实体之间融合了位置信息的注意力为:
在这里插入图片描述
其中 E x i , j E_{x_i,j} Exi,j表示实体的向量。使用这个新的注意力计算方法代替transformer中的self-attention,也就是下面公式中的 A A A
在这里插入图片描述
接下来的计算方式就和transformer一毛一样了。

嵌套实体

嵌套这个词被表示为Nested,与其相对的是Flat的NER。举个例子,“中国银行”在Flat NER中只对应一个“组织”实体,但是“中国”也是一个国家的实体,Flat NER无能为力。Nested一般通过建模单词之间的关联关系得到两两词(英文中的词,中文里的字)之间的概率转移矩阵 M i j M_{ij} Mij i i i被视为潜在的可能作为实体的开始词(字), j j j则被视为结束词(字)。如果二者之间的概率高,可能就会被作为一个新的实体。图神经网络也会被用到此任务中去建模长距离的依赖关系。

小样本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五月的echo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值