crf 工具使用 CRF++工具使用指南

CRF++工具使用指南――简介

这里简要介绍一下CRF++使用的命令格式、参数调整、模板制作的基本过程。

CRF++工具使用指南――工具/原料

CRF++

CRF++工具使用指南――方法/步骤

CRF++工具使用指南 1、

我下载的是CRF++0.58.zip的版本,解压。

doc文件夹:就是官方主页的内容。

example文件夹:有四个任务的训练数据、测试数据和模板文件。 sdk文件夹:CRF++的头文件和静态链接库。 crf_learn.exe:CRF++的训练程序。 crf_test.exe:CRF++的预测程序 libcrfpp.dll:训练程序和预测程序需要使用的静态链接库。

实际上,需要使用的就是crf_learn.exe,crf_test.exe和libcrfpp.dll,这三个文件。

可以先拿example中的某个例子,做一下测试。例如:example中chunking文件夹,其中原有4个文件:exec.sh;template;test.data;train.data。

template为特征模版;test.data为测试数据;train.data为训练数据。关于它们具体格式和内容,待会详细介绍。

可以选择example里的某个例子做测试,比如选chunking。将crf_learn.exe;crf_test.exe;libcrfpp.dll三个文件复制到到,含有exec.sh;template;test.data;train.data的文件夹(chunking)里。

cmd

cd进入该文件夹

crf_learn template train.data model 训练数据

crf_test -m model test.data >output.txt 测试数据

conlleval.pl < output.txt 评估效果


CRF++工具使用指南 2、

训练

命令行:

% crf_learn template train.data model

这个训练过程的时间、迭代次数等信息会输出到控制台上(感觉上是crf_learn程序的输出信息到标准输出流上了),如果想保存这些信息,我们可以将这些标准输出流到文件上,命令格式如下:

% crf_learn template_file train_filemodel_file >> train_info_file

有四个主要的参数可以调整:

-a CRF-L2 or CRF-L1

规范化算法选择。默认是CRF-L2。一般来说L2算法效果要比L1算法稍微好一点,虽然L1算法中非零特征的数值要比L2中大幅度的小。

-c float

这个参数设置CRF的hyper-parameter。c的数值越大,CRF拟合训练数据的程度越高。这个参数可以调整过度拟合和不拟合之间的平衡度。这个参数可以通过交叉验证等方法寻找较优的参数。

-f NUM

这个参数设置特征的cut-off threshold。CRF++使用训练数据中至少NUM次出现的特征。默认值为1。当使用CRF++到大规模数据时,只出现一次的特征可能会有几百万,这个选项就会在这样的情况下起到作用。

-p NUM

如果电脑有多个CPU,那么那么可以通过多线程提升训练速度。NUM是线程数量。

带两个参数的命令行例子:

% crf_learn -f 3 -c 1.5 template_filetrain_file model_file


CRF++工具使用指南 3、

测试

命令行:

% crf_test -m model test.data

有两个参数-v和-n都是显示一些信息的,-v可以显示预测标签的概率值,-n可以显示不同可能序列的概率值,对于准确率,召回率,运行效率,没有影响,这里不说明了。

与crf_learn类似,输出的结果放到了标准输出流上,而这个输出结果是最重要的预测结果信息(测试文件的内容+预测标注),同样可以使用重定向,将结果保存下来,命令行如下。

% crf_test -m model_file test_files >result_file


CRF++工具使用指南 4、

评估

若训练过程:% crf_test -m model test.data > output.txt

训练的结果在output.txt里。评估的就是这个文件,即待预测标签与预测标签的对比。

%conlleval.pl < output.txt

.pl后缀为Perl文件,所以需要安装Perl

conlleval.pl为http://www.cnts.ua.ac.be/conll2000/chunking/conlleval.txt将这个贴到txt,然后重命名为conlleval。我当时这么做的。

特别注意:output.txt在CRF++输出中空格为TAB键,需要全部替换为真正空格键。conlleval.pl识别的是空格键。


CRF++工具使用指南 5、

train.data和test.data的格式

我做的实验关于中文。

每行的格式为:分词后的词词性标注 标签

中间是空格隔开;空行表示句子的边界;分词后的词和词性标注是NLPIR(原ICTCLAS)生成的结果;标签O表示不是目标值,PLACE表示目标值,若一个词被分开了,则B-PALCE为第一个词,I-PLACE为接着的词

一定要严格按格式要求来,否则会报错。

另外,标签不能全部一样,否则会报这么错误:

