nlp基础—12.LSTM-CRF模型介绍
本文研究了序列标注问题,通过将LSTM和CRF模型结合,提出了BiLSTM-CRF模型。该模型利用双向LSTM捕捉输入的过去和未来特征,并通过CRF层利用句子级的标签信息,提升了标注效果。实验结果表明,BiLSTM-CRF模型在POS和NER数据集上表现优异,且相较于传统模型,具有更高的泛化能力。
文章目录
引言
- 一、模型阐述
-
- 该LSTM方法基于时间序列数据的深度学习框架
-
- 该双向LSTM方法通过前后文信息的双向捕捉提升模型性能
-
- 该CRF模型则通过马尔可夫随机场的结构实现精确的序列标注
-
- LSTM与CRF的结合实现了在序列数据上的高效建模
-
- 双向LSTM与CRF的融合进一步提升了模型的预测精度
引言
本文涉及序列标注问题,所采用的模型是将现有双向LSTM和CRF模型进行组合,其中一种为双向LSTM结构,另一种为CRF模型。本节将详细阐述如何将LSTM与CRF结合用于sequence tagging,并评估其效果。
一、模型介绍
本文涉及的模型种类丰富,包括LSTM、BI-LSTM、CRF、LSTM+CRF以及BI-LSTM+CRF。其中,BiLSTM-CRF模型主要通过双向LSTM结构有效地捕捉到了输入序列的过去和未来特征信息。同时,该模型通过CRF层实现了对句子级别的标注信息的利用。在POS和NER数据集上的实验结果表明,该模型表现优异。此外,与现有研究相比,该模型具有更高的健壮性,并在词向量数量上有所减少。
1. LSTM模型
在实际建模过程中,RNN模型常常会遇到梯度爆炸或梯度消失的问题,因此,我们通常建议采用长短期记忆单元或门控循环单元来替代基本的RNN循环结构。这些门控机制通过遗忘或保留特定信息来增强模型对长期依赖关系的捕捉能力,同时有效地缓解了梯度爆炸或梯度消失的问题。在循环网络中,每个隐藏层包含多个循环单元,而前一层的隐藏层向量 h_{t-1} 则记录了该层所有神经元在t-1步的激活值。在标准循环网络中,h_{t-1}会被通过一个仿射变换并加到下一层的输入中,即W \cdot h_{t-1} + U \cdot X_t。然而,由于反复使用相同的权重矩阵W和U,这个简单的计算过程容易导致梯度爆炸或梯度消失。因此,门控机制被引入,以控制前一时间步隐藏层保留的信息量以及当前输入的信息量,并选择性地输出部分激活值作为该单元的输出。门控结构之所以得名,是因为使用sigmoid函数作为全连接神经网络层的激活函数,能够输出0到1之间的数值,这类似于一个门的开关。当sigmoid输出为1时,信息能够完全通过;当输出为0时,则完全阻断信息流动。这种机制的功能就类似于控制信息的流动,从而有效地调节信息的传递。

LSTM具有三个控制机制,分别为遗忘门、输入门和输出门。遗忘门的作用是使循环神经网络舍弃未曾使用的信息,决定需要保留多少信息。

输入门神经元控制哪些信息进入当前时刻的状态,包括了之前保留的信息以及当前输入具有意义的信息。

基于'遗忘门'和'输入门'的机制,LSTM网络能够有效识别并选择遗忘或保留的信息。进而更新当前时刻的状态变量Ct,输入信号与输入门向量的对应元素相乘表示当前时刻需要添加到Ct的记忆,上一时间步的状态变量Ct-1与遗忘门ft的对应元素相乘则表示了需要保留或遗忘的历史信息的具体数值。将这两部分的计算结果相加,即可得到当前时刻的状态变量Ct。

LSTM在接收到当前时刻的状态向量Ct后,需要生成当前时刻的输出信息,这一过程由“输出门”来负责。与基本RNN不同,LSTM的状态向量Ct在输出时不会直接使用该状态向量。在基本RNN网络中,状态向量和输出向量是同一个对象,即状态向量C和输出向量O实际上是同一个向量。而在LSTM网络中,状态向量并未全部输出,而是通过“输出门” selectively输出部分信息。

LSTM计算公式总结如下:

2. BI-LSTM(双向LSTM)模型
在词性标注下游任务中,例如,我们既考量上文信息,又考量下文信息,此时就需要采用双向LSTM。双向LSTM可以理解为同时训练两个LSTM模型,这两个模型的方向和参数各不相同。即,当前时刻的h_t是将两个方向的LSTM输出结果进行拼接。通过反向传播,我们捕获了当前时刻t的过去和未来特征,并训练了双向LSTM网络。

3.CRF模型
CRF模型是基于HMM模型发展而来的。在HMM模型中,假设隐藏的马尔科夫链在任意时刻t的状态仅依赖于其前一时刻的状态,同时与其他时刻的状态及观测无关,也不受时刻t的影响。相比之下,CRF模型不仅考虑前一时刻的状态,还考虑其前面和后面的多个状态。通常情况下,CRF会具有更好的标记性能。

4. LSTM+CRF模型

将LSTM和CRF进行融合,能够有效捕获输入序列中的历史特征以及句子级别的标签信息。CRF层通过状态转移矩阵[A]_{i,j},实现了基于前后文信息的标签预测,这与双向LSTM的机制具有相似之处。LSTM网络输出的状态分数由f_\theta([x]_1^T)表示,其中[x]_1^T代表输入序列,f_\theta为参数化函数,输出第t个词第i个标签的得分。随后将这些分数传递至CRF层,该层通过转换矩阵[A]_{i,j}评估状态转移的可能性,其特征与位置无关。整个模型的参数集合包括LSTM和CRF层的所有参数。

段落1
段落2

5. BiLSTM+CRF模型
与LSTM-CRF模型类似,唯一的区别在于将LSTM网络替换为BiLSTM网络,从而能够识别序列中的前后文信息。那么,既然双向LSTM网络已经能够捕捉到序列中的前后信息,为何还需要引入CRF模型呢?BiLSTM网络能够捕捉到内部状态信息,但CRF模型可以直接利用标签信息,从而能够提升模型的训练效率。

如果能为您带来便利,麻烦您点赞关注,这对我来说非常重视!!!如果希望互关,请您在评论区或者私信中告知我。

