概述
单词是一个基本的语义单元,不同于英文,中文句子中没有词的界限,因此进行中文自然语言处理,通常需要先进行分词,分词效果将直接影响词性、句法树等模块的效果。
中文分词算法大概分为两大类:一是基于字符串匹配,即扫描字符串,使用如正向/逆向最大匹配,最小切分等策略(俗称基于词典的) ;二是基于统计以及机器学习的分词方式(非词典方法) 。
MMSEG
mmseg本质上就是前向最大匹配+消除歧义规则+贪心,它由一个词典,两种匹配算法,以及四种歧义消解规则组成。该算法依赖于词典和规则,对于未登录词识别能力较低,分词结果可以满足那些需求不是特别高的场合,但是该算法胜在简单高效。
匹配算法
1.简单匹配:将每次从起点位置能匹配到的最长词语作为分词结果,连续进行下去。
2.复杂匹配:匹配出所有的“三个词的词组”(原文中的chunk),即从某一既定的字为起始位置,得到所有可能的“以三个词为一组”的所有组合。
歧义消除规则
在简单和复杂的匹配算法中都使用了最大匹配规则来消除分词的歧义。剩下的三个规则没有(而且不能)应用于简单匹配算法。
规则1:备选词组合的长度之和最大
规则2: 备选词组合的平均词长最大
规则3: 备选词组合的词长变化最小
规则4: 备选词组合中,单字词的出现频率统计值最高(取单字词词频的自然对数,然后将得到的值相加,取总和最大的词)
参考资料:http://www.360doc.com/content/18/0313/16/53438425_736676255.shtml