R语言《红楼梦》文本挖掘:词频统计、词云可视化及前后对比分析
  MFqKcJmbshKy 2023年11月30日 23 0

作为中国古典文学的瑰宝,《红楼梦》具有极高的文学价值和丰富的主题内涵。近年来,随着大数据和文本挖掘技术的发展,对《红楼梦》等古典文学作品的深度分析成为可能。本研究采用R语言作为分析工具,对《红楼梦》全文进行文本挖掘,通过词频统计、词云可视化以及前后对比分析,以期深入探索这部经典小说的主题演变和人物塑造。

读入数据

将需要分析的文本放入记事本中,保存到相应路径,并在R中打开。这儿我导入的是《红楼梦》的文本。

先导入rJava和Rwordseg两个包

 

 

library(Rwordseg)

分词+统计词频

 

 

words=unistlapplyX=lecture, UN=sgmntCN))
#unlist将list类型的数据,转化为vector  
#lapply()返回一个长度与X一致的列表,每个元素为FUN计算出的结果,且分别对应到X中的每个元素。

table统计数据的频数

降序排序

 

 

v=rev(sort(v))

过滤掉1个字的结果和词频小于100的结果

 

 

 

d1=subset(d, nchr(ascharctr(d$词汇))>1 & d$词频.Freq>=100)

画出标签云

 

 

wordcloud(d1$词

R语言《红楼梦》文本挖掘:词频统计、词云可视化及前后对比分析_数据

性格分析: 宝玉

 

 

xinggefenxi("宝玉")

R语言《红楼梦》文本挖掘:词频统计、词云可视化及前后对比分析_大数据_02

从关键词“丫头”“出去”“姐姐”这些来看,贾宝玉是一个又奇又俗的人物。自幼深受祖母贾母疼爱,住贾母院。因此娇生惯养,构成他性格的主要特征是叛逆。他行为“偏僻而乖张”,是封建社会的叛逆者。他鄙视功名利禄,不愿走“学而优则仕”的仕途。他痛恨“八股”,辱骂读书做官的人是“国贼禄蠹”,懒于与他们接触拜会。

红楼梦前八十回与后四十回是否同一个人写的?

 

 

lecture<-read.csv("红楼梦前80回.txt", tringAsFactorsALSEheade=FALSE)  
   
words=ulit(lppl
#unlist将list类型的数,转化为vector  
#lapply()返回一个长度与X一致的列表,每个元素为FUN计算出的结果,且分别对应到X中的每个元素。  
word=lapply()

画出标签云

R语言《红楼梦》文本挖掘:词频统计、词云可视化及前后对比分析_词频_03

 

js

lecture<-read.csv("红楼梦后40回.txt", stringsAFacors=FLSE,header=FALSE)

前后红楼梦词频对比

 

 

qianword=qiwor[which(qiaword[ ,1] %in% gongtngword),  ]  
  
houword=uword[whih(houod[ ,1] %in% gongtonword),  ]

前红楼梦:

R语言《红楼梦》文本挖掘:词频统计、词云可视化及前后对比分析_词频_04

后红楼梦:

R语言《红楼梦》文本挖掘:词频统计、词云可视化及前后对比分析_词频_05

t检验

t检验是用t分布理论来推论差异发生的概率,从而比较两个平均数的差异是否显著。用于比较前后红楼梦的关键词出现频率的区别差异。

 

 

t.test(qianod[,3],huord[,3])

R语言《红楼梦》文本挖掘:词频统计、词云可视化及前后对比分析_大数据_06

从结果来看,t检验的p值显著小于0.05,因此拒绝原假设。有95%的把握可以认为前后的红楼梦不是一个人所做。


R语言《红楼梦》文本挖掘:词频统计、词云可视化及前后对比分析_大数据_07



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月30日 0

暂无评论

推荐阅读
MFqKcJmbshKy