运用结巴库分析三国演义的人物出场次数

import  jieba

txt = open("D:\\三国演义.txt", "r", encoding=‘ANSI‘).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:
        counts[word] = counts.get(word, 0) + 1    # 遍历所有词语,每出现一次其对应的值加 1
excludes = {"将军","却说","荆州","二人","不可","不能","如此","商议","如何","主公","军士"}     #找出不是人物的词语
for word in excludes:
    del(counts[word])       #删除不是人物的词雨
items = list(counts.items())#将键值对转换成列表
items.sort(key=lambda x: x[1], reverse=True)    # 根据词语出现的次数进行从大到小排序
for i in range(15):
    word, count = items[i]
    print("{0:<5}{1:>5}".format(word, count))

  

原文地址:https://www.cnblogs.com/hayhong/p/12692136.html

时间: 2024-10-16 01:57:44

运用结巴库分析三国演义的人物出场次数的相关文章

三国演义人物出场统计

#Hamlet词频统计(含Hamlet原文文本) #CalHamletV1.py def getText(): txt = open("hamlet.txt", "r").read() txt = txt.lower() for ch in '!"#$%&()*+,-./:;<=>[email protected][\\]^_'{|}~': txt = txt.replace(ch, " ") #将文本中特殊字符替换

用R语言分析《我是歌手》出场顺序与名次的关系

上周<我是歌手>吵吵闹闹地落幕了,这一季是我最关注的一季,很认真的从头看到尾.网上各种讨论,特别反感那些说看到谁谁谁就不想看了的说法,其实单纯地去听他们的歌声,会觉得即使是之前不看好的那些歌手都能给你很多惊喜和感动.以前对清华哥哥的印象是歌都很好听,但是自己唱不红,翻唱都会变红啊,现在喜欢上他的声音了啊!不管这个节目有没有什么内部操作黑幕,单纯听他们的歌还是挺好的.当然,这篇文章的主旨不在此,我们要看的如题<我是歌手>节目中,出场顺序和名词的关系.关系肯定是有的,节目里自己都说到了

词云分析《天龙八部》人物出现次数

一.需要的三方库 1.安装词云: pip install wordcloud 2.安装结巴 pip install jieba 3.安装matplotlib pip install matplotlib 二.实现代码 1 import jieba # 分词函数 2 from scipy.misc import imread # 这是一个处理图像的函数 3 from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator 4 impor

求质数两个方法的好坏分析(是否易懂,操作次数,运算复杂度时间)

方法1: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <malloc.h> 4 #include <stdbool.h> 5 6 int main() 7 { 8 long i,j,n,ans=0; 9 //vis[x]若为true,则代表质数,若为false,则不是质数 10 bool *vis=(bool *) malloc (sizeof(bool)*100000001); 11 long

资深Python程序员教你统计,三国中人物名字出现的频率,很简单

资深Python程序员教你简单.有趣的程序:使用第三方库jieba切分,统计统计名著三国演义中人物名字出现次数. 资深Python程序员教你统计,三国中人物名字出现的频率,很简单其中一个jieba库是一个对中文文本依照汉字间关联概率进行词组划分的第三方库,使用简单,且非常好用 import jieba def getWords(): txt = open('novels/threekingdoms.txt', 'r', encoding = 'utf-8').read() words = jie

Yolov3代码分析与训练自己数据集

现在要针对我们需求引入检测模型,只检测人物,然后是图像能侧立,这样人物在里面占比更多,也更清晰,也不需要检测人占比小的情况,如下是针对这个需求,用的yolov3-tiny模型训练后的效果. Yolov3模型网上也讲烂了,但是总感觉不看代码,不清楚具体实现看讲解总是不清晰,在这分析下darknet的实现,给自己解惑,顺便也做个笔记. 首先查看打开yolov3.cfg,我们看下网络,可以用netron查看图形界面,可以发现网络主要以卷积层构成,shortcut(残差连接),route(通道组合)三种

合并排序算法时间复杂度分析

一.合并已排序的两个数组,依次比较两个数组元素大小,并按大小加入到暂存数组B,最后保存到A: Algorithm: MERGE(A, p, q, r) 输入:数组A[p...q]和A[q+1...r],各自按升序排列 输出:将A[p...q]和A[q+1...r]合并后的升序排序的新数组 01. s←p; t←q+1; k←p; {s, t, p 分别指向A[p...q], A[q+1...r]和暂存数组B} 02. while s≤q and t≤r 03. if A[s] ≤A[t] the

性能和性能分析

性能分析是指观察和记录有关应用程序行为的度量的过程.常见的性能问题源于运行速度慢或低效的代码,或者导致内存浪费的代码. 大多数性能分析工具都可以归为: 采样式:采样式性能分析器通过获取运行应用程序的周期性快照(称为采样),记录每个时间间隔内的应用程序运行状态,包括正在执行的代码行.通常情况下,不会修改被测系统代码,而倾向于采用外部透视方法. 插装式:采用侵入式方案. 两者的主要区别在于,采样式分析器在运行任何代码时都会检查应用程序,包括对外部库的调用.而插装式分析器则只从插装代码收集数据. Vi

堆排序分析及优化

堆排序,是利用堆结构进行排序,一般是利用最大堆,即根节点比左右两个子树的节点都大,具体算法步骤如下. 一.创建堆 首先将数组中的元素调整成堆,对应下面程序中的createHeap(List<Integer> list)方法.创建堆就是从树中最后一个内节点(下标为(n-1)/2)开始调整数组中元素的位置,使以这个内节点为根的子树满足堆的结构.即依次将以(n-1)/2.(n-1)/2-1.(n-1)/2-2.....1.0为根的子树调整为堆. 创建堆主要用了shiftDown操作,对应下面的shi