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


    中文词频统计

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

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

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

    pip install jieba

    import jieba

    jieba.lcut(text)

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

    jieba.add_word('天罡北斗阵')  #逐个添加

    jieba.load_userdict(word_dict)  #词库文本文件

    参考词库下载地址:https://pinyin.sogou.com/dict/

    转换代码:scel_to_text

    5. 生成词频统计

    6. 排序

    7. 排除语法型词汇,代词、冠词、连词等停用词。

    stops

    tokens=[token for token in wordsls if token not in stops]

    8. 输出词频最大TOP20,把结果存放到文件里

    9. 生成词云。

    import matplotlib.pyplot as plt
    import jieba
    import pandas as pd
    
    
    f = open('luxun.txt', 'r', encoding='utf-8') #读取小说内容
    lx = f.read()
    f.close()
    
    f1 =  open('def.txt', 'r', encoding='utf-8')  #读取无用中文关键词
    kai = f1.read()
    f1.close()
    
    for i in [' ','
    ']:
        lx = lx.replace(i, '')
    #jieba添加词典与关键词
    jieba.add_word("鲁迅")
    jieba.load_userdict('fff.txt')
    kk=jieba.lcut(lx)  #用jieba切割nov
    
    
    #token过滤无用关键词,洗掉
    waste=kai.split('
    ')
    tokens = [token for token in kk if token not in kai]
    
    
    wordDict = {}
    wordSet = set(tokens)
    for w in wordSet:
        if len(w)>1:
            wordDict[w] = tokens.count(w)
    
    ##排序
    wordlist = sorted(wordDict.items(), key = lambda x:x[1], reverse = True)
    
    cut = " ".join(tokens)
    
    
    ##输出词频最大TOP20
    for i in range(20):
        print(wordlist[i])
    
    ##把结果存放到文件里
    pd.DataFrame(data=wordlist).to_csv('text.csv', encoding='UTF-8')

    def文本:洗掉的无关词,排除语法型词汇,代词、冠词、连词等停用词

    生成的csv:

    词云:由于在经历四个小时的wordcloud的安装失败,所以无法使用wordcloud包。

    使用cmd安装成功wordcloud后也不能在pycharm里面显示出来使用。

  • 相关阅读:
    代码对比软件——code compare
    IAR调试和keil调试的一点小区别
    谷访问歌助手
    X86架构的寄存器
    ant-design-pro
    js 闭包 作用域
    《三体》总结
    如何通过SQL注入盗取数据库信息
    《看见》总结
    《欲望的演化》总结
  • 原文地址:https://www.cnblogs.com/LRZluck/p/10597003.html
Copyright © 2011-2022 走看看