《三国演义》词频统计

(原创文章,转载请标明出处)

使用Jieba分词,统计《三国演义》的词频,最后生成词云

主要特点如下:

1. 制作了两个自定义字典(三国演义人物名、三国演义官职一览表)
2. 使用停用词词典

import re
import jieba
import csv
from collections import Counter
from pyecharts import options as opts
from pyecharts.charts import Page, WordCloud
from pyecharts.globals import SymbolTypedef ReadText(filename):"""读取文本内容"""with open(filename, 'r', encoding='utf-8') as f:text = f.read()return textdef CutWords(text, *filelist):"""分词(filelist传入自定义字典)"""text = re.sub('([\u4e00-\u9fa5]+)', '', text)        # 只保留中文汉字for file in filelist:jieba.load_userdict(file) words = jieba.lcut(text)                               # 分词words = [word for word in words if len(word)>1]       # 去掉只有一个字的词return wordsdef StopWords(words, stopfile):"""去除停用词"""with open(stopfile, 'r', encoding='utf-8') as f:              # 打开存放停用词的文件stoplist = f.readlines()stoplist = [stop.strip('\n') for stop in stoplist]words = [word for word in words if word not in stoplist] # 去除停用词return wordsdef WriteCSV(filename, freqdict, num=0):"""将词频统计结果写入csv"""with open(filename, 'w', encoding='utf-8', newline='') as f:if num == 0:num = len(freqdict.keys())                    # 默认统计全部词语freqlist = freqdict.most_common(num)              # 词语列表(元素是tuple:词语,词频)writer = csv.writer(f)writer.writerow(('词汇', '词频'))for freq in freqlist:writer.writerow((freq[0], freq[1]))if __name__ == '__main__':text = ReadText('三国演义.txt')text = re.sub('曰', '', text)                                  # 手动清理filelist = ['三国演义人物名.txt', '三国演义官职一览表.txt']    # 自定义字典words = CutWords(text, filelist[0], filelist[1])newwords = StopWords(words, stopfile='stop_words.txt')wordfreq = Counter(newwords)                                   # 计数WriteCSV('三国演义词频统计.csv', wordfreq, num=50)             # Top50# 生成词云图wordcloud = WordCloud()wordcloud.add('', wordfreq.most_common(50), word_size_range=[20,100])wordcloud.set_global_opts(title_opts=opts.TitleOpts(title='三国演义词云Top50'))wordcloud.render('三国演义词云图Top50.html')

Jieba与三国?——使用jieba统计《三国演义》词频相关推荐

  1. jieba库词频统计_用jieba库统计文本词频及云词图的生成

    一.安装jieba库 :\>pip install jieba #或者 pip3 install jieba 二.jieba库解析 jieba库主要提供提供分词功能,可以辅助自定义分词词典. j ...

  2. 对中国四大名著--红楼梦 使用jieba进行分词处理 排除去停词 统计完整词频并按降序排列 前20词绘制词云图

    文章目录 前言 一.jieba是什么? 支持四种分词模式: 支持繁体分词 支持自定义词典 MIT 授权协议 二.直接上代码了 总结 前言 今天用jieba和词云库做个作业,顺便记录一下,作业要求: 1 ...

  3. jieba.analyse的使用:提取关键字/词频制作词云

    jieba.analyse的使用:提取关键字/词频制作词云 ① jieba.analyse.extract_tags 提取关键字: print("***案例1***"*3) txt ...

  4. 用Python统计中英文词频

    本设计基于Python3.6实现中英文词频统计功能 英文词频统计 统计哈姆雷特英文版,txt格式文件地址: hamlet.txt 思路分析: 获取文件中词汇 转换为统一格式,如小写或者大写 切割词汇 ...

  5. python 对excel文件进行分词并进行词频统计_python 词频分析

    python词频分析 昨天看到几行关于用 python 进行词频分析的代码,深刻感受到了 python 的强大之处.(尤其是最近自己为了在学习 c 语言感觉被它的语法都快搞炸了,python 从来没有 ...

  6. python jieba库_python中jieba库的介绍和应用

    jieba库作为python中的第三方库,在平时是非常实用的,例如一些网站就是利用jieba库的中文分词搜索关键词进行工作. 一.安装环境 window + python 二.安装方式 在电脑命令符( ...

  7. 统计csv词频_中文词频统计与词云生成

    一.中文词频统计 1. 下载一长篇中文小说. 2. 从文件读取待分析文本. 3. 安装并使用jieba进行中文分词. pip install jieba import jieba jieba.lcut ...

  8. python怎么安装jieba库-python环境jieba分词的安装

    我的python环境是Anaconda3安装的,由于项目需要用到分词,使用jieba分词库,在此总结一下安装方法. 安装说明 ======= 代码对 Python 2/3 均兼容 * 全自动安装:`e ...

  9. 2.5.jieba分词工具、Jieba安装、全模式/精确模式、添加自定义词典、关键词抽取、词性标注、词云展示

    2.5.jieba分词工具 2.5.1.Jieba安装 2.5.2.全模式/精确模式 2.5.3.添加自定义词典 2.5.4.关键词抽取 2.5.5.词性标注 2.5.6.词云展示 2.5.jieba ...

最新文章

  1. 移动端html5手写板,Vue+canvas实现移动端手写板步骤详解
  2. Office无法打开超链接地址问题
  3. 12036火车票小工具,希望大家都能顺利回家
  4. 同一个项目能上传至 多个GitHub账号或Gitee的仓库嘛?
  5. 更改Zend Studio/Eclipse代码风格主题
  6. php __call实现多继承,php如何使用_call实现多继承(代码示例)
  7. linux ruby作用域,Ruby 的作用域和作用域门
  8. 如何配置微信公众号卡密回复?
  9. 实变函数与计算机有关系吗,实变函数论文.doc
  10. 3次样条曲线差值函数c++实现
  11. 光纤传输网的发展及其新的分层结构
  12. 2022南京商业贷款提前还款
  13. python中if not是什么意思_python中if not x: 和 if x is not None: 和 if not x is None的使用和区别...
  14. 安卓开机画面_【电视技术】索尼液晶电视开机横线,图像上下跳动技改方案
  15. 迅雷9右侧栏关闭广告
  16. 禁用ubuntu来宾账户
  17. PV操作与信号灯例子
  18. Atcoder F - Mirrored(思维+搜索)
  19. 银行储蓄管理系统 课程设计
  20. 盛大数位红 正式进军手机游戏

热门文章

  1. 【7】强化学习之策略梯度(Policy Gradient)
  2. 在Keil下用伟福调试程序
  3. itstime后面跟什么_spend time后面接什么
  4. HTML/XML转义字符对照表(建议收藏)
  5. 常见前端面试问题汇总2018
  6. uni-app 获取视频第一帧转换为图片 并展示
  7. 前端百题斩【021】——通俗易懂的防抖与节流
  8. linux thread model . Linux上posix线程库实现原理讨论
  9. 选择视频编码器的误区------傅德良
  10. 分享几个开源的android项目的源码,基本上用androidstudio都可以编译成功