欢迎来到天天文库
浏览记录
ID:21611808
大小:893.00 KB
页数:21页
时间:2018-10-19
《汉语分词:最大匹配方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、汉语分词:最大匹配方法张月(李正华指导)2015.9.15中文分词的目的是将汉字序列切分为词序列举例说明:输入句子:他是研究生物化学的。可能的分词:他是研究生物化学的。他是研究生物化学的。他是研究生物化学的。合理答案:他是研究生物化学的。分词任务从左到右寻找词的最大匹配(每次都贪心的找一个最长的词典词)我们有一个词典,用于存放所有可能的词语,即除了单字,分词结果中的每个词均要在词典中出现。正向最大匹配算法从左到右寻找词的最大匹配从当前位置开始,向右截取最大长度,组成当前词;和字典中的词逐一进行匹配;若匹配成功,则进行下次匹配,下次匹配的当前位置则为这次词后面的那个字。如果未能
2、匹配,就缩短长度(长度减一)重新截取,直到当前词与词典中的词匹配或者当前词是单字;正向最大匹配算法从左到右寻找词的最大匹配正向最大匹配算法例子:我是中国人词典中包括【中国、中国人】假设:最大词长为3正向最大匹配算法例子:我是中国人第一轮:第一次:"我是中"是选取的词,在词典中未找到匹配项第二次:"我是"是选取的词,在词典中未找到匹配项第三次:"我"是选取的词,是单字,匹配成功正向最大匹配算法例子:我/是中国人第二轮:第一次:"是中国"是选取的词,在词典中未找到匹配项第二次:"是中"是选取的词,在词典中未找到匹配项第三次:"是"是选取的词,是单字,匹配成功正向最大匹配算法例子:
3、我/是/中国人/第三轮:第一次:"中国人"是选取的词,在词典中找到匹配项,匹配成功。至此,短句中所有字匹配结束,该短句分词结束。正向最大匹配算法从右到左寻找词的最大匹配与正向最大匹配的区别在于,从句子的末尾开始,向左边截取一定的长度去匹配。逆向最大匹配算法从右到左寻找词的最大匹配逆向最大匹配算法例子:我是中国人第一轮:第一次:"中国人"是选取的词,在词典中找到匹配项,匹配成功逆向最大匹配算法例子:我是/中国人第二轮:第一次:因为剩余字数已不足3,小于假定的最大词长,所以选择"我是",在词典中未找到匹配项第二次:"是"是选取的词,是单字,匹配成功逆向最大匹配算法例子:我/是/中
4、国人第三轮:第一次:因为剩余字数已不足3,小于假定的最大词长,所以选择"我",是单字,匹配成功至此,短句中所有字匹配结束,该短句分词结束。逆向最大匹配算法给定人工标注的分词答案,评价某一算法给出的结果。正确率(Precision)=正确识别的词数/识别出的个体总数召回率(Recall)=正确识别的个体总数/测试集中存在的个体总数F值=正确率*召回率*2/(正确率+召回率)分词算法评价:正确率/召回率/F值思考:评价程序应该怎么写?utf-8是不定长的,根据左侧位1的个数来决定占用了几个字节,中文一般占2-4个字节UTF-8编码utf-8可以根据字的第一个字节移位推出长度的0x
5、xxxxxx占1个字节110xxxxx10xxxxxx占2个字节1110xxxx10xxxxxx10xxxxxx占3个字节11110xxx10xxxxxx10xxxxxx10xxxxxx占4个字节gbk的编码方式是中文占两个字节,英文占一个字节,根据第一个字节的最高位来判断如果第一个字节的最高位是1,则是两个字节连在一起为一个字符,否则一个字节为一个字符中文的编码范围第一个字节
6、第二个字节0x81-0xFE(129-254)
7、0x40-0xFE(64-254)GBK编码数据格式四个编程任务(编程语言不限,Linux上运行)1.构建词典(3分)给一个人工分好词的文件data.c
8、onll,构建一个词典,输出到一个文件中,起名为word.dict(格式自定义)2.构建毛文本(2分)将data.conll文件中的格式修改为:每行一句话,词语之间无空格,起名为data.txt四个编程任务(编程语言不限,Linux上运行)3.前向(5分)或(二者只可以选一个)后向(7分)最大匹配分词算法给定词典word.dict,对data.txt进行分词,结果输出到data.out中(格式自定义)4.评价程序(7分)对比data.conll和data.out,给出算法的P/R/F指标。谢谢!
此文档下载收益归作者所有