Java版中文分词 IKAnalyzer

效果:中文分词统计出现次数并排序
直接看代码:


import org.wltea.analyzer.core.IKSegmenter;
import org.wltea.analyzer.core.Lexeme;

import java.io.IOException;
import java.io.StringReader;
import java.util.*;

/**
 * Created by YYL on 2017/4/21.
 */
public class Test{
    public static void main(String args[]) throws IOException {
        String text=" 《射雕英雄传》是由郭靖宇监制,蒋家骏执导的古装武侠剧。" +
                "该剧讲述了郭靖背负着家恨国仇闯入江湖,通过无数历程和在黄蓉的帮助下," +
                "最终成长成一位“侠之大者”的武林民族英雄故事。南宋时期,惨遭灭门横祸的" +
                "郭靖、杨康分别在江南七怪与全真教道士丘处机的教养下成人。18年后," +
                "郭靖奉师命南下。杨康却贪恋富贵,认贼作父。郭靖与黄蓉一见如故,彼此倾心," +
                "但因华筝之婚约在先,以及江南七怪的反对等多种因素,两人情感可谓一波三折。" +
                "五位师父被害于桃花岛,郭靖愤而离开黄蓉。这一对两情相悦的青年,经历了坎坷磨难," +
                "才修成正果。恶言恶行的杨康,也难逃惨死在嘉兴铁枪庙中的命运。" +
                "郭靖随黄蓉故国万里行,遍识天下武林高人,武功日见提升,终于得以报杀父深仇," +
                "消师门积怨,夺《武穆遗书》,率大军西征,承亡母之教,上华山论剑,救襄阳国难。" +
                "、木讷愚钝的射雕英雄,变成一个为国为民、悲天悯人的侠之大者。";
        int topWordsCount=3;
        Map<String,Integer> wordsFrenMaps=getTextDef(text);
        sortSegmentResult(wordsFrenMaps,topWordsCount);


    }

    public static void sortSegmentResult(Map<String,Integer> wordsFrenMaps, int topWordsCount){
        System.out.println("排序前:================");
        Iterator<Map.Entry<String,Integer>> wordsFrenMapsIterator=wordsFrenMaps.entrySet().iterator();
        while (wordsFrenMapsIterator.hasNext()){
            Map.Entry<String,Integer> wordsFrenEntry=wordsFrenMapsIterator.next();
            System.out.println(wordsFrenEntry.getKey()+"             的次数为"+wordsFrenEntry.getValue());
        }

        List<Map.Entry<String, Integer>> wordFrenList = new ArrayList<>(wordsFrenMaps.entrySet());
        Collections.sort(wordFrenList, new Comparator<Map.Entry<String, Integer>>() {
            public int compare(Map.Entry<String, Integer> obj1, Map.Entry<String, Integer> obj2) {
                return obj2.getValue() - obj1.getValue();
            }
        });
        System.out.println("排序后:================");
        for(int i=0;i<wordFrenList.size();i++){
            Map.Entry<String,Integer> wordFrenEntry=wordFrenList.get(i);
            System.out.println(wordFrenEntry.getKey()+"             的次数为"+wordFrenEntry.getValue());

        }

    }

    public static Map getTextDef(String text) throws IOException {
        Map<String, Integer> wordsFren=new HashMap<String, Integer>();
        IKSegmenter ikSegmenter = new IKSegmenter(new StringReader(text), true);
        Lexeme lexeme;
        while ((lexeme = ikSegmenter.next()) != null) {
            if(lexeme.getLexemeText().length()>1){
                if(wordsFren.containsKey(lexeme.getLexemeText())){
                    wordsFren.put(lexeme.getLexemeText(),wordsFren.get(lexeme.getLexemeText())+1);
                }else {
                    wordsFren.put(lexeme.getLexemeText(),1);
                }
            }
        }
        return wordsFren;
    }
}

只需添加一个jar包即可,下载链接见:
http://download.csdn.net/detail/yyl424525/9838646

中文分词统计并排序后输出如下:

