分词有关论文范文参考文献,与近邻匹配算法实现中文分词相关毕业论文致谢
本论文是一篇分词有关毕业论文致谢,关于近邻匹配算法实现中文分词相关硕士论文范文。免费优秀的关于分词及中文及算法方面论文范文资料,适合分词论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
摘 要计算机进行中文分词的处理过程,最重要的就是分词算法.现有的中文分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法、基于统计的分词方法.本文基于字符串匹配方法使用近邻匹配算法,提高了效率.
这篇论文地址:http://www.sxsky.net/guanli/00126618.html
关 键 词中文分词哈希查找二分查找
中图分类号:TP391文献标识码:A
一、解决问题的思路
在高效字典中,在同样首字下的词条,在内存中是按照汉字内码大小排列的.在词典中匹配成功某个字串后,会在其后面增加一个字即得一个新的字串,如果新字串在词典中出现了,那么新字串一定在原字串后面,且相隔的位置不会太远.近邻匹配算法基于这一特点设计的,使用这种算法避免了每增加一个字就要重新在字典中从头开始匹配的冗余操作,是一种高效的分词算法.该算法的分词过程如下:
有关论文范文主题研究: | 关于分词的论文范本 | 大学生适用: | 高校大学论文、电大论文 |
---|---|---|---|
相关参考文献下载数量: | 70 | 写作解决问题: | 写作技巧 |
毕业论文开题报告: | 文献综述、论文前言 | 职称论文适用: | 核心期刊、职称评中级 |
所属大学生专业类别: | 写作技巧 | 论文题目推荐度: | 免费选题 |
1、将词库读入内存.这是读入词库切词的第一步,为了提高整个切词的速度,可将整个词库一次性读入内存,并常驻内存.
2、读入要切分的中文文本数据.对于待切分的文本数据按行进行处理,每处理一行,就要先将字符数据读入缓冲区,并进行相应的字符集转换.
3、从缓冲区中读取搜索字串P等于C0C1C2等CL-1.(L为字串长度),根据待搜索字符串P的首字C0,可以根据计算出的C0相应的索引项Ii的地址,并得到以C0为词首字的词数n及指向所有词条:W0W1等Wn-1的指针Pi.如果说,这个字不能成词,那么就退出.
4、在词表中查询中,前两个字形成的子串CoCl,得到索引index,然后在index之后寻找最长且完全匹配的词条.
5、如果当前匹配长度小于最大匹配长度或词表中的词条比字串大,结束寻找过程,然后用同样方法切分下一词条.
算法实现如下:
NeighborhoodMatching
{
inttotal
分词有关论文范文参考文献
intstrLen等于strlen(P);
while(totalOffset int result等于-O; //计算索引项的地址 Unsignedcharq等于*P; unsignedcharw等于*(P+1): q-等于0xB0; W-等于0xA1: Char**Pi等于ptrArray[q][w]; intn;//词条数; intindex等于FindWord(4,(char*)C0C1,&result); if(index等于等于-1){ /*没找到)C0C1,还不能确定它是某个词条的前缀还是应分开*/ start等于result+l; }else{ start等于index+l: matchMax等于l; } intoffset等于2;∥跳过首字 intbContinued等于l;∥是否继续查找标志 while(start bContinued等于l; Char*wordPtr等于Pi[start]; intwordLen等于strlen(wordPtr)-2; if(*(P+offset)!等于*wordPtr||*(P+offset+1)!等于*(wordPtr+1)) break; i等于2; while(i if(*(P+offset+i)等于等于*(wordPtr+i)) i++; else{//如果字串比词条小,退出当前循环 bContinued等于*(textPtr+offset+i)-*(wordPtr+i); break; } } //完全匹配 if(i等于等于wordLen){ i>>等于l; if(i break; elsematchMax等于i; start++;//准备匹配下一词条 //处理下一个词 offset+等于matchMax<<1; P+等于offset; TotalOffset+等于offset) } } }在上述算法实现的切分情况,在切分“中国人民解放军成功守住了大堤”时,词表中以“中一开头的词有100多个,以“中国"开头的词有“中国人民”、“中国青年”、“中国银行"、“中国政府”,找到“中国”后,在其后找“中国人民”一词,只需两次词条匹配操作即可. 由于本文采用的是词表结构支持首字Hash和标准的二分查找方法,避开了词表访问过程中的I/O操作,并且在分词过程中采用近邻匹配算法,大大降低了时间复杂度,根据表3-1的统计数据,单字词的出现频率约为56.75%,二字词的出现频率约为39.65%,二字词以上的词的出现频率为3.6%,每个首字下的平均词数为12.35,该算法时间复杂度计算如下: 查找单字词无需匹配. 查找一个两字词的平均匹配次数为: 0.3965?log2n等于0.3965?log212.35≈1.44 查找一个三字词或高于三字的词平均匹配次数: (1-0.5675-0.3965)?n/2等于0.036?13.35/2≈0.22 利用这种算法,假设有12万条词库的基础上,在P42.0GHz的电脑,lG内存的平台下,1.2MB的文本在最大匹配算法的状态下,所需时间约为1.0~1.1s,在同类算法中是比较优秀的. 为了检验本论文采用的分词算法的准确性,本论文采用了两段文字进行测试: 源文件:中文信息和英文信息相比,有一个明显的差别,英文单词之间用空格分隔;而在中文文本中,单词之间没有天然的分隔符,中文单词大多是两个或两个以上的汉字组成的,并且,语句是连续的,这就要求在对中文文本进行自动分析前,先将整句切割成单词单元,即中文分词. 分词结果:中文/信息/和/英文/信息/相比/有/一个/明显/的/差别/英语/单词/之间/用/空格/分隔/而/在/中文/文本/中/单词/之间/没有/天然/的/分隔符/中文/单词/大多/是/由/两/个/或/两/个/以上/的/汉字/组成/的/并且/语句/是/连续/的/这就/要求/在/对/中文/文本/进行/自动/分析/前/先将/整/句/切割/成/单词/单元/即/中文/分词 通过试验得知,本论文采用的分词算法分词精确率达到95%,分词速率快,基本满足了一个中大型搜索引擎的需要. (作者:桂林电子科技大学工程硕士在读,本科学士学位,研究方向:垂直搜索引擎,中文分词) 参考文献: [1]刘开瑛,吴伟民.中文文本自动分词和标注.商务印书馆,2000. [2]张恒,杨文昭,屈景辉,卢虹冰,张亮,赵飞.基于词典和词频的中文分词方法.微计算机信息,2008. [3]刘件.中文分词算法研究.微计算机应用,2008. 分词有关论文范文参考文献,与近邻匹配算法实现中文分词相关毕业论文致谢参考文献资料:二、分词算法准确性测试
三、结论