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

     《倚天屠龙记》作为金庸先生的经典作品,在无数人心目中留下了深刻的印象,基本上隔一段时间这部经典作品就会被重新拍成电影或者电视剧,可见观众的喜爱程度。虽然本人没有完完全全拜读过先生的这部作品,但是作为剧迷,也是刷了好几遍电视剧,对其中的人物印象颇深。

      前段时间刚刚开始接触python,在python的初步入门阶段结束后,决定对《倚天屠龙记》这本经典小说进行文本分析,挖掘其中的人物关系。主要使用的软件为python,R以及Gephi,涉及到的内容为文本处理和网络分析。主要思路为:首先利用python的jieba库对文本进行分词处理,其次统计小说主要人物的出场次数以及先后次序,最后构建人物关系邻接矩阵,建立人物关系网络。

##读入文本txt = open("Documents/Python Scripts/倚天屠龙记.txt","r", encoding = "utf-8").read()repeatname = open("Documents/Python Scripts/主角名单.txt","r", encoding = "utf-8").read()#print(txt)

21088fd89cc4ceb4b7d60ca804a61dbd.png

       从读入的《倚天屠龙记》文本可以看出文章有大量的标点符号,这会对后续的分词会产生影响,因此需要去掉这些标点符号。

##去掉文本的标点符号punctuation = r"""!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~“”?,!《》【】()、。:;’‘……¥·"""dicts={i:'' for i in punctuation}punc_table=str.maketrans(dicts)txt1=txt.translate(punc_table)#print(txt1)

2ae16704fc438f3ebb05e01f76264266.png

       处理后的文本已经完全没有标点符号,接下来进行分词处理。

##使用python中的jieba库进行分词处理import loggingimport jiebajieba.setLogLevel(logging.INFO)##jieba库没有“杨逍”这个词,需要添加jieba.add_word("杨逍")words = jieba.lcut(txt1)

       分词结果包含大量的词语,为便于观察,我们绘制中文词云进行展示。

##绘制词云import wordcloudimport matplotlib.pyplot as plt w = wordcloud.WordCloud(font_path = "Documents/Python Scripts/SimHei.ttf",width = 600, height = 400)w.generate(" ".join(words))plt.imshow(w, interpolation="
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值