假设一个最简单的应用场景,有一篇文章,希望能绘制出一个词云图体现文章关键词。
新闻来自新浪新闻社会频道扬子晚报(审核人员,这个哪儿违规了!?)
https://news.sina.com.cn/s/2020-08-02/doc-iivhuipn6416823.shtml
第一步,引用文章文本:

text = "text = "原标题:高考430分,选测有一个B+的江苏考生白湘菱最终申请了香港大学,专业意向读金融在江……
"

详细文本请自行去原网站获取

在绘制词云图之前,需要对文章进行分词
首先载入需要的包(如果没有安装过,需要使用安装指令install.packages(******))

library(jiebaR)
library(jiebaRD)
library(wordcloud2)

需要额外说明的是,jiebaR和jiebaRD安装之前,需要先预先安装python(环境),这是因为R的jieba分词是基于python的jieba包实现的。

  • 拓展:jieba分词的原理是MMH,可参看这篇文章:https://www.cnblogs.com/skyme/p/4651331.html
    https://www.zhihu.com/question/20136144

词语分好后,很多分词直接用了词频提取,这一步并不合适。可以想象:“是”,“的”,“希望”等词频较高,但并不能代表文章的主要特征。此处我们使用简单的IT-IDF算法提取主题词,即vector_keywords()函数

#声明分词器seg2
stopword = c()
tmp = seg2[text]  #对文本进行分词
tmp = filter_segment(tmp,stopword)  #去除停用词
tmp = tmp[nchar(tmp)>1]  #只要词语长度大于2的词
#筛选前25个词语
keys = worker(user='D:/R/R-3.5.3/library/jiebaRD/dict/user.dict.utf8',stop_word = 'D:/R/R-3.5.3/library/jiebaRD/dict/stop_words.utf8',"keywords",topn=100)
df = vector_keywords(tmp,keys)
w = data.table(words = df,freq=c(names(df)))
w = as.data.frame(w)
w$freq = as.numeric(w$freq)
wordcloud2(w,minRotation = -pi/6, maxRotation = -pi/6, rotateRatio = 1,size = 0.6)

分词结果:

分到的词可能存在一些我们不想要的,可以写入上面代码预留的stopword = c()里面。比如这个时候想去除词云图里的430,429,却没能:

stopword = c("23","10.8","九分","21","29","8.4")

更新后图像:

全部代码:

