网站大量收购独家精品文档,联系QQ:2885784924

CRF工具包使用简介.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CRF工具包使用简介

CRF工具包使用简介 最近我刚开始使用CRF工具包,里边的具体细节也没有研究明白,但论坛上有人询问工具包的使用,我就将它贴出来一下。希望和大家一起讨论讨论。 另外需要说明的一点是,下面的内容是从crf工具包网页内容翻译的,可能理解上有偏差,翻译也有问题。所以还请大家指正。英文原文请大家参考网页。 ---------------------------------------- CRFs工具包 工具包地址:/~taku/software/CRF++/#features,工具包包括Linux环境下的源代码和Windows下的可执行程序。用C++编写。 使用方法: (1)安装 编译器要求:C++编译器(gcc 3.0或更高) 命令: % ./configure % make % su # make install 注:只有拥有root帐号的用户才能成功安装。 (2)使用 (2.1)训练和测试文件的格式 训练和测试文件必须包含多个tokens,每个token包含多个列。token的定义可根据具体的任务,如词、词性等。每个token必须写在一行,且各列之间用空格或制表格间隔。一个token的序列可构成一个sentence,sentence之间用一个空行间隔。 最后一列是CRF用于训练的正确的标注形式。 例如: He ?? ??? PRP?? B-NP reckons VBZ?? B-VP the ?? DT B-NP current JJ I-NP account NN I-NP deficit NN I-NP will ?? MD B-VP narrow VB I-VP to ?? ??? TO B-PP only ?? RB B-NP # ?? ?? # I-NP 1.8 ?? CD I-NP billion CD I-NP in ?? ??? IN B-PP September NNP?? B-NP . ?? ?? . O He ?? ??? PRP?? B-NP reckons VBZ?? B-VP .. 上面的例子每个token包含3列,分别为词本身、词性和Chunk标记。 注意:如果每一个token的列数不一致,系统将不能正确运行。 (2.2)准备特征模板 使用该CRFs工具的用户必须自己确定特征模板。 基本模板和宏( 模板文件中的每一行代表一个template。每一个template中,专门的宏%x[row,col]用于确定输入数据中的一个token。row用于确定与当前的token的相对行数。col用于确定绝对行数。 如已知下面的输入数据: Input: Data He ?? ??? PRP?? B-NP reckons VBZ?? B-VP the ?? DT B-NP 当前的token current JJ I-NP account NN I-NP 特征模板形式为: templateexpanded feature %x[0,0]the %x[0,1]DT %x[-1,0]rokens %x[-2,1]PRP %x[0,0]/%x[0,1]the/DT ABC%x[0,1]123ABCthe123 模板类型( 有两种模板类型,它们可由template的第一个字符确定。 第一种是Unigram template:第一个字符是U 这是用于描述unigram feature的模板。当你给出一个模板U01:%x[0,1],CRF会自动的生成一个特征函数集合(func1 ... funcN),如: func1 = if (output = B-NP and feature=U01:DT) return 1 else return 0 func2 = if (output = I-NP and feature=U01:DT) return 1 else return 0 func3 = if (output = O and feature=U01:DT) return 1?? else return 0 .... funcXX = if (output = B-NP and feature=U01:NN) return 1?? else return 0 funcXY = if (output = O and feature=U01:NN) return 1?? else return 0 ... 一个模型生成的特征函数的个数总数为L*N,其中L是输出的类别数,N是根据给定的template扩展出的unique string的数目。 第二种类型Bigram template:第一个字符是B 这个模板用于描述bigram features。使用这个模板,系统将自动产生当前输出token与前一个输出token(bigram)的组

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档