©作者 |
周志洋

单位 | 腾讯算法工程师
研究方向 | 对话机器人
命名实体识别(NER, Named Entity Recognition),是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。
本文将以 BERT 作为时间节点,详细介绍 NER 历史使用过的一些方法,以及在 BERT 出现之后的一些方法。

NER—过去篇

本节将从以下方面展开:

1.1 评价指标

使用实体级别的精确率、召回率、F1。

1.2 基于词典和规则的方法

利用词典,通过词典的先验信息,匹配出句子中的潜在实体,通过一些规则进行筛选。
或者利用句式模板,抽取实体,例如模板“播放歌曲${song}”,就可以将query=“播放歌曲七里香”中的 song= 七里香抽取出来。

正向最大匹配 & 反向最大匹配 & 双向最大匹配。

原理比较简单,直接看代码:
https://github.com/InsaneLife/MyPicture/blob/master/NER/ner_rule.py
正向最大匹配:从前往后依次匹配子句是否是词语,以最长的优先。
后向最大匹配:从后往前依次匹配子句是否是词语,以最长的优先。
双向最大匹配原则:
  • 覆盖 token 最多的匹配。
  • 句子包含实体和切分后的片段,这种片段+实体个数最少的。

1.3 基于机器学习的方法

CRF,原理可以参考:Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data
在随机变量 X 取值为 x 的条件下,随机变量 Y 取值为 y 的条件概率为:
其中 是特征函数(如上图), 对应权值,是规范化因子。
来(chao)自李航的统计学习方法

1.4 引入深度学习语义编码器

1.4.1 BI-LSTM + CRF

Bidirectional LSTM-CRF Models for Sequence Tagging [2]
BI-LSTM-CRF 模型可以有效地利用过去和未来的输入特征。借助 CRF 层, 它还可以使用句子级别的标记信息。BI-LSTM-CRF 模型在 POS(词性标注),chunking(语义组块标注)和 NER(命名实体识别)数据集上取得了当时的 SOTA 效果。同时 BI-LSTM-CRF 模型是健壮的,相比之前模型对词嵌入依赖更小。
文中对比了 5 种模型:LSTM、BI-LSTM、CRF、LSTM-CRF、BI-LSTM-CRF,LSTM:通过输入门,遗忘门和输出门实现记忆单元,能够有效利用上文的输入特征。BI-LSTM:可以获取时间步的上下文输入特征。CRF:使用功能句子级标签信息,精度高。
比较经典的模型,BERT 之前很长一段时间的范式,小数据集仍然可以使用。

1.4.2 stack-LSTM & char-embedding

Neural Architectures for Named Entity Recognition [3]
stack-LSTM :stack-LSTM 直接构建多词的命名实体。Stack-LSTM 在 LSTM 中加入一个栈指针。模型包含 chunking 和 NER(命名实体识别)。
1. 堆栈包含三个:output(输出栈/已完成的部分),stack(暂存栈/临时部分),buffer(尚未处理的单词栈)。
2. 三种操作(action):
  • SHIFT:将一个单词从 buffer 中移动到 stack 中;
  • OUT:将一个单词从 buffer 中移动到 output 中;
  • REDUCE:将 stack 中的单词全部弹出,组成一个块,用标签 y 对其进行标记, 并将其 push 到 output 中。
3. 模型训练中获取每一步的 action 的条件概率分布,标签是真实每一步  action 的概率分布。预测时候,同坐预测每一步 action 概率,用概率最大 action 来执行 action 操作。
4. 在 REDUCE 操作输出 chunking 块之后,通过 lstm 对其编码输出 chunk 的向量表达,然后预测其标签。
举例见图示:
stack-LSTM 来源于:Transition-based dependency parsing with stack long-short-term memory [4]
同时使用初始化的 char-embedding,对于每一个词语,通过 BI-LSTM 将字符编码作为输入,输出词语的字符级别表达,然后 concat 词向量输入到 BI-LSTM + CRF。

1.4.3 CNN + BI-LSTM + CRF

