点击上方,选择星标,每天给你送干货!


来自:复旦DISC

引言

命名实体识别(Named Entity Recognition, NER)在自然语言处理领域应用广泛,是关系抽取、问答系统、知识图谱等任务的基础。数据标注的质量与一致性问题、实体嵌套问题以及对新实体的识别等问题是目前该领域的一些挑战(Li et al., 2018),这些也正是本次分享的三篇论文所关注的方向。

文章概览

  • 由粗到细的实体识别预训练模型(Coarse-to-Fine Pre-training for Named Entity Recognition)

    论文使用了多粒度弱监督数据,以MRC-NER框架为基础,提出了一个分阶段的、针对命名实体识别的预训练框架CoFEE(Coarse-to-Fine Entity knowledge Enhanced)。

    论文地址:https://www.aclweb.org/anthology/2020.emnlp-main.514/

  • 仅使用词嵌入的实体识别模型(Named Entity Recognition Only from Word Embeddings)

    论文提出了一个完全无监督的实体识别模型,并结合基于强化学习的实例选择器来细化已有的粗粒度标注,除词嵌入信息外,该模型不依赖其他任何外部资源或标注数据。

    论文地址:https://www.aclweb.org/anthology/2020.emnlp-main.723/

  • 现有预训练模型在开放型实体识别任务上的泛化研究(A Rigorous Study on Named Entity Recognition: Can Fine-tuning Pretrained Model Lead to the Promised Land?)

    论文通过设计几种提及替换机制来擦除一般NER数据集中的特定类型信息,从而研究当存在较弱的命名规律性、较低的提及覆盖率或较少的上下文多样性时,预先训练的有监督神经网络模型是否仍能很好地推广到开放型NER任务中。

    论文地址:https://www.aclweb.org/anthology/2020.emnlp-main.592/

论文细节

1

论文动机

随着诸如BERT、XLNet等预训练表示模型的发展,命名实体识别任务的进展显著。然而,现有的预训练模型往往基于语言模型任务和领域通用数据,与命名实体识别本身关联性甚小。因此作者希望在预训练的过程中注入命名实体知识,诸如维基百科锚文本、知识库链指、命名实体词典等互联网中的弱标签信息,从而得到针对NER任务的预训练模型。

模型

论文模型结构分为三个部分,分别是实体边界识别(无类型实体识别)、命名实体提取、细粒度类型实体识别,每部分的核心都是MRC-NER。

MRC-NER (Li et al., 2020)

MRC-NER是ACL2020中提出的一种使用基于机器阅读理解的框架代替序列标注完成实体识别问题的模型,基本框架如下:

在这个框架下,每个实体类型都附带了一个问题作为实体类型标签的注释,可以理解为是对实体类型先验知识的编码。论文中使用到的部分实体类型及问题对应如下:

  • PER:人名和虚构的人物形象

  • HP:找出文中的商标,包括公司,品牌

  • ORG:organization entities are limited to named corporate, governmental, or other organizational entities.

  • LOC: location entities are the name of politically or geographically defifined locations such as cities, provinces, countries, international regions, bodies of water, mountains, etc.

该模型通过回答这些问题完成实体提取任务。模型的输入是问题和句子的拼接 { [CLS], Q, [SEP], X },通过主体部分的BERT得到句子的表示矩阵













。传统MRC模型抽取答案的方法是预测n个字符中的开始位置和结束位置,但是在NER任务中,一段文本中可以有多个实体,也可能存在实体嵌套问题,所以MRC-NER的输出是两个二分类:对每个字符进行两次预测,得到两个标签,分别标注实体的开始位置和结束位置。这部分由两个softmax来完成:

模型的损失函数是交叉熵损失函数,也是由开始位置损失和结束位置损失这两部分组成:

论文的三阶段模型中,每阶段都是通过使用这个框架并结合一定的外部知识完成一个NER任务。

1. 实体边界识别 (ESI, Entity Span Identification)

第一部分的目标是实体边界识别,用到的外部知识是维基百科语料库的锚文本,它属于没有类型的广义实体知识。在维基百科中,锚<




,




>会将一段提及的文本




连接到一个实体




