文本词频统计。《三国演义》人物出场统计,排除更多无关词汇干扰,总结出场最多的10个人物,同时对返回结果进行图形展示。_《三国演义》人物出场统计:输入电子版《三国演义》文本,输出出场率最高的10个人物-程序员宅基地

技术标签: python  大作业  

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:
        continue
    elif word == "诸葛亮" or word == "孔明曰":
        rword = "孔明"
    elif word == "关公" or word == "云长":
        rword = "关羽"
    elif word == "玄德" or word == "玄德曰":
        rword = "刘备"
    elif word == "孟德" or word == "丞相":
        rword = "曹操"       
    else:
        rword = word
    counts[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))
    
import matplotlib.pyplot as plt
import matplotlib

matplotlib.rcParams['font.family']='SimHei' #字体为细黑体
ls=[('曹操',1451),('孔明',1383),('刘备',1252),('关羽',784),
    ('张飞',358),('吕布',300),('赵云',278),('孙权',264),
    ('司马懿',221),('周瑜',217)]
x1=[]
for i in range(10):
    x1.append(ls[i][0])
y1=[]
for i in range(10):
    y1.append(ls[i][1])
    
print(x1)
print(y1)

plt.scatter(x1, y1)
plt.show()

下面是代码运行结果:

词频统计
​​​​
结果图形化展示

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Turtle_719/article/details/133960594

智能推荐

Struts1.x工作原理概述_而strutsl.x的底层核心-程序员宅基地

文章浏览阅读1.7k次。一、Struts 的体系结构 二、Struts 的流程三、具体原理1、 Struts的核心是ActionServlet,它本质上就是一个Servlet,在Web.xml中配置ActionServlet为自动启动,指明Struts的配置文件所在位置,并指明Struts中工作条件servlet> servlet-name>strut_而strutsl.x的底层核心

eos虚拟机与智能合约详解与分析_多层级并行智能合约虚拟机架构-程序员宅基地

文章浏览阅读1k次。文章目录1. 相关背景知识1.1 LLVM相关内容1.1.1 LLVM架构概述1.1.2 LLVM IR介绍与分析1.1.2.1 LLVM IR指令集1.1.2.2 LLVM IR类型系统1.1.2.3 LLVM IR内存模型1.1.2.4 LLVM IR函数调用1.1.2.5 LLVM IR示例1.1.3 LLVM JIT介绍与分析1.1.3.1 LLVM JIT实现原理1.1.3.2 LLVM..._多层级并行智能合约虚拟机架构

Calculation of COGM and COGS-程序员宅基地

文章浏览阅读292次。UseYou can use the Product Cost Planning functions to calculate the cost of goods manufactured (COGM) and cost of goods sold (COGS) for products such as materials and services. The costs may then be..._calculation of sales & administration cost and cogs

一个适合于.NET Core的超轻量级工作流引擎:Workflow-Core-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏17次。一、关于Workflow-Core  近期工作上有一个工作流的开发需求,自己基于面向对象和职责链模式捣鼓了一套小框架,后来在github上发现一个轻量级的工作流引擎轮子:Workflow-Core,看完其wiki之后决定放弃之前自己造的轮子,使用这个开源项目来改造,也就有了这一篇博文。    Workflow-Core是一个基于.NET Standard的轻量级工作流引擎,其GitHu..._.net core workflow

懒女人的幸福生活-程序员宅基地

文章浏览阅读176次。懒女人的幸福生活懒女人,哈哈,当我听到这个词的时候,我的眼前立即出现了一幅画面“一个头发乱蓬蓬的女人,面带倦容,衣服穿得一点也不整洁,房间的床上和沙发上丢得都是平日换下的衣服,还有四处可见不用的生活用品……”晕,不要了,还是不要再想象了!   老公常说我是一个小女人,说我是一个喜欢打扮自己的小女人。不过我也喜欢装饰自己的幸福小家,打份自已和装饰自己的家这两件事..._懒女人的幸福生活下一站幸福

