命名实体识别 notebook

it2022-05-05  256

1、方法步骤

先通过 CRF 进行分词在分词的基础上再利用双向 LSTM 模 型 ( bi-directional long short-term memoryBI-LSTM) 进行命名实体识别在进行中文分词的时候 使用 CRF 模型可以同时考虑词语出现的频率和上 下文语境,因此具备了较好的上下文融合能力同时 CRF 对于歧义词和未登录词也具有良好的识别效果。弥补神经网络特征学习不足的缺点。

2、CRF

P( Y | X) 为线性链条件随机场公式形式,随机变量X取值为x的条件下,随机变量Y取值为y的条件概率公式如下:

其中,t(k)是特征函数, 入(k)和 u(t) 为对应的权值,Z(x)为规范化银子,求和是在所有可能的输出序列上进行的。

CRF 是对于给定的输入序列 X, 通过事先统计得到的模型参数,计算或者预测指定 的输出随机变量组合 Y 的条件概率的无向图模型

且这些输出随机变量之间通过指示依赖关系的无向 边所连接。

在序列标注问题中如果把 X 作为输入的观测序列,Y作为对应的输出标记序列或者状态序列,对应的公式为:

称其为线性条件随机场

克服了隐马尔可夫模型由于输入独立性假设导致的上下文特征丢失,解决了最大熵隐马尔可夫模型带来的标记偏见问题。

crf并不是在每一个节点上进行归一化,而是在所有特征进行全局归一化,做到全局最优。

3、LSTM  and  Bi-LSTM

f(t) ,i(t), o(t) 分别为遗忘门,输入门和输出门。

单向的lstm只能获取句子的上文信息,对于句子后文的上下文信息无法获取。

双向lstm则可以解决这个问题,从向前和向后对句子建模,然后将向前和向后的结果相加起来作为下一层的输入。

 

4、具体方法

采用CRF和Bi-LSTM相融合的模型,将数据通过CRF进行分词预处理,然后每个次装成相应的id ,表示成one-hot词向量,再送给Bi-LSTM训练实现命名实体识别。

在双向lstm中,前向和后向隐藏层相加得到输出的层。

加入dropout在训练过程中随机删除某些隐藏层的节点,但,权值会被保留(下次工作可能又被激活),此方法可以提高模型的泛化能力,解决过拟合问题。

获得双向lstm的输出后进入softmax层,实际上就是一个分类问题了。

5、评价指标:

Tp 为模型识别到的相关的标签的个数,Fp为模型是识别到的不相关的标签的个数,Fn是为相关的标签,但是模型没有识别到的个数。

 


最新回复(0)