。作者据此为句子中的每个锚分配了一个“Entity”标签,在不考虑实体具体类型的情况下得到了一个具有通用型弱标签的数据集







。在MRC-NER框架下,此时实体类型对应问题定义为“Find Entities.”。完成这一部分后,每一个输入信息会有两个对应的标签序列,分别是实体起始标签序列和结束标签序列。此时模型已经可以区分实体词和非实体词。

2. 实体类型识别 (NEE, Named Entity Extraction)

第二部分的目标是对实体类型进行粗粒度的识别,用到的外部知识是命名实体词典,如人名词典、地名词典等。当







中的某个实体词出现在某一类型的实体词典中,则将该实体词标记为这一实体词典的类型,这样就可以得到一个有粗略类型实体标记的数据集







,然后用它训练MRC-NER模型。在MRC-NER框架下,此时实体类型对应的问题为对实体类型的理论描述。

但是在上述过程中,得到







的过程是粗略且有噪声的,因为实体词典中只包含了部分实体。因此作者在第二部分增加了迭代self-picking策略:每次迭代结束后,使用训练好的模型对训练集重新预测,最后保留的是这一阶段表现最好的模型和数据集,用于第三阶段的训练。

3. 细粒度实体识别 (FET, Fine-grained Entity Typing)

第三部分的目标是进行细粒度的实体类型识别,用到的外部信息是自监督聚类得到的细粒度伪标签。一个粗粒度实体类型可以由一组细粒度实体类型组成,作者基于此增加了一个K-means聚类的模块,用于生成实体细粒度类型的伪标签,得到具有伪标签的数据集







。但论文的最终目标还是得到预训练的NER模型而非实体的细粒度标注,因此这一模块是一个辅助任务。这一部分的损失函数由两部分构成:

其中












为聚类训练的损失函数。考虑到聚类生成的伪标签也会带来噪声,所以为了削弱噪声的影响,模型使用了改进方差加权的交叉熵损失,也就是伪标签类内的方差越小,聚类越紧凑,在损失函数中所占的比例也更高:

其中








是第i个实体在聚类过程中得到的伪标签,

















表示第i个实体所属的伪标签类内方差的倒数。

实验

论文在 Chinese Ontonotes 4.0  、 E-commerce 这两个中文数据集和 Twitter 这一英文数据集上完成了有监督和弱监督情形下的实验,结果如下:

在有监督情形下,预训练模型在人工构造的数据集上进行微调,CoFEE-MRC在OntoNotes和Twitter上都得到了SOTA;而在弱监督设置中,直接使用CoFEE预训练好的模型在测试集上完成测试,上表的结果中也同时包含了消融实验。作者在进一步分析聚类类别取值时发现,不同聚类类别对模型效果均有一定程度上的提升。

2

论文动机

在实体识别方面,现有的很多基于深度神经网络的模型都是有监督的,在训练时需要大量的有标注的数据;并且一些模型还会使用到大量外部资源,如知识库、实体词典等(第一篇论文就使用了维基百科锚文本和实体词典这两种)。而从未标记文本中学习到的词嵌入含有丰富的语法和语义表示,并且已被证明在无监督学习中是有价值的。因此作者提出了一个以词嵌入作为唯一特征源的实体识别模型。

模型

论文将对词嵌入信息的处理分成实体边界检测和实体类型预测两部分,接着进一步设计了一个基于强化学习的实例选择器,以区分噪声数据并细化已有的粗粒度标注。

Unsupervised NER Model


上图为无监督实体识别的模型结构。图中的左半部分是实体边界检测的结构,右半部分是实体类型预测的内容。

1. 实体边界检测 (Entity Span Detection)

实体边界检测同样是一个两层结构。

首先使用K-Means对整个词表的词嵌入信息聚类,从而给每个单词打上实体词和非实体词这两种标签。由于数据集中实体词的比例是非常小的,因此单词数少的类簇为实体词类簇。完成这一步也可以看做是得到了一个粗略的实体词典。

然后基于高斯隐马尔可夫模型(Gaussian HMM)生成实体词的BIO标签。给定一个长度为




的句子,词嵌入表示为



















,潜在实体标签为



















