zoukankan      html  css  js  c++  java
  • 词频记录与词云制作

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

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

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

    现在学习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:各式各样的曰,可以看出小说具有大量对话,说明三国演义不仅仅有让人酣畅淋漓的大场面,也有精彩绝伦的对话(个人愚见)

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

  • 相关阅读:
    Java抓取网页数据(原网页+Javascript返回数据)
    jvm调优
    Windows系统下nodejs安装及配置
    《学习opencv》笔记——矩阵和图像操作——cvCalcCovarMatrix,cvCmp and cvCmpS
    数据结构与算法一
    Oracle Hints具体解释
    hibernate-4.3.5安装配置
    linux-多线程
    利用JasperReport+iReport进行Web报表开发
    linux下tar.xz 文件解压
  • 原文地址:https://www.cnblogs.com/lalalala-fan/p/12650491.html
Copyright © 2011-2022 走看看