zoukankan      html  css  js  c++  java
  • 中文词频统计与词云生成

    作业要求:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2822

    1. 下载一长篇中文小说。

      下载的小说为村上春树的《且听风吟》

          

    2. 从文件读取待分析文本。

    mytext = open('yuesifengyin.txt',encoding='UTF-8').read()
    

    3.安装并使用jieba进行中文分词。

          

    4.更新词库,加入所分析对象的专业词汇。

    jieba.add_word('哈特费尔德')
    jieba.add_word('约翰.F.肯尼迪')
    jieba.add_word('布鲁克.韦顿')
    words = list(jieba.cut(mytext))
    

    5. 生成词频统计,排除语法型词汇,代词、冠词、连词等停用词

    dele = {'。','!','?','的','“','”','(',')',' ','》','《',','}
    wordDict = {}
    wordSet = set(words)-dele  ##去除无语义符号
    
    for w in wordSet:    
        if len(w)>1:        
            wordDict[w] = words.count(w)
    

      

    6. 排序

    wordlist = sorted(wordDict.items(), key = lambda x:x[1], reverse = True)
    

      

    7. 输出词频最大TOP20

          

    8.把结果存放到文件里

          

    9. 生成词云

          

    10. 完整代码+注释

    from wordcloud import WordCloud
    import matplotlib.pyplot as plt
    import jieba
    import pandas as pd
    
    
    text = open('yuesifengyin.txt',encoding='UTF-8').read()
    
    
    ##更新词库,添加词
    jieba.add_word('哈特费尔德')
    jieba.add_word('约翰.F.肯尼迪')
    jieba.add_word('布鲁克.韦顿')
    words = list(jieba.cut(text))
    
    ##生成词频统计,排除语法型词汇,代词、冠词、连词等停用词
    dele = {'','','','','呢','哦','','','','',' ','','',''}
    wordDict = {}
    wordSet = set(words)-dele
    for w in wordSet:
        if len(w)>1:
            wordDict[w] = words.count(w)
    
    ##排序
    wordlist = sorted(wordDict.items(), key = lambda x:x[1], reverse = True)
    
    cut = " ".join(words)
    
    ##生成词云
    mywc = WordCloud().generate(cut)
    plt.imshow(mywc)
    plt.axis("off")
    ##显示词云
    plt.show()
    
    ##输出词频最大TOP20
    for i in range(20):
        print(wordlist[i])
    
    ##把结果存放到文件里
    pd.DataFrame(data=wordlist).to_csv('text.csv', encoding='UTF-8')
  • 相关阅读:
    HTML5 特性检测:Video Format(视频格式)
    HTML5中对script标签的规定与解释
    Java数据类型
    Java微信公众平台开发之将本地开发环境映射到公网访问
    微信扫码支付模式一和模式二的区别
    Java微信公众平台开发之获取地理位置
    Vim 的一些高频使用命令
    Python 的一些高级特性
    【面试题总结】第二篇
    Python 的模块和包
  • 原文地址:https://www.cnblogs.com/lawn/p/10590887.html
Copyright © 2011-2022 走看看