基于Python的jieba库分析《斗破苍穹》文本中的高频词汇

2024-05-15 21:36

本文主要是介绍基于Python的jieba库分析《斗破苍穹》文本中的高频词汇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

分析《斗破苍穹》文本中的高频词汇

在进行文本分析时,了解文本中出现频率较高的词汇对于把握文本的主题和风格非常有帮助。本文将介绍如何使用Python的jieba库对《斗破苍穹》这部小说的文本进行分词处理,并统计高频词汇的出现次数(本文只统计了小说前四百章节的内容)。

背景介绍

《斗破苍穹》是一部非常受欢迎的玄幻小说,由天蚕土豆所著。为了更好地理解这部小说的词汇使用情况,我们决定排除一些常见的虚词和无意义的词汇,同时将一些角色的别名统一为全名,以便于统计。

环境准备

文本资料:微信公众号“码银学编程”后台回复 斗破文本。

在开始之前,请确保你的环境中已经安装了jieba库。如果没有安装,可以通过以下命令安装:

pip install jieba

代码实现

首先,我们定义了一个excluded_words集合,包含了需要排除的词汇。这些词汇大多是一些虚词或在统计中意义不大的词汇。然后,我们定义了一个alias_to_full_name字典,用于将小说中人物的别名映射到全名。

接下来,我们读取了《斗破苍穹》的文本文件,并使用jieba库进行分词。在分词过程中,我们排除了单字词汇和之前定义的排除词汇。最后,我们统计了剩余词汇的出现次数,并对统计结果进行了排序。

以下是完整的代码实现:

import jieba
# 定义一个集合,包含需要排除的词汇
excluded_words = {'有些', '便是', '我们', '你们', '如今', '说道', '知道', '起来', '这里', '之中', '能够', '一面', '自己', '怎么', '两个', '没有','不是' ,'不知' ,'这个' ,'咱们' ,'告诉' ,'就是' ,'东西', '他们', '众人', '进来','回来','只是','大家', '老爷', '只见', '听见', '只得','这些' ,'不敢' ,'出去' ,'出来' ,'微微','然后', '竟然','之后','已经','不过','心中','身体','一个','虽然','一般','犹如','点头','现在','最后','缓缓','时间','什么','一些','这种','之上','目光','忽然','略微','实力','却是','一声','那些','似乎','一口气','出现','摇头','脸色','所以','一抹','有着','手掌','脸庞','体内','这般','旋即','顿时','淡淡的','随着','一道','恐怕','随着','先前','极为','而出','声音','...','而出','青色','面前','极为','手中','逐渐','进入','因为','几乎','方才','缓缓的','不会','一名','的话','终于','开始','一眼','能量','火焰','斗气','修炼','强者','药师','一下','少年','家族','呵呵','哈哈','丹药','长老','闻言','无奈','家伙','一股','需要','帝国','依然','以及','而且','两人','需要','周围','此时'# ... 其他排除词汇 ...
}# 定义一个映射,将《斗破苍穹》中的别名映射到对应的全名
alias_to_full_name = {('炎帝', '炎儿'): '萧炎',('药尘'):'药老',('纳兰'):'纳兰嫣然',('嫣然'):'纳兰嫣然',('海波'):'海波东',
('萧熏儿'):'萧熏儿',
('熏儿'):'萧熏儿',
('古熏儿'):'萧熏儿',}# 读取文本文件
try:with open("斗破苍穹.txt", "r", encoding="utf-8") as file:text = file.read()
except FileNotFoundError:print("文件未找到,请检查文件路径是否正确。")exit()# 使用jieba进行分词
words = jieba.lcut(text)# 初始化计数字典
word_counts = {}# 统计每个词的出现次数,排除单字和指定的词汇
for word in words:if len(word) == 1 or word in excluded_words:continuefull_name = alias_to_full_name.get(word, word)  # 根据别名获取全名word_counts[full_name] = word_counts.get(full_name, 0) + 1# 移除排除词汇的计数
for word in excluded_words:word_counts.pop(word, None)# 对计数进行排序,并打印前20个结果
sorted_word_counts = sorted(word_counts.items(), key=lambda item: item[1], reverse=True)
for word, count in sorted_word_counts[:10]:print("{0:<10}{1:>5}".format(word, count))

 

结果分析

运行上述代码后,我们得到了《斗破苍穹》中出现频率最高的100个词汇及其出现次数。这些词汇不仅包括了主要角色的名称,还有一些关键的名词和术语,它们在一定程度上反映了小说的主要内容和风格。

本文仅供学习交流使用,并无其它目的,如有侵权还望告知删除!

这篇关于基于Python的jieba库分析《斗破苍穹》文本中的高频词汇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/992982

