基于规则的分词主要是通过维护词典(词典尽可能含有中文的所有词语), 在切分语句时,将语句的每个字符串与词表中的词进行逐一匹配找到则切分,否则不予切分 。
主要有正向最大匹配法、逆向最大匹配法以及双向最大匹配法三种方法 。
1. 正向最大匹配法
算法:
- 从左向右取待切分汉语句的前m 个字符(m为词典里最长的词字符数);
- 若这m个字符属于词典里面的词,则称匹配成功,然后将这m个字符切分出来,剩下的词语作为新的待切分汉语句;
- 若这m个字符不属于词典里面的词,则去除这m个字符的最后一个字符,剩余的m-1个字符继续匹配,直到匹配或剩下一个字符为止;
- 重复以上步骤,直到汉语句切完;
2. 逆向最大匹配法
逆向最大匹配法与正向最大匹配法的区别在于步骤3:若这m个字符不属于词典里面的词,则去除这m个字符的第一个字符
3. 双向最大匹配法
同时运用正向最大匹配法和逆向最大匹配法,比较两者结果,取分词数少的结果作为最终结果