《自然语言处理导论》中文分词程序实验报告

《自然语言处理导论》中文分词程序实验报告

ID:18865990

大小:134.00 KB

页数:9页

时间:2018-09-26

《自然语言处理导论》中文分词程序实验报告_第1页
《自然语言处理导论》中文分词程序实验报告_第2页
《自然语言处理导论》中文分词程序实验报告_第3页
《自然语言处理导论》中文分词程序实验报告_第4页
《自然语言处理导论》中文分词程序实验报告_第5页
资源描述:

《《自然语言处理导论》中文分词程序实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《自然语言处理导论》中文分词实验报告一、实验目的了解中文分词意义掌握中文分词的基本方法二、实验环境Win764位DEV-C++编译器三、实验设计(一)分词策略目前较为成熟的中文分词方法主要有:1、词典正向最大匹配法2、词典逆向最大匹配法3、基于确定文法的分词法4、基于统计的分词方法一般认为,词典的逆向匹配法要优于正向匹配法。基于确定文法和基于统计的方法作为自然语言处理的两个流派,各有千秋。我设计的是根据词典逆向最大匹配法,基本思路是:1、将词典的每个词条读入内存,最长是4字词,最短是1字词;2、从语料中读入一段(一行)文字,保存为字

2、符串;3、如果字符串长度大于4个中文字符,则取字符串最右边的4个中文字符,作为候选词;否则取出整个字符串作为候选词;4、在词典中查找这个候选词,如果查找失败,则去掉这个候选词的最左字,重复这步进行查找,直到候选词为1个中文字符;5、将候选词从字符串中取出、删除,回到第3步直到字符串为空;6、回到第2步直到语料已读完。(二)程序设计查找算法:哈希表汉字编码格式:UTF-8程序流程图:NOYESNONONONOYESYESYESYES匹配结束匹配结束匹配结束源代码:#include#include#i

3、nclude#include#include#include#include#include#defineMaxWordLength12//最大词长字节(即4个汉字)#defineSeparator""//词界标记#defineUTF8_CN_LEN3//汉字的UTF-8编码为3字节usingnamespacestd;usingnamespace__gnu_cxx;namespace__gnu_cxx{template

4、<>structhash{size_toperator()(conststd::string&x)const{returnhash()(x.c_str());}};}hash_mapwordhash;//词典//读入词典voidget_dict(void){stringstrtmp;//读取词典的每一行stringword;//保存每个词typedefpairsipair;ifstreaminfile("CoreDict.txt.utf

5、8");if(!infile.is_open()){cerr<<"Unabletoopeninputfile:"<<"wordlexicon"<<"--bailingout!"<>word;//读入每行第一个词wordhash.insert(sipair(word,1));//插入到哈希中}infile.clos

6、e();}//删除语料库中已有的分词空格,由本程序重新分词stringdel_space(strings1){intp1=0,p2=0;intcount;strings2;while(p2p1)s2+=s1.substr(p1,p2-p1);p2++;p1=p2;}else{p2++;}}s2+=s1.substr(p1,p2-p1);returns2;}//用词典做逆向最大匹配法分词stringdict_segment(strings1){str

7、ings2="";//用s2存放分词结果while(!s1.empty()){intlen=(int)s1.length();//取输入串长度if(len>MaxWordLength)//如果输入串长度大于最大词长{len=MaxWordLength;//只在最大词长范围内进行处理}stringw=s1.substr(s1.length()-len,len);intn=(wordhash.find(w)!=wordhash.end());//在词典中查找相应的词while(len>UTF8_CN_LEN&&n==0)//如果不是词{

8、len-=UTF8_CN_LEN;//从候选词左边减掉一个汉字,将剩下的部分作为候选词w=s1.substr(s1.length()-len,len);n=(wordhash.find(w)!=wordhash.end());}w=w

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

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

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