【大数据应用技术】作业四|中文词频统计

本次作业在要求来自: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)
原文地址:https://www.cnblogs.com/bhuan/p/10550652.html