End-to-end Sequence Labeling via Bi-directional LSTM- CNNs-CRF [5]
通过 CNN 获取字符级的词表示。CNN 是一个非常有效的方式去抽取词的形态信息(例如词的前缀和后缀)进行编码的方法,如图。
然后将 CNN 的字符级编码向量和词级别向量 concat,输入到 BI-LSTM + CRF 网络中,后面和上一个方法类似。整体网络结构:

1.4.4 IDCNN

2017 Fast and Accurate Entity Recognition with Iterated Dilated Convolutions [6]
针对 Bi-LSTM 解码速度较慢的问题,本文提出 ID-CNNs 网络来代替 Bi-LSTM,在保证和 Bi-LSTM-CRF 相当的正确率,且带来了 14-20 倍的提速。句子级别的解码提速 8 倍相比于 Bi- LSTM-CRF。
CNN 缺点:CNN 的上下文信息取决于窗口的大小,虽然不断地增加 CNN 卷积层最终也可以达到使每个 token 获取到整个输入句子作为上下文信息,但是其输出的分辨表现力太差。
于是出现了扩张卷积(or 空洞卷积):对于扩张卷积,有效输入宽度可以随着深度呈指数增长,在每层不会有分辨率损失,并且可以估计一定数量的参数。

1.4.5 胶囊网络

Joint Slot Filling and Intent Detection via Capsule Neural Networks [7]
Git: https://github.com/czhang99/Capsule-NLU
NLU 中两个重要的任务,Intent detection 和 slot filling,当前的无论 pipline 或者联合训练的方法,没有显示地对字、槽位、意图三者之间的层次关系建模。
本文提出将胶囊网络和 dynamic routing-by-agreement 应用于 slot filling 和 intent detection 联合任务。
1. 使用层次话的胶囊网络来封装字、槽位、意图之间的层次关系。
2. 提出 rerouting 的动态路由方案建模 slot filling。
网络分为 WordCaps、SlotCaps、IntentCaps。胶囊网络原理参考:Dynamic Routing Between Capsules [8]
WordCaps:对于输入 ,输入 BI-LSTM 编码成为 T 个胶囊向量 ,和普通 BI-LSTM 并无区别:
SlotCaps:这里有 k 个 slotCaps,对应 k 个 ner的标签。作者利用第 t 个 wordCap 对于第k个 slotCap 的动态路由权重 作为第 t 个字的 ner 预测标签的概率。初始向量:
通过动态路由算法,更新权重:
输出胶囊向量:
最终 slot filling 的损失为:
IntentCaps:输入是 slotCaps 的输出胶囊向量,第 k 个 slotCap 对第 l 个 intentCap 的表达向量:
同样通过动态路由算法获得输出胶囊向量,向量的模作为属于 l 类的概率:
损失使用了 max-margin Loss:
Re-Routing:为了将 Intent 的信息提供给 NER 使用,提出了 Re-Routing 机制,它和动态路由机制很像,唯一改动在于权重更新中同时使用了 ,其中 是 norm 值最大的胶囊向量。

1.4.6 Transformer

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding [10]
直说吧,就是 BERT,bert 之前万年 bilstm+crf,bert 之后,基本没它什么事儿了,bert 原理不多赘述,应用在 NER 任务上也很简单,直接看图,每个 token 的输出直接分类即可:

1.5 语义特征

1.5.1 char-embedding

Neural Architectures for Named Entity Recognition [9]
将英文字符拆解为字母,将词语的每个字母作为一个序列编码,编码器可以使用 rnn,cnn 等。

1.5.2 Attending to Characters in Neural Sequence Labeling Models

Attending to Characters in Neural Sequence Labeling Models [12]
使用了单词或字符级别 embedding 组合,并在两种 embedding 之间使用 attention 机制“灵活地选取信息”,而之前模型是直接将两种 embedding concat。
直接看公式,z 是一个动态权重:
并交叉熵上增加额外的 loss:
非 OOV 单词希望 m 和 x 越相似越好。
char-embedding 学习的是所有词语之间更通用的表示,而 word-embedding 学习的是特特定词语信息。对于频繁出现的单词,可以直接学习出单词表示,二者也会更相似。

1.5.3 Radical-Level Features(中文部首)

