一篇文章出现了那些词语?那些词出现的次数最多?
中文文本?英文文本?
英文文本测试资源:哈默雷特:https://python123.io/resources/pye/hamlet.txt
中文文本测试资源:三国演义:https://python123.io/resources/pye/threekingdoms.txt
一、利用Python统计哈姆雷特
二、利用Python统计三国演义

一、首先处理英语文本:
对于英语文本,我们需要去噪化及归一化(英语文本中除了英语单词外还有各种符号,及大小写)。

def getText():txt = open("hamlet.txt", "r").read()txt = txt.lower()       #大写字母全部转化为小写字母for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~': #\在python表示转义字符,故\\才是反斜杠txt = txt.replace(ch, " ")       #用空格代替标点符号return txthamletTxt = getText()
words = hamletTxt.split()       #以空格为标志,对字符串进行切片处理,转化为列表类型
counts = {}                     #利用字典表达词频
for word in words:counts[word] = counts.get(word,0) + 1   #统计单词word出现频率
items = list(counts.items())
items.sort(key = lambda x:x[1], reverse = True)
for i in range(10):#输出出现次数最多得前十的词语word, count = items[i]print("{0:<10}{1:>5}".format(word,count))

运行结果:

二、处理中文文本:
后文附有jieba库安装方法

import jieba
txt = open("threekingdoms.txt", "r", encoding='utf-8').read()
words  = jieba.lcut(txt)
counts = {}
for word in words:if len(word) == 1:continueelse:counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(15):word, count = items[i]print ("{0:<10}{1:>5}".format(word, count))

运行结果:

如果要统计人物频率,我们则需要剔除一些不是名字的词语,并且如玄德,玄德曰都是指刘备……

改进代码:

import jieba
excludes = {"将军","却说","荆州","二人","不可","不能","如此"}
txt = open("threekingdoms.txt", "r", encoding='utf-8').read()
words  = jieba.lcut(txt)
counts = {}
for word in words:if len(word) == 1:continueelif word == "诸葛亮" or word == "孔明曰":rword = "孔明"elif word == "关公" or word == "云长":rword = "关羽"elif word == "玄德" or word == "玄德曰":rword = "刘备"elif word == "孟德" or word == "丞相":rword = "曹操"else:rword = wordcounts[rword] = counts.get(rword,0) + 1
for word in excludes:del counts[word]
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(10):word, count = items[i]print ("{0:<10}{1:>5}".format(word, count))

jieba库安装方法:
win+R快捷键
输入cmd打开命令行
输入pip install jieba 等待安装成功

利用Python统计中文或英文文本词频(适合初学者)相关推荐

  1. 利用python对一段英文文本进行分词,分句

    这两天一直在学习用python进行自然语言处理这本书,当然开始的开始就是要学习python这门脚本语言,遇到了利用自己的语言对一段英文文本进行分词这个问题,找了好多资料都没有找到具体的解答,自己修修改 ...

  2. 【词频统计】--用python的jieba进行英文文本词频统计

    目录 1.基本思路:统计哈利波特小说中词频最高的前20个,去掉一些停用词(如is) 2.停用词(截取部分) 3.代码如下 4.小知识:元组可以用来这样赋值 1.基本思路:统计哈利波特小说中词频最高的前 ...

  3. 【编译原理】Python实现对一个英文文本的词频统计

    利用Python实现对一个英文文本的词频统计.文本链接:https://www.philippinetimes.com/news/257886068/australia-blocks-chinese- ...

  4. python统计英文文本词频和提取文本关键词

    统计一段英文的词频,以下代码只将标点符号省去,没有去除英文中介词,数词,人称代词等,如需要改进在统计时候直接去除相应词汇即可. #读取文本 txt = open("english.txt&q ...

  5. JAVA小练习之英文文本词频统计(三)

    写在开头:本次的小练习主要会运用一些字典的排序,由于对JAVA不是很熟悉,所以有的地方会不太能够解读,搜索了部分网上的资料. 英文文本词频统计 任务目标:统计英文文本中出现频率最高的5个单词,需要处理 ...

  6. 关键词数量统计python_利用python统计《十九大报告》中的关键词和词频

    利用python统计<十九大报告>中的关键词.报告摘要和词频.引用snowNLP.得到的结果: 1.关键词: 前五个关键词为 ['发展', '人民', '中国', '党', '建设'] 2 ...

  7. python统计中文字符的个数_python统计中文字符数量的两种方法

    方法一: def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数''' count_en = count_dg = count_sp = count_zh = c ...

  8. textarea输入框实时 统计字数(可统计中文,英文字数)

    textarea输入框实时 统计字数(可统计中文,英文字数) 效果图如下所示: html部分: <textarea name="des" id="" ro ...

  9. python统计汉字个数是_使用 Python 统计中文字符的数量

    使用 Python 统计中文字符的数量 方法一,排除法 假设只有中英文字符: import string def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数' ...

最新文章

  1. Excel导入SQL SERVER,数字和字符会被系统自动置为NULL的解决方法
  2. Zabbix3.X---Zabbix _Agent主动模式的监控(Active)
  3. 交叉线和直连线的线序,做法和使用场合
  4. postman post gin 接收不到_golang web开发——gin实战入门
  5. GitFlow 工作流和Code Review教程
  6. 针对集合中的某个字段对集合中的对象进行排序
  7. java 求数组最大子序列之和
  8. web---SSL/TSL
  9. OrderOnline——设计概述
  10. 《机器人学导论--Join J.Craig》第一章 绪论
  11. SEO行业的路上没有捷径
  12. IDEA多线程下空指针断点调试
  13. 7-24 求集合数据的均方差 (15 分)
  14. Xshell7免费版下载
  15. vs2010 sp1 安装错误,重新安装错误
  16. mysql获取本周的第一天(星期一)
  17. 项目管理工具——5W1H分析法
  18. 25个 Vue 技巧,开发了5年了,有些竟然还是第一次见!
  19. 计算机网络实验报告一
  20. Android factory reset 流程

热门文章

  1. 谈“堆栈”与“队列”的认识
  2. 关于黑眼圈形成和应对方法! - 生活至上,美容至尚!
  3. 批处理编写以及修改注册表
  4. Word处理控件Aspose.Words功能演示:在 Java 中将 DOCX 转换为 JSON
  5. cube 设置滴答定时器_STM32CubeMX | 27-系统滴答定时器Systick的使用
  6. 2022年网鼎杯题目整理
  7. 经验分享——想要加入教育行业,加盟or自创?
  8. Tern – 字幕组机翻小助手:自动翻译英文字幕为中英双语字幕[Win/macOS]
  9. three.js使用CubeCamera创建反光效果,动态环境贴图实现,立方体全景贴图(vue中使用three.js83)
  10. 2023年银行校招上岸全攻略分享(附历年商业银行笔试真题和备