双向LSTM-CRF模型用于序列标注

点击上方,选择星标置顶,每天给你送干货

阅读大概需要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为例,在每一步中,把训练数据分为不同的批次,一次处理一个批次。每一个批次包括一些句子,句子的多少由批次大小来决定。对于每一个批次:

  1. 首先运行BI-LSTM-CRF模型正向传递,该正向传递包括正向和反向状态的正向传递 LSTM,得到所有位置上所有标签的输出得分 

  2. 然后,我们对CRF层进行正向和反向传递,以计算网络输出和状态转换边缘的梯度

  3. 之后,我们可以将错误从输出反向传播到输入,其中包括LSTM正向和反向状态的反向传递

  4. 最后,我们更新网络参数,其中包括状态转移矩阵  和原始双向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

后台回复【南大模式识别】

说个正事哈

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方深度学习自然语言处理”,进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心

投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

推荐两个专辑给大家:

专辑 | 李宏毅人类语言处理2020笔记

专辑 | NLP论文解读

专辑 | 情感分析


整理不易,还望给个在看!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值