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

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

2、Ansj分詞器

3、Stanford分詞器

4、FudanNLP分詞器

5、Jieba分詞器

6、Jcseg分詞器

7、MMSeg4j分詞器

8、IKAnalyzer分詞器

9、Paoding分詞器

10、smartcn分詞器

11、HanLP分詞器

現(xiàn)在我們已經(jīng)實(shí)現(xiàn)了本文的***個(gè)目的:學(xué)會(huì)使用11大Java開源中文分詞器。
***我們來實(shí)現(xiàn)本文的第二個(gè)目的:對比分析11大Java開源中文分詞器的分詞效果,程序如下:

運(yùn)行結(jié)果如下:

