java词云推荐(KUMO)

hello,各位,大年初二,给大家拜年了!

今天给大家介绍一下,使用java生成词云的方法和框架——KUMO(来自github),KUMO是一款使用java编写,应用于词频分析,词云生成的开源技术。不过应用不算广泛,毕竟现在python生成词云wordcloud太方便了,KUMO的出现方便了更擅长使用java的同学。那好,下面做简单介绍:

1.准备词语文本:实例如下

您可能会问,这么多词语哪里去找?如果你看了我的上一篇博文2018 02 11 告别选择困难症——webmagic爬虫爬取拉勾网职位信息,那么你就会找到答案。

2.引入KUMO的maven ID(当然了,你一定要建maven项目,这里推荐大家使用IDEA编译器)

        <dependency>
            <groupId>com.kennycason</groupId>
            <artifactId>kumo-core</artifactId>
            <version>1.13</version>
        </dependency>
        <dependency>
            <groupId>com.kennycason</groupId>
            <artifactId>kumo-tokenizers</artifactId>
            <version>1.12</version>
        </dependency>

3.调用接口,生成词云图片:

      //建立词频分析器,设置词频,以及词语最短长度,此处的参数配置视情况而定即可
        FrequencyAnalyzer frequencyAnalyzer = new FrequencyAnalyzer();
        frequencyAnalyzer.setWordFrequenciesToReturn(600);
        frequencyAnalyzer.setMinWordLength(2);

        //引入中文解析器
        frequencyAnalyzer.setWordTokenizer(new ChineseWordTokenizer());
	//指定文本文件路径,生成词频集合
        final List<WordFrequency> wordFrequencyList = frequencyAnalyzer.load("E:\\爬虫/wordcloud.txt");
	//设置图片分辨率
        Dimension dimension = new Dimension(1920,1080);
	//此处的设置采用内置常量即可,生成词云对象
        WordCloud wordCloud = new WordCloud(dimension,CollisionMode.PIXEL_PERFECT);
        //设置边界及字体
	wordCloud.setPadding(2);
        java.awt.Font font = new java.awt.Font("STSong-Light", 2, 20);
	//设置词云显示的三种颜色,越靠前设置表示词频越高的词语的颜色
        wordCloud.setColorPalette(new LinearGradientColorPalette(Color.RED, Color.BLUE, Color.GREEN, 30, 30));
        wordCloud.setKumoFont(new KumoFont(font));
	//设置背景色
        wordCloud.setBackgroundColor(new Color(255,255,255));
	//设置背景图片
        //wordCloud.setBackground(new PixelBoundryBackground("E:\\爬虫/google.jpg"));
	//设置背景图层为圆形
	wordCloud.setBackground(new CircleBackground(255));
        wordCloud.setFontScalar(new SqrtFontScalar(12, 45));
	//生成词云
        wordCloud.build(wordFrequencyList);
        wordCloud.writeToFile("E:\\爬虫/wy.png");

此处也仅仅是进行了简单的配置,简单生成圆形的词云,如果大家感兴趣,可以深度研究源码。

4.效果展示:

初级效果,不过已经满足本人需求。


_____________________________________________________________________________________________________________

2018 02 18 更新:(加大了文本词语数,同样生成圆形)



写在最后:

非常希望和大家进行交流探讨技术,也欢迎大家提出宝贵建议。大家有问题可以留言交流,一起学习。

QQ:3091485316

微信:wangye889905

也欢迎大家加入我创建的技术交流群,希望同大家共同进步:
qq:717633216
同时也欢迎大家关注我个人的微信公众平台,不定时为大家更新技术文章进行探讨,也会为大家推出相应福利。

微信公共平台:ITBird  

猜你喜欢

转载自blog.csdn.net/qq_36251958/article/details/79332056
今日推荐