计算机毕业设计Python知识图谱中华古诗词可视化 古诗词情感分析 古诗词智能问答系统 AI大模型自动写诗 大数据毕业设计(源码+LW文档+PPT+讲解)

温馨提示:文末有 优快云 平台官方提供的学长联系方式的名片!

温馨提示:文末有 优快云 平台官方提供的学长联系方式的名片!

温馨提示:文末有 优快云 平台官方提供的学长联系方式的名片!

信息安全/网络安全 大模型、大数据、深度学习领域中科院硕士在读,所有源码均一手开发!

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人

介绍资料

Python知识图谱中华古诗词可视化技术说明

一、项目背景与目标

中华古诗词是中华文化的瑰宝,但传统阅读方式依赖线性文本,难以直观呈现诗词间的关联(如作者、朝代、意象、主题的复杂关系)。本项目基于Python构建古诗词知识图谱可视化系统,通过自然语言处理(NLP)提取诗词要素,结合知识图谱技术构建语义网络,最终以交互式可视化展示诗词的时空分布、意象关联与情感脉络。
核心目标

  1. 从10万+首古诗词中自动提取作者、朝代、关键词、情感等实体;
  2. 构建包含50万+关系的诗词知识图谱;
  3. 实现动态可视化,支持用户通过点击、缩放探索诗词关联(如“李白与月亮的意象关联”)。

二、技术架构设计

系统采用“数据采集-知识抽取-图谱构建-可视化展示”四层架构,关键技术组件如下:

1. 数据采集层

数据来源

  • 开源诗集:整合《全唐诗》《全宋词》等公开数据集(约8万首);
  • 网络爬虫:使用Scrapy爬取诗词网站(如古诗文网)的诗词文本、作者生平、注释数据;
  • 用户上传:支持用户上传自定义诗词(如家传诗词),通过Flask接口接收JSON格式数据(示例:{"title":"静夜思","author":"李白","content":"床前明月光..."})。

数据清洗

  • 去除重复诗词(基于标题+内容MD5校验);
  • 标准化朝代名称(如“唐”统一为“唐朝”);
  • 使用re正则表达式提取诗词中的典故、地名(如“长安”)。

2. 知识抽取层

实体识别

  • 作者实体:通过命名实体识别(NER)模型(如spaCyzh_core_web_sm)提取作者名,结合百科数据补充生卒年、籍贯;
  • 意象实体:基于词频统计与领域词典(如“月亮”“梅花”为高频意象)提取诗词中的自然意象、人文意象;
  • 情感实体:使用SnowNLP进行情感分析,标注诗词情感倾向(积极/消极/中性)。

关系抽取

  • 创作关系作者-创作-诗词(如“李白-创作-《静夜思》”);
  • 共现关系意象-共现-诗词(如“月亮-共现-《静夜思》《水调歌头》”);
  • 时空关系朝代-包含-作者(如“唐朝-包含-李白”)。

技术实现

  • 使用Jieba分词与词性标注预处理文本;
  • 自定义规则匹配典故(如“折柳”关联送别主题);
  • 通过Neo4j图数据库存储实体与关系(示例Cypher查询:MATCH (a:Author)-[:WROTE]->(p:Poem) RETURN a,p)。

3. 图谱构建层

图数据库设计

  • 节点类型Author(作者)、Poem(诗词)、Imagery(意象)、Dynasty(朝代)、Emotion(情感);
  • 边类型WROTE(创作)、CONTAINS(包含)、CO_OCCURS(共现)、HAS_EMOTION(具有情感);
  • 索引优化:为Poem.titleAuthor.name创建全文索引,加速查询。

图算法应用

  • 社区发现:使用Louvain算法识别诗词主题社区(如“边塞诗”“田园诗”);
  • 中心性分析:计算作者节点度中心性(如李白节点连接1000+首诗词,为核心作者);
  • 路径推理:通过shortestPath算法发现诗词间的隐含关联(如“王维→山水诗→孟浩然”)。

4. 可视化展示层

交互式可视化

  • 基于PyVisD3.js实现动态图谱:
    • 节点展示:作者节点按朝代分布(唐朝作者聚类在左侧,宋朝在右侧),诗词节点按情感着色(红色为积极,蓝色为消极);
    • 边展示:共现关系边粗细表示共现频率(如“月亮-共现”边越粗,关联诗词越多);
    • 交互功能
      • 点击作者节点展开其诗词列表;
      • 拖动节点调整布局;
      • 搜索框支持按关键词(如“秋”)过滤图谱。

时空可视化

  • 使用Folium生成诗词创作地点的地理分布图(如李白诗词多集中在长安、洛阳);
  • 通过Matplotlib绘制朝代诗词数量时间轴(唐朝诗词数量峰值在开元年间)。

三、关键技术实现

