在自然语言识别领域中,中文的分词技术绝对是一个很有意思的话题,英文本身是以单词为基础,单词之间以空格隔开,不存在分词的问题,但是汉语有这个问题。关于分词有很多可玩的地方,比如之前很火的一个对对联的小程序,给出上联可以自动对出下联,对上联的识别肯定是建立在正确的分词基础上的。这一课我们介绍一种理论简单、实现也简单的分词方法,当然,效果也就那样了,不过,拿来玩玩还是可以的。
最大匹配法
中文的分词技术,大致可分为几类,一类是基于词典、字库的匹配分词方法;一类是基于统计学的分词方法,在词典、字库的基础上增加词频统计信息;还有一类是基于对语言知识理解的基础上的分词方法,包括各种机器学习类分词算法。这里要讲的最大匹配法就是第一类方法。
既然最大匹配算法是基于词典或字库的算法,那么最大匹配算法就需要一个包含所有汉语词汇的词典,每当需要确认一个词的时候,就要查一遍词典,效率自然比较低,因此最大匹配法一般用于算法学习,或者在一些算法题目中出现。根据分词算法匹配的方向,最大匹配法可分为正向最大匹配法(Maximum Matching)和逆向最大匹配法(Reverse Maximum Matching)。
正向最大匹配算法
假设最大匹配算法的词