中文分词实验报告_第1页
中文分词实验报告_第2页
中文分词实验报告_第3页
中文分词实验报告_第4页
中文分词实验报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验:中文分词实验小组成员:黄婷 苏亮肖 方定山 一、实验目的:1. 实验目的(1)了解并掌握基于匹配的分词方法、改进方法、分词效果的评价方法等2. 实验要求(1)从互联网上查找并构建不低于10万词的词典,构建词典的存储结构;(2)选择实现一种机械分词方法(双向最大匹配、双向最小匹配、正向减字最大匹配法等),同时实现至少一种改进算法。(3)在不低于1000个文本文件(可以使用附件提供的语料),每个文件大于1000字的文档中进行中文分词测试,记录并分析所选分词算法的准确率、召回率、F-值、分词速度。二、实验方案:1. 实验环境系统: win10 软件平台: spyder语言: python2.

2、算法选择(1)选择正向减字最大匹配法图1.正向减字最大匹配算法流程图2.切词算法流程(2)算法伪代码描述:3. 实验步骤l 在网上查找语料和词典文本文件;l 思考并编写代码构建词典存储结构;l 编写代码将语料分割为 1500 个文本文件,每个文件的字数大于 1000 字;l 编写分词代码; l 思考并编写代码将语料标注为可计算准确率的文本;l 对测试集和分词结果集进行合并;l 对分词结果进行统计,计算准确率,召回率及 F 值(正确率和召回率的调和平均值);l 思考总结,分析结论。4. 实验实施实验过程:(1)语料来源:语料来自 SIGHAN 的官方主页( http:/sighan.cs.uch

3、/ ), SIGHAN 是国际计算语言学会( ACL )中文语言处理小组的简称,其英文全称为 “Special Interest Group for Chinese Language Processing of the Association for Computational Linguistics” ,又可以理解为 “SIG 汉 “ 或 “SIG 漢 “ 。 SIGHAN 为我们提供了一个非商业使用( non-commercial )的免费分词语料库获取途径。我下载的是 Bakeoff 2005 的中文语料。有 86925 行, 个词语。语料形式:“没有 孩子 的 世界

4、是 寂寞 的 , 没有 老人 的 世界 是 寒冷 的 。 ”图3.notepad+ 对语料文本的统计结果(2)词典:词典用的是来自网络的有 373 万多个词语的词典,采用的数据结构为 python 的一种数据结构 集合。图4.notepad+ 对词典文本的统计结果(3)分割测试数据集:将原数据分割成 1500 个文本文件,每个文件的词数大于 1000 。图5.测试数据集分解截图图6.其中某文件的形式图7.notepad+ 对其中一个测试文本的统计结果(4)编写分词代码:采用 python 语言和教材上介绍的算法思路,进行编程。(5)编写代码将语料标注为可计算准确率的文 本:用 B 代表单词的开

5、始字, E 代表结尾的字, BE 代表中间的字,如果只有一个字,用 E 表示。例如:原数据是:“人们 常 说 生活 是 一 部 教科书 ”而我将它转化为了如下格式:人们常说生活是一部教科书BEEEBEEEEBBEE(6)进行分词:使用之前编写的分词函数,载入文本,进行分词,将每个文本结果输出到 txt 文本。图8.分词结果文件图9.测试数据的形式(文本截图)图11.分词结果(文本截图)图12.运行时间(7)对测试集和分词结果集进行合并:将测试集和分词结果集合并是为了进行准确率,召回率等的计算。测试集和训练集都是下面的格式:人们常说生活是一部教科书BEEEBEEEEBBEE将它们合并为下面的格式

6、,第二列为测试集的标注,第三列为训练集的结果:人们常说生活是一部教科书BEEEBEEEEBBEEBEEEBEEBEEBBEE(8)对分词结果进行统计,计算准确率 P ,召回率 R 及 F 值(正确率和召回率的调和平均值),设提取出的信息条数为 C, 提取出的正确信息条数为 CR, 样本中的信息条数 O : 计算结果如下:表1.第一轮分词统计结果召回率 R准确率 PF 值B73.99%76.42%75.18%E92.12%76.41%83.53%BE40.05%74.56%52.11%平均值68.72%75.79%70.27%(9)反思:平均准确率只有 75.79% ,为何分词效果这么差,没有达

7、到我们的预期效果 85% ,经过思考和多次尝试才发现,原来是因为词典太大了,最大匹配分词效果对词典依赖很大,不是词典越大越好,还有就是我们的词典和我们的测试数据的相关性不大,于是我们小组修改了词典,进行了第二轮测试。(10)修改词典:将词典大小裁剪,但是不能只取局部,例如前面 10 万词或后面 10 万词,于是我的做法是在 373 万词的词典中随机取 3 万词,再用之前没用完的语料制作 7 万词,组成 10 万词的词典:图13.notepad+ 对重新制作的词典文本的统计结果(11)再次实验:重新进行前面的步骤得到了下面的结果:表2.第二轮分词统计结果召回率 R准确率 PF 值B95.07%9

8、5.03%95.05%E93.74%99.07%96.33%BE98.75%67.30%80.05%平均值95.85%87.13%90.48%此时分词的平均准确率提高到了 87.13% ,还是很不错的,说明我的反思是有道理的。三、实验结果及分析:1. 实验结果:图14.第一轮分词测试统计结果图15.第二轮分词测试统计结果2. 结果分析:(1)第一轮分词结果只有 75.79% ,而小组的预期效果或者说目标是 85% 以上,我们先是讨论是不是这个算法只能达到这么多,于是通过网络和询问同学的分词准确率知道,这个结果是可以继续提升的。于是,我们仔细思考了每一个环节,发现问题主要出在词典上面,因为词典中

9、的词越多,利用做大匹配分出来的词的平均长度就越长,分得的词数也越少,错误率反而增大,而那些分法可能并不是我们想要的,而且我们的词典和我们的语料相关性很小,分词效果是依赖于这个词典的相关性的。然后我们尝试减少词典的大小,见减小到150万词,发现效果确实好了点,于是干脆只在原词典中取出3万词,再用语料库没用过的同类型的语料做一份词典,再把它们合起来,结果分词准确率一下子提高到了87.13% 。(2)影响中文分词效果的因素:词典的大小,数据集的规范性,算法的优越程度如何提高中文分词的准确率:规范的数据集,合理大小的词典,好的算法。 四、实验总结:本次实验期间遇到过很多问题,幸好都一一解决了,比如在合并测试集和分词结果集时,合并测试集和分词结果集时中词语的位置有错位,想了好几个办法才解决,其实在实验之前多思考思考是可以避免这种情况的。本次实验中,分词是实验的重点,但难点不在分词上面,而在数据的处理和计算准确率。我们还应多练习,多运用,多思考才能真正提升自己的能力。五、参考文献:1百度文库“搜索引擎检索性能评价实验报告”2数据集: SIGHAN bakeo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论