• 中文词频统计与词云生成


    中文词频统计:     作业连接:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2822

    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

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

    9. 生成词云。

    本案例统计红楼梦词频:

    1.在网上下载红楼梦txt文件

    2.使用PyCharm 编译器自动下载 jieba 包

    3.搜狗文库中下载红楼梦词库,并将词库.scel文件转化为txt文件

    4.先将转化为txt形式的词库文件加入,再对红楼梦文本进行词频统计,统计出频率最高的20个词:

    ```

    import jieba
    txt = open(r"C:UsersAdministratorDesktopall.txt",'r',encoding='utf-8').read()
    word_dict =r"C:UsersAdministratorDesktop11.txt"
    jieba.load_userdict(word_dict)
    words = jieba.cut(txt)
    # 键值对形式 {}
    counts={}

    for word in words:
    if len(word)==1:
    continue
    else:
    counts[word] = counts.get(word,0) +1 #遍历所有,并加1

    items = list(counts.items())#键值对变成列表

    items.sort(key=lambda x: x[1], reverse=True)

    for i in range(20):
    word, count = items[i]
        print("{0:<5}{1:>5}".format(word, count))

    ```

    5.编译结果:

    曹操 934
    孔明 831
    将军 760
    却说 647
    玄德 571
    关公 509
    丞相 488
    二人 463
    不可 435
    荆州 420
    孔明曰 384
    玄德曰 383
    不能 383
    如此 376
    张飞 348
    商议 344
    如何 336
    主公 327
    军士 309
    吕布 299

    6:词云形式:

     ·

  • 相关阅读:
    Linux服务器免密登录设置
    Docker 批量停止、删除容器和镜像
    python破解wifi密码
    python调用paramiko模块连接服务器
    Docker搭建redis-cluster集群三主三备
    Centos7.7搭建Prometheus2.0+Grafana监控Docker容器
    Centos7.7部署fastdfs分布式文件系统
    拉取git代码仓库项目到本地
    Seafile对接Amazon S3存储后端
    Centos7.x部署SeaFile私有网盘
  • 原文地址:https://www.cnblogs.com/Anla/p/10579295.html
Copyright © 2020-2023  润新知