zoukankan      html  css  js  c++  java
  • 【大数据应用技术】作业四|中文词频统计

    本次作业在要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2773

    中文词频统计步奏

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

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

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

    pip install jieba

    import jieba

    ljieba.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 # -*- coding: utf-8 -*-
     2 import jieba
     3 jieba.load_userdict('斗罗大陆【官方推荐】.txt');
     4 
     5 #中文分词预处理
     6 f = open('斗罗大陆.txt','r',encoding="utf8").read();
     7 article = jieba.lcut(f);
     8 #setArticle = set(article);
     9 #print(article);
    10 
    11 stopwords = open('stops_chinese1.txt','r',encoding="utf8").read();
    12 #print("输出停用词结果:"+stopwords);
    13 #setStop = set(stopwords);
    14 #print(setStop);
    15 stop = []
    16 for word in stopwords:
    17     stop.append(word.strip());
    18 
    19 #setArticle = setArticle - setStop;
    20 #print(setArticle);
    21 
    22 dict = {};
    23 for word in article:
    24     if word not in stop;
    25        if len(word)==1:
    26         continue;
    27     else:
    28         dict[word]=dict.get(word,0)+1;
    29 
    30 
    31 #print("输出字典:"+dict.items());
    32 words = list(dict.items()); # 以列表返回可遍历的(键, 值)元组数组
    33 words.sort(key = lambda x:x[1],reverse = True); # 根据单词出现的次数进行排名
    34 
    35 for i in range(20):
    36     print(words[i]);
    37 print("输出前二十:"+words);# 输出TOP(20)
  • 相关阅读:
    Java 并发核心编程
    JavaScript中的类型(二)
    IEEE 754 规定的双精度浮点数表示
    javascript 上传多个附件(struts)
    给自己放放松
    C语言快速排序
    Mac付费软件免费获取
    Keil4 uVision软件生成hex文件
    Mac苹果电脑安装虚拟机
    数据结构是什么
  • 原文地址:https://www.cnblogs.com/bhuan/p/10550652.html
Copyright © 2011-2022 走看看