java詞雲推薦(KUMO)
阿新 • • 發佈:2019-02-19
hello,各位,大年初二,給大家拜年了!
今天給大家介紹一下,使用java生成詞雲的方法和框架——KUMO(來自github),KUMO是一款使用java編寫,應用於詞頻分析,詞雲生成的開源技術。不過應用不算廣泛,畢竟現在python生成詞雲wordcloud太方便了,KUMO的出現方便了更擅長使用java的同學。那好,下面做簡單介紹:
1.準備詞語文字:例項如下
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