最详细的条件随机场工具包CRF++的命令使用和解读

条件随机场工具包是日本奈良先端科学技术大学院的工藤拓所开发的CRF++。使用语言是C++

,目前人工智能比较热门,python使用率逐渐高了起来,但是在工业应用开发中还是java和C++使用的更多一些,因为java的垃圾回收机制,所以运行比python更快,故推荐大家如果是开发还是尽量使用java调用CRF的C++代码来训练模型。

下载CRF++0.58,直接解压。

解压之后得到CRF_learn.exe和CRF_test.exe.

第一步,准备训练的语料库my_cws_corpus.txt.tsv

第一列是待分词的句子,第二列是BEMS模型标注。

第二步是需要特征模板cws-template.txt

上面这个模板是用来做特征提取的。

                              CRF++模板索引方式

用户在该文件内使用指定语法组合输入模板即可产生各种特征。

该语法通过x[t,i]来索引语料表格中的单元,通过第一个下标t表示行号。t=0的行表示当前的输入变量,负数表示之前的变量。所以x[0,0]=和,x[0,-1]=品,x[1,0]=服。

特别的,x[0,0]表示当前字符一元语法特征,为了防止混淆特征CRF++还支持为每种特征编号。比如U01:%x[0,0]和U02:%x[1,0]的编号分别是U01和U02.转移特征用一个英文字符B表示。

第三步:有了语料和模板就可以训练条件随机场了。

CRF++命令为crf_learn,所支持的命令参数如下。

将CRF++.0.58解压之后的learn.exe和crf_test.exe以及libcrfpp.dll放到同一个文件夹下。并通过DOS命令进入此文件夹执行如下命令训练模板。

中文分词,训练命令如为:

crf_learn -f 3 -c 4.0 cws-template.txt my_cws_corpus.txt.tsv crfpp-cws-model -t

生成了二进制文件crfpp-cws-model,已经以文字编码格式的crfpp-cws-model.txt如下。

CRF++模型格式

上述文件的最后为特征函数的权重。

接下来利用CRF++模型格式来测试。

crf_test为测试命令,支持参数如下。

在CMD中执行测试命令

crf_test -m crfpp-cws-model -o cws-output.txt my_cws_corpus.txt.tsv

观察测试输出文件发现,测试结果第三列和我们认为标注的第二列结果相同,所以是正确的。

最后如果大家觉得不错,请点个赞吧。这是为持续更新的动力。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

种豆得瓜er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值