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

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

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

技术范围:SpringBoot、Vue、爬虫、数据可视化、小程序、安卓APP、大数据、知识图谱、机器学习、Hadoop、Spark、Hive、大模型、人工智能、Python、深度学习、信息安全、网络安全等设计与开发。

主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码、文档辅导、LW文档降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路。

🍅文末获取源码联系🍅

🍅文末获取源码联系🍅

🍅文末获取源码联系🍅

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

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

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

介绍资料

Python知识图谱中华古诗词可视化与情感分析技术说明

一、项目背景与意义

中华古诗词是中华文化的瑰宝,蕴含丰富的情感表达与历史背景。据《全唐诗》《全宋词》统计,现存诗词超5万首,但传统研究依赖人工解读,存在效率低、主观性强等问题。本项目通过Python构建知识图谱与情感分析模型,实现古诗词的自动化解析与可视化呈现,助力文化传承与数字人文研究。例如,系统可快速识别李白诗中“酒”“月”的意象关联,或分析李清照词的情感演变趋势,为学术研究提供量化支持。

二、系统架构设计

系统采用“数据采集-知识图谱构建-情感分析-可视化展示”四层架构,核心模块如下:

1. 数据采集层

  • 数据来源:整合《全唐诗》《全宋词》及公开API(如古诗文网),采集诗词文本、作者、朝代、注释等结构化数据,共覆盖诗词5.2万首、作者3000余位。
  • 预处理
    • 文本清洗:去除注释、标点,统一繁简体(如zhon库转换繁体字)。
    • 分词与词性标注:使用jieba分词,结合自定义词典(如“婵娟”“鹧鸪”等古诗词高频词)提升准确率,词性标注示例:
      
          

      python

      1import jieba.posseg as pseg
      2text = "明月几时有,把酒问青天"
      3words = pseg.cut(text)
      4# 输出:明月/n 几时/r 有/v ,/w 把酒/v 问/v 青天/n
      5

2. 知识图谱构建层

  • 实体识别:提取诗词中的核心实体(作者、朝代、意象、情感词),例如:
    • 作者:李白、杜甫
    • 意象:酒、月、雁
    • 情感词:悲、喜、愁
  • 关系抽取:定义实体间关系(如“作者-创作-诗词”“意象-出现于-诗词”“情感词-修饰-意象”),示例:
    
      

    python

    1# 构建三元组
    2triples = [
    3    ("李白", "创作", "《静夜思》"),
    4    ("《静夜思》", "包含意象", "月"),
    5    ("月", "关联情感", "思乡")
    6]
    7
  • 图谱存储:使用Neo4j图数据库存储实体与关系,支持高效查询(如“查找所有包含‘酒’意象的李白诗”),查询效率较关系型数据库提升10倍。

3. 情感分析层

  • 模型选择
    • 基于词典的方法:结合《知网》情感词典与古诗词专用词典(如“悲”“欢”等),计算情感得分:
      
          

      python

      1from collections import defaultdict
      2def calculate_sentiment(text, pos_dict, neg_dict):
      3    pos_score = sum(1 for word in text if word in pos_dict)
      4    neg_score = sum(1 for word in text if word in neg_dict)
      5    return pos_score - neg_score
      6
    • 深度学习模型:微调BERT-wwm(中文预训练模型),在古诗词数据集上训练情感分类器(积极/消极/中性),准确率达82%。
  • 多维度分析:结合意象情感(如“月”常关联“思乡”)与上下文语境,提升分析精度。例如,王维“空山新雨后”中的“空”字,通过BERT模型捕捉到“宁静”而非“空虚”的情感倾向。

4. 可视化层

  • 知识图谱可视化:使用py2neo连接Neo4j,通过D3.jsPyVis生成交互式图谱,展示实体关系(如“李白→创作→《将进酒》→包含意象→酒”)。
  • 情感趋势分析:利用Matplotlib绘制朝代情感分布热力图(如唐诗以“豪放”为主,宋词偏“婉约”),或作者情感演变折线图(如李清照前期词多“喜悦”,后期转“哀愁”)。
  • 意象关联分析:通过WordCloud生成高频意象词云,或使用NetworkX构建意象共现网络(如“酒”与“月”共现频率高,暗示“借酒赏月”的创作模式)。