,聚类嵌入为



















,则观测结果和潜在标签的联合分布如下:

它与一般形式的不同之处在于,联合概率分布表达式中除了基本的转移概率、发射概率外,还增加了一项基于聚类标签的条件概率。













,表示在当单词位于类簇0和类簇1时,属于BIO各类别的概率分布,相当于是一个查找表,各项取值会在训练中微调,















从这个表中得到。

文章还提出了两种技术来改进Gaussian-HMM的输出。

首先,针对模型在单个单词构成的实体上表现较差的问题,论文在单词级别做了进一步的划分。对于上述模型识别的单字实体,如果它在语料库中被标记为实体的概率小于一半,并且没有出现在聚类步骤生成的实体字典中,那么就将其修改为非实体类型。

其次,针对长实体会被分为几个短实体的问题,论文增加了一个过滤器,根据词语的共现信息来选择高质量的短语:

其中







表示某一单词出现在语料库中的频率,




是单词总数,




是阈值,它被设置为训练词嵌入时Word2vec中的默认值。如果两个相邻单词的共现频率与它们各自出现频率之积的比率大于阈值,则认为它们很可能构成了一个短语。

最终,一个实体的表示为一个三维向量。实体边界使用边界单词本身的词嵌入,而中间使用内部词嵌入的均值:

2. 实体类型预测 (Entity Type Prediction)

这一步的目标是预测上一步得到的候选实体的类型。使用深度自编码高斯混合模型(DAGMM, Zong et al., 2018)。该模型分为压缩网络(Compression Network)和预测网络(Estimation Network)两部分。压缩网络包括一个用于降维的编码器和一个用于重构的解码器,最终输出一个处理后的拼接向量;预测网络则是使用GMM进行密度估计,最后用一个多层感知机将实体的向量表示映射为实体类别的概率分布。

训练的联合目标函数为:

其中















是两个用户可调的参数,




















是压缩网络的重构误差,形式是







范数;










是使用GMM估计实例概率的似然函数;是一个惩罚项,用于避免协方差矩阵中的对角项退化为0。

RL Model

通过上述过程获得的标签是有噪声的,作者进一步应用强化学习(RL, Yang et al., 2018)的方法来区分噪声数据和有效数据,并进行更细粒度的标注。强化学习模型同样分为两个模块,分别是一个实体标注器(NE Tagger)和一个实例选择器(Instance Selector):


1. 实体标注器 (NE Tagger)

对于原始句子中的每个单词,将其单词级和字符级特征连接输入到BiLSTM-MLP-CRF结构中,从而得到其标签序列。

2. 实例选择器 (Instance Selector)

实例选择器则是一个强化学习的过程。Agent根据policy和reward从训练集选择输入到NE Tagger中的句子。在这个强化学习问题中,state表示的是当前实例句子和它的序列标签,也就是由BiLSTM生成的序列化向量和MLP输出的标签分数这两部分组成。Agent依据策略函数采取动作,决定是否选取当前句子实例,这里的策略函数选用的是logistic function:

reward用于评估NE Tagger预测标签的能力,是选取的N个句子的平均值:

基于策略梯度的方法更新参数,训练的目标是最大化奖励函数。这一部分整体的过程就是:在每一轮的过程中,实例选择器从训练数据中选择句子,然后使用这些句子来训练NE tagger,得到NE tagger的输出后更新选择器的reward和policy,从而优化策略功能。

实验

作者在两个NER标准数据集上完成实验:CoNLL 2003 English dataset (50D SENNA & 100D GloVe Embedding)CoNLL 2003 Spanish dataset (64D Glove Embedding)。作者使用了LSTM+CRF的模型作为监督学习NER的基准,其他用于对比的模型也都使用了比如部分标注的数据、实体词典等外部信息。


从结果上来看,无监督模型与有监督模型表现之间还是有不小差距的,但是作者提出的实体识别模型在不使用任何标注词典或语料库的情况下,性能也较为出色,擅长于处理常见的实体类型。在消融实验方面,基于强化学习的实例选择器对模型表现有一定的提升。

3

论文动机