排序前:================
一见如故             的次数为1
一波三折             的次数为1
可谓             的次数为1
年后             的次数为1
灭门             的次数为1
和在             的次数为1
积怨             的次数为1
难逃             的次数为1
桃花岛             的次数为1
郭靖             的次数为6
南宋             的次数为1
两人             的次数为1
一个             的次数为1
师父             的次数为1
得以             的次数为1
18             的次数为1
在先             的次数为1
武侠剧             的次数为1
帮助             的次数为1
五位             的次数为1
变成             的次数为1
该剧             的次数为1
背负着             的次数为1
杨康             的次数为3
闯入             的次数为1
一位             的次数为1
亡母             的次数为1
恶言             的次数为1
因素             的次数为1
教养             的次数为1
历程             的次数为1
倾心             的次数为1
但因             的次数为1
故国             的次数为1
这一             的次数为1
别在             的次数为1
射雕             的次数为1
大军             的次数为1
国仇             的次数为1
长成             的次数为1
彼此             的次数为1
原本             的次数为1
国难             的次数为1
纯朴             的次数为1
古装             的次数为1
讲述             的次数为1
贪恋             的次数为1
两情相悦             的次数为1
青年             的次数为1
万里行             的次数为1
日见             的次数为1
被害             的次数为1
执导             的次数为1
对等             的次数为1
提升             的次数为1
师命             的次数为1
襄阳             的次数为1
嘉兴             的次数为1
木讷             的次数为1
横祸             的次数为1
这位             的次数为1
为国为民             的次数为1
婚约             的次数为1
惨遭             的次数为1
监制             的次数为1
以及             的次数为1
正果             的次数为1
黄蓉             的次数为4
经历             的次数为1
恶行             的次数为1
蒋家             的次数为1
无数             的次数为1
南下             的次数为1
惨死             的次数为1
射雕英雄传             的次数为1
成人             的次数为1
离开             的次数为1
悲天悯人             的次数为1
华山论剑             的次数为1
全真教             的次数为1
最终             的次数为1
华筝             的次数为1
天下武林             的次数为1
终于             的次数为1
侠之大者             的次数为2
愚钝             的次数为1
磨难             的次数为1
江湖             的次数为1
江南七怪             的次数为2
富贵             的次数为1
靖宇             的次数为1
坎坷             的次数为1
英雄             的次数为1
认贼作父             的次数为1
时期             的次数为1
修成             的次数为1
道士             的次数为1
故事             的次数为1
师门             的次数为1
高人             的次数为1
西征             的次数为1
武功             的次数为1
情感             的次数为1
多种             的次数为1
命运             的次数为1
深仇             的次数为1
武林             的次数为1
丘处机             的次数为1
遗书             的次数为1
憨厚             的次数为1
通过             的次数为1
民族英雄             的次数为1
排序后:================
郭靖             的次数为6
黄蓉             的次数为4
杨康             的次数为3
侠之大者             的次数为2
江南七怪             的次数为2
一见如故             的次数为1
一波三折             的次数为1
可谓             的次数为1
年后             的次数为1
灭门             的次数为1
和在             的次数为1
积怨             的次数为1
难逃             的次数为1
桃花岛             的次数为1
南宋             的次数为1
两人             的次数为1
一个             的次数为1
师父             的次数为1
得以             的次数为1
18             的次数为1
在先             的次数为1
武侠剧             的次数为1
帮助             的次数为1
五位             的次数为1
变成             的次数为1
该剧             的次数为1
背负着             的次数为1
闯入             的次数为1
一位             的次数为1
亡母             的次数为1
恶言             的次数为1
因素             的次数为1
教养             的次数为1
历程             的次数为1
倾心             的次数为1
但因             的次数为1
故国             的次数为1
这一             的次数为1
别在             的次数为1
射雕             的次数为1
大军             的次数为1
国仇             的次数为1
长成             的次数为1
彼此             的次数为1
原本             的次数为1
国难             的次数为1
纯朴             的次数为1
古装             的次数为1
讲述             的次数为1
贪恋             的次数为1
两情相悦             的次数为1
青年             的次数为1
万里行             的次数为1
日见             的次数为1
被害             的次数为1
执导             的次数为1
对等             的次数为1
提升             的次数为1
师命             的次数为1
襄阳             的次数为1
嘉兴             的次数为1
木讷             的次数为1
横祸             的次数为1
这位             的次数为1
为国为民             的次数为1
婚约             的次数为1
惨遭             的次数为1
监制             的次数为1
以及             的次数为1
正果             的次数为1
经历             的次数为1
恶行             的次数为1
蒋家             的次数为1
无数             的次数为1
南下             的次数为1
惨死             的次数为1
射雕英雄传             的次数为1
成人             的次数为1
离开             的次数为1
悲天悯人             的次数为1
华山论剑             的次数为1
全真教             的次数为1
最终             的次数为1
华筝             的次数为1
天下武林             的次数为1
终于             的次数为1
愚钝             的次数为1
磨难             的次数为1
江湖             的次数为1
富贵             的次数为1
靖宇             的次数为1
坎坷             的次数为1
英雄             的次数为1
认贼作父             的次数为1
时期             的次数为1
修成             的次数为1
道士             的次数为1
故事             的次数为1
师门             的次数为1
高人             的次数为1
西征             的次数为1
武功             的次数为1
情感             的次数为1
多种             的次数为1
命运             的次数为1
深仇             的次数为1
武林             的次数为1
丘处机             的次数为1
遗书             的次数为1
憨厚             的次数为1
通过             的次数为1
民族英雄             的次数为1
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值