基于BiLSTM+CRF的命名实体识别

一、命名实体识别问题的建模

命名实体识别是自然语言处理中的一项很基础的任务,是指从文本中识别出特定命名指向的词,比如人名、地名和组织机构名等。目前最常用,最成功的建模方法是将这一问题建模成序列标注问题。即对于输入序列 ,给出对应标签序列 。
标签体系是两类标签的组合,一类标签是命名实体所属的类别,最常用的有人名实体。标签体系是两类标签的组合,一类标签是命名实体所属的类别,最常用的有人名实体(PER),地名实体(LOC),组织名实体(ORG),一类是该词在命名实体的位置信息。位置信息最常用的标准有BIO标注体系和BIOES标注体系。BIO标注体系即将标签分为非命名实体(O),命名实体开头(B),命名实体内部(I)三类,而BIOES标注体系中多了两种标注类型,即命名实体结尾(E)和单个实体(S)。
命名实体识别有两种标注方案:第一种是以字为单位的标注方案,第二种是以词为单位的标注方案。分词的效果将很大影响以词语为单位的命名实体识别的效果。对于中文而言,命名实体识别任务更常用、更具研究价值和潜力的方法是以字为单位的标注方案
目前较成熟先进的中文命名实体识别模型是面向字符级的分布式表示,再经由深度神经网络模型训练,提取特征,最终通过条件随机场模型预测每个字符所属类别。

二、条件随机场(CRF)

条件随机场模型用于解决给定一组输入的随机变量的情况下,预测另一组输出随机变量的条件分布,该模型的前提假设是随机变量构成马尔科夫随机场。
线性链条件随机场模型是目前解决序列标注问题的最为经典的方法。具体来说,若 在这里插入图片描述为观测序列, 在这里插入图片描述为与观测序列一一对应的标注列,而条件随机场模型就是要构建两者之间的条件概率在这里插入图片描述
在这里插入图片描述

若在给定随机变量序列X的条件下,随机变量序列Y的条件概率分布在这里插入图片描述
满足马尔可夫性, 在这里插入图片描述也就是概率 只与序列x以及前后两个标签相关。则称为线性条件随机场。
该模型是解决序列标注问题的经典模型,因为该模型充分考虑了X对应的标签y,与前后文标注的关系。条件随机场实际上是定义在时序数据上的对数线性模型,具有表达长距离依赖性和交叠性特征的能力,能够较好地解决标注偏置等问题。很多工作都说明该模型对于命名实体识别技术有着很好的帮助。

三、 LSTM(长短期记忆网络)

3.1简单RNN

在这里插入图片描述x为当前状态下数据的输入, h表示接收到的上一个节点的输入。 y为当前节点状态下的输出,而 h’为传递到下一个节点的输出。 通过上图的公式可以看到,输出 h’ 与 x 和 h 的值都相关。 而 y 则常常使用 h’ 投入到一个线性层(主要是进行维度映射)然后使用softmax进行分类得到需要的数据。 对这里的y如何通过 h’ 计算得到往往看具体模型的使用方式。
在这里插入图片描述

3.2 LSTM

长短期记忆(Long short-term memory, LSTM)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。LSTM结构(图右)和普通RNN的主要输入输出区别如下所示。
在这里插入图片描述在这里插入图片描述
LSTM单元看起来和一个普通单元一样,只是它的状态被分成两个向量:h(t)和c(t),可以将h(t)看做短期状态,c(t)看作长期状态。长短期记忆网络的思路很简单,相较原始RNN结构比,原始RNN隐藏层只有一个状态h,这个状态对短期的输入敏感而对长期的输入不敏感。因而LSTM单元中,增加一个状态c,用这个状态来保存长期状态。
LSTM主要有三个阶段:
忘记阶段:这个阶段主要是对上一个节点传进来的输入进行选择性忘记。简单来说就是会 “忘记不重要的,记住重要的”。具体来说是计算得到f_t,来控制上一个状态c^(t-1)来确定哪些需要留,哪些需要忘。
选择记忆阶段:这个阶段将这个阶段的输入有选择性地进行“记忆”。主要是会对输入xt进行选择记忆。哪些重要则着重记录下来,哪些不重要,则少记一些。这个选择记忆门由it来进行控制
输出阶段:这个阶段将决定哪些将会被当成当前状态的输出。主要由ot来进行控制,并对上一阶段ot进行放缩。
总而言之:LSTM的内部结构。通过门控状态来控制传输状态,记住需要长时间记忆的,忘记不重要的信息;而不像普通的RNN那样只能够“呆萌”地仅有一种记忆叠加方式。对很多需要“长期记忆”的任务来说,尤其好用。

四、 BiLSTM(双向长短期记忆网络)

前向的LSTM与后向的LSTM结合成BiLSTM,BLSTM 可以获取到整个序列的信息,在命名实体识别任务中可以充分利用输入序列的上下文信息,从而可以更加准确的判断一个词语是否为一个实体。在处理序列数据时,BLSTM 比一般的 LSTM增加了一个反向计算的过程,此过程可以利用到序列的下文信息,最后把正向和反向两个方向计算的值同时输出到输出层,这样通过两个方向获取到了一个序列的全部信息。
在这里插入图片描述在这里插入图片描述

五、 BiLSTM+CRF

常用的序列标注模块的方法是条件随机场(CRF)模型或采用连接层用softmax函数激活直接分类两种方法。CRF将输出层面的关联性分离出来,在预测标签时可以充分考虑上下文关联,更重要的是CRF的求解维特比算法是利用动态规划的方法求出概率最大的路径,这与命名实体识别的任务契合的更好,可以避免结果中出现“B-LOC”标签后接“I-ORG”标签这种非法序列的问题。因而序列标注模块选择CRF模型。
CRF层可以通过训练语料学习得到一些基于全局的约束信息,比如句子中识别出的实体标签的起始应当是“B-”而不是“I-”;不同类的标签不会相互连接,识别出的人名、地名、组织名标签不可能混搭,从而能够识别出准确的命名实体。
输入的序列是 在这里插入图片描述,经过分布式表和BiLSTM模块后输出的概率矩阵为P_(n*k)其中k是标签的个数(例如在BIO标签系统内识别人名、地名、组织名,标签的个数为7。P_(i,j)指x_i被标记为第j个标签的概率。A_(i,j)代表概率转移矩阵中第i个标签转移到第j个标签的概率。
对于将要输出的标签序列在这里插入图片描述 ,定义路径得分公式
在这里插入图片描述

CRF模型通过对输出标签二元组进行建模,使用动态规划算法找出得分最高的路径作为最优路径y^*进行序列标注。整体基于字符的BiSLTM-CRF中文命名实体识别模型框架如图 :

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值