作者认为通过对预训练模型的微调,现有的通用模型在常规的NER任务上能够取得良好性能,是因为这些基准任务中的实体文本具有很强的规律性。但是面对一些开放型的NER任务时,数据集就不存在这些特性了。所以作者通过剔除目前标准数据集中的一些规律性的特征,探讨这些特征对模型泛化能力的影响。也就是研究目前在常规NER数据集上最先进的模型,是否仍能很好地用于开放型NER任务。

作者认为常规型NER和开放型NER的区别主要在三个方面,分别是命名规律性(name regularity)提及覆盖性(mention coverage)以及上下文模式多样性(context diversity)。本文将具有较强的命名规律性、较高的提及覆盖性和较丰富的上下文模式的NER任务称为常规的NER任务,常规型NER与开放型NER比较如下:


在命名规律性方面,常规型的NER任务识别的是人名、地名、组织机构名等。例如,几乎所有的人名都遵循“FirstName LastName” 或 “LastName FirstName”的模式,而地名大多以“Street”或"Road"等指示词结尾。但是电影、书籍、歌曲的名称就没有这种规律性。

在提及覆盖性方面,常规型的NER数据集中很多测试集中的实体已经在训练集中出现过,而开放型NER任务中有很多新词。我们通常期望NER模型通过捕获关于名称和上下文的泛化知识来识别新数据中的实体,常规型NER中的高提及覆盖性对于提高模型的泛化能力很不利。

在上下文模式多样性方面,常规型的NER任务通常具有标注完备的训练集,因此可以充分地学习所有实体类型的上下文多样性。但是开放型NER任务少有完全标注的数据集。

本文的目标就是通过改变常规NER数据集构建几种场景,通过随机测试来研究当存在较弱的命名规律性、较低的提及覆盖率以及不充分的上下文多样性时,预训练的有监督神经网络是否仍能在NER任务上有良好的表现。

数据集

  • 常规型NER数据集 ACE2005 (LDC2006T06)

作者通过设计替换机制,从当前的NER数据集中删除特定类型的信息。然后在原始数据和信息擦除数据上应用相同的模型,从而比较模型在NER任务中有多大程度依赖于这些特定的擦除信息。本文涉及到的随机化测试主要有以下四种模式,分别是名称置换 (Name Permutation, NP)、提及置换(Mention Permutation, MP)、文本缩减(Context Reduction, CR)和提及缩减(Mention Reduction, MR):

1. 名称置换 (NP)

用一个相同的、随机的n-gram字符串替换相同的实体名称。如上表所示,所有的"Putin"字段都被替换成了"the united"。

2. 提及置换 (MP)

用一个唯一的n-gram字符串替换每个实体位置,也就是同一实体每次出现时,用于替换它的字符串是不同的。如上表所示,原始数据集中两个提到"Putin"的位置分别被"the united"和"which girl"替换。

3. 文本缩减 (CR)

减少文本的句式,但是保留原始数据集中所有出现过的实体。如上表所示,训练集中所有实体提及都出现在相同的句式中。

4. 提及缩减 (MR)

减少实体提及,但是保留原始数据集中的所有句式。如上表所示,训练集中的"Putin"和"Bush"都被替换为"Blair"。

名称置换删除了同类型提及之间的结构相关性,而在提及置换情形下,模型仅依赖上下文知识进行实体预测;文本缩减和提及缩减则被用来研究训练数据较少时模型性能的变化。

  • 开放型NER数据集 A new dataset from Wikipedia

为了进一步验证随机测试得到的相关结论,作者利用维基百科构建了一个新的数据集。具体来说,作者主要考虑了四种实体类型,包括电影、歌曲、书籍和电视剧,通过在维基百科中提取所有的句子,选取包含与这些类型实体相关的链接作为实验数据集。与真实场景的不同之处在于,这个数据集只保留至少包含一个实体的句子,因此在该数据集上测试可能会优于真实情况。

实验及结果分析

实验使用的基准模型为BERT-CRF。擦除常规NER数据集中的相关信息后,可以得到以下几个重要结论:

结论1:命名规律性对于有监督NER模型在未见实体上的泛化能力至关重要

