Pocket CRF使用说明


1:如何在电脑上运行Pocket CRF

⑴:Windows环境

         下载Pocket CRF包,解压,同dos进入解压的目录。

         使用如下命令学习模型:crf_learn chunking_template chunking_train model

    在学习后,使用如下命令测试:crf_test model chunking_key result

    当你看到标注精度:0.936,的时候,说明工具包在你的电脑上正确运行。

⑵:Linux环境

    生成crf_test的命令:make

                        mv crf crf_test

修改main.cpp,将391行的 “returnmain_test(argc,argv);”修改为 “return main_learn(argc,argv);”

使用如下命令生成crf_learn:make

                            mvcrf crf_learn

训练和测试的命令如下:

./crf_learnchunking_template chunking_train model
./crf_test model chunking_key result

2:训练文件的格式

    训练数据在文件中排列成表格的样式。每一个表格包含一个标注的序列。使用输入的特征区分各个表格。表格中的每一行包含观察值,标注,他们之间用tab分隔符隔开。列的数量在整个文本中都是固定的,最后一列是标注序列。每行的每一项是一个观察值,用空格分开。线面是一个例子:

·        At     IN    IN DT JJ    O

·        the    DT    IN DT JJ NN B

·        same   JJ    IN DT JJ NN ,     I

·        time   NN    DT JJ NN , PRP    I

·        , ,     JJ NN , PRP VBZ   O

·        he     PRP   NN , PRP VBZ RB   B

·        remains VBZ   , PRP VBZ RB JJ   O

·        fairly RB    PRP VBZ RB JJ IN  O

·        pessimistic   JJ    VBZRB JJ IN DT   O

·        about  IN    RB JJ IN DT NN    O

·        the    DT    JJ IN DT NN IN    B

·        outlook NN    IN DT NN IN NNS   I

·        for    IN    DT NN IN NNS ,    O

·        imports NNS   NN IN NNS , VBN   B

·        , ,     IN NNS , VBN VBD  O

·        given  VBN   NNS , VBN VBD JJ  O

·        continued     VBD   ,VBN VBD JJ NN   B

·        high   JJ    VBN VBD JJ NN CC  I

·        consumer      NN    VBD JJ NN CC NN   I

·        and    CC    JJ NN CC NN NNS   I

·        capital NN    NN CC NN NNS NNS  I

·        goods  NNS   CC NN NNS NNS .   I

·        inflows NNS   NN NNS NNS . I

·        . .     NNS NNS .   O

·         

:如果你使用的时实数类型的特征,每个观察值就需要格式化为:FeatureStrin:FeatureValue,的形式;例子

·        At:1   IN:1  DT:1 IN:1 JJ:1    O

·        the:1  DT:1  DT:1 IN:1 JJ:1 NN:1     B

·        same:1 JJ:1  ,:1 DT:1 IN:1 JJ:1 NN:1 I

·        time:1 NN:1  ,:1 DT:1 JJ:1 NN:1 PRP:1 I

·        ,:1    ,:1   ,:1 JJ:1 NN:1 PRP:1VBZ:1      O

·        he:1   PRP:1 ,:1 NN:1 PRP:1 RB:1VBZ:1      B

·        remains:1     VBZ:1 ,:1JJ:1 PRP:1 RB:1 VBZ:1      O

3:特征模板的格式

特征模板文件的每一行包含一个模板。每一模板的设计需要符合如下格式:%x[i1,j1]%x[i2,j2]... %x[im,jm]%y[k1]%y[k2]...%y[0]

加粗的部分是自定义参数。x的第一个参数(i1,i2,…,im)是相对于当前词的相对位置,第二个参数(j1,j2,j3…,jm)是列的绝对位置。Y的索引(k1,k2,…km)必须按升序排列。

4:crf_learn 参数选项的意义

-h  显示帮助信息

-c  训练优先级,如果选项是“-a 0“,那么就是一个高斯平滑因素,对于较小的值,CRF趋向(underfit)从左侧符合训练实例,对于较高的值,CRF trend to overfit。

    “-a 2“:是一种被动入侵式的学习(训练)方式。

-f 频率阈值。出现的特征如果小于这个阈值,将被忽略。通常,设置“-f 1“来使用所有的特征值。当特征太多无法读入内存的时候,设置较高的值去除稀有特征。

-p 训练时使用的线程的数量。

-I 最大迭代次数,默认值10000

-e 训练精度

-d LBFGS的迭代深度。

-a 训练的算法。0:CRFs ;1:averaged perceptron;2:passive aggressive algorithm;3:L1 CRFs

-m crf训练的效率,0:把所有的数据保存在内存中,确保快速训练;1:将部分数据存放在磁盘上,减少内存使用。

5:crf_test参数含义

-h 帮助信息

-m 0 或者1,“-m 1“CRF将计算每个标记的边缘概率

-p 取值0或1,“-p1“crf将计算标注序列的概率

-n 显示n最佳输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值