相关文章

RedHat运维-Linux文本操作基础-AWK进阶

你不用整理,跟着敲一遍,有个印象,然后把它保存到本地,以后要用再去看,如果有了新东西,你自个再添加。这是我参考牛客上的shell编程专项题,只不过换成了问答的方式而已。不用背,就算是我自己亲自敲,我现在好多也记不住。 1. 输出nowcoder.txt文件第5行的内容 2. 输出nowcoder.txt文件第6行的内容 3. 输出nowcoder.txt文件第7行的内容 4. 输出nowcode

[职场] 公务员的利弊分析 #知识分享#经验分享#其他

公务员的利弊分析     公务员作为一种稳定的职业选择,一直备受人们的关注。然而,就像任何其他职业一样,公务员职位也有其利与弊。本文将对公务员的利弊进行分析,帮助读者更好地了解这一职业的特点。 利: 1. 稳定的职业:公务员职位通常具有较高的稳定性,一旦进入公务员队伍,往往可以享受到稳定的工作环境和薪资待遇。这对于那些追求稳定的人来说,是一个很大的优势。 2. 薪资福利优厚:公务员的薪资和

Python 字符串占位

在Python中,可以使用字符串的格式化方法来实现字符串的占位。常见的方法有百分号操作符 % 以及 str.format() 方法 百分号操作符 % name = "张三"age = 20message = "我叫%s,今年%d岁。" % (name, age)print(message) # 我叫张三,今年20岁。 str.format() 方法 name = "张三"age

一道经典Python程序样例带你飞速掌握Python的字典和列表

Python中的列表(list)和字典(dict)是两种常用的数据结构,它们在数据组织和存储方面有很大的不同。 列表(List) 列表是Python中的一种有序集合,可以随时添加和删除其中的元素。列表中的元素可以是任何数据类型,包括数字、字符串、其他列表等。列表使用方括号[]表示,元素之间用逗号,分隔。 定义和使用 # 定义一个列表 fruits = ['apple', 'banana

Python应用开发——30天学习Streamlit Python包进行APP的构建(9)

st.area_chart 显示区域图。 这是围绕 st.altair_chart 的语法糖。主要区别在于该命令使用数据自身的列和指数来计算图表的 Altair 规格。因此,在许多 "只需绘制此图 "的情况下,该命令更易于使用,但可定制性较差。 如果 st.area_chart 无法正确猜测数据规格,请尝试使用 st.altair_chart 指定所需的图表。 Function signa

python实现最简单循环神经网络(RNNs)

Recurrent Neural Networks(RNNs) 的模型: 上图中红色部分是输入向量。文本、单词、数据都是输入,在网络里都以向量的形式进行表示。 绿色部分是隐藏向量。是加工处理过程。 蓝色部分是输出向量。 python代码表示如下: rnn = RNN()y = rnn.step(x) # x为输入向量,y为输出向量 RNNs神经网络由神经元组成, python

python 喷泉码

因为要完成毕业设计,毕业设计做的是数据分发与传输的东西。在网络中数据容易丢失,所以我用fountain code做所发送数据包的数据恢复。fountain code属于有限域编码的一部分,有很广泛的应用。 我们日常生活中使用的二维码,就用到foutain code做数据恢复。你遮住二维码的四分之一,用手机的相机也照样能识别。你遮住的四分之一就相当于丢失的数据包。 为了实现并理解foutain

python 点滴学

1 python 里面tuple是无法改变的 tuple = (1,),计算tuple里面只有一个元素,也要加上逗号 2  1 毕业论文改 2 leetcode第一题做出来

高度内卷下,企业如何通过VOC(客户之声)做好竞争分析?

VOC,即客户之声,是一种通过收集和分析客户反馈、需求和期望,来洞察市场趋势和竞争对手动态的方法。在高度内卷的市场环境下,VOC不仅能够帮助企业了解客户的真实需求,还能为企业提供宝贵的竞争情报,助力企业在竞争中占据有利地位。 那么,企业该如何通过VOC(客户之声)做好竞争分析呢?深圳天行健企业管理咨询公司解析如下: 首先,要建立完善的VOC收集机制。这包括通过线上渠道(如社交媒体、官网留言

基于CTPN(tensorflow)+CRNN(pytorch)+CTC的不定长文本检测和识别

转发来源:https://swift.ctolib.com/ooooverflow-chinese-ocr.html chinese-ocr 基于CTPN(tensorflow)+CRNN(pytorch)+CTC的不定长文本检测和识别 环境部署 sh setup.sh 使用环境: python 3.6 + tensorflow 1.10 +pytorch 0.4.1 注:CPU环境