1 资源下载
2 准备工作
2.1 CRF
依次执行以下命令安装CRF:(1) ./configure --prefix=$当前目录(2)make(3) make install
2.2 语料
语料是网上流传的北京大学标注的1981年1月人民日报的语料,自己处理成了crf要求的训练格式如下:
其中,句子与句子之间以空行分隔。第一列为字,第二列为字类型(具体含义点这里),第三列为字标记(B表示词首、M表示词中、E表示词尾、S表示单独的词)。
3 训练模型
训练模型的命令为:crf_learn template_file train_file model_file (具体含义点这里)(不特别设置的情况下,参数c的缺省值为1.0,参数f的缺省值为1)。
把上面下载到的语料中的前70%作为训练语料,后30%作为测试语料。采用默认参数进行训练,准确率达到了0.958817,效果如下:
4 模型优化
4.1 调整参数
4.1.1 第一版
设置f值为2,重新训练,测试得到准确率为0.960549。
4.1.2 第二版
设置f值为3,重新训练,测试得到准确率为0.958712。
4.1.3 第三版
设置c值为2.0,重新训练,测试得到准确率为0.959942。
4.1.4 第四版
设置c值为3.0,重新训练,测试得到准确率为0.960141。
4.1.5 第五版
设置c值为4.0,重新训练,测试得到准确率为0.960610。
4.1.6 第六版
设置c值为10.0,重新训练,测试得到准确率为0.961243。
4.1.7 第七版
设置c值为20.0,重新训练,测试得到准确率为0.961616。
4.1.8 第八版
设置c值为30.0,重新训练,测试得到准确率为0.961861。
4.1.9 第九版
设置c值为50.0,重新训练,测试得到准确率为0.962019。
4.1.10 第十版
设置c值为80.0,重新训练,测试得到准确率为0.962130。
4.1.11 第十一版
设置c值为100.0,f值为2,重新训练,测试得到准确率为0.958970。
4.1.12 第十二版
设置c值为80.0,f值为2,重新训练,测试得到准确率为0.959123。
4.1.13 第十三版
设置c值为50.0,f值为2,重新训练,测试得到准确率为0.959328。
4.2 调整模板
原模板如下所示:
4.2.1 第十四版
调整模板如下:
设置参数c为80.0,f为1,得到准确率为0.961369。
设置参数c为1.0,f为2,得到准确率为0.959576。
4.2.2 第十五版
调整模板如下:
设置参数c为80.0,f为1,得到准确率为0.9600。