The line search routine mcsrch failed:error code:0

routine stops with unexpected error

CRF_L2 execute error

下面是一个训练样本的例子:(参考下图)

训练文件由若干个句子组成(可以理解为若干个训练样例),不同句子之间通过换行符分隔,上图中显示出的有两个句子。每个句子可以有若干组标签,最后一组标签是标注,上图中有三列,即第一列和第二列都是已知的数据,第三列是要预测的标注,以上面例子为例是,根据第一列的词语和和第二列的词性,预测第三列的标注。


CRF++工具使用指南 6、

template格式

a) 特征选取的行是相对的,列是绝对的,一般选取相对行前后m行,选取n-1列(假设语料总共有n列),特征表示方法为:%x[行,列],行列的初始位置都为0。例如:

i. 以前面语料为例

“ Sw N

北 Bns B-LOC

京 Mns I-LOC

市 Ens I-LOC

首 Bn N

假设当前行为“京”字这一行,那么特征可以这样选取:(如下图)

b) 模板制作:模板分为两类:Unigram和Bigram。

其中Unigram/Bigram是指输出token的Unigram/Bigrams,而不是特征。

c) 以前面示例中的特征为特征,制作为Unigram模板如下:

#Unigram

U00:%x[-2,0]

U01:%x[-1,0]

U02:%x[0,0]

U03:%x[1,0]

U04:%x[2,0]

U05:%x[-2,1]

crf 工具使用 CRF++工具使用指南

U06:%x[-1,1]

U07:%x[0,1]

U08:%x[1,1]

U09:%x[2,1]

U10:%x[-1,0]/%x[0,0]

U11:%x[0,0]/%x[1,0]

U12:%x[-2,1]/%x[-1,1]

U13:%x[-1,1]/%x[0,1]

U14:%x[0,1]/%x[1,1]

U15:%x[1,1]/%x[2,1]

U16:%x[-2,1]/%x[-1,1]/%x[0,1]

U17:%x[-1,1]/%x[0,1]/%x[1,1]

U18:%x[0,1]/%x[1,1]/%x[2,1]

说明:

i. 其中#开头的行不起作为,为注释;

ii. 行与行之间可以有空行;

iii.Unigram的特征前使用字母U,而Bigram的特征前使用字母B。后面的数字用于区分特征,当然这些数字不是一定要连续。


CRF++工具使用指南 7、

总结

命令行(命令行格式,参数,重定向)

调参数(一般也就调训练过程的c值)

标注集(这个很重要,研究相关)

模板文件(这个也很重要,研究相关)

模板文件的Unigram feature和 Bigram feature,前面也说了,这里指的是output的一元/二元,这个应用的情况暂时还不是特别了解,还需要看一些paper可能才能知道。

  

爱华网本文地址 » http://www.aihuau.com/a/8104290103/233638.html

更多阅读

零之轨迹破解补丁破解版 下载使用指南 零之轨迹pc破解版

零之轨迹破解补丁(破解版)下载使用指南——简介《英雄传说:零之轨迹》是日本Falcom公司发售的一款基于3D引擎制作的角色扮演游戏。本作于2010年9月30日开始发售,游戏平台定位了PSP。与此同时,该作被官方定义为了《英雄传说:空之轨迹》系列

谷歌星空Google Sky Map使用指南 google sky map中文版

谷歌星空(Google Sky Map)是谷歌推出一款星空观测软件。它可以让你的Android手机成为一扇仰望夜空的窗口。它如同一个微型的天文望远镜,带你仰望星空,探寻宇宙的神秘之处。谷歌星空Google Sky Map使用指南——工具/原料谷歌星空(Google

U盾快速使用指南 itunes快速指南无响应

U盾快速使用指南一、PC平台兼容性1.1支持操作系统:Windows2000及以上各版本32位和64位Windows系统、Mac10.9及以上Mac系统。注:Mac系统暂不支持企业用户1.2 支持浏览器:IE6.0以上版本及各种以IE为内核的浏览器,safari、火狐(Firefo

HTC Diamond 使用指南 htc diamond 双系统

HTC Diamond 使用指南 前段时间在本版购买 结合使用情况 和版内的好友一起分享!!引用地址:http://www.xici.net/b799279/d87096430.htm      gengqi931 发表于:09-03-21 10:26繁体版说明书

声明:《crf 工具使用 CRF++工具使用指南》为网友怕黑的影子分享!如侵犯到您的合法权益请联系我们删除