library(jiebaR)
library(jiebaRD)
library(wordcloud2)seg2 = worker(user='D:/R/R-3.5.3/library/jiebaRD/dict/user.dict.utf8',stop_word = 'D:/R/R-3.5.3/library/jiebaRD/dict/stop_words.utf8')
text = "原标题:高考430分,选测有一个B+的江苏考生白湘菱最终申请了香港大学,专业意向读金融在江苏2020高考中考出430分高分的淮安女生白湘菱,最终将去向何方?8月2日上午,记者联系上了白湘菱的妈妈,她表示,女儿最终申请了香港大学,专业意向为金融类专业。历史B+让她与众多名校无缘作为2020江苏高考文科第一名,白湘菱作出这样的选择,和她高考的选测等级有关。虽然语数外三门的成绩达到了430分,但她因为选测等级中,历史科目为B+,遗憾与北大清华等高校无缘。此前,本报曾经对此做过专门解读,为啥全省的文科第一名,有一个B+就无缘清北?那是因为现行的江苏高考方案中,语文、数学和外语的总分为480分,考生的另外两门科目则以选测等级的方式来计入成绩。全国C9联盟高校对江苏高考的招生政策中,清华大学、北京大学等高校,全都要求选修科目等级在A以上。网友们一度表示震惊,优秀的学生,高校能否破格录取?记者联系了北大、南大等多所高校。北大江苏招生组表示,目前没有接到破格录取白湘菱的通知。南京大学负责淮安招生工作的李老师表示,招生组关注过白湘菱的情况,但招生工作中规则先行。历年高考中,高分考生选测等级中出现不是双A的情况,白湘菱并不是首例。2019年南京市的理科高分考生蔡壮,在高考中考出了429分的好成绩,然而选测等级中,化学科目却没能得到A,仅获得B+。当年,中国科学院大学在江苏省录取时,对两门选测科目学业水平测试等级物理最低要求为A,另一科目最低要求为B。蔡壮的选测等级要求符合中国科学院大学的招生政策,高考分数也毋庸置疑达到投档线,最终,蔡壮被中国科学院大学录取。最终申请香港大学,入学面试全英文白湘菱申请的香港大学,在内地采用的是独立招生方式。教育部阳光高考平台“港澳高校招生”专题显示,在内地招生的21所港澳高校有两种招生方式,一种是香港中文大学和香港城市大学2所高校采用的统招方式,另一种是香港大学等13所香港高校和澳门大学等6所澳门高校采用的独立招生方式。包括香港大学在内的13所港校,招生计划不分到省。考生须参加高考,并按照港校的要求报名,参加学校单独组织的笔试和面试,由学校根据考生高考成绩和其他要求录取新生。凡被香港13所独立招生院校录取的考生,不再参加内地高校远程网上统一录取。香港大学内地本科生入学计划官方显示,港大二零二零年度内地本科生入学计划预计招收300名学生,各省市不设名额上限,择优录取。同时,港大注明,根据国家教育部规定,内地2020年高考生均可申请报读香港大学。港大的内地招生计划不同于内地高校统一招生机制,有其独立的报名程序。在录取过程中,港大会优先考虑以下因素:申请人的高考总成绩及英语成绩;申请人在面试中的综合表现(如获面试资格);申请人的综合素质。面试将以全英语进行。记者了解到,1998年,香港高校本科课程开始招收内地生,开启内地高中生赴港“求学之门”。每年赴港读本科的内地学生,曾掀起港校抢夺内地高考尖子的话题,也为香港本地生带来良性竞争的冲击。然而近年来,“港校热”逐渐降温。尤其是2013年,辽宁省文科状元刘丁宁被港大以全额奖学金录取,但在一个月后选择退学,第二年重新参加高考,带着辽宁省高考文科最高分的成绩考入北大中文系,引发轰动。从港校近年的招生情况来看,香港大学、香港中文大学获得的高考状元的比例有所下降。"
stopword = c("430","429","却没能")
tmp = seg2[text]  #对文本进行分词
tmp = filter_segment(tmp,stopword)  #去除停用词
tmp = tmp[nchar(tmp)>1]  #只要词语长度大于2的词
#筛选前25个词语
keys = worker(user='D:/R/R-3.5.3/library/jiebaRD/dict/user.dict.utf8',stop_word = 'D:/R/R-3.5.3/library/jiebaRD/dict/stop_words.utf8',"keywords",topn=100)
df = vector_keywords(tmp,keys)
w = data.table(words = df,freq=c(names(df)))
w = as.data.frame(w)
w$freq = as.numeric(w$freq)
wordcloud2(w,minRotation = -pi/6, maxRotation = -pi/6, rotateRatio = 1,size = 0.6)