Character-Based LSTM-CRF with Radical-LevelFeatures for Chinese Named Entity Recognition [13]
也是一种 char embedding 方法,将每个中文字拆分为各个部首,例如“朝”会被拆分为字符:十、日、十、月。后面结构都类似。

1.5.4 n-gram prefixes and suffixes

Named Entity Recognition with Character-Level Models [14]
提取每个词语的前缀和后缀作为词语的特征,例如:“aspirin” 提取出 3-gram 的前后缀:{"asp", "rin"}.
包含两个参数:n、T。n 表示 n-gram size,T 是阈值,表示该后缀或者前缀至少在语料库中出现过 T 次。

1.6 多任务联合学习

1.6.1 联合分词学习

Improving Named Entity Recognition for Chinese Social Mediawith Word Segmentation Representation Learning [15]
将中文分词和 NER 任务联合起来。使用预测的分割标签作为特征作为 NER 的输入之一,为 NER 系统提供更丰富的边界信息。
分词语料目前是很丰富的。如果目标域数据量比较小,不妨用分词的语料作为源域,来预训练一个底层编码器,然后再在目标域数据上联合分词任务 fine-tuning。

1.6.2 联合意图学习

slot-gated

Slot-Gated Modeling for Joint Slot Filling and Intent Prediction [16]
slot-gated 这篇文章提出了 slot-gate 将槽位和意图的关系建模,同时使用了 attention 方法,所以介绍这篇文章直接一起介绍 attention,之前 attention 相关的就不介绍了。
底层特征:使用 BiLSTM 结构,输入:,输出:
attention:
slot filling attention 权重计算:
,和 一致。, 计算的是 和当前输入向量 之间的关系。作者 TensorFlow 源码 用的卷积实现,而 用的线性映射 _linear()。T 是 attention 维度,一般和输入向量一致。
slot:
Intent Prediction:其输入时 BiLSTM 的最后一个单元的输出 以及其对应的 context 向量,c 的计算方式和 slot filling 的一致,相当于其 i=T。
Attention 具体细节见:Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling [19],博客:
https://blog.csdn.net/shine19930820/article/details/109756345?spm=1001.2014.3001.5501

slot-Gate
利用意图上下文向量来建模槽意图关系,以提高槽填充性能。如图 3:
槽位的 context 向量和意图的 context 向量组合通过门结构(其中 v 和 W 都是可训练的):
,d 是输入向量 h 的维度。
,获得 的权重。
论文源码使用的是:
用 g 作为预测 的权重向量:

Stack-Propagation

A Stack-Propagation Framework with Token-level Intent Detection for Spoken Language Understanding [18]

Git: https://github.com/%20LeePleased/StackPropagation-SLU
首先什么是 Stack-Propagation 呢,如下图所示:
它是区别于多任务,不同的任务通过 stack(级联?)的方式一起学习优化。
然后本文将意图任务的输出 stack 输入给 NER 任务,具体做法:
  • Token intent(意图阶段):假设每个 token 都会有一个意图的概率分布(标签是句子的意图,通过大量数据训练,就能够学到每个 token 的意图分布,对于每个意图的‘偏好’),最终句子的意图预测通过将每个 token 的意图预测结果投票决定。
  • Slot Filling:输入包含下面三部分:,其中 是上一阶段 token intent 的预测结果的 intent id,然后经过一个意图向量矩阵,转化为意图向量,输入给实体预测模块,解码器就是一层 lstm+softmax。

1.6.3 BERT for Joint Intent Classification and Slot Filling

