《人民的名义》评论分析
近日,反腐大剧《人民的名义》讲述了反腐天团与位高权重的贪腐分子之间斗智斗勇的故事。一经播出,响应非常强烈,在此,对与《人民的名义》网友的评论做一分析。(《人民的名义》豆瓣评论链接)
此次分析的主要工具为R,有两个主要的包要用到,一个是Rwordseg
,这个主要是做中文分词的,另一个是tm
包,是一个文本处理的框架,但是tm
包有一个缺点,就是对中文支持不太好,会经常出现乱码的现象。然而现在有一个非常好的包chinese.misc
,这个包对中文分词支持非常好,不用担心有乱码问题,而且处理非常简单,只需几行代码就可以解决问题,下面使用这两种方法进行简单分析。
截止直到现在,共有四百多条评论。
library(RCurl) ##craw the data from web
library(XML)##craw the data from web and parse the data
library(Rwordseg)##word segment
library(tm)
library(wordcloud2)##wordcloud plotstep <- seq(0,420,20)
contents <- vector()
for (i in step){url <- paste("https://movie.douban.com/subject/26727273/discussion/?start=",step ,"&sort_by=time",sep="") ##integrate the urlhtml_form <- getURL(url=url)parsed_form <- htmlParse(html_form)tables <- readHTMLTable(parsed_form)##read HTML tablecontents <- c(contents,as.character(tables[[2]][,1]))##integrate the content from the website
}write.table(contents,"contents.txt",row.names = F)
segmentCN("contents.txt",returnType = "tm")
mydoc <- readLines("content.txt")##transform the contents to content,the type of content should be ANSIdata_stw <- read.table("stopwords.txt",colClasses = "character")
stopwords_CN <- c(NULL)
for(i in 1:dim(data_stw)[1]){stopwords_CN <- c(stopwords_CN, data_stw[i,1])
}
write.table(stopwords_CN,"stopwords_CN.txt",row.names = F)
installDict("stopwords_CN.txt","stop")
installDict("mydict.txt","mydict")mydoc.vec <- VectorSource(mydoc)
mydoc.corpus <- Corpus(mydoc.vec)
mydoc.corpus <- tm_map(mydoc.corpus,removeWords,stopwords_CN)##remove stopwords
mydoc.corpus <- tm_map(mydoc.corpus,stripWhitespace)##remove white space
control=list(removePunctuation=T,minDocFreq=5,wordLengths= c(1, Inf),weighting = weightTfIdf)
mydoc.tdm <- TermDocumentMatrix(mydoc.corpus,control = control)
mydoc.matrix <- as.matrix(mydoc.tdm)
mydoc.sum <- rowSums(mydoc.matrix)
mydoc.df <- data.frame(term=names(mydoc.sum), freq = as.numeric(mydoc.sum))##generate the data frame
在生成corpus时文档没有乱码,然而再生成词汇文档-矩阵时出现l乱码的问题,然而中间没有什么错误。可以参考博文文本挖掘——词云图的操作。
如果用chinese.misc
包做文本分析,就非常简单了:
library(chinese.misc)
dtm <- corp_or_dtm("contents.txt",type="d",stop_word = "jibar",control = "auto2")
sort_tf(dtm,top=20)
df <- sort_tf(dtm,todf=T)
wordcloud2(df,backgroundColor = "black", shape = "circle")
单单几行代码,就可以生成词云图,而不用自己去去除停止词,空格,数字还有符号等。
使用wordcloud2
作图要比wordcloud
作图美观的多,而且在你点击词汇的时候它可以给出该词的词频。由于评论较少,生成的词云比较少,而且还有一个问题,在使用chinese.misc
包时去除的停止词好像比较多,两千多个不同的次最后只剩下99个词汇,不过,通过参数设置,还可以调整词汇水平。
《人民的名义》评论分析相关推荐
- 《人民的名义》如何圈粉“90后”| 大数据舆情分析
相信最近大家的朋友圈被一部红透了大半个中国,收视率和口碑同步爆棚的神剧霸屏了,没错,就是<人民的名义>,无论是涉及到副国级领导干部的反腐尺度,还是不断被网民热议的"汉东男子天团& ...
- 人民的名义》小说文本分析
你只要不干坏事,就没人能坏你的事. --<人民的名义>经典语录 <人民的名义>,听说很好看.一向不喜欢看电视的我还是想了解一下这部剧,可是又不想花时间去看剧,怎么办呢?我就考虑 ...
- 《人民的名义》---简单的文本分析
我们都知道进行自然语言处理的第一步就是分词,下面使用jieba模块对最近比较热的电视剧<人民的名义>进行分词,并对它进行一些简单的文本分析. 一.jieba模块中常用的方法说明(githu ...
- 何洋开讲丨深度分析!《人民的名义》样片泄露内幕
<人民的名义>这部长达50多集.引爆全民追剧风潮的"神剧"终于迎来收尾.我很少看电视剧,但这部剧编剧走心.制作精良.戏骨云集,让包括我在内的观众们欲罢不能.但就在剧情进 ...
- 以程序员的名义,分析 “人民的名义”
我自小就惧怕吵架,觉得人不该像公鸡,脸红脖子粗的掐架特别不好,人就该斯斯文文的. 这让我爱上了官场剧,不论是古代的官场剧,还是当代的官场剧,都喜欢.官员们聊起天来不动声色,暗藏机锋,生死对决都是在谈笑 ...
- 大数据解密:《人民的名义》是怎么火起来的?
最近这几天,坐地铁上下班的时候,总能看到有人捧着手机,痴迷于<人民的名义>的剧情中.看到此番景象,笔者(大数据应用行业从业者),出于职业本能,不禁想要透过现象看本质,迫切想要知道<人 ...
- 【机器学习PAI实践五】机器学习眼中的《人民的名义》
一.背景 最近热播的反腐神剧"人民的名义"掀起来一波社会舆论的高潮,这部电视剧之所能得到广泛的关注,除了老戏骨们精湛的演技,整部剧出色的剧本也起到了关键的作用.笔者在平日追剧之余, ...
- python爬取今日头条的文章_Python3爬取今日头条有关《人民的名义》文章
Python3爬取今日头条有关<人民的名义>文章 最近一直在看Python的基础语法知识,五一假期手痒痒想练练,正好<人民的名义>刚结束,于是决定扒一下头条上面的人名的名义文章 ...
- 从《人民的名义》看声纹识别技术在案件侦查中的应用
被号称为"史上最大尺度反腐剧"的<人民的名义>即将收官,播出期间,该剧一直备受好评.除了曲折的故事情节之外,该剧最大的看点就是公安机关曲折的案件侦查过程,只不过因为剧中 ...
最新文章
- 【Python】Numpy简单入门
- 巧用FTP命令进行文件传输
- AOJ GRL_1_C: All Pairs Shortest Path (Floyd-Warshall算法求任意两点间的最短路径)(Bellman-Ford算法判断负圈)
- 同一个页面同时拥有collectionView和navigationBar和tabBar时可能遇到的问题
- TransmittableThreadLocal详解
- 服务性服务–服务到服务的通话
- Python str和bytes的相互转换
- 14年,50%市场份额,一家中国公司何以在丹麦成功?
- 几种无线通讯介绍与比较(蓝牙,WiFi,IrDA,NFC,Zigbee,UWB)
- 从键盘输入5个学生每科分数,把分数保存到一个数组中,最后输出分数大于60分的成绩
- linux svn e210003,svnadmin load 遇到E125005 的错误
- dota2服务器选哪个文件,畅爽竞技必看 DOTA2服务器选择指南
- python报错: list object has no attribute shape的解决
- 答疑解惑 | Linux GNU C 与 ANSI C 的区别
- 第八届蓝桥杯B组国赛总结
- ZYNQ开发系列——使用AXI4LITE接口进行PS和PL交互
- 推荐计划常见问题解答:有哪些问题是必须的?
- python代码举例说明生日悖论
- TS报错Error: xxx doesn‘t exist on type ‘xxx’
- python求f的倒数_Python中整数的倒数