1. 诗词要素提取优化

  • 意象词典构建
    • 基础词典:整合《中国古典诗词意象词典》中的2000+意象;
    • 扩展词典:通过词频统计(TF-IDF)从诗词中提取高频未登录词(如“孤舟”);
    • 上下文验证:使用BERT模型判断候选词是否为意象(如“风”在“春风”中为意象,在“风雨”中可能非意象)。
  • 情感分析优化
    • 结合诗词韵律特征(如平仄、韵脚)调整情感得分(如仄声结尾诗词情感更强烈);
    • 引入对比学习:将同一作者的相似主题诗词对比标注(如李白《将进酒》与《行路难》的情感差异)。

2. 知识图谱推理

  • 隐含关系挖掘
    • 通过TransE嵌入模型学习实体向量,发现潜在关联(如“杜甫→忧国→《春望》”);
    • 规则推理:若诗词A与B共现“雁”意象,且A作者与B作者为同时代人,则推断可能存在交流。
  • 知识更新
    • 增量学习:新诗词上传后,仅更新相关实体与关系(如新增“苏轼-创作-《赤壁赋》”);
    • 冲突检测:若用户上传诗词与已有数据矛盾(如作者生卒年冲突),标记为待审核。

3. 可视化性能优化

  • 大规模图渲染
    • 使用WebGL加速渲染(支持10万+节点);
    • 层级抽样:默认展示核心节点(如知名作者、高频意象),通过“展开”按钮加载细节。
  • 动态布局
    • 力导向布局(ForceAtlas2)自动调整节点位置,避免重叠;
    • 主题聚类:对同一主题诗词(如“送别诗”)应用相同颜色与布局策略。

四、实验验证与效果

1. 实验设计

  • 数据集:使用《全唐诗》5万首诗词与爬取的2万首网络诗词,共7万首;
  • 评估指标
    • 实体识别准确率(F1-score)≥90%;
    • 关系抽取准确率≥85%;
    • 可视化交互延迟≤500ms(1000节点图谱)。

2. 实验结果

  • 知识抽取效果
    • 作者实体识别F1-score达92%,意象识别F1-score达88%;
    • 关系抽取中,“创作”关系准确率91%,“共现”关系准确率87%。
  • 可视化效果
    • 1000节点图谱加载时间480ms,支持流畅拖动与缩放;
    • 用户测试中,85%参与者能通过可视化发现“李白与王维同为唐朝诗人,但意象偏好不同(李白多‘酒’,王维多‘山’)”。
  • 案例验证
    • 输入“月亮”关键词后,系统展示与月亮关联的1200首诗词,按朝代分布发现唐代“月亮”诗词占比40%,宋代30%;
    • 点击“李白”节点后,展开其500首诗词,按情感分类显示积极诗词(如《将进酒》)占比60%,消极诗词(如《长干行》)占比20%。

五、创新点与文化价值

1. 技术创新

  • 多模态知识抽取:结合文本、韵律、历史背景多维度提取诗词要素;
  • 动态知识图谱:支持用户上传诗词实时更新图谱,打破静态知识库局限;
  • 文化语义可视化:通过颜色、布局编码诗词的文化特征(如情感、主题)。

2. 文化价值

  • 教育应用:为中小学提供互动式诗词学习工具,通过可视化理解“诗中有画,画中有情”;
  • 学术研究:支撑文学研究者发现诗词演变规律(如从“边塞诗”到“田园诗”的主题迁移);
  • 文化传播:通过Web端可视化吸引年轻用户,促进传统文化活态传承。

六、总结与展望

本项目通过Python生态(ScrapyspaCyNeo4jPyVis)构建了古诗词知识图谱可视化系统,实现了诗词要素的自动抽取与动态交互展示。未来可进一步探索:

  1. 跨语言关联:链接英文翻译诗词,构建中英文双语知识图谱;
  2. AR可视化:通过手机摄像头识别现实场景(如“月亮”),叠加相关诗词与解读;
  3. 个性化推荐:基于用户浏览历史推荐相似诗词或作者。

该系统已开源(GitHub链接),可扩展至书法、绘画等文化领域,推动数字人文研究发展。

运行截图

推荐项目

上万套Java、Python、大数据、机器学习、深度学习等高级选题(源码+lw+部署文档+讲解等)

项目案例

优势

1-项目均为博主学习开发自研,适合新手入门和学习使用

2-所有源码均一手开发,不是模版!不容易跟班里人重复!

🍅✌感兴趣的可以先收藏起来,点赞关注不迷路,想学习更多项目可以查看主页,大家在毕设选题,项目代码以及论文编写等相关问题都可以给我留言咨询,希望可以帮助同学们顺利毕业!🍅✌

源码获取方式

🍅由于篇幅限制,获取完整文章或源码、代做项目的,拉到文章底部即可看到个人联系方式。🍅

点赞、收藏、关注,不迷路,下方查看👇🏻获取联系方式👇🏻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

B站计算机毕业设计大学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值