在名称置换实验中,作者根据实体是否在训练集中出现过,将原始数据分为InDict和OutDict两部分。从上表中可以发现,在原始数据集中,InDict和OutDict之间的性能差距不是很大。然而,在擦除了命名规律性后,在InDict部分上的性能没有下降太多,但在OutDict部分上的性能急剧下降,并且二者的性能差距显著扩大。

结论2:高提及覆盖率削弱了NER模型的信息泛化能力

在提及置换实验中,模型只依赖上下文知识完成NER预测。MP与NP相比的性能进一步下降,但是在OutDict这部分上测试时,MP设置下的模型性能明显优于NP设置下的模型性能:

这可能是由于神经网络具有很强的记忆训练实例的能力和倾向。因此,高提及覆盖率会误导模型主要去记忆而忽略文本的上下文模式。因此NER模型应该更多地关注于泛化的上下文知识,而不是记忆实体提及。这对于没有或具有弱命名规律性的实体类型更为重要。

结论3:当从预训练的神经网络中学习时,可能不需要大量的数据就可以得到足够的上下文模式

除了文本缩减和提及缩减外,作者还将他们与简单地减少训练数据中的句子样本进行了比较,并称之为句子缩减 (Sentence Reduction)。实验中保留信息的比例从5%到100%变化。如上图所示,在句子缩减和提及缩减的情形下,模型性能随着训练数据的增长而稳步提高。但是在文本缩减的情形下,当保存所有名称规则信息时,一旦训练句子达到一定数量,就可以捕获足够的上下文模式,引入更多的训练数据并不能显著提高性能。在开放NER数据集中有相同的结论,当训练数据达到3000后模型性能几乎没有提升。

总结

开放型NER的发展前景

  • 利用容易获取的资源更有效地利用实体命名规律性

  • 增加约束以避免InDict实体提及的过拟合

  • 命名规律性和上下文模式是可以单独学习的,因此可以使用适量的训练实例学习上下文模式,而后使用其他资源,例如实体词典等去学习更多的命名规律

参考文献

[1] Li, J., Sun, A., Han, J., & Li, C. (2018). A Survey on Deep Learning for Named Entity Recognition. ArXiv, abs/1812.09449.

[2] Xiaoya Li, Jingrong Feng, Yuxian Meng, Qinghong Han, Fei Wu, and Jiwei Li. 2020. A Unifified MRC Framework for Named Entity Recognition. ACL.

[3] Bo Zong, Qi Song, Martin Renqiang Min, Wei Cheng, Cristian Lumezanu, Daeki Cho, and Haifeng Chen. 2018. Deep autoencoding gaussian mixture model for unsupervised anomaly detection. In International Conference on Learning Representations.

[4] Yaosheng Yang, Wenliang Chen, Zhenghua Li, Zhengqiu He, and Min Zhang. 2018b. Distantly supervised NER with partial annotation learning and reinforcement learning. In Proceedings of the 27th International Conference on Computational Linguistics, pages 2159–2169, Santa Fe, New Mexico, USA. Association for Computational Linguistics.

供 稿丨牛皓玥编 辑丨李志伟责 编丨丁佳玙


供稿人:牛皓玥丨研究生一年级丨研究方向:知识建模丨邮箱:20210980028@fudan.edu.cn

说个正事哈

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方深度学习自然语言处理”,进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心

投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

整理不易,还望给个在看!

