命名实体识别
命名实体识别(Named Entity Recognition,NER)是NLP中一项非常基础的任务。NER是信息提取、问答系统、句法分析、机器翻译等众多NLP任务的重要基础工具。
定义
命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。简单的讲,就是识别自然文本中的实体指称的边界和类别。
信息抽取
信息抽取(information extraction),即从自然语言文本中,抽取出特定的事件或事实信息,帮助我们将海量内容自动分类、提取和重构。这些信息通常包括实体(entity)、关系(relation)、事件(event)。例如从新闻中抽取时间、地点、关键人物,或者从技术文档中抽取产品名称、开发时间、性能指标等。
显然,信息抽取任务与命名实体识别任务类似,但相对来说更为复杂。有时,信息抽取也被称为事件抽取(event extraction)。
与自动摘要相比,信息抽取更有目的性,并能将找到的信息以一定的框架展示。自动摘要输出的则是完整的自然语言句子,需要考虑语言的连贯和语法,甚至是逻辑。有时信息抽取也被用来完成自动摘要。
由于能从自然语言中抽取出信息框架和用户感兴趣的事实信息,无论是在知识图谱、信息检索、问答系统还是在情感分析、文本挖掘中,信息抽取都有广泛应用
概率图模型
概率图模型是用图来表示变量概率依赖关系的理论,结合概率论与图论的知识,利用图来表示与模型有关的变量的联合概率分布。由图灵奖获得者Pearl开发出来。概率图模型理论分为概率图模型表示理论,概率图模型推理理论和概率图模型学习理论。近10年它已成为不确定性推理的研究热点,在人工智能、机器学习和计算机视觉等领域有广阔的应用前景。简单来说就是就是一类用图来表达变量相关关系的概率模型,通常用一个节点表示一个或一组随机变量,节点间的边表示变量间的概率关系,分为有向无环图(贝叶斯网) + 无向图模型(马尔科夫网)
马尔可夫模型
简单来说,就是使用条件概率表示过去,现在,将来
此为一阶马尔科夫模型
从这个式子可以看出,xi 仅仅与 xi-1有关,二跟他前面的都没有关系了,这就是一阶过程。
马尔科夫过程指的是一个状态不断演变的过程,对其进行建模后称之为马尔科夫模型,在一定程度上,马尔科夫过程和马尔科夫链是等价的。
隐马尔可夫模型(HMM)
隐马尔可夫模型(Hidden Markov Model,HMM)描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型。
HMM是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列(状态序列),再由各个状态生成一个观测而产生的观测随机序列(观测序列)的过程。
隐马尔可夫模型是由马尔可夫链生成随机不可观测的随机状态序列,再由各个状态生成可观测的随机序列
HMM模型的两个基本的假设
HMM 的定义建立在两个基本假设的前提上,这两个假设是 HMM 的重点,一定要了解模型的 2 个假设。
1齐次马尔科夫假设
齐次马尔科夫假设,通俗地说就是 HMM 的任一时刻 t 的某一状态只依赖于其前一时刻的状态,与其它时刻的状态及观测无关,也与时刻 t 无关。
2观测独立假设
观测独立性假设,是任一时刻的观测只依赖于该时刻的马尔科夫链的状态,与其他观测及状态无关。
HMM模型解决的3个问题
1,评估问题,已知模型参数 λ= (A, B, π),计算某个观测序列发生的概率,即求P(O|λ)
2,解码问题,给出观测序列O和模型λ= (A, B, π),选择一个状态序列S(s1,s2,…st+1),能最好的解释观测序列O
3,学习问题,观测序列O,如何估计模型参数 λ=(π, A, B), 使得P(O|λ)最大? 利用极大似然估计。
条件随机场
条件随机场(Conditional random field,CRF)是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。条件随机场常用于序列标注问题,比如命名实体识别等
设两组随机变量 = ( 1 , . . . , ), = ( 1 , . . . , ),那么线性链条件随机场的定义为
( | , 1 , . . . , − 1 , + 1 , . . . , ) = ( | , − 1 , + 1 ) , = 1 , . . . ,
其中当 i 取1 或n时只考虑单边。
用于序列标注问题的线性链条件随机场,
是由输入序列来预测输出序列的判别式模型。
判别方式:特征函数(可以简单理解为强化学习中的状态函数)
转移特征 ( − 1 , , , )是定义在边上的特征函数(transition),依赖于当前位置 i 和前
位 置 i - 1 ,对应的权值为
状态特征 ( , , )是定义在节点上的特征函数(s t a t e )依赖于当前位置 i ,对应的权值为
特征函数的取值为1或0,当满足规定好的特征条件时取值为1,否则为0
前向算法
概率计算问题:已知模型参数(π, A, B)和观测序列O = (o1, o2, … ,oT),计算观测序列出现的概率。
直接计算法:穷举,计算量大,不可行
前向算法:基于状态序列的路径结构递推计算,局部计算前向概率,利用路径结构将前向概率递推到全局。
维特比算法(Viterbi)
定义:一种用以选择最优路径的动态规划算法,从开始状态后每走一步,记录到达该状态所有路径的最大概率值,最后以最大值为基准继续向后推进。最后再从结尾回溯最大概率, 也就是最有可能的最优路径.
简单来说就是概率论里面的传染病模型
维特比解码(Viterbi Decoding)
就是维特比算法的解题过程
命名实体识别的发展历程
早期方法
1基于规则的方法
2基于字典的方法
传统机器学习的方法
HMM
MEMM
CRF
深度学习方法
BILSTM-CRF
LATTICE-LSTM-CRF
CNN-CRF
注意力转移机制
迁移学习(Bert框架)
半监督学习
序列标注问题(sequence labeling, also named as tagging)可以看作许多自然语言处理问题的前驱,如情感分析,信息检索、推荐和过滤等等。同时在自然语言处理中,许多的任务可以转化为“将输入的语言序列转化为标注序列”来解决问题,因此序列标注是自然语言处理中的重要研究内容之一
当时(2015)的序列标记模型大多是线性统计模型,如隐马尔可夫模型(HMM),最大熵马尔可夫模型(MEMMS),条件随机场(CRF)
BILSTM-CRF模型的结构
1 . 句中转化为字词向量序列,字词向量可以预训练好或随机初始化,在模型训练中还可以再训练
2 . 经BiLSTM特征提取,输出是每个单词对应的预测标签
3 . 经CRF层约束,输出最优标签序列
步骤1:Word embedding
目的:使得文字在神经网络中实现一一对应,一个萝卜一个坑,联想数学中的函数
流程:
步骤2:BiLSTM Extracting text features(BiLSTM提取文本特征)
原理:门机制
作用:LSTM引入了一个门记忆机制,使用记忆细胞来捕获长距离依赖
LSTM在每个t时刻都选择性地改变记忆,从而有效解决RNN的长距离依赖
f-forget(遗忘门)
i-input(输入门)
o-output(输出门)
c-cell(由f和i组成)
h -hidden(隐状态)
这些门由sigmoid函数表达,输出值为1(保留)和0(舍弃)
关于sigmoid的推导详见
方法流程:
LSTM通过记忆单元来解决长距离依赖问题,但LSTM是一种前向传播算法,因此对命名实体识别而言,需要反向传播的LSTM进行学习,即BiLSTM:
步骤3: Get P Matrix(得到P矩阵)
方法流程
发射分数,是BiLSTM层的输出。用 X i y j 代表发射分数,i 是单词的位置索引,y j 是类别的索引
步骤4:CRF层的引入
加CRF的原因
NER是一类特殊的任务,因为表征标签的可解释序列“语法”强加了几个硬约束, 可能的约束有:
转移分数(Transition score)
转移分数,来自CRF层可以学到的转移矩阵 。
转移矩阵是BiLSTM -CRF模型的一个参数。可随机初始化转移矩阵的分数,然后在训练中更新
步骤5:最终结果的计算 (Calculation of the final result)
CRF考虑前后标记依赖约束,综合使用标记状态转换概率作为
评分:
上式意为对整个序列x,整个序列标注的打分等于各个位置的
打分之和,打分为2部分:
1) 前者由BiLSTM输出的pi决定
2)后者由CRF转移矩阵A决定,其中Ayi-1,yi表示从第yi-1个
标签到第yi个标签的转移得分
路径分数
Path score
Si = EmissionScore + TransitionScore
CRF损失函数
CRF损失函数由两部分组成,真实路径的分数和所有路径的总分数。既然是最优化的考虑,那么真实路径的分数就是所有路径中分数最高的那条路径。
当前节点的得分
类似维特比解码算法,这里每个节点记录之前所有节点到当前节点的路径总和,最后一步即可得到所有路径的总和。
所有路径得分
每个节点记录之前所有节点到当前节点的路径得分总和,那么最后一步就可以得到所有路径得分的总和
对最优选择的预测
预测采用维特比解码,每个节点记录之前所有节点到当前节点的最优路径,最后一步通过回溯即可得一条最优的路径
模型的效果
提出了一系列基于神经网络的序列标注模型:LSTM、BI-LSTM、LSTM-CRF、BILSTM-CRF
是命名实体识别深度学习时代的开端
使模型更简洁高效,鲁棒性强(鲁棒是Robust的音译,也就是健壮和强壮的意思。它也是在异常和危险情况下系统生存的能力。)
相对于HMM(隐马尔可夫模型)来说,
CRF更加强大:CRF 可以为任何HMM 能够建模的对象建模,甚至更多
CRF可以定义更加广泛的特征集
而HMM在本质上必然是局部的,而CRF就可以使用更加全局的特征
CRF可以有任意权重值,HMM的概率值必须满足特定的约束