11大Java開源中文分詞器的使用方法和分詞效果對比
本文的目標有兩個:
1、學會使用11大Java開源中文分詞器
2、對比分析11大Java開源中文分詞器的分詞效果
本文給出了11大Java開源中文分詞的使用方法以及分詞結果對比代碼,至于效果哪個好,那要用的人結合自己的應用場景自己來判斷。
11大Java開源中文分詞器,不同的分詞器有不同的用法,定義的接口也不一樣,我們先定義一個統一的接口:

從上面的定義我們知道,在Java中,同樣的方法名稱和參數,但是返回值不同,這種情況不可以使用重載。
這兩個方法的區別在于返回值,每一個分詞器都可能有多種分詞模式,每種模式的分詞結果都可能不相同,***個方法忽略分詞器模式,返回所有模式的所有不重復分詞結果,第二個方法返回每一種分詞器模式及其對應的分詞結果。
在這里,需要注意的是我們使用了Java8中的新特性默認方法,并使用stream把一個map的value轉換為不重復的集合。
下面我們利用這11大分詞器來實現這個接口:
1、word分詞器

2、Ansj分詞器

3、Stanford分詞器

4、FudanNLP分詞器

5、Jieba分詞器

6、Jcseg分詞器

7、MMSeg4j分詞器

8、IKAnalyzer分詞器

9、Paoding分詞器

10、smartcn分詞器

11、HanLP分詞器

現在我們已經實現了本文的***個目的:學會使用11大Java開源中文分詞器。
***我們來實現本文的第二個目的:對比分析11大Java開源中文分詞器的分詞效果,程序如下:

運行結果如下:

