使用的软件和环境
ubuntu
crf++0.58
本文只讲CRF的应用,CRF的原理已经有足够多的人讲了。
1、基石-数据
机器学习到现在,最重要的莫过于数据了,模型就那么几个了,数据的规模、质量对模型的影响是非常非常大的。使用的数据为北京大学人民日报的语料,处理的格式如图所示,格式为“词 词性 可分标志”,其中可分标志分为,B为一个词的开始字,E为一个词的结束字,S为单独的字为一个词,句与句之间隔着一个换行.
训练语料下载:http://pan.baidu.com/s/1geZ1uaJ
测试语料下载:http://pan.baidu.com/s/1qYCy9Xy
2、 CRF模板
使用的软件为crf++,然后模型的训练,其实只需要我们设计模板,然后选择特征就可以啦,理论很高,使用很简单。模板的设计,一个师兄是参考论文,其实这个感觉就靠试了,加一个模板,会提取一些特征,用测试集测试一下,看看效果是否有提高。
3、CRF特征
设计好模板以后,运行crf++工具,就可以得到特征文件。
crf_learn template_file train_file model_file -t
可以设置参数,可查看crf++的使用参数,-t参数表明需要生成对应的特征文本文件,即如下图所示。
4、CRF预测
crf_test -m model_file test_files ...