资 源 简 介
CRF4Fun:Another CRF toolkit for POS-tagging
这个CRF工具包是作为词性标注工具而编写的。
作者:lonelydancer
邮件: plhu@mtlab.hit.edu.cn
特别感谢gflfof,conghui,lemon,shanyu,yupeng。
没有你们的帮助我甚至不敢想象自己能写出一个初级的CRF。
再次感谢Taku Kudo,优美的实现CRF++使我对模型有了更深入的理解,同时深深折服其运用C++的能力。
使用LBFGS和Voted Perceptron两种方法进行训练。
a.数据格式
每个训练数据由两行组成,第一行是句子,第二行是句子对应的POS-tag,用"/"隔开。如下所示:
Mr. Vinken is chairman of Elsevier N.V. , the Dutch publishing group . $$$
N/N/V/N/PREP/N/N/INPUNC/DET/N/VBG/N/ENDPUNC/$$$
每个测试数据由两行组成,第一行是句子,第二行是句子的响应POS-tag,用"/"隔开。
b.特征
默认为词1-gram特征和边特征。
c.使用方法
1.compile
$ make
2.run
$ ./crf corpus/train.data test.data [LBFGS|VP]
d.实验结果
用corpus中train.data 400句训练,test.data 100句测试,特征模板用当前词和bigram特征
CRF++: precison = 0.82922
LBFGS: precison = 0.83055
VP: precsion = 0.84056
TODO:
1.融入英语词前缀,是否大小写特征,支持特征模板。
2.改为多线程