crf的实现 keras_通俗易懂!BiLSTM上的CRF,用命名实体识别任务来解释CRF(二)

e4ff75184008cfb0fa59d19645346bc2.png
作者:CreateMoMo
编译:ronghuaiyang
原文链接:
【CRF】BiLSTM上的CRF,用命名实体识别任务来解释CRF(3)推理​mp.weixin.qq.com
200dd829cf0c53a523d68ea070c9f6c9.png

前一篇地址:

忆臻:通俗易懂!BiLSTM上的CRF,用命名实体识别任务来解释CRF​zhuanlan.zhihu.com
c8bf12705b323a93d0a341a8ac6288ef.png

2.6 为新的句子推理标签

在前面的章节中,我们学习了BiLSTM-CRF模型的结构和CRF损失函数的细节。你可以通过各种开源框架(Keras、Chainer、TensorFlow等)实现自己的BiLSTM-CRF模型。最重要的事情之一是模型的反向传播是在这些框架上自动计算的,因此你不需要自己实现反向传播来训练你的模型(即计算梯度和更新参数)。此外,一些框架已经实现了CRF层,因此将CRF层与你自己的模型结合起来非常容易,只需添加一行代码即可。

在本节中,我们将探索如何在模型准备好时在测试期间推断句子的标签。

步骤1:BiLSTM-CRF模型的Emission和transition得分

假设,我们有一个包含三个单词的句子

此外,我们已经从BiLSTM模型得到了Emission分数,从下面的CRF层得到了transition分数:

ba40f04d97a8a5e36734fb88d9ec3cfe.png

表示
被标记为
的得分。

0dcdb6936b610b1ae9a9afe5845fc0c8.png

是从标签i转换成标签j的得分。

步骤2:开始推理

如果你熟悉Viterbi算法,那么这一部分对你来说很容易。但如果你不熟悉,请不要担心。与前一节类似,我将逐步解释该算法。我们将从句子的左到右进行推理算法,如下图所示:

660bcfd4d92ce3fc089aaffe7f86d818.png

你会看到两个变量:obs和previous。previous存储前面步骤的最终结果。obs表示当前单词的信息。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值