在全文检索中,分词处理对性能的影响很大,包括索引大小、检索速度、准确度等方面。
一个好的分词处理应该具备哪些特性呢?
1)速度、准确度
2)自定义词典
3)对英文、数字符号、日期、繁简转换等的优化
中文分词算法大概分为两大类
1、字符串匹配(基于词典)
这一算法其实就是使用字典,与字典中的词想匹配,来达到分词效果,时间复杂度O(N),但对没有登记的词需要其他算法处理,主要用到Trie树来保存词典,而具体分词算法有很多种:
1.1正向最大匹配思想MM
1)从左向右取待切分汉语句的m个字符作为匹配字段,m为大机器词典中最长词条个数。
2)查找大机器词典并进行匹配。若匹配成功,则将这个匹配字段作为一个词切分出来。
若匹配不成功,则将这个匹配字段的最后一个字去掉,剩下的字符串作为新的匹配字段,进行再次匹配,重复以上过程,直到切分出所有词为止。
1.2邻近匹配算法
邻近匹配算法是正向最大匹配算法的改进,因为正向正向最大匹配算法对每个不存在的长字符串都要进行一次二分搜索,算法