1、1CRF+工具包使用介绍工具包使用介绍2工具简介工具简介lCRF+是一个可用于分词/连续数据标注的简单、可定制并且开源的条件随机场(CRFs)工具。lCRF+是为了通用目的设计定制,并将被用于自然语言信息处理(NLP)的各个方面,诸如命名实体识别、信息提取和语块分析。3工具简介工具简介l工具包地址:http:/chasen.org/taku/software/CRF+/#featuresl工具包包括Linux环境下的源代码和Windows下的可执行程序。l使用C+编写。lCRF+-0.542010-05-15 lCRF+-0.53(源码)2009-05-06 4工具的使用方法工具的使用方法l1
2、)安装l编译环境编译环境lMicrosoft Visual Studio C+20105工具的使用方法工具的使用方法l2)使用l(2.1)训练和测试文件的格式6工具的使用方法工具的使用方法l以BaseNP(基本名词短语识别)为例l训练例句如下lConfidence in the pound is widely expected to take another sharp dive if trade figures for September,due for release tomorrow,fail to show a substantial improvement from July and
3、 August s near-record deficits.l测试例句如下lRockwell International Corp.s Tulsa unit said it signed a tentative agreement extending its contract with Boeing Co.to provide structural parts for Boeing s 747 jetliners.7工具的使用方法工具的使用方法l训练和测试文件必须包含多个tokens,每个token包含多个列。token的定义可根据具体的任务,如词、词性等。每个token必须写在一行,且各列
4、之间用空格或制表格间隔。l一个token的序列可构成一个sentence,sentence之间用一个空行间隔。l最后一列是CRF用于训练的正确的标注形式。8工具的使用方法工具的使用方法lBaseNP训练文件格式9工具的使用方法工具的使用方法lBaseNP测试文件格式l特别的,sentence间用一空行间隔。l例子每个token包含3列,分别为词本身、词性和BaseNP标记(B、I、O)。l注意:如果每一个token的列数不一致,系统将不能正确运行。10工具的使用方法工具的使用方法l(2.2)准备特征模板使用该CRFs工具的用户必须自己确定特征模板。a.基本模板和宏基本模板和宏模板文件中的每一行
5、代表一个template。每一个template中,专门的宏%xrow,col用于确定输入数据中的一个token。row用于确定与当前的token的相对行数。col用于确定绝对行数。11工具的使用方法工具的使用方法lBaseNP模板文件格式b.模板类型模板类型lU模板lB模板12工具的使用方法工具的使用方法l第一种是Unigram template:第一个字符是U,这是用于描述unigram feature的模板。l当你给出一个模板U00:%x-2,0,CRF会自动的生成一个特征函数集合(func1.funcN),如:func1=if(output=B and feature=U00:Tuls
6、a)return 1 else return 0func2=if(output=I and feature=U00:Tulsa)return 1 else return 0func3=if(output=O and feature=U00:Tulsa)return 1 else return 0.funcX1=if(output=B and feature=U01:s)return 1 else return 0funcX2=if(output=I and feature=U01:s)return 1 else return 0funcX3=if(output=O and feature=U0
7、1:s)return 1 else return 0.l一个模型生成的特征函数的个数总数为L*N,其中L是输出的类别数,N是根据给定的template扩展出的unique feature的数目。13工具的使用方法工具的使用方法l如已知下面的输入数据:Input:DataRockwellNNPBInternational NNPICorp.NNPI CURRENT TOKEN sPOSBTulsaNNPI特征模板形式为:template expanded featureU00:%x2,0TulsaU01:%x1,0sU02:%x0,0Corp.U03:%x-1,0InternationalU04
8、:%x-2,0RockwellU05:%x1,0/%x0,0s/Corp.U06:%x0,0/%x-1,0Corp./International14工具的使用方法工具的使用方法l第二种类型Bigram template:第一个字符是Bl使用这个模板,系统将自动产生当前输出token与前一个输出token的组合(Bigram)。产生的可区分的特征的总数是L*L*N,其中L是输出类别数,N是这个模板产生的unique features数。loutput=B last_output=I and feature=Bl区别于Unigram中的 U05:%x1,0/%x0,0 s/Corp.l当类别数很大
9、的时候,这种类型会产生许多可区分的特征,这将会导致训练和测试的效率都很低下。l只使用Bigram template B。这意味着前一个output token和current token将组合成bigram features。15工具的使用方法工具的使用方法lC.使用标识符区分相对位置使用标识符区分相对位置若区分token的相对位置时,需要在模板中使用标识符。比如在下面的例子中,宏“%x-2,1”和“%x1,1”都代表“DT”,但是它们又是不同的“DT“。TheDT BpenNN IisVB B ChunkingSEG JapaneseNEl日语命名实体识别因为标记的个数格外的多,所以表现非常
10、不理想l可见标记个数对CRF+工具效率有很大的影响。28实验实验l实验二l改变一些参数处理BaseNP问题,进行封闭测试和开放测试。29实验二实验二l实验结果BaseNP开放测试准确率封闭测试准确率全部默认94.10%100%-a CRF-L1其他默认93.37%96.78%-c 100其他默认93.97%100%-c 10000其他默认94.22%100%-f 3其他默认93.68%99.89%-f 5其他默认93.18%99.47%30实验二实验二l实验结论l在同等的实验条件下,CRF-L2算法表现优于CRF-L1算法。l在同等的实验条件下,随着-c参数的逐渐增大,拟合程度变高了,开放测试集上的表现也逐渐变好。l在同等的实验条件下,随着-f参数的逐渐增大,选取的属性个数变少了,在开放测试集和封闭测试集上都表现都变差了。31谢谢!谢谢!