近日,反腐大剧《人民的名义》讲述了反腐天团与位高权重的贪腐分子之间斗智斗勇的故事。一经播出,响应非常强烈,在此,对与《人民的名义》网友的评论做一分析。(《人民的名义》豆瓣评论链接)

此次分析的主要工具为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个词汇,不过,通过参数设置,还可以调整词汇水平。

《人民的名义》评论分析相关推荐

  1. 《人民的名义》如何圈粉“90后”| 大数据舆情分析

    相信最近大家的朋友圈被一部红透了大半个中国,收视率和口碑同步爆棚的神剧霸屏了,没错,就是<人民的名义>,无论是涉及到副国级领导干部的反腐尺度,还是不断被网民热议的"汉东男子天团& ...

  2. 人民的名义》小说文本分析

    你只要不干坏事,就没人能坏你的事. --<人民的名义>经典语录 <人民的名义>,听说很好看.一向不喜欢看电视的我还是想了解一下这部剧,可是又不想花时间去看剧,怎么办呢?我就考虑 ...

  3. 《人民的名义》---简单的文本分析

    我们都知道进行自然语言处理的第一步就是分词,下面使用jieba模块对最近比较热的电视剧<人民的名义>进行分词,并对它进行一些简单的文本分析. 一.jieba模块中常用的方法说明(githu ...

  4. 何洋开讲丨深度分析!《人民的名义》样片泄露内幕

    <人民的名义>这部长达50多集.引爆全民追剧风潮的"神剧"终于迎来收尾.我很少看电视剧,但这部剧编剧走心.制作精良.戏骨云集,让包括我在内的观众们欲罢不能.但就在剧情进 ...

  5. 以程序员的名义,分析 “人民的名义”

    我自小就惧怕吵架,觉得人不该像公鸡,脸红脖子粗的掐架特别不好,人就该斯斯文文的. 这让我爱上了官场剧,不论是古代的官场剧,还是当代的官场剧,都喜欢.官员们聊起天来不动声色,暗藏机锋,生死对决都是在谈笑 ...

  6. 大数据解密:《人民的名义》是怎么火起来的?

    最近这几天,坐地铁上下班的时候,总能看到有人捧着手机,痴迷于<人民的名义>的剧情中.看到此番景象,笔者(大数据应用行业从业者),出于职业本能,不禁想要透过现象看本质,迫切想要知道<人 ...

  7. 【机器学习PAI实践五】机器学习眼中的《人民的名义》

    一.背景 最近热播的反腐神剧"人民的名义"掀起来一波社会舆论的高潮,这部电视剧之所能得到广泛的关注,除了老戏骨们精湛的演技,整部剧出色的剧本也起到了关键的作用.笔者在平日追剧之余, ...

  8. python爬取今日头条的文章_Python3爬取今日头条有关《人民的名义》文章

    Python3爬取今日头条有关<人民的名义>文章 最近一直在看Python的基础语法知识,五一假期手痒痒想练练,正好<人民的名义>刚结束,于是决定扒一下头条上面的人名的名义文章 ...

  9. 从《人民的名义》看声纹识别技术在案件侦查中的应用

    被号称为"史上最大尺度反腐剧"的<人民的名义>即将收官,播出期间,该剧一直备受好评.除了曲折的故事情节之外,该剧最大的看点就是公安机关曲折的案件侦查过程,只不过因为剧中 ...

最新文章

  1. 【Python】Numpy简单入门
  2. 巧用FTP命令进行文件传输
  3. AOJ GRL_1_C: All Pairs Shortest Path (Floyd-Warshall算法求任意两点间的最短路径)(Bellman-Ford算法判断负圈)
  4. 同一个页面同时拥有collectionView和navigationBar和tabBar时可能遇到的问题
  5. TransmittableThreadLocal详解
  6. 服务性服务–服务到服务的通话
  7. Python str和bytes的相互转换
  8. 14年,50%市场份额,一家中国公司何以在丹麦成功?
  9. 几种无线通讯介绍与比较(蓝牙,WiFi,IrDA,NFC,Zigbee,UWB)
  10. 从键盘输入5个学生每科分数,把分数保存到一个数组中,最后输出分数大于60分的成绩
  11. linux svn e210003,svnadmin load 遇到E125005 的错误
  12. dota2服务器选哪个文件,畅爽竞技必看 DOTA2服务器选择指南
  13. python报错: list object has no attribute shape的解决
  14. 答疑解惑 | Linux GNU C 与 ANSI C 的区别
  15. 第八届蓝桥杯B组国赛总结
  16. ZYNQ开发系列——使用AXI4LITE接口进行PS和PL交互
  17. 推荐计划常见问题解答:有哪些问题是必须的?
  18. python代码举例说明生日悖论
  19. TS报错Error: xxx doesn‘t exist on type ‘xxx’
  20. python求f的倒数_Python中整数的倒数

热门文章

  1. java连续输入字符串遇到回车停止
  2. Google DevFest 2021即将开始,赶紧来参加吧
  3. 微信小程序for循环解析json数组
  4. 李开复:在中国创业的成功范式
  5. 华为首款鸿蒙手机,截胡华为P50,首款鸿蒙手机已确定,余承东果然没说谎
  6. 简单步骤:wps如何从一页之后开始定义页眉和页脚
  7. 在IntelliJ IDEA 中使用 Gradle JavaFx
  8. IT行业的发展与前景 : 又是一年毕业季,给新一批高考毕业生IT专业的一些小 tips
  9. c++实现贪吃蛇详解(附代码)
  10. 海思3559使用IVE处理图片出现花图问题