前文已经定义好了 BiLSTM、Linear 层,最后还需要加一层 CRF,再结合维特比解码,输出目标值。

另外一个重要的步骤,就是定义损失函数,CRF 解码后的损失计算,不同于分类任务的交叉熵损失,还需要考虑到顺序的问题。

定义好以上内容后,就可以进行模型训练了。

Pytorch-crf文档:https://pytorch-crf.readthedocs.io/

模型结构

代码示例

1、CRF

三方包有改动,有微调~

内容不可见,请联系管理员开通权限。

2、模型训练

内容不可见,请联系管理员开通权限。

模型整体的计算量还是挺大的,一般是要用GPU跑的,但 Mac 上调不了 GPU,盲改容易报错,会给大家学习带来困扰,就索性不改了。

大家有 GPU 的设备的,可以自己尝试改一下,只需要记住一点,就是模型和数据保持一致就好。

本文链接:http://www.ichenhua.cn/edu/note/460

版权声明:本文为「陈华编程」原创课程讲义,请给与知识创作者起码的尊重,未经许可不得传播或转售!