BERT for Joint Intent Classification and Slot Filling [19]
原理如图,底层编码器使用了 BERT,token 的输出向量接 softmax 预测序列标签,cls 向量预测意图。
bert 之后,似乎之前的一些优化都变成了奇技淫巧,那么就没有新的方法了吗?bert 之前实体识别都是以序列标注(sequence labeling)来识别,没有其他的解码方式吗?关于 NER 的现在,且往下看。
NER—现在篇
本节将从以下方面展开:
2.1 解码框架(Framework)
这里归类的解码器似乎也不太合适,但是也找不到好的了。
sequence labeling(序列标注)将实体识别任务转化为序列中每个 token 的分类任务,例如 softmax、crf 等。相比于 sequence labeling 的解码方式,最近也有很多新的解码方式。
2.1.1 span
SpanNER: Named EntityRe-/Recognition as Span Prediction [20]
Coarse-to-Fine Pre-training for Named Entity Recognition [21]
本质是预测实体的开始和结束节点,即对于每个 token 都会预测它是不是某个实体的开始和结束,对于多实体类型,有两种方式:
1. 对于每个 token,会预测 start 和 end,对于 start,是一个多分类 (N+1) 任务,N 是实体个数:
2. 对于每一个类别,都预测对应的 start 和 end。

这种方式的优点是,可以解决实体嵌套问题。但是也有一个缺点,就是预测实体的 start 和 end 是独立的(理论上应该联合 start 和 end 一起考虑是否是一个实体),解码阶段容易解码出非实体,例如:
token“林”预测为 start,“伟”预测为 end,那么“林丹对阵李宗伟”也可以解码为一个实体。
所以,span 更适合去做实体召回,或者句子中只有一个实体(这种情况应该很少),所以阅读理解任务一般会使用功能 span 作为解码。
损失函数:

2.1.2 MRC(阅读理解)

A Unified MRC Framework for Named Entity Recognition [22]
这个方法很有意思,当我们要识别一句话中的实体的时候,其实可以通过问题和答案的方式。解码阶段还是可以使用 crf 或者 span。例如:
问题:句子中描述的人物是?;句子:林丹在伦敦夺冠;答案:林丹;
个人主观意见认为不实用,原因如下:
  • 对于不同的实体,需要去构建问题模板,而问题模板怎么构建呢?人工构建的话,那么人构建问题的好坏将直接影响实体识别。
  • 增加了计算量,原来输入是句子的长度,现在是问题+句子的长度。
  • span 的问题,它也会有(当然 span 的优点它也有),或者解码器使用 crf。

2.1.3 片段排列+分类

Span-Level Model for Relation Extraction [23]
Instance-Based Learning of Span Representations [24]
其实 span 还是属于 token 界别的分类任务,而片段排列+分类的方式,是直接对于所有可能的片段,输入是 span-level 的特征,输出的是实体的类别。片段排列会将所有可能的 token 组合作为输入进行分类,例如:

span-leval 特征一般包含:
  • 片段的编码,pooling 或者 start 和 end 向量的拼接,一般比较倾向于后者。
  • 片段的长度,然后通过 embedding 矩阵转为向量。
  • 句子特征,例如 cls 向量。
模型的话,参考这个模型,其中的 a,b 阶段是实体识别:


SpERT:Span-based Joint Entity and Relation Extraction with Transformer Pre-training [25]
缺点:
  • 对于长度为 N 的句子,如果不限制长度的话,会有 N(N+1)/2,长文本的话,片段会非常多,计算量大,而且负样本巨多,正样本极少。
  • 如果限制候选片段长度的话,那么长度又不灵活。
其实刚刚讲到 span 合适用来做候选召回,那么 span 的预测结果再用分类的方式进行识别,也不失为一种方式。
2.2 融合知识
2.2.1 隐式融合
这部分主要指通过预训练模型中融入知识,一种是通过在目标域的数据上进行 adaptive pretrain [26],例如是对话语料,那么使用对话语料进行适配 pretrain(预训练)。
另一种是在预训练阶段引入实体、词语实体信息,这部分论文也比较同质化,例如 nezha/ernie/bert-wwm,以 ernie 为例,将知识信息融入到训练任务中,ERNIE 提出一种知识掩盖策略取代 bert 的 mask,包含实体层面和短语级别的掩盖,见下图:
Basic-Level Masking: 和 bert 一样,随机选取 token 做 mask。
Phrase-Level Masking: 会将语法中的短语做 mask,例如:a series of|such as 等。
Entity-Level Masking: 会将一些实体整个 mask,主要实体包含人物、地点、组织、产品名等。
训练预料包括中文维基百科,百度百科,百度新闻(最新的实体信息),百度贴吧。

2.2.2 显示融合

