《CRF++工具包使用介绍》由会员分享,可在线阅读,更多相关《CRF++工具包使用介绍(31页珍藏版)》请在金锄头文库上搜索。
1、CRF+工具包使用介绍工具包使用介绍1工具简介工具简介lCRF+是一个可用于分词/连续数据标注的简单、可定制并且开源的条件随机场(CRFs)工具。lCRF+是为了通用目的设计定制,并将被用于自然语言信息处理(NLP)的各个方面,诸如命名实体识别、信息提取和语块分析。2工具简介工具简介l工具包地址:http:/chasen.org/taku/software/CRF+/#featuresl工具包包括Linux环境下的源代码和Windows下的可执行程序。l使用C+编写。lCRF+-0.542010-05-15lCRF+-0.53(源码)2009-05-063工具的使用方法工具的使用方法l1)安装
2、l编译环境编译环境lMicrosoftVisualStudioC+20104工具的使用方法工具的使用方法l2)使用l(2.1)训练和测试文件的格式5工具的使用方法工具的使用方法l以BaseNP(基本名词短语识别)为例l训练例句如下lConfidenceinthepoundiswidelyexpectedtotakeanothersharpdiveiftradefiguresforSeptember,dueforreleasetomorrow,failtoshowasubstantialimprovementfromJulyandAugustsnear-recorddeficits.l测试例句如
3、下lRockwellInternationalCorp.sTulsaunitsaiditsignedatentativeagreementextendingitscontractwithBoeingCo.toprovidestructuralpartsforBoeings747jetliners.6工具的使用方法工具的使用方法l训练和测试文件必须包含多个tokens,每个token包含多个列。token的定义可根据具体的任务,如词、词性等。每个token必须写在一行,且各列之间用空格或制表格间隔。l一个token的序列可构成一个sentence,sentence之间用一个空行间隔。l最后一列是
4、CRF用于训练的正确的标注形式。7工具的使用方法工具的使用方法lBaseNP训练文件格式8工具的使用方法工具的使用方法lBaseNP测试文件格式l特别的,sentence间用一空行间隔。l例子每个token包含3列,分别为词本身、词性和BaseNP标记(B、I、O)。l注意:如果每一个token的列数不一致,系统将不能正确运行。9工具的使用方法工具的使用方法l(2.2)准备特征模板使用该CRFs工具的用户必须自己确定特征模板。a.基本模板和宏基本模板和宏模板文件中的每一行代表一个template。每一个template中,专门的宏%xrow,col用于确定输入数据中的一个token。row用于
5、确定与当前的token的相对行数。col用于确定绝对行数。10工具的使用方法工具的使用方法lBaseNP模板文件格式b.模板类型模板类型lU模板lB模板11工具的使用方法工具的使用方法l第一种是Unigramtemplate:第一个字符是U,这是用于描述unigramfeature的模板。l当你给出一个模板U00:%x-2,0,CRF会自动的生成一个特征函数集合(func1.funcN),如:func1=if(output=Bandfeature=U00:Tulsa)return1elsereturn0func2=if(output=Iandfeature=U00:Tulsa)return1e
6、lsereturn0func3=if(output=Oandfeature=U00:Tulsa)return1elsereturn0.funcX1=if(output=Bandfeature=U01:s)return1elsereturn0funcX2=if(output=Iandfeature=U01:s)return1elsereturn0funcX3=if(output=Oandfeature=U01:s)return1elsereturn0.l一个模型生成的特征函数的个数总数为L*N,其中L是输出的类别数,N是根据给定的template扩展出的uniquefeature的数目。12工具
7、的使用方法工具的使用方法l如已知下面的输入数据:Input:DataRockwellNNPBInternational NNPICorp.NNPICURRENTTOKENsPOSBTulsaNNPI特征模板形式为:templateexpandedfeatureU00:%x2,0TulsaU01:%x1,0sU02:%x0,0Corp.U03:%x-1,0InternationalU04:%x-2,0RockwellU05:%x1,0/%x0,0s/Corp.U06:%x0,0/%x-1,0Corp./International13工具的使用方法工具的使用方法l第二种类型Bigramtempla
8、te:第一个字符是Bl使用这个模板,系统将自动产生当前输出token与前一个输出token的组合(Bigram)。产生的可区分的特征的总数是L*L*N,其中L是输出类别数,N是这个模板产生的uniquefeatures数。loutput=Blast_output=Iandfeature=Bl区别于Unigram中的 U05:%x1,0/%x0,0 s/Corp.l当类别数很大的时候,这种类型会产生许多可区分的特征,这将会导致训练和测试的效率都很低下。l只使用BigramtemplateB。这意味着前一个outputtoken和currenttoken将组合成bigramfeatures。14工
9、具的使用方法工具的使用方法lC.使用标识符区分相对位置使用标识符区分相对位置若区分token的相对位置时,需要在模板中使用标识符。比如在下面的例子中,宏“%x-2,1”和“%x1,1”都代表“DT”,但是它们又是不同的“DT“。TheDTBpenNNIisVBBChunkingSEGJapaneseNEl日语命名实体识别因为标记的个数格外的多,所以表现非常不理想l可见标记个数对CRF+工具效率有很大的影响。27实验实验l实验二l改变一些参数处理BaseNP问题,进行封闭测试和开放测试。28实验二实验二l实验结果BaseNP开放测试准确率封闭测试准确率全部默认94.10%100%-aCRF-L1其他默认93.37%96.78%-c100其他默认93.97%100%-c10000其他默认94.22%100%-f3其他默认93.68%99.89%-f5其他默认93.18%99.47%29实验二实验二l实验结论l在同等的实验条件下,CRF-L2算法表现优于CRF-L1算法。l在同等的实验条件下,随着-c参数的逐渐增大,拟合程度变高了,开放测试集上的表现也逐渐变好。l在同等的实验条件下,随着-f参数的逐渐增大,选取的属性个数变少了,在开放测试集和封闭测试集上都表现都变差了。30谢谢!谢谢!31