作业来自于: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. 生成词云。