1. 项目概述:基于Django+DeepSeek的古诗词情感分析系统
古诗词作为中华文化的瑰宝,其情感表达往往含蓄而深邃。传统的情感分析方法通常只能识别表面的情感词汇,难以捕捉诗词中蕴含的隐喻、典故等深层情感。这个毕业设计项目通过结合DeepSeek大模型的语义理解能力和知识图谱的结构化知识,构建了一个智能化的古诗词情感分析系统。
我在开发这个系统时发现,单纯依靠机器学习模型进行古诗词情感分析存在几个关键问题:一是模型难以理解特定历史背景下的情感表达;二是无法解释分析结果的依据;三是缺乏对诗词中意象、典故等元素的关联分析。这正是我们需要引入知识图谱技术的原因。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计
2.1 整体技术栈选择
系统采用三层架构设计:
-
数据层:
- Neo4j图数据库:存储诗人、诗词、意象等实体及其关系
- MySQL关系数据库:存储用户信息、分析记录等结构化数据
- 数据来源包括《全唐诗》《全宋词》等公开数据集
-
模型层:
- DeepSeek大模型:负责情感分类和实体识别
- 图神经网络(GNN):可选组件,用于挖掘知识图谱中的隐含关系
- 规则引擎:基于知识图谱生成可解释的分析结果
-
应用层:
- Django框架:提供Web服务接口和后台管理
- Celery异步任务队列:处理耗时的模型推理任务
- 前端采用Bootstrap+ECharts实现可视化
技术选型心得:Neo4j特别适合存储和查询诗词间的复杂关系,相比传统关系型数据库,在查询"与李白同时代的诗人中,谁的作品情感最相似"这类问题时,性能可提升5-8倍。
2.2 核心功能模块
系统主要包含以下功能模块:
-
诗词上传与解析模块:
- 支持文本粘贴和文件上传
- 自动识别诗词标题和作者
- 预处理文本(分词、去除噪声等)
-
情感分析模块:
- 基于DeepSeek模型的情感分类
- 结合知识图谱的上下文理解
- 生成情感标签及置信度
-
知识图谱查询模块:
- 实体识别与关系抽取
- 上下文关联查询
- 路径发现与推理
-
可视化展示模块:
- 情感标签云
- 知识图谱可视化
- 分析结果解释
3. 知识图谱构建实践
3.1 数据采集与预处理
构建高质量的知识图谱是系统的核心。我们从多个来源采集数据:
-
结构化数据源:
- 《全唐诗》电子版:包含约4.8万首唐诗
- 《全宋词》电子版:包含约2万首宋词
- 诗人信息数据库:生卒年、籍贯、流派等
-
非结构化数据源:
- 诗词评注文献
- 文学研究论文
- 网络诗词赏析文章
数据预处理流程:
python复制def preprocess_poem(text):
# 去除标点、注释等噪声
text = re.sub(r'[【】〔〕〈〉《》『』]', '', text)
# 分词处理
words = jieba.cut(text)
# 去除停用词
words = [w for w in words if w not in stopwords]
return ' '.join(words)
