!
阅读大概需要5分钟 跟随小博主,每天进步一丢丢
来源:知乎
作者:南开大学 概率论与数理统计硕士 薛晓琳
整理:python遇见NLP
本文是2015年百度的三位作者提出的,主要研究了一系列基于LSTM模型上的序列标注任务的性能。模型包括LSTM,BI-LSTM,LSTM-CRF,BI-LSTM-CRF。序列标注任务分为三个:词性标注,分块和命名实体识别。结果显示BI-LSTM-CRF模型在三个任务上的准确度都很高。
这部分主要介绍了五种模型,LSTM,BI-LSTM,CRF,LSTM-CRF,BI-LSTM-CRF。这里我们就不一一详细赘述了。
以BI-LSTM-CRF为例,在每一步中,把训练数据分为不同的批次,一次处理一个批次。每一个批次包括一些句子,句子的多少由批次大小来决定。对于每一个批次:
和原始双向LSTM参数
训练过程的算法伪码如下:
for each epoch do
for each batch do
1) bidirectional LSTM-CRF model forward pass:
forward pass for forward state LSTM
forward pass for backward state LSTM
2) CRF layer forward and backward pass
3) bidirectional LSTM-CRF model backward pass:
backward pass for forward state LSTM
backward pass for backward state LSTM
4) update parameters
end for
end for
本次实验共使用了三组数据,下面是三组数据的基本情况:
从三组数据中抽取了两种特征,包括拼写特征和上下文特征。
在处理特征连接的时候,本文运用了一个小trick,即把拼写特征和上下文特征直接连到输出,这样可以加速训练速度,并且训练精度类似。
模型训练时的学习率设为0.1,隐含层的数量设置为300,最终模型的性能对比结果如下:
其中Conv-CRF模型是文章(Collobert et al.,2011)中的最好结果,Random和Senna是两种词嵌入的方式。
然后,为了证明模型的鲁棒性,作者又只对单词特征(去掉了拼写和上下文特征)进行了训练,结果如下:
本文的创新点在于首次使用BI-LSTM-CRF模型进行了序列标注任务,并且模型结果表现不错。并且作者证明了模型的鲁棒性,以及模型对词嵌入方法的依赖较少,在随机词嵌入的时候,模型的精度表现也不错。
文章地址链接:
arxiv.org/pdf/1508.0199
下载一:中文版!学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!后台回复【五件套】
下载二:南大模式识别PPT后台回复【南大模式识别】