前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AI大数据统计《庆余年2》中的小人物有哪些?

AI大数据统计《庆余年2》中的小人物有哪些?

作者头像
AIGC部落
发布2024-06-24 19:33:19
430
发布2024-06-24 19:33:19
举报
文章被收录于专栏:Dance with GenAIDance with GenAI

《庆余年2》除了主角表演经常,每个配角小人物也很出彩。那到底有哪些小人物呢?

在deepseek中输入提示词:

你是一个Python编程专家,要写一个Python脚本,具体步骤如下:

读取文档:"D:\qyn\庆余年第二季剧情.docx";

使用jieba进行中文分词,

遍历分词结果,筛选出标签为'nr'的词语(这些就是人名),打印出来;

统计每个人名在文档中出现的次数,打印出来;

筛选出出现次数大于10的人名,用matplotlib绘制一个水平柱状图:x轴为人名,y轴为人名出现次数;

x轴上的人名要按照出现次数,从小到大排列;

设置matplotlib默认字体为'SimHei',文件路径为:C:\Windows\Fonts\simhei.ttf

注意:每一步都要输出信息到屏幕上

源代码:

import docx

import jieba

import jieba.posseg as pseg

import collections

import matplotlib.pyplot as plt

from matplotlib.font_manager import FontProperties

# 设置matplotlib默认字体

font_path = r"C:\Windows\Fonts\simhei.ttf" # SimHei字体文件路径

font_prop = FontProperties(fname=font_path)

plt.rcParams['font.sans-serif'] = font_prop.get_name()

plt.rcParams['axes.unicode_minus'] = False

# 读取文档

doc_path = r"D:\qyn\庆余年第二季剧情.docx"

doc = docx.Document(doc_path)

# 使用jieba进行中文分词,并提取人名

text = ' '.join([para.text for para in doc.paragraphs])

words = pseg.cut(text)

person_names = [word for word, flag in words if flag == 'nr']

# 输出所有的人名

print("所有的人名:")

print(person_names)

# 统计每个人名在文档中出现的次数,并打印出来

name_counts = collections.Counter(person_names)

print("每个人名出现的次数:")

print(name_counts)

# 筛选出出现次数大于10的人名

filtered_names = {name: count for name, count in name_counts.items() if count > 10}

# 按照出现次数对filtered_names进行排序

sorted_filtered_names = dict(sorted(filtered_names.items(), key=lambda item: item[1]))

# 使用matplotlib绘制一个水平柱状图,x轴为人名,y轴为人名出现次数

names_list = list(sorted_filtered_names.keys())

counts_list = list(sorted_filtered_names.values())

# 创建图表并设置大小

plt.figure(figsize=(10, len(names_list) // 3))

# 绘制水平柱状图

plt.barh(range(len(names_list)), counts_list, color='skyblue', tick_label=names_list)

# 设置图表标题和轴标签

plt.title('出现次数大于10的人名统计')

plt.xlabel('人名出现次数')

plt.ylabel('人名')

# 显示图表

plt.tight_layout()

plt.show()

程序运行,结果如上,可见,除了主角'范闲'、 '李承泽'、'陈萍萍'、'林婉儿'、 '范思辙'、 '林若甫'、'王启年'、'李承乾等这些,还有众多小人物:'叶灵儿': 49, '赖名成': 48, '言冰云': 46, '杨万里': 43, '郭铮': 40, ', '邓子越': 37, '李成儒': 35, '谢必安': 34, '明青达': 33, '柳如玉': 32, '袁梦': 27, '贺宗纬': 27, '老太太': '李承儒': 23, '袁宏道': 21, '李太医': 20, '桑文': 19, ''林珙': 18, '明家': 17, '洪竹': 16, '侯季常': 15, '郭保坤': 12, '费介': 12, , '秦恒': 10, '宜贵嫔': 10, '言若海':, '叶重': 10, '公子哥': 9, '王夫人': '肖恩': 8, '范闲才': 8, '向庆帝': 8, '郭保': 6, '成佳林':': '辛其物':

很多出场次数很少的小人物,比如桑文、辛其物、洪竹,人物塑造鲜明,给人印象深刻。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Dance with GenAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档