命名实体识别(NER)是指在文本中识别出特殊对象,这些对象的语义类别一般在识别前被预约义好,预约义类别如人、地址、组织等。命名实体识别不只仅是独立的信息抽取任务,它在许多大型nlp应用系统如信息检索、自动文本摘要、问答系统、机器翻译以及知识建库(知识图谱)中也扮演了关键的角色。web
传统:网络
当今:dom
给定标识符集合s=<w1,w2,...,wN>,NER输出一个三元组<Is,Ie,t>的列表,列表中的每一个三元组表明s中的一个命名实体。分布式
例:工具
有监督方法的NER任务依赖标注数据集。2005 年以前,数据集主要经过标注新闻文章获得而且预约义的实体种类少,这些数据集适合用于粗粒度的NER任务; 2005 年以后,数据集来源愈来愈多,包括但不限于维基百科文章、对话、用户生成语料(如推特等社区的用户留言)等,而且预约义的实体类别也多了许多,以数据集 OneNotes 为例,其预约义的实体类别达到了89种之多。性能
全部数据集中,最多见的数据集为 CoNLL03 和 OneNotes,分别常见于粗粒度的NER任务和细粒度的NER任务。学习
常见的数据集列举以下:ui
现成的NER工具来源于学界、工业界以及开源项目。列举以下:编码
NER任务须要同时肯定实体边界以及实体类别。在精确匹配评估中,只有当实体边界以及实体类别同时被精确标出时,实体识别任务才能被认定为成功。基于数据的TP、FP以及FN,能够计算NER任务的准确率,召回率以及F-score用于评估任务优劣。spa
准确率 |
![]() |
召回率 | ![]() |
F-score:F-score 是精确率和召回率的调和平均,最经常使用的 F-score : |
![]() |
绝大多数的NER任务须要识别多种实体类别,须要对全部的实体类别评估NER的效果。基于这个思路,有两类评估指标:
一个深度NER系统的结构示例:
分布式语义表示:一个单词的含义是由这个单词常出现的语境(上下文)所决定的.
一种直接粗暴的单词表示方法为 one-hot 向量表示。这种方法一般向量的维度太大,极度稀疏,且任何两个向量都是正交的,没法用于计算单词类似度(见 CS224N lecture1笔记)。分布式表示使用低维度稠密实值向量表示单词,其中每一个维度表示一个隐特征(此类特征由模型自动学习获得,而非人为明确指定,研究者每每不知道这些维度到底表明的是什么具体的特征)。这些分布式表示能够自动地从输入文本中学习获得重要的信息。深度NER模型主要用到了三类分布式表示:
做为后续阶段的输入,这些词嵌入向量既能够在预训练以后就固定,也能够根据具体应用场景进行调整。
典型的应用:
典型例子:
典型例子以下:
基于深度学习的NER系统的第二步时利用输入表示学习语义编码。常见的语义编码结构有:
如无特殊说明,文中的 RNN 通常指循环(recurrent)神经网络。
如图是一个经典的基于 CNN 的句子处理方法:
输入表示阶段,输入序列中的每个词都被嵌入一个 N 维的向量。在这以后,系统利用卷积神经网络来产生词间的局部特征,而且此时卷积神经网络的输出大小还与输入句子的大小有关。随后,经过对该局部特征施加极大池化(max pooling)或者平均池化(average pooling)操做,咱们能获得大小固定且与输入相互独立的全局特征向量。这些长度大小固定的全局特征向量以后将会被导入标签解码结构中,分别对全部可能的标签计算相应的置信分数,完成对标签的预测。
循环神经网络在处理序列输入时效果优秀,它有两个最多见的变种:
特别的,双向循环神经网络(bidirectional RNNs)能同时有效地利用过去的信息和将来的信息,便可以有效利用全局信息。所以,双向循环神经网络逐渐成为解决 NER 这类序列标注任务的标准解法。
典型例子:
递归神经网络是一种非线性自适应的模型,它能够学习获得输入的深度结构化信息。命名实体与某些语言成分联系十分紧密,如名词词组。传统的序列标注方法几乎忽略了句子的结构信息(成分间的结构),而递归神经网络能有效的利用这样的结构信息,从而得出更好的预测结果。
典型例子:
语言模型是一类描述序列生成的模型。给定符号序列 ,且已知符号
以前的符号为
,前向语言模型经过对符号
的几率进行建模来计算整个序列的几率:
相似的,反向语言模型对整个序列的计算以下:
而双向语言模型(结合了前向和反向语言模型)同时利用了过去和将来的词的信息来计算当前符号的几率,于是能够很好的利用语境的语义与句法信息
典型例子:
典型例子:
标签解码是NER模型中的最后一个阶段。在获得了单词的向量表示并将它们转化为上下文相关的表示以后,标签解码模块以它们做为输入并对整个模型的输入预测相应的标签序列。主流的标签解码结构分为四类:
利用这个结构能够将NER这类序列标注模型视为多类型分类问题。基于该阶段输入的上下文语义表示,每一个单词的标签被独立地预测,与其邻居无关。
例子以下:
条件随机场(conditional random fields)是一类几率图模型,在基于特征的有监督方法中应用普遍,近来的许多深度学习方法也使用条件随机场做为最后的标签标注结构。其缺点为: 没法充分利用段级信息,由于段的内部属性没法使用字级表示进行彻底编码。
例子以下:
一些研究使用 RNN 来预测标签。
例子以下:
参考文献: