• 基于词云图的短信热词数据可视化


    热词统计:短信、邮件、微信、QQ、微博、电商评价、新闻、各行业热词(旅游、世界杯、战争、考研等)、热点事件等场景。

    展示模型:给定多段文本,绘制出词云图。

    核心思想:根据样本集中的文本包含的高频词汇作为输入(比如筛选出最高频的30个词),按频率的高低进行逐级突出显示。(可行性分析)

    利用运营商的5000+条短信数据样本,提取样本短信文本中所对应的关键特征(高频词汇),频率由高到低,位置从中心到边缘,字体从大到小,笔画从粗到细,结合颜色修饰,达到突出重点的效果。

    载入数据文件

    查看字段定义

    1. sms_raw<-read.csv("sms_spam.csv",stringsAsFactors = FALSE)
    2. str(sms_raw)

     统计样本类别比例

    table(sms_raw$type)
    

     取垃圾短信子集

    sms_raw_spam<-subset(sms_raw,type=="spam")

     取正常短信子集

    sms_raw_ham<-subset(sms_raw,type=="ham")

     安装文本挖掘支持包、加载文本挖掘支持包

    1. install.packages("tm")
    2. library(tm)

     创建语料库

    1. sms_corpus<-Corpus(VectorSource(sms_raw$text))
    2. sms_corpus_spam<-Corpus(VectorSource(sms_raw_spam$text))
    3. sms_corpus_ham<-Corpus(VectorSource(sms_raw_ham$text))

     查看语料库情况

    1. print(sms_corpus)
    2. print(sms_corpus_spam)
    3. print(sms_corpus_ham)

     查看语料库内容

    1. inspect(sms_corpus[1:3])
    2. inspect(sms_corpus_spam[1:3])
    3. inspect(sms_corpus_ham[1:3])

     数据清理(转小写)

    1. corpus_clean <- tm_map(sms_corpus,tolower)
    2. corpus_clean_spam <- tm_map(sms_corpus_spam,tolower)
    3. corpus_clean_ham <- tm_map(sms_corpus_ham,tolower)

     数据清理(去掉停用词)

    1. corpus_clean <- tm_map(corpus_clean,removeWords,stopwords())
    2. corpus_clean_spam <- tm_map(corpus_clean_spam,removeWords,stopwords())
    3. corpus_clean_ham <- tm_map(corpus_clean_ham,removeWords,stopwords())

     数据清理(去掉标点符号)

    1. corpus_clean <- tm_map(corpus_clean,removePunctuation)
    2. corpus_clean_spam <- tm_map(corpus_clean_spam,removePunctuation)
    3. corpus_clean_ham <- tm_map(corpus_clean_ham,removePunctuation)

     安装词云支持包

    install.packages("wordcloud")

     加载词云支持包

    library(wordcloud)
    

     生成总体词云图

    wordcloud(corpus_clean,min.freq = 40,random.order = FALSE)

     

     生成正常短信词云图

    wordcloud(corpus_clean_ham,min.freq = 40,random.order = FALSE)
    

     

     生成垃圾短信词云图

    wordcloud(corpus_clean_spam,min.freq = 40,random.order = FALSE)

     

    综上,完成了热点词汇的可视化。 

  • 相关阅读:
    [附源码]计算机毕业设计现代诗歌交流平台Springboot程序
    SpringBoot 使用 Sa-Token 完成注解鉴权功能
    利用MATLAB创建栅格地图(代码可复制)
    你找到适合自己的赚钱门路了吗
    JAVA:实现Matrix Graphs矩阵图算法(附完整源码)
    英特尔助力腾讯云深度优化云硬盘CBS 产品,打造极速云存储体验
    ubuntn azkaban4.0.0链接mysql(5.1/8.0)数据库配置
    DataFrame和list之间相互转换:df.values.tolist()和pd.DataFrame()
    leetcode:1974. 使用特殊打字机键入单词的最少时间(python3解法)
    SQL Server几种琐
  • 原文地址:https://blog.csdn.net/qq_65144447/article/details/134313033