【NER】EMNLP 2020 命名实体识别相关推荐

  1. 命名实体识别NER探索(1)

    命名实体识别NER探索(1) 命名实体识别(Named-entity recognition ,NER)(也称为实体识别.实体分块和实体提取)是信息提取的一个子任务,旨在将非结构化文本中提到的命名实体 ...

  2. 信息抽取实战:命名实体识别NER【ALBERT+Bi-LSTM模型 vs. ALBERT+Bi-LSTM+CRF模型】(附代码)

    实战:命名实体识别NER 目录 实战:命名实体识别NER 一.命名实体识别(NER) 二.BERT的应用 NLP基本任务 查找相似词语 提取文本中的实体 问答中的实体对齐 三.ALBERT ALBER ...

  3. 在线中文命名实体识别 ( NER ) 的工具

    在线中文命名实体识别( NER )的工具 命名实体识别(Named Entity Recognition,简称NER),又称作"专名识别",是指识别文本中具有特定意义的实体,主要包 ...

  4. 隐马尔可夫模型(HMM)实现命名实体识别(NER)

    隐马尔可夫模型(HMM)实现命名实体识别(NER) 一.命名实体识别(Named Entity Recognition,NER) 识别文本中具有特定意义的实体,包括人名.地名.机构名.专有名词等等 在 ...

  5. 嵌套命名实体识别任务简介

    来自:哈工大讯飞联合实验室 本期导读:嵌套命名实体是一种特殊形式的命名实体,由于其复杂的层次化结构,传统的基于序列标注的命名实体模型不能很好地解决嵌套命名实体识别的任务.因此,自然语言处理领域的研究者 ...

  6. 自然语言处理(NLP)之pyltp的介绍与使用(中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注)

    pyltp的简介   语言技术平台(LTP)经过哈工大社会计算与信息检索研究中心 11 年的持续研发和推广, 是国内外最具影响力的中文处理基础平台.它提供的功能包括中文分词.词性标注.命名实体识别.依 ...

  7. 超详综述 | 基于深度学习的命名实体识别

    ©PaperWeekly 原创 · 作者|马敏博 单位|西南交通大学硕士生 研究方向|命名实体识别 论文名称:A Survey on Deep Learning for Named Entity Re ...

  8. 自然语言处理(NLP)之命名实体识别

    本文将会简单介绍自然语言处理(NLP)中的命名实体识别(NER). 命名实体识别(Named Entity Recognition,简称NER)是信息提取.问答系统.句法分析.机器翻译等应用领域的重要 ...

  9. 浅谈嵌套命名实体识别(Nested NER)

    ©PaperWeekly 原创 · 作者|张成蹊 单位|北京大学硕士生 研究方向|自然语言处理 序 命名实体识别(Named Entity Recognition, 下称 NER)任务,主要目的是从一 ...

最新文章

  1. 斯坦福NLP笔记72 —— The Inverted Index
  2. 去除MFC窗口的自动记忆功能
  3. android7.1+msm8937双MIC改为单MIC(晓龙相机录像声音小)
  4. 2.19 总结-深度学习-Stanford吴恩达教授
  5. 搞懂正则表达式之进阶篇
  6. linux gt txt内容为空,2gt;/dev/null和gt;/dev/null 2gt;amp;1和2gt;amp;1gt;/dev/null的区别...
  7. matlab中boxplot函数的参数设置_matlab中boxplot字体大小设置
  8. python数组拼接concat_Python xarray.concat然后xarray.to_netcdf生成巨大的新文件大小
  9. mac 下php运行bug
  10. java 代码混淆 开源_java代码混淆(使用 ProGuard 工具)
  11. 关于dotnetbar控件
  12. 免费个人简历模板、PPT模板网址大全
  13. Springboot链接SqlServer配置并通过JPA操作实战
  14. Selenium学习笔记
  15. python文件批量改名
  16. Python:PDF转PNG(6行代码搞定)
  17. NLP-基础任务-中文分词算法(3)-基于字:基于序列标注的分词算法【BiLSTM+CRF】
  18. RH850从0搭建Autosar开发环境系列讲解 - 总目录
  19. 如何使用swing创建一个BeatBox
  20. python第三方安装包总结

热门文章

  1. 可变形卷积在视频学习中的应用:如何利用带有稀疏标记数据的视频帧
  2. html简单个人网页制作 出行网站设计——凤阳旅游(6页) HTML5期末考核大作业,网站——旅行网站
  3. E型热电偶分度表,C语言数组。
  4. vue 富文本vue-quill-editor 自定义字号大小和字体样式
  5. Roboguide软件:机器人焊装夹具运动机构制作与仿真
  6. 关于lib/asm-offsets.c:1:0: error: bad value (armv5) for -march= switch问题解决办法
  7. 计算机可以玩电子游戏吗?
  8. lua中面向对象(class)
  9. (程序猿)灵活用工节税案例
  10. Codeforces 935C Fifa and Fafa 题解 附平面几何基础:平面向量基本运算