欢迎来到天天文库
浏览记录
ID:26608920
大小:779.12 KB
页数:8页
时间:2018-11-28
《孔盼盼算法设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、辽宁科技大学课程设计说明书设计题目:中文分词程序设计与实现学院、系:装备制造学院专业班级:计算机09级2班学生姓名:杨彦天指导教师:迟呈英成绩:2012年3月2日目录一.需求分析二.设计三.编码与调试四.结果分析五.参考文献六.总结七.附录(程序源代码)一、需求分析随着社会的不断发展和科技的发达,在计算机领域中,中文信息处理这一过程越来越受到关注,西方语言在语句(或从句)内词汇之间存在分割符(空格),而汉语的词汇在语句中是连续排列的。因此,汉语词汇的切分(分词)在中文信息处理的许多应用领域,如机器翻译、文献检索、文献分类、文献过滤、以及词频统计等,是非常重要的第一步。首先要研究
2、的自动分词,自动分词是基于字符串匹配的原理进行的。迄今为止,已经有许多文献对各种分词方法进行探讨,其着重点或为分词的速度方面,或为分词的精度方面以及分词的规范。本文主要探讨分词的速度问题,通过实验对比和理论分析,说明我们所提出的算法是有效的。目前人们所提出的分词方法,在考虑效率问题时,通常在词典的组织方面进行某种调整,以适应相应的算法,如最大匹配法、最小匹配法、逐词遍历法、以及最佳匹配法等。这些方法中,或将词典按词条长度排序或按词频排序,其目的在于协调算法与数据结构,使之效率最高。客观地说,它们都在一定程度上提高了分词的效率。二、设计1、设计思想:主要分为两大模块:一个建立一棵
3、树,一个是查询。建树有三个层次,第一层是HASH表,第二层是数组,用于二分查找使用,第三层是二叉树。查询分为直接查询第一层的HASH表,第二层用二分查找(第二层汉子相同的平均概率是26,一般第二字成词切相同),第三层直接顺序查找,以及查找句子中的数字和汉子标点。输出:(1)建树包括:以此字开头的词语有几个;在HASH表中位置;结束(2)查询包括输出每个词的首字。然后输出分词后的结果。2、设计流程图:成功读入词典取首字从索引中查找该首字失败词典正向最大匹配输出分词结果开始结束一、编码与调试一、结果分析一、参考文献[1]孙茂松,邹嘉彦;汉语自动分词研究评述[J];当代语言学;200
4、1年01期[2]吴胜远.一种汉语分词方法计算机研究与发展1996年第4期。306~311[3]陈桂林,王永成,韩客松,王刚.一种改进的快速分词算法.计算机研究与发展.2000年第4期:418~424[4]黄德根,朱和合,王昆仑,杨元生,钟万勰;基于最长次长匹配的汉语自动分词[J];大连理工大学学报;1999年06期二、总结通过一周的课程设计,我学到了很多知识,在老师的帮助和指导下完成了中文分词程序设计与实现。这是首次接触到有关中文信息处理程序设计的内容,并从中学到了很多知识,例如,分词时间大约与字符串比较的总长度成正比。实际上,在多组对比实验中可以表明,随着被处理语料规模的增大
5、,这种线性比例关系表现得更为明显。这也是“字符串比较所需的时间同字符串的长度成正比”这一结论的实际验证。实验至少用C++和ObjectPascal两种语言实现,又加深了对学过的知识的理解。在实验过程中也出现了一些问题,比如当句子中出现一些人名的时候,程序中将不会认为是一个词,会将人名分开为单字,例如“默罕默德”,“惠特尼”等等。希望以后在更多的学习中会加以改进。一、附录(程序源代码)汉字在计算机中存储以表形式存放,第一表常用字以拼音方式存放,汉字第二表次常用字,以第二表形式存放按笔画方式。#includeusingnamespacestd;intmain(){
6、ofstreamout("out.txt");for(inti=0xb0;i<0xf8;i++){for(intj=0xa1;j<0xff;j++)out<7、(isWord),L(l),R(r){}};structNode2{stringS;boolIsWord;Node3*Child;Node2(strings="",boolisWord=0,Node3*child=0):S(s),IsWord(isWord),Child(child){}};structNode{stringS;vectorv;};vectorDic;
7、(isWord),L(l),R(r){}};structNode2{stringS;boolIsWord;Node3*Child;Node2(strings="",boolisWord=0,Node3*child=0):S(s),IsWord(isWord),Child(child){}};structNode{stringS;vectorv;};vectorDic;
此文档下载收益归作者所有