Java生成词云

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

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

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

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

[plain]  view plain  copy
 
  1.         <dependency>  
  2.             <groupId>com.kennycason</groupId>  
  3.             <artifactId>kumo-core</artifactId>  
  4.             <version>1.13</version>  
  5.         </dependency>  
  6.         <dependency>  
  7.             <groupId>com.kennycason</groupId>  
  8.             <artifactId>kumo-tokenizers</artifactId>  
  9.             <version>1.12</version>  
  10.         </dependency>  

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

[java]  view plain  copy
 
  1.      //建立词频分析器,设置词频,以及词语最短长度,此处的参数配置视情况而定即可  
  2.        FrequencyAnalyzer frequencyAnalyzer = new FrequencyAnalyzer();  
  3.        frequencyAnalyzer.setWordFrequenciesToReturn(600);  
  4.        frequencyAnalyzer.setMinWordLength(2);  
  5.   
  6.        //引入中文解析器  
  7.        frequencyAnalyzer.setWordTokenizer(new ChineseWordTokenizer());  
  8. //指定文本文件路径,生成词频集合  
  9.        final List<WordFrequency> wordFrequencyList = frequencyAnalyzer.load("E:\\爬虫/wordcloud.txt");  
  10. //设置图片分辨率  
  11.        Dimension dimension = new Dimension(1920,1080);  
  12. //此处的设置采用内置常量即可,生成词云对象  
  13.        WordCloud wordCloud = new WordCloud(dimension,CollisionMode.PIXEL_PERFECT);  
  14.        //设置边界及字体  
  15. wordCloud.setPadding(2);  
  16.        java.awt.Font font = new java.awt.Font("STSong-Light"220);  
  17. //设置词云显示的三种颜色,越靠前设置表示词频越高的词语的颜色  
  18.        wordCloud.setColorPalette(new LinearGradientColorPalette(Color.RED, Color.BLUE, Color.GREEN, 3030));  
  19.        wordCloud.setKumoFont(new KumoFont(font));  
  20. //设置背景色  
  21.        wordCloud.setBackgroundColor(new Color(255,255,255));  
  22. //设置背景图片  
  23.        //wordCloud.setBackground(new PixelBoundryBackground("E:\\爬虫/google.jpg"));  
  24. //设置背景图层为圆形  
  25. wordCloud.setBackground(new CircleBackground(255));  
  26.        wordCloud.setFontScalar(new SqrtFontScalar(1245));  
  27. //生成词云  
  28.        wordCloud.build(wordFrequencyList);  
  29.        wordCloud.writeToFile("E:\\爬虫/wy.png");  

 

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

 

 

4.效果展示:

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

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值