这部分显示融合主要指通过在模型数据层面引入知识。

Trie树匹配结果作为特征

这部分比较简单,即将句子通过规则匹配到的词语信息作为先验输入,如果对于垂域的 NER 可以使用此方式。
匹配方式参考上一节中的词典匹配的方法。

融合分词信息(multi-grained: fine-grained and coarse-grained)

multi-grained 翻译应该是多粒度,但是个人认为主要是融入了分词的信息,因为 bert 就是使用字。

中文可以使用词语和字为粒度作为 bert 输入,各有优劣,那么有没有可能融合两种输入方式呢?

前期融合:

LICHEE [27]:前期即输入 embedding 层面融合,使用 max-pooling 融合两种粒度(词和字粒度)embedding:
TNER [28]:改进了 Transformer 的 encdoer,更好地建模 character 级别的和词语级别的特征。通过引入方向感知、距离感知和 un-scaled 的 attention,改造后的 Transformer encoder 也能够对 NER 任务显著提升。
文章比较有意思是分析了 Transformer 的注意力机制,发现其在方向性、相对位置、稀疏性方面不太适合 NER 任务。

embedding 中加入了 word embedding 和 character embedding,character embedding 经过 Transformer encoder 之后,提取 n-gram 以及一些非连续的字符特征。
计算 self-attention 包含了相对位置信息,但是是没有方向的,并且在经过 W 矩阵映射之后,相对位置信息这一特性也会消失。所以提出计算 attention 权值时,将词向量与位置向量分开计算:
去掉了 attention 计算中的 scaled,即不除以,认为效果更好。
FLAT [29]:将 Lattice 结构和 Transformer 相结合,解决中文会因为分词引入额外的误差,并且能够利用并行化,提升推理速度。如下图,通过词典匹配到的潜在词语 (Lattice),然后见词语追加到末尾,然后通过 start 和 end 位置编码将其和原始句子中的 token 关联起来。
另外也修改了 attention 的相对位置编码(加入了方向、相对距离)和 attention 计算方式(加入了距离的特征),和 TNER 类似,后续也有一篇 Lattice bert,内容几乎一样。

中期融合

ZEN: Pre-training Chinese Text Encoder Enhanced by N-gram Representations [30]
即在 encoder 某些层中融入词语和字的输出。在 char 的中间层添加 N-gram 的 embedding 输入。
这种 n-gram 加入到 char 的输出上,可能会找出信息泄露,例如 mlm 预测粤的时候,由于融入了“港澳”、“粤港澳”、“粤港澳大湾区”,可能会对预测粤的时候泄露答案。聪明的小伙伴会说那我直接 mask 全词啊,那这里如果 mask 掉“粤港澳大湾区”,其实会找出 mask 大部分句子,模型很难学。另一种就是修改 attention 的可见矩阵。
后期融合:
Ambert [31]:字和词语各自经过一个共享的 encoder,然后将粗细粒度的输出融合,看输出不适合 ner 任务,更适合分类任务。

融合知识图谱信息

K-BERT: Enabling Language Representation with Knowledge Graph [32]
知识图谱包含实体、实体类型、实体和实体的关系(边),怎么把这些信息融入到输入中呢?K-BERT 使用方式很直接,如下图:
例如句子中,cook 在图谱中是 apple 的 ceo,那么直接将其插入到句子中,那不就扰乱了句子顺序吗,并且对于其他 token 是引入了额外的信息干扰。因此它提出了两种方法解决这个问题。
  • 位置编码,原始句子的位置保持不变,序列就不变,同时对于插入的“CEO”、"Apple"和“cook”的位置是连续,确保图谱知识插入的位置。
  • 同时对于后面的 token,“CEO”、"Apple属于噪声,因此利用可见矩阵机制,使得“CEO”、"Apple"对于后面的 token 不可见,对于 [CLS] 也不可见。

2.3 标注缺失

首先对于 NER 标注,由于标注数据昂贵,所以会通过远程监督进行标注,由于远监督词典会造成高准确低召回,会引起大量未标注问题?
另外即使标注,存在实体标注缺失是很正常的现象,除了去纠正数据(代价过高)之外,有么有其他的方式呢?

