CRF整理笔记
CRF工具资源一栏
CRF++介绍
- 用法
下载目录内有一下文件
从example目录下文件开始入手
训练数据
1.seg 目录中,以上,训练数据格式中,第一列是单个字,第二列是特征,此处看起来是词性,第三列是词串标记,B代表词的首补,I代表紧跟的字
大 k B
阪 k I
市 k I
立 k I
大 k I
助 k B
教 k I
授 k I
、 y B
如上,词串为 大阪市立大/助教授/.。
分词中,常用的是另一种标签:BMES,B-begin, M-middle E-end S-single,格式如下 ,中间常用的特征依然是 词性
1 m E
迈 v B
向 v E
充 v B
满 v E
希 n B
望 n E
的 u S
新 a S
世 n B
训练脚本
..\..\crf_learn.exe -f 3 -c 4.0 template train.data model
..\..\crf_test.exe -m model test.data
..\..\crf_learn.exe -a MIRA -f 3 template train.data model
..\..\crf_test.exe -m model test.data
以上,训练crf-learn.exe, 识别为crf_test.exe, 这两个可执行文件已经在下载目录中。注意这两个文件同在目录一定要有dll文件。不然不能运行。
以上用到借相关参数,-a -f -m
-m 模型名称
-f 特征裁剪阈值(超过f次的才被使用)
-a 算法选择 一个是crf 一个是mira
-c float 这是crf拟合训练数据的参数 ,越大未必越好。
2.JapaneseNE 目录中,看起来是训练日语命名体识别的。
`训练数据
看训练数据格式,是将多个命名体混合在一起做识别,其他词标记为O,第一列是词串本身(不是单字),第二列是词性??第三列是感觉词的类型,最后一列是NER标签
B-DATE I-DATE,分别是日期的开始词和紧跟词,O是其他词。
加入训练的还有MONEY,LOCATION,PERCENT,PERSON,ORGANIZATION .这么多实体放在一起训练效果真的好吗
`特征模板
U35:%x[-2,2]/%x[-1,2]
U36:%x[-1,2]/%x[0,2]
U37:%x[0,2]/%x[1,2]
U38:%x[1,2]/%x[2,2]
以上,[-2,2] 代表当前词语前两个词,第二列位置的特征。
3.chunking目录中,
训练数据如下:
Confidence NN B-NP
in IN B-PP
the DT B-NP
pound NN I-NP
is VBZ B-VP
widely RB I-VP
expected VBN I-VP
to TO I-VP
take VB I-VP
another DT B-NP
sharp JJ I-NP
以上,是训练phrase,此处包含了NP,ADJP,PP,VP。第一列是单词,英语字就是词,第二列是词性作为特征,第三列是标签,B-NP,代表一个NPChunk中,该字是头部。I-NP,该字是紧跟。O代表其他。
训练脚本中,用了两种算法做对比
../../crf_learn -a MIRA template train.data model
../../crf_test -m model test.data
../../crf_learn -a CRF-L1 template train.data model
../../crf_test -m model test.data
MIRA 和CRF-L1方法。
- 源码介绍