CRF++

对CRF++软件包的具体修改如下:

1、crl_learn 增加了一个新算法参数,mmap。使用该参数后,会在磁盘上生成两个文件
model.features, model.train

2、crl_learn 增加了一个操作参数, -M
注意是大写。此时crl_learn会从磁盘上读取train的数据,计算alpha,在函数crf_train中


主要的改进:

1、读取数据与实际训练分开,内存降低到原来的1/2
2、采用内存映射文件,理论上原来占1.2G的训练任务可以降低到100M一下(分区计算)
3、加入节点池,系统记录train中用到的最长的tagger,直接分配node_**

TODO:
1、
增加的新的crf_train函数,没有保存alpha值的功能(当然也没有直接保存到model文件的功能。实际上,我们已经完成了保存alpha值的功能,公开的版本没有加入,可以视为我们给使用这个版本CRF++的学生的一道编程作业。),这个需要你自己加,不然白算了:-)
2、在计算过程中最小化当前窗口,可以显著的降低内存消耗(MMAP),但是,如果将train数据进行分区,还可以将内存占用降低到原来的1/10
3  目前的代码仅在win32+vs2003上测试通过,Linux上的情况不保证正常工作

 


下载 修改后的CRF++ 0.49


上一篇: 开放源码
下一篇: Sphinx