R语言 如何绘制文章的词云图——从分词到绘图(it-idf权重)相关推荐

  1. R语言文本挖掘展示:画词云图

    一.wordcloud2包 首先安装和加载wordcloud2包 > install.packages("wordcloud2") > library(wordclou ...

  2. python红楼梦人物词频统计_用Python绘制红楼梦词云图,竟然发现了这个!

    原标题:用Python绘制红楼梦词云图,竟然发现了这个! Python在数据分析中越来越受欢迎,已经达到了统计学家对R的喜爱程度,Python的拥护者们当然不会落后于R,开发了一个个好玩的数据分析工具 ...

  3. R语言可视化绘制及PDF使用字体参数列表:查看字体列表、可视化绘制图像中的字体参数列表、字体示例并写入pdf

    R语言可视化绘制及PDF使用字体参数列表:查看字体列表.可视化绘制图像中的字体参数列表.字体示例并写入pdf 目录 R语言可视化绘制及PDF使用字体参数列表:查看字体列表.可视化绘制图像中的字体参数列 ...

  4. R语言Kaplan-Meier绘制生存分析、Log-rank假设检验、Cox回归曲线实战案例:恶性黑色素瘤的术后数据生存分析

    R语言Kaplan-Meier绘制生存分析.Log-rank假设检验.Cox回归曲线实战案例:恶性黑色素瘤的术后数据生存分析 目录

  5. R语言可视化绘制基本图形

    R语言可视化绘制基本图形 简单条形图: 堆叠条形图分组条形图: 均值条形图与条形图的微调: spinogram图 饼图.直方图.密度图.箱图.小提琴图.线图.散点图: # Listing 6.1 - ...

  6. 【R语言 | 如何绘制带组内差异比较的柱形图】

    R语言 | 如何绘制带组内差异比较的柱形图 参考链接:R语言 | 如何绘制带组内差异比较的柱形图 结果如下: 代码如下: install.packages(ggpubr)//内置的包不需要安装 ins ...

  7. R语言ggplot绘制地图-报错汇总(一)

    R语言ggplot绘制地图-报错汇总 报错两例 报错1: 报错2: 报错两例 在用ggplot绘制地图时出现了两个报错,网上搜索了没有相关说明,虽然解决方式很蠢,但是可能对于出现同样报错的人会有帮助, ...

  8. R语言如何绘制词云图(17)

    1.什么是词云图? "词云"由美国西北大学新闻学副教授.新媒体专业主任里奇·戈登(Rich Gordon)于2006年最先使用.戈登做过编辑.记者,曾担任迈阿密先驱报新媒体版的主任 ...

  9. r语言上机文本分析与词云绘制_倚天屠龙记的文本分析

    <倚天屠龙记>作为金庸先生的经典作品,在无数人心目中留下了深刻的印象,基本上隔一段时间这部经典作品就会被重新拍成电影或者电视剧,可见观众的喜爱程度.虽然本人没有完完全全拜读过先生的这部作品 ...

最新文章

  1. Microbiome:扩增子检测环境样本单细胞真核生物和寄生虫的新方法
  2. php正则如何使用 1,请问正则里面的值${1}怎么使用函数处理?怎么个写法?
  3. day3 python 学习随笔
  4. STM32 Option Bytes位 重置为出厂设置
  5. 二叉树的操作(二叉树的创建、先序遍历---先根、中序遍历----先左、后续遍历---后根)
  6. win10系统使用MarkdownPad2无法渲染
  7. H3CNE新版本V6.0与旧版本V5.1的区别
  8. .NET Worker Service 作为 Windows 服务运行及优雅退出改进
  9. 【渝粤教育】电大中专药物化学基础_1作业 题库
  10. 神经网络 误差下降 准确率不上升_Go进程的HeapReleased上升,但是RSS不下降造成内存泄漏?...
  11. 经验分享:Web前端入门要怎么开始学?
  12. 栈操作与栈帧 (转)
  13. linux中产生随机数函数,如何用C++产生随机数
  14. linux关防火墙和SElinux
  15. (翻译)Importing models-FBX Importer - Animations Tab
  16. visio显示形状窗口
  17. 微软商店常见的几个问题
  18. 深入理解present以及dismiss
  19. C#渐变色方法 实例
  20. 赌徒破产理论(Gambler's Ruin)

热门文章

  1. centos 8.0 安装nginx
  2. corpus iweb_「As is depicted」和「As depicted」哪个对?
  3. MASA Framework - DDD设计(1)
  4. SVN mac 破解版
  5. android uefi 编译报错,【Android SDM660开机流程】- UEFI XBL 代码流程分析
  6. SLAM的数学基础(3):几种常见的概率分布的实现及验证
  7. SDM660 xbl阶段使能I2C 设备实现
  8. PVZ系列六 | 僵尸动画转换
  9. Android Calendar添加本地账户
  10. ps如何快速消除黑眼圈或者眼袋