关于条件随机场CRF的学习笔记

背景

需要完成NER类似工作,因此需要搭建网络+CRF。目前网络模型采用pytorch进行搭建。
对于CRF除了要求输出loss和解码最优结果,还需要边缘概率以及n-best 输出

关于CRF原理

面向神经网络的公式推导

CRF 详细推导、验证实例
个人理解为:通过动态规划(程序实现),计算出路径得分,以此算出Loss和解码出最优的路径。

边缘概率

【西湖大学 张岳老师|自然语言处理在线课程 第八章 - 7节】CRF对边缘概率的计算
看了很多网上的公式推导,但是看了张岳老师的这个视频有了更直观简洁的理解。

n-best输出

暂无

代码/库

1. pytorch-crf

适配pytorch的CRF库,可类似于一层网络直接调用。(文档)

2. CRF++

基于C++的CRF库,功能强大。(CRF++: Yet Another CRF toolkit)

3. python-crfsuite

(CRFsuite文档)

4. NCRF++

目前唯一一个基于python带n-best的代码(github:NCRFpp)


To be continued...

posted @ 2023-02-15 11:07  类囊体薄膜  阅读(72)  评论(0编辑  收藏  举报