基于正向最大匹配算法的分词算法
1.算法描述:
最大匹配算法主要包括正向最大匹配算法、逆向最大匹配算法、双向匹配算法等。 其主要原理都是切分出单字串,然后和词库进行比对,如果是一个词就记录下来,否则通过增加或者减少一个单字,继续比较,一直还剩下一个单字则终止,如果该单字串无法切分,则作为未登录处理。
而本组采用的是正向最大匹配算法,假设分词词典中的最长词的字数为 M,令其作为最大匹配系数。假设读取的汉字序列字数为 L,判断 L 是否小于最大匹配系数M。如果 L 大于最大匹配系数 M,则截取前 M 个汉字作为待匹配字段进行匹配 ,否则取整个汉字序列作为待匹配字段直接在分词词典中进行匹配。若字典中存在这样一个字数为 M 的词 ,则匹配成功 ,匹配字段被作为一个词切分出来 ;若词典中找不到这样的词 ,则匹配失败 ,将待匹配字段中的最后一个字去掉,将剩下的汉字序列作为待匹配字段重新在字典中进行匹配处理……如此进行下去 ,直到匹配成功 ,即切分出一个词 ,或者直到剩余字串的长度为 1 为止 ,即为一个单字。这样就完成了一轮查找匹配 ,然后取剩下的汉字序列以同样的方法进行匹配处理 , 直到文档被扫描完为止。