在上一篇?jiǎng)訉殐褐v了11個(gè)Java開(kāi)源中文分詞器使用方法,這篇就來(lái)講講Java開(kāi)源中文分詞器的分詞效果對(duì)比。
public static Map<String, Set<String>> contrast(String text){
Map<String, Set<String>> map = new LinkedHashMap<>();
map.put("word分詞器", new WordEvaluation().seg(text));
map.put("Stanford分詞器", new StanfordEvaluation().seg(text));
map.put("Ansj分詞器", new AnsjEvaluation().seg(text));
map.put("HanLP分詞器", new HanLPEvaluation().seg(text));
map.put("FudanNLP分詞器", new FudanNLPEvaluation().seg(text));
map.put("Jieba分詞器", new JiebaEvaluation().seg(text));
map.put("Jcseg分詞器", new JcsegEvaluation().seg(text));
map.put("MMSeg4j分詞器", new MMSeg4jEvaluation().seg(text));
map.put("IKAnalyzer分詞器", new IKAnalyzerEvaluation().seg(text));
map.put("smartcn分詞器", new SmartCNEvaluation().seg(text));
return map;
}
public static Map<String, Map<String, String>> contrastMore(String text){
Map<String, Map<String, String>> map = new LinkedHashMap<>();
map.put("word分詞器", new WordEvaluation().segMore(text));
map.put("Stanford分詞器", new StanfordEvaluation().segMore(text));
map.put("Ansj分詞器", new AnsjEvaluation().segMore(text));
map.put("HanLP分詞器", new HanLPEvaluation().segMore(text));
map.put("FudanNLP分詞器", new FudanNLPEvaluation().segMore(text));
map.put("Jieba分詞器", new JiebaEvaluation().segMore(text));
map.put("Jcseg分詞器", new JcsegEvaluation().segMore(text));
map.put("MMSeg4j分詞器", new MMSeg4jEvaluation().segMore(text));
map.put("IKAnalyzer分詞器", new IKAnalyzerEvaluation().segMore(text));
map.put("smartcn分詞器", new SmartCNEvaluation().segMore(text));
return map;
}
public static void show(Map<String, Set<String>> map){
map.keySet().forEach(k -> {
System.out.println(k + " 的分詞結(jié)果:");
AtomicInteger i = new AtomicInteger();
map.get(k).forEach(v -> {
System.out.println("\t" + i.incrementAndGet() + " 、" + v);
});
});
}
public static void showMore(Map<String, Map<String, String>> map){
map.keySet().forEach(k->{
System.out.println(k + " 的分詞結(jié)果:");
AtomicInteger i = new AtomicInteger();
map.get(k).keySet().forEach(a -> {
System.out.println("\t" + i.incrementAndGet()+ " 、【" + a + "】\t" + map.get(k).get(a));
});
});
}
public static void main(String[] args) {
show(contrast("我愛(ài)楚離陌"));
showMore(contrastMore("我愛(ài)楚離陌"));
}
運(yùn)行結(jié)果如下:
********************************************
word分詞器 的分詞結(jié)果:
1 、我 愛(ài) 楚離陌
Stanford分詞器 的分詞結(jié)果:
1 、我 愛(ài) 楚 離陌
2 、我 愛(ài) 楚離陌
Ansj分詞器 的分詞結(jié)果:
1 、我 愛(ài) 楚離 陌
2 、我 愛(ài) 楚 離 陌
HanLP分詞器 的分詞結(jié)果:
1 、我 愛(ài) 楚 離 陌
smartcn分詞器 的分詞結(jié)果:
1 、我 愛(ài) 楚 離 陌
FudanNLP分詞器 的分詞結(jié)果:
1 、我 愛(ài)楚離陌
Jieba分詞器 的分詞結(jié)果:
1 、我愛(ài)楚 離 陌
Jcseg分詞器 的分詞結(jié)果:
1 、我 愛(ài) 楚 離 陌
MMSeg4j分詞器 的分詞結(jié)果:
1 、我愛(ài) 楚 離 陌
IKAnalyzer分詞器 的分詞結(jié)果:
1 、我 愛(ài) 楚 離 陌
********************************************
********************************************
word分詞器 的分詞結(jié)果:
1 、【全切分算法】 我 愛(ài) 楚離陌
2 、【雙向最大最小匹配算法】 我 愛(ài) 楚離陌
3 、【正向最大匹配算法】 我 愛(ài) 楚離陌
4 、【雙向最大匹配算法】 我 愛(ài) 楚離陌
5 、【逆向最大匹配算法】 我 愛(ài) 楚離陌
6 、【正向最小匹配算法】 我 愛(ài) 楚離陌
7 、【雙向最小匹配算法】 我 愛(ài) 楚離陌
8 、【逆向最小匹配算法】 我 愛(ài) 楚離陌
Stanford分詞器 的分詞結(jié)果:
1 、【Stanford Chinese Treebank segmentation】 我 愛(ài) 楚離陌
2 、【Stanford Beijing University segmentation】 我 愛(ài) 楚 離陌
Ansj分詞器 的分詞結(jié)果:
1 、【BaseAnalysis】 我 愛(ài) 楚 離 陌
2 、【IndexAnalysis】 我 愛(ài) 楚 離 陌
3 、【ToAnalysis】 我 愛(ài) 楚 離 陌
4 、【NlpAnalysis】 我 愛(ài) 楚離 陌
HanLP分詞器 的分詞結(jié)果:
1 、【NLP分詞】 我 愛(ài) 楚 離 陌
2 、【標(biāo)準(zhǔn)分詞】 我 愛(ài) 楚 離 陌
3 、【N-最短路徑分詞】 我 愛(ài) 楚 離 陌
4 、【索引分詞】 我 愛(ài) 楚 離 陌
5 、【最短路徑分詞】 我 愛(ài) 楚 離 陌
6 、【極速詞典分詞】 我 愛(ài) 楚 離 陌
smartcn分詞器 的分詞結(jié)果:
1 、【smartcn】 我 愛(ài) 楚 離 陌
FudanNLP分詞器 的分詞結(jié)果:
1 、【FudanNLP】 我 愛(ài)楚離陌
Jieba分詞器 的分詞結(jié)果:
1 、【SEARCH】 我愛(ài)楚 離 陌
2 、【INDEX】 我愛(ài)楚 離 陌
Jcseg分詞器 的分詞結(jié)果:
1 、【簡(jiǎn)易模式】 我 愛(ài) 楚 離 陌
2 、【復(fù)雜模式】 我 愛(ài) 楚 離 陌
MMSeg4j分詞器 的分詞結(jié)果:
1 、【SimpleSeg】 我愛(ài) 楚 離 陌
2 、【ComplexSeg】 我愛(ài) 楚 離 陌
3 、【MaxWordSeg】 我愛(ài) 楚 離 陌
IKAnalyzer分詞器 的分詞結(jié)果:
1 、【智能切分】 我 愛(ài) 楚 離 陌
2 、【細(xì)粒度切分】 我 愛(ài) 楚 離 陌
********************************************
動(dòng)寶兒歡迎各位大牛和同學(xué)們補(bǔ)充和指正,到哪里系統(tǒng)的學(xué)習(xí)Java,動(dòng)寶兒推薦動(dòng)力節(jié)點(diǎn)Java培訓(xùn)學(xué)校,多年大型企業(yè)項(xiàng)目經(jīng)驗(yàn)的大牛導(dǎo)師會(huì)一站式解決你對(duì)Java學(xué)習(xí)的所有困惑,不信就來(lái)試聽(tīng)。