typdef:深入理解C语言中typdef关键词的用法-程序员宅基地

文章浏览阅读451次,点赞7次,收藏8次。假设我们有一个复杂的结构体,我们希望在代码中多次使用它,但又不想每次都写那么长的名字。int x;int y;} Point;现在,我们可以简单地使用Point来代替整个结构体的定义。函数指针的定义通常很长,使用typedef可以让代码更加整洁。现在,我们可以使用来代替。枚举类型在C语言中非常有用,但它们的名称可能会很长。现在,我们可以使用Color来代替整个枚举的定义。typedef。

随便推点

maven gatling 运行_gatling+maven-程序员宅基地

文章浏览阅读1.1k次。pom.xml

Springboot计算机毕业设计基于微信小程序的网络办公系统【附源码】开题+论文+mysql+程序+部署-程序员宅基地

文章浏览阅读862次,点赞12次,收藏12次。基于微信小程序的网络办公系统的研究,不仅有助于推动企业的数字化转型,提升工作效率,还能优化员工的办公体验,增强企业的竞争力。通过该系统,企业可以实现员工信息的集中管理、员工打卡的自动化处理、员工工资的电子化核算等功能,从而简化管理流程,减少人力成本。因此,开发一款基于微信小程序的网络办公系统,以满足企业对于高效、便捷办公的需求,具有重要的现实意义和应用价值。本研究的最终目标是帮助企业实现办公流程的数字化、自动化和智能化,提升企业的管理水平和运营效率,推动企业的可持续发展。最后,进行系统的部署和上线。

数据转换:将数据转换为不同的格式-程序员宅基地

文章浏览阅读489次,点赞7次,收藏7次。1.背景介绍1. 背景介绍在现代信息化时代,数据是成为企业竞争力的关键因素之一。数据的质量和可用性直接影响企业的决策能力和运营效率。因此,数据转换成为了一项重要的技术。数据转换的目的是将数据从一个格式转换为另一个格式,以满足不同的应用需求。数据转换的应用场景非常广泛,包括但不限于:数据库迁移:将数据从一个数据库系统迁移到另一个数据库系统。数据清洗:将数据从原始格式转换为有效的数..._数据格式转换软件技术要求怎么写

XTuner 大模型单卡低成本微调实战笔记_llm微调的目的-程序员宅基地

文章浏览阅读909次,点赞17次,收藏24次。大语言模型是在海量的文本内容基础上,以无监督或半监督方式进行训练的,海量的文本内容赋予了大模型各种各样的行业知识,但是如果直接把大模型的知识用于生产实践,会发现回答不大满意,微调的目的就是让LLM在具体的场景或领域中能够得到更好的回答。常用微调模式:增量预训练和指令跟随增量预训练:给模型投喂一些新的知识,新知识是目标领域的文本内容,经过新知识学习,模型即可获得该领域更好的效果。使用场景: 让基座模型学习到一些新知识,如某个垂类领域的常识训练数据:文章、书籍、代码等指令跟随微调。_llm微调的目的

macos安装electron和electron-builder报错问题_command not found: electron-builder-程序员宅基地

文章浏览阅读1.3k次。最近公司需求,需要做一个桌面端,其中需要用到electron-builder这个插件,安装的时候使用指令"vue add electron-builder",出现报错。报这个错是因为这个插件需要Node版本在14+以上,我们升级下Node版本就行了,这里我用的是naode v14.15.1的版本,这个版本也是很稳定的。这个问题出现的原因是电脑没有安装vue脚手架导致,使用vue --version查一下版本,发现还是识别不出这个指令无法检测,这里用“安装一下便可,如果没有效果卸载旧的,使用指令"_command not found: electron-builder

COMP4300/8300 Parallel Systems Assignment 1, 2024-程序员宅基地

文章浏览阅读605次,点赞29次,收藏13次。【代码】COMP4300/8300 Parallel Systems Assignment 1, 2024。