首页 > 其他 > 详细

词频记录与词云制作

时间:2020-04-07 00:58:29      阅读:86      评论:0      收藏:0      [点我收藏+]

《三国演义》可以说是接触最久一本小说。最早是红白机大卡带的游戏,然后有按照小说历程设计的策略游戏《三国志Ⅺ》。

并且上学时有课文《出师表》,《空城计》的学习。基本上课外拓展《三国演义》的题都考不动我。

颇有感情的一本小说,即使到现在也还是很喜欢。

现在学习python学到新技能,自然做出一番操作。

#e10.4CalThreeKingdoms.py
import jieba
excludes = {"将军","却说","荆州","二人","不可","不能","如此"}
txt = open("三国演义.txt", "r", encoding=utf-8).read()
words  = jieba.lcut(txt)
counts = {}
for word in words:
    if len(word) == 1:
        continue
    elif word == "诸葛亮" or word == "孔明曰":
        rword = "孔明"
    elif word == "关公" or word == "云长":
        rword = "关羽"
    elif word == "玄德" or word == "玄德曰":
        rword = "刘备"
    elif word == "孟德" or word == "丞相":
        rword = "曹操"
    else:
        rword = word
        counts[rword] = counts.get(rword,0) + 1
for word in excludes:
    del(counts[word])
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True) 
for i in range(5):
    word, count = items[i]
    print ("{0:<10}{1:>5}".format(word, count))

技术分享图片

 

 

 技术分享图片

 

 

 

 找不到正确的小说文本,所以还是与真实数据有一定的差距。

至于一些无关名词的出现,只需在第三行的代码中插入相应文字即可,依次重复即可获得正解。

 

#WordCloud.py
import jieba
import wordcloud
f=open("三国演义.txt",r,encoding=utf-8)
t=f.read()
f.close()
ls=jieba.lcut(t)

txt="".join(ls)
w=wordcloud.WordCloud(    width=1000,height=700,    background_color=white,    font_path=msyh.ttc,max_words=15
    )
w.generate(txt)
w.to_file("grwordcloud.png")

技术分享图片

 

通过词云,可以得到一些结论。

1:“且听下回分解”是结尾必备,除了最后一章的“鼎足三分已成梦,后人凭吊空牢骚。”所以该语句出场频率较高

2:各式各样的曰,可以看出小说具有大量对话,说明三国演义不仅仅有让人酣畅淋漓的大场面,也有精彩绝伦的对话(个人愚见)

我们可以通过词云的方式了解更多,不仅仅限制于小文章。当然还可以某些领导人的讲话,了解他的个人风格等等。

词频记录与词云制作

原文:https://www.cnblogs.com/lalalala-fan/p/12650491.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!