命名实体识别

命名实体识别(英语:Named Entity Recognition,简称NER),又称作专名识别、命名实体,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等,以及时间、数量、货币、比例数值等文字。指的是可以用专有名词(名称)标识的事物,一个命名实体一般代表唯一一个具体事物个体,包括人名、地名等。

早期方法

基于词典和规则的方法
优点:快速、可解释性强和不需要太多标注语料
缺点:需要领域知识、规则和词典的构建与维护繁重、未登录词匹配问题
具体步骤:

  1. 构建词典
    综合中文语义词库CSC,hownet,Chinese Open Worldnet
    词典构建的统计方法:词频,TF-IDF,TextRank,借助百科,词法分析,依存句法分析
    构建词典可以通过人工,基于统计学的方法。主要目的就是分词和词性标注
  2. 规则构建
    规则构建是通过根据对词的标注(词性,特征),通过对标注设计一系列规则,从而得到规则中特定标注的实体类别。
    1. 基于词性标注进行规则推理
      通过特定的词性顺序,建立词性与实体的对应关系
    2. 采用一个特征集合来泛化表达命名实体Tatar and Cicekli,2011
      为每个词生成特征,然后在特征上做规则的合并和构建。
      提出一种自动学习规则的方案,通过处理模式串的相似之处,通过泛化构建规则
  3. 规则维护
    提出一种基于机器学习长期维护规则的框架,规则维护是在新增语料的情况下,通过对规则的改进与补充,提升其在新语料上的效果。

传统机器学习

有监督

SVM,logistic回归和决策树等

这类方法将NER视为分类问题,根据提取的特征和标注的类别对模型进行训练。捕获上下文关系能力弱,对分词结果要求高。

SVM(支持向量机)是在分类与回归分析中分析数据的监督式学习模型,主要思想是通过一个(p-1)维超平面将数据点(p维向量)分开,而且SVM可以通过核函数将低维线性不可分的数据集影射到高维空间使其线性可分。

决策树是一种概率模型,通过分支对样本特征进行划分,从而划分样本所属类别,决策树的生成主要是通过使用熵的概念。

HMM,MEMM,CRF

这些都属于序列模型,能够很好的捕获上下文关系。

HMM模型主要用于序列标注问题,通过把标签看作隐藏状态变量,把要标注的序列看作可观察输出,可以有效的解决分词,词性标注,命名实体识别等问题。但是受限于HMM模型的两个假设,HMM只能学习到有限的序列特征。

  1. 当前观测状态只与当前隐藏状态有关
  2. 当前隐藏状态只与前一时刻隐藏状态有关

MEMM(最大熵马尔可夫模型)是一种结合了HMM和最大熵模型的图模型,可用于序列标注问题。

HMM将标注看作隐藏状态,不同的标注序列(隐藏状态)都可以计算出给定观测状态出现的概率,概率最大时对应的隐藏状态序列就是所求结果。而MEMM通过输入当前序列状态特征(这里可以加入多个特征,前后多个词或者标注),计算出每个标注的概率。也可以说是简单逻辑回归模型在序列模型上的扩展。

「在求解$latex P(X|Y)$时,可以直接求,也可以间接求$latex P(Y|X)P(X)/P(Y)$」

在训练阶段,HMM通过概率估计(频率学派和贝叶斯派)获得模型参数,在预测阶段,可以通过维特比算法(一种dp算法,不用计算所有可能隐藏序列对应的观测序列概率)解码(找到最可能对应观测序列的隐藏状态序列)。MEMM直接通过定义特征,可以只将当前字符作为特征(此时就是logistic回归模型),也可以方便的加入任何其他特征(前后多个词,前面词的标注结果,或者后缀前缀等),通过对每个特征设置一个权重,代表其对最终结果的影响。通过训练,优化权重。预测时可以通过硬解码的方式一个一个给出类别(只考虑当前单词标签),另一种更好的方式是像HMM一样使用维特比算法求整个句子的最优解(CRF)。

CRF

CRF模型与MEMM模型类似,也是通过序列特征计算每个token所有可能label的概率,取概率最大的label作为结果就是MEMM模型。这样计算出整个序列的结果后,可能出现不可理得标注(例如:[B,B...])。为了使输出序列前后相互约束,回想一下HMM的实现(当前观测状态依赖当前隐藏状态,当前隐藏状态依赖前一隐藏状态),因此可以考虑将当前label的概率与前一了label关联,求出整个序列所有可能label序列中可能性最大的。这样问题就变的复杂了,本来是sequence_lenth个分类问题(有多少种label,就有多少种类别),现在变成了一个分类问题,从所有可能label序列(共sequence_lenth^label_num个)选择合适的。

简单来说,CRF模型就是在MEMM模型的基础上增加了对输出的约束,使其输出的标签序列更加合理。

深度学习

有监督

  1. NN/CNN-CRF
  2. Bi-LSTM-CRF

最新研究

有监督

  1. Bi-LSTM-CRF+Attention

半监督

  1. TagLM
  2. 迁移学习

参考

[1]一文看懂命名实体识别 - NER(发展史+4类方式+数据集+工具推荐)
[2]命名实体识别调研报告
[3]中文自然语言处理的一般流程
[4]中文自然语言处理的完整机器处理流程
[5]An Introduction to ConditionalRandom Fields
[6]最大熵马尔可夫模型