l 第一种,默认的单字切分。这种分词策略实现起来最简单,举个例子,有以下句子:“我们在吃饭呢”,则按字切分为[我]、[们]、[在]、[吃]、[饭]、[呢]。按这种方法分词所得到的term是最少的,因为我们所使用的汉字就那么几千个,但随便所索引的数据量的增大,索引文件的增长比例却比下面的几种模型都要大,虽然其召回率是很高的,但精确率却非常低,而且一般情况下性能也是最差的。
l 第二种,二元切分,即以句子中的每两个字都作为一个词语。继续拿“我们在吃饭呢”这个句子作例子,用二元切分法会得到以下词:[我们]、[们在]、[在吃]、[吃饭]、[饭呢]。这种切分方法比第一种要好,精确率提高了,召回率也没降低多少(实际上两者都不高,太中庸了)。
l 第三种:按照词义切分。这种方法要用到词典,常见的有正向最大切分法和逆向最大切分法等。我们再拿“我们在吃饭呢”作为例子。使用正向切分法最终得到词语可能如下:[我们]、[在吃]、[饭]、[呢],而使用逆向最大切分法则可能最终得到以下词语:[我们]、[在]、[吃饭]、[呢]。只要处理好在庞大的词典中查找词语的性能,基于词典的分词结果会挺不错。
l 第四种:基于统计概率切分。 这种方法根据一个概率模型,可以从一个现有的词得出下一个词成立的概率,也以“我们在吃饭呢”这个句子举个可能不恰当的例子,假设已经存在[我们]这个词语,那么根据概率统计模型可以得出[吃饭]这个词语成立的概率。当然,实际应用中的模型要复杂得多,例如著名的隐马尔科夫模型。
在实际的中文分词应用中,一般会将按词典切分和基于统计概率切分综合起来,以便消除歧义,提高精确率。