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

    作业来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2822

    作业要求:

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

    我下载的是钱钟书先生写的《围城》,放于wc.txt文件中

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

    txt = open('wc.txt',encoding='UTF_8').read()

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

    pip install jieba

    import jieba

    jieba.lcut(text)

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

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

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

    jieba.add_word('赵辛楣')
    jieba.add_word('唐晓芙')
    jieba.add_word('孙柔嘉')
    jieba.add_word('苏文纨')
    jieba.add_word('鲍小姐')
    jieba.add_word('董斜川')

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

    转换代码:scel_to_text

    5. 生成词频统计

    # 统计频率次数
    wordSet=set(words)
    for w in wordSet:
        if len(w)>1:
            wordDict[w] = words.count(w)

    6. 排序

    # 排序
    wordList = list(wordDict.items())
    wordList.sort(key=lambda x: x[1], reverse=True)

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

    ci=['我们','你们','他们','自己','没有','什么','可是','先生','时候','今天','就是','怎么','还是','这么','觉得','方鸿渐']
    for c in ci:
            txt = txt.replace(c, "")

    stops

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

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

    # 输出top20
    for i in range(20):
        print(wordList[i])

    9. 生成词云。

  • 相关阅读:
    IntelliJ IDEA导包快捷键
    maven命令创建web骨架项目
    v2.0版本小程序开发心得(代码之外)
    装饰器模式
    闭包
    git diff的文字说明
    WSGI和CGI
    word-wrap、white-space和word break的区别
    Javascript中正则的 match、test、exec使用方法和区别
    Git 内部原理
  • 原文地址:https://www.cnblogs.com/zhangqianqian/p/10580296.html
Copyright © 2011-2022 走看看