Java版中文分词 IKAnalyzer

来源:互联网 发布:微信授权登陆 java 编辑:程序博客网 时间:2024/06/05 10:31

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

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得以             的次数为118             的次数为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得以             的次数为118             的次数为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
0 0
原创粉丝点击