基于CRF++0.54搭建中文分词系统

本文介绍了如何利用CRF++0.54搭建中文分词系统,包括资源下载、CRF的安装、语料处理、模型训练和优化。通过调整参数和模板,最终达到0.962130的准确率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1 资源下载

 CRF源码:点击下载  语料:点击下载


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。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值