必威体育Betway必威体育官网
当前位置:首页 > IT技术

java词云推荐(KUMO)

时间:2019-06-03 20:42:04来源:IT技术作者:seo实验室小编阅读:76次「手机版」
 

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

同时也欢迎大家关注我个人的微信公众平台,不定时为大家更新技术文章进行探讨,也会为大家推出相应福利。

微信公共平台:

相关阅读

Java技术对网站建设有什么好处

  工程师为消费类设备开发了这种语言,并使其与当时适度的CPU兼容时保持了简单性。从那时起,这种面向对象的语言已用于创建简单到

JavaScript主要作用是什么呢

 JavaScript主要作用是什么呢?学习编程的同学对JavaScript并不陌生,JavaScript是前端技术中非常重要的内容,是网站搭建必不可少的

java.lang.UnsupportedClassVersionError

截图:                                                            错误日志: Exception in thr

Java之反射——类对象

学了一段时间Java了,但是还是很菜,看到反射这一节的时候,就有点厌烦,看不下去了,过了一段时间后我又翻了回来,因为要学习后面的,所以反射

Java 混淆器(obfuscate)

Java 混淆器就是给.class加密以防止反编译的工具 开源的  RetroGuard   http://www.retrologic.com/ IBM的  JAX    

分享到:

栏目导航

推荐阅读

热门阅读