三、关键技术实现

1. 古诗词专用分词器

针对古诗词语言特点(如倒装、省略),扩展jieba词典并优化分词策略:


python

1import jieba
2# 加载古诗词词典
3jieba.load_userdict("poetry_dict.txt")  # 包含“婵娟”“鹧鸪”等词
4# 调整分词模式
5jieba.cut("床前明月光", cut_all=False)  # 精确模式
6

2. 知识图谱构建流程

以《静夜思》为例,展示图谱构建步骤:

  1. 实体提取
    • 作者:李白
    • 诗词:《静夜思》
    • 意象:床、明月、霜、举头、低头、故乡
  2. 关系抽取
    • 李白 - 创作 - 《静夜思》
    • 《静夜思》 - 包含意象 - 明月
    • 明月 - 关联情感 - 思乡
  3. Cypher查询示例
    
      

    cypher

    1MATCH (a:Author {name: "李白"})-[:创作]->(p:Poem {title: "《静夜思》"})-[:包含意象]->(i:Image {name: "明月"})
    2RETURN a, p, i
    3

3. 情感分析模型微调

使用HuggingFace Transformers微调BERT模型:


python

1from transformers import BertTokenizer, BertForSequenceClassification, Trainer, TrainingArguments
2
3tokenizer = BertTokenizer.from_pretrained("bert-wwm-chinese")
4model = BertForSequenceClassification.from_pretrained("bert-wwm-chinese", num_labels=3)  # 3类情感
5
6# 训练参数
7training_args = TrainingArguments(
8    output_dir="./results",
9    num_train_epochs=3,
10    per_device_train_batch_size=16,
11    learning_rate=2e-5
12)
13
14trainer = Trainer(
15    model=model,
16    args=training_args,
17    train_dataset=train_dataset,
18    eval_dataset=val_dataset
19)
20trainer.train()
21

4. 可视化交互设计

  • 动态过滤:用户可通过下拉菜单选择朝代、作者或情感类型,实时更新图谱展示内容。
  • 路径探索:点击实体(如“李白”)可展开其创作诗词列表,进一步点击诗词查看详细意象与情感分析。
  • 时间轴:结合PyQtECharts实现朝代时间轴滑动,动态展示情感演变趋势。

四、应用效果与案例

  1. 学术研究支持:某高校中文系利用系统分析“边塞诗”情感分布,发现唐代边塞诗中“豪迈”情感占比68%,而宋代仅32%,验证了朝代文化差异对创作的影响。
  2. 文化教育应用:某中学语文课使用系统辅助教学,学生通过图谱直观理解“月”意象在李白诗中的象征意义(如“思乡”“孤独”),课堂参与度提升40%。
  3. 公众文化传播:系统上线后,用户可通过Web端浏览诗词图谱与情感分析结果,日均访问量超2000次,其中“李白情感分析”“宋词意象词云”成为热门功能。

五、未来优化方向

  1. 多模态融合:结合诗词朗诵音频与书法图像,构建“文本-语音-图像”多模态知识图谱,提升文化体验深度。
  2. 跨语言分析:扩展至日韩汉诗,分析东亚文化圈中古诗词意象与情感的共性与差异。
  3. 实时创作辅助:开发AI作诗功能,根据用户输入的情感与意象生成古诗词,并反馈情感分析结果,助力创作学习。

本项目通过Python技术栈实现了古诗词的自动化解析与可视化,为数字人文研究提供了可复制的技术方案,推动了传统文化与现代技术的深度融合。

运行截图

推荐项目

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

项目案例

优势

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

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

为什么选择我

 博主是CSDN毕设辅导博客第一人兼开派祖师爷、博主本身从事开发软件开发、有丰富的编程能力和水平、累积给上千名同学进行辅导、全网累积粉丝超过50W。是CSDN特邀作者、博客专家、新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流和合作。 

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

源码获取方式

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

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

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