实验报告-中文分词

实验报告-中文分词

ID:32422031

大小:149.00 KB

页数:6页

时间:2019-02-04

实验报告-中文分词_第1页
实验报告-中文分词_第2页
实验报告-中文分词_第3页
实验报告-中文分词_第4页
实验报告-中文分词_第5页
资源描述:

《实验报告-中文分词》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验报告1双向匹配中文分词•小组信息目录摘要---------------------------------------------------------------------------------------1理论描述---------------------------------------------------------------------------------1算法描述---------------------------------------------------------------------

2、------------2详例描述---------------------------------------------------------------------------------3软件演示---------------------------------------------------------------------------------4总结----------------------------------------------------------------------------------

3、-----6•摘要这次实验的内容是中文分词,现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。而我们用到的分词算法是基于字符串的分词方法(又称机械分词方法)中的正向最大匹配算法和逆向匹配算法。一般说来,逆向匹配的切分精度略高于正向匹配,遇到的歧义现象也较少。统计结果表明,单纯使用正向最大匹配的错误率为1/169,单纯使用逆向最大匹配的错误率为1/245。•理论描述中文分词指的是将一个汉字序列切分成一个一个单

4、独的词。中文分词是文本挖掘的基础,对于输入的一段中文,成功的进行中文分词,可以达到电脑自动识别语句含义的效果。它是信息提取、信息检索、机器翻译、文本分类、自动文摘、语音识别、文本语音转换、自然语言理解等中文信息处理领域的基础。双向最大匹配算法是两个算法的集合,主要包括:正向最大匹配算法和逆向最大匹配算法.如果两个算法得到相同的分词结果,那就认为是切分成功,否则,就出现了歧义现象或者是未登录词问题。正向最大匹配算法:从左到右将待分词文本中的几个连续字符与词表匹配,如果匹配上,则切分出一个词。逆向最大匹配算法:从右到左将待分词文本中的几

5、个连续字符与词表匹配,如果匹配上,则切分出一个词。•算法描述本文实现双向匹配算法,具体算法描述如下:正向最大匹配算法MM://对纯中文句子s1的正向减字最大匹配分词stringCHzSeg::SegmentHzStrMM(CDict&dict,strings1)const{strings2="";//保存句子s1的分词结果while(!s1.empty()){unsignedintlen=s1.size();//如果待切分的句子大于最大切分单元//len=最大切分单元,否则len=句子的长度if(len>MAX_WORD_LENGT

6、H)len=MAX_WORD_LENGTH;//取s1句子最左边长度len为的子句子stringw=s1.substr(0,len);//判断刚刚取出来的子句子是不是一个词boolisw=dict.IsWord(w);//当w中至少有一个中文字&&不能构成字的时候,减去最右边的一个中文字while(len>2&&isw==false){///减去最右边的一个中文字len-=2;w=w.substr(0,len);//再次判断减字后的w是不是构成一个词isw=dict.IsWord(w);}s2+=w+SEPARATOR;s1=s1.

7、substr(w.size());}//endwhilereturns2;}逆向最大匹配算法RMM://对纯中文句子s1的逆向减字最大匹配分词stringCHzSeg::SegmentHzStrRMM(CDict&dict,strings1)const{strings2="";//保存句子s1的分词结果while(!s1.empty()){unsignedintlen=s1.size();//如果待切分的句子大于最大切分单元//len=最大切分单元,否则len=句子的长度if(len>MAX_WORD_LENGTH)len=MAX_

8、WORD_LENGTH;//取s1句子最右边长度len为的子句子stringw=s1.substr(s1.length()-len,len);//判断刚刚取出来的子句子是不是一个词boolisw=dict.IsWord(w);//当w

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。