2.3.1 AutoNER

Learning Named Entity Tagger using Domain-Specific Dictionary [33]

Better Modeling of Incomplete Anotations for Named Entity Recognition [34]

当使用词典进行实体的远监督标注时,由于词典有限,一般会造成标注数据中实体高准确,低召回(未标注)的问题。为了解决数据中的未标注问题,提出了 AutoNER with “Tie or Break”的方法。
具体算法如图,其中:
1. Tie:对于两个相邻的 token,如果他们是属于同一个实体,那么他们之间是 Tie。
2. Unknow:两个相邻的 token 其中一个属于未知类型的高置信实体,挖掘高置信实体使用 AutoPhrase [35]。
3. Break:不属于以上情况,即非同一实体。
4. 两个 Break 之间的 tokens 作为实体,需要去识别对应的类别。
5. 计算损失的时候,对于 Unknow 不计算损失(主要是为了缓解漏标(false negative)问题)。
解决的问题:
即使远监督将边界标注错误,但是实体内部的多数 tie 还是正确的。
个人理解出发点:1. 提出 tie or break 是为了解决边界标注错误问题,Unknow不计算损失缓解漏标(false negative)问题。
但是有个问题,文中提到了 false negative 的样本来自于 high-quality phrase,但是这些 high-quality phrase 是基于统计,所以对于一些低频覆盖不太好。
另外一篇论文也是类似的思想:Training Named Entity Tagger from Imperfect Annotations [36],它每次迭代包含两步:
1. 错误识别:通过交叉训练识别训练数据集中可能的标签错误。
2. 权重重置:降低含有错误标注的句子的权重。

2.3.2 PU learning

Distantly Supervised Named Entity Recognition using Positive-Unlabeled Learning [37]
主要解决词典漏标或者标注不连续问题,降低对于词典构造的要求。Unbiased positive-unlabeled learning 正是解决未标记样本中存在正例和负例的情况,作者定义为:
 是负例,未标注样本属于是正例 ,解决未标注问题就是怎么不用负样本去预估 。
为什么不用负样本,因为负样本可能保证未标注正样本。
作者将其转化为:
所以我直接去学正样本就好了嘛,没毛病。这里大概就能猜到作者会用类似 out of domian 的方法了。
但是我感觉哪里不对,你这只学已标注正样本,未标注的正样本没学呢。
果然,对于正样本每个标签,构造不同的二分类器,只学是不是属于正样本。
我不是杠,但是未标注的实体仍然会影响二分类啊。

2.3.3 负采样

Empirical Analysis of Unlabeled Entity Problem in Named Entity Recognition [38]
未标注会造成两类问题:1)降低正样本量。2)将未标注视为负样本。1 可以通过 adaptive pretrain 缓解,而 2 后果却更严重,会对于模型造成误导,怎么消除这种误导呢,那就是负采样。
本文 ner 框架使用了前面介绍的片段排列分类的框架,即每个片段都会有一个实体类型进行分类,也更适合负采样。
负采样:即对于所有非实体的片段组合使用下采样,因为非实体的片段组合中有可能存在正样本,所以负采样一定程度能够缓解未标注问题。注意是缓解不是解决。损失函数如下:
其中前面部分是正样本,后面部分是负样本损失,就是采样的负样本集合。方法很质朴,我觉得比 pu learning 有效。作者还证明了通过负采样,不将未标注实体作为负样本的概率大于 (1-2/(n-5)),缓解未标注问题。

2.4 预训练语言模型

这个主要是 bert 相关的优化。对于下游任务,包括 NER 也有提升,就不展开了,见图:
参考文献
[1] Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data
[2] Bidirectional LSTM-CRF Models for Sequence Tagging:https://arxiv.org/abs/1508.01991v1
[3] Neural Architectures for Named Entity Recognition:https://arxiv.org/abs/1603.01360
[4] Transition-based dependency parsing with stack long-short-term memory:http://www.oalib.com/paper/4074644
[5] End-to-end Sequence Labeling via Bi-directional LSTM- CNNs-CRF:https://www.aclweb.org/anthology/P16-1101.pdf
[6] Fast and Accurate Entity Recognition with Iterated Dilated Convolutions:https://arxiv.org/abs/1702.02098
[7] Joint Slot Filling and Intent Detection via Capsule Neural Networks:https://arxiv.org/abs/1812.09471
[8] Dynamic Routing Between Capsules:http://papers.nips.cc/paper/6975-dynamic-routing-between-capsules.pdf
[9] Neural Architectures for Named Entity Recognition:https://arxiv.org/abs/1603.01360
[10] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding:https://arxiv.org/abs/1810.04805
[11] Neural Architectures for Named Entity Recognition:https://arxiv.org/abs/1603.01360
[12] Attending to Characters in Neural Sequence Labeling Models:https://arxiv.org/abs/1611.04361
[13] Character-Based LSTM-CRF with Radical-LevelFeatures for Chinese Named Entity Recognition:http://www.nlpr.ia.ac.cn/cip/ZongPublications/2016/13董传海Character-Based%20LSTM-CRF%20with%20Radical-Level%20Features%20for%20Chinese%20Named%20Entity%20Recognition.pdf
[14] Named Entity Recognition with Character-Level Models:https://nlp.stanford.edu/manning/papers/conll-ner.pdf
[15] Improving Named Entity Recognition for Chinese Social Mediawith Word Segmentation Representation Learning:https://www.aclweb.org/anthology/P16-2025
[16] Slot-Gated Modeling for Joint Slot Filling and Intent Prediction:https://aclanthology.org/N18-2118
[17] Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling:https://blog.csdn.net/shine19930820/article/details/83052232
[18] A Stack-Propagation Framework with Token-level Intent Detection for Spoken Language Understanding:https://www.aclweb.org/anthology/D19-1214/
[19] BERT for Joint Intent Classification and Slot Filling:https://arxiv.org/abs/1902.10909
[20] SpanNER: Named EntityRe-/Recognition as Span Prediction (https://arxiv.org/pdf/2106.00641v1.pdf)
[21] Coarse-to-Fine Pre-training for Named Entity Recognition (https://aclanthology.org/2020.emnlp-main.514.pdf)
[22] A Unified MRC Framework for Named Entity Recognition (https://arxiv.org/pdf/1910.11476v6.pdf)
[23] Span-Level Model for Relation Extraction (https://aclanthology.org/P19-1525.pdf)
[24] Instance-Based Learning of Span Representations (https://aclanthology.org/2020.acl-main.575)
[25] SpERT:Span-based Joint Entity and Relation Extraction with Transformer Pre-training (https://arxiv.org/abs/1909.07755)
[26] https://medium.com/jasonwu0731/pre-finetuning-domain-adaptive-pre-training-of-language-models-db8fa9747668
[27] https://arxiv.org/pdf/2108.00801.pdf
[28] https://arxiv.org/pdf/1911.04474.pdf
[29] https://arxiv.org/pdf/2004.11795.pdf
[30] ZEN: Pre-training Chinese Text Encoder Enhanced by N-gram Representations (https://arxiv.org/abs/1911.00720)
[31] https://arxiv.org/pdf/2008.11869.pdf
[32] K-BERT: Enabling Language Representation with Knowledge Graph (https://arxiv.org/pdf/1909.07606.pdf)
[33] Learning Named Entity Tagger using Domain-Specific Dictionary (https://arxiv.org/abs/1809.03599)
[34] Better Modeling of Incomplete Annotations for Named Entity Recognition (https://aclanthology.org/N19-1079.pdf)
[35] https://arxiv.org/abs/1702.04457
[36] Training Named Entity Tagger from Imperfect Annotations (https://arxiv.org/abs/1909.01441)
[37] Distantly Supervised Named Entity Recognition using Positive-Unlabeled Learning (https://arxiv.org/abs/1906.01378)
[38] Empirical Analysis of Unlabeled Entity Problem in Named Entity Recognition (https://arxiv.org/pdf/2012.05426)
更多阅读
#投 稿 通 道#
 让你的文字被更多人看到 
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected] 
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·
·
继续阅读
阅读原文