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. 生成词云。

  • 相关阅读:
    cocos2d-x 3.0 事件分发机制
    cocos2d-x Schedule详解
    OSG设置警告等级
    OSG四元数与欧拉角之间的转换
    编译OSG_FBX插件
    RakNet发送与接收数据
    RakNet基本教程
    IE不能上网,但是其他浏览器可以
    OSG计时器与时间戳
    添加OSG各种事件处理器
  • 原文地址:https://www.cnblogs.com/zhangqianqian/p/10580296.html
Copyright © 2011-2022 走看看