python学习 第十一个程序 汉语文本词频统计

Posted wumingoo1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习 第十一个程序 汉语文本词频统计相关的知识,希望对你有一定的参考价值。

# CalThreeKingdoms.py
import jieba

‘‘‘
安装第三方库 中文分词jieba
pip install jieba
统计三国演义中出现次数最多的人
‘‘‘

txt = open("threekingdoms.txt", "rt", encoding="utf-8").read()
# 排除出现频率较高的非人名
exclude = ["却说", "二人", "不可", "荆州", "不能", "如此", "将军", "商议",
"如何", "主公", "军士", "左右", "军马", "引兵", "次日", "大喜",
"天下", "东吴", "于是", "今日", "不敢", "魏兵", "陛下", "一人",
"都督", "人马", "不知", "汉中", "只见", "众将", "后主", "上马",
"大叫", "蜀兵", "太守", "此人", "夫人", "先主", "后人", "背后",
"城中", "天子", "一面", "何不", "大军", "忽报", "先生", "百姓",
"何故", "然后", "先锋", "不如", "赶来"]
words = jieba.lcut(txt)
counts = {}
for word in words:
if len(word) == 1 or word in exclude:
continue
elif word in ["丞相"]:
word = "曹操"
elif word in ["玄德", "玄德曰"]:
word = "刘备"
elif word in ["孔明", "孔明曰"]:
word = "诸葛亮"
elif word in ["关公", "云长"]:
word = "关羽"
counts[word] = counts.get(word, 0) + 1
counts = list(counts.items())
counts.sort(key=lambda x: x[1], reverse=True)
for i in range(15):
word, count = counts[i]
print("{:<10}: {:>10}".format(word, count))


以上是关于python学习 第十一个程序 汉语文本词频统计的主要内容,如果未能解决你的问题,请参考以下文章

如何用python和jieba分词,统计词频?

python bs4怎么抓豆瓣评论做词频表

Python词频统计

Python 统计英文词频

用Python统计词频

爬取腾讯网的热点新闻文章 并进行词频统计(Python爬虫+词频统计)