美文网首页Java web
通过词云关注疫情

通过词云关注疫情

作者: 齐鑫 | 来源:发表于2020-01-28 10:18 被阅读0次

2020年春节,冠状病毒在中国的蔓延不容忽视,大大小小的新闻媒体相继进行报道。太多的消息让人越看越烦躁,不如通过词云进行关键字的整理,帮着梳理下疫情的脉络。

1、在各大新闻平台中,copy下20余篇相关新闻到本地作为数据源;

2、通过kumo的词云功能生成词云(基于JAVA开发);

3、对词云结果进行分析;

import com.kennycason.kumo.CollisionMode;
import com.kennycason.kumo.WordCloud;
import com.kennycason.kumo.WordFrequency;
import com.kennycason.kumo.bg.RectangleBackground;
import com.kennycason.kumo.font.KumoFont;
import com.kennycason.kumo.font.scale.LinearFontScalar;
import com.kennycason.kumo.nlp.FrequencyAnalyzer;
import com.kennycason.kumo.nlp.filter.Filter;
import com.kennycason.kumo.nlp.tokenizers.ChineseWordTokenizer;
import com.kennycason.kumo.palette.LinearGradientColorPalette;
 
import java.awt.*;
import java.io.IOException;
import java.util.List;
 
 
public class WordCloudTest {
    public static void main(String[] args) throws IOException {
        //建立词频分析器,设置词频,以及词语最短长度,此处的参数配置视情况而定即可
        FrequencyAnalyzer frequencyAnalyzer = new FrequencyAnalyzer();
        //最多展示关键字数量
        frequencyAnalyzer.setWordFrequenciesToReturn(500);
        Filter filter = new Filter() {
            @Override
            public boolean test(String s) {
                if (s.matches("^\\d+$")) {
                    return false;
                }
                return true;
            }
        };
        frequencyAnalyzer.setFilter(filter);
        //关键字重复出现阈值
        frequencyAnalyzer.setMinWordLength(3);
        //引入中文解析器
        frequencyAnalyzer.setWordTokenizer(new ChineseWordTokenizer());
        final List<WordFrequency> wordFrequencies = frequencyAnalyzer.load("D:\\news.txt");
        //初始化画板
        Dimension dimension = new Dimension(800, 600);
//        WordCloud wordCloud = new WordCloud(dimension, CollisionMode.RECTANGLE);
        WordCloud wordCloud = new WordCloud(dimension, CollisionMode.RECTANGLE);
        wordCloud.setPadding(0);
        java.awt.Font font = new java.awt.Font("STSong-Light", 5, 100);
        wordCloud.setBackgroundColor(new Color(255, 255, 255));
        wordCloud.setKumoFont(new KumoFont(font));
        wordCloud.setBackground(new RectangleBackground(dimension));
//        wordCloud.setBackground(new CircleBackground(255));
        wordCloud.setColorPalette(new LinearGradientColorPalette(Color.gray, Color.GREEN, 300));
        wordCloud.setFontScalar(new LinearFontScalar(20, 100));
        wordCloud.build(wordFrequencies);
        wordCloud.writeToFile("D:\\news.png");
    }
}

词云结果


news.png

通过词云结果分析,字体越大代表关键字命中率越高。在这些信息里,摘取自己关注的关键字,再通过谷歌、度娘查询具体的内容,也不至于像一只没头苍蝇一样,看着林林总总的信息越看越恐慌。

PS:数据源一定是越多,命中的结果越准确,感兴趣的同学可以自行copy或者通过爬虫来爬取相关信息,得到自己想要的结果。

感兴趣的同学记得点赞哦~

相关文章

  • 通过词云关注疫情

    2020年春节,冠状病毒在中国的蔓延不容忽视,大大小小的新闻媒体相继进行报道。太多的消息让人越看越烦躁,不如通过词...

  • 中小型公司运行企业网站如何选择服务器?国内哪家好?

    通过一次疫情,国内中小型企业更加关注到云计算,甚至很多已经开始了“上云行动”。纷纷把企业官网,对外的SaaS服务,...

  • R可视化学习—词云图

    词云。又称文字云。“词云”就是通过形成“关键词云层”或“关键词渲染”,对网络文本中出现频率较高的“关键词”的视觉上...

  • 关注疫情

    这几天呆在家里没有出门每天早上起来第一件事就是关注疫情新闻。看完之后也只能和家人讨论一下,也帮不上什么忙,只能做到...

  • 关注疫情

    国外新增628500,新增死亡人数16599,国外民众仍处在水深火热之中。上海每天都有新增输入病历,这种情况将在一...

  • 关注/疫情

    疫情你有什么看法,分秒必争在疫情感染的地方夜里就做核酸检测,疫情的关注超出了所有的流量。 81.4亿阅读量,每个人...

  • 文本挖掘之词云

    词云-WordCloud 词云:对文本中出现的关键词按照出现频率通过改变字体字号颜色样式等方式集中显示 频率较高的...

  • 第28站 软件即服务模式 (SaaS)

    经常关注互联网的小伙伴们对“云计算”一词肯定不会陌生,新浪云、阿里云、百度云、谷歌云、亚马逊云……好像不谈“云”,...

  • 年度热搜

    年度现象:“疫情”成2020年度第一关键词 年度关键词是每年百度沸点榜单里最受关注的榜单之一。“疫情”毫无悬念地登...

  • 2020-03-19

    数据,对疫情进行分析,用数学的思维看疫情,用数学的语言表达疫情。 用数学的眼光关注当前疫情的时事新闻,通过对数据的...

网友评论

    本文标题:通过词云关注疫情

    本文链接:https://www.haomeiwen.com/subject/zxvpthtx.html