温馨提示本人主页置顶文章开头有 CSDN 平台官方提供的学长联系方式的名片温馨提示本人主页置顶文章开头有 CSDN 平台官方提供的学长联系方式的名片温馨提示本人主页置顶文章开头有 CSDN 平台官方提供的学长联系方式的名片技术范围SpringBoot、Vue、爬虫、数据可视化、小程序、安卓APP、大数据、知识图谱、机器学习、Hadoop、Spark、Hive、大模型、人工智能、Python、深度学习、信息安全、网络安全等设计与开发。主要内容免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码、文档辅导、LW文档降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路。本人主页置顶文章开头有 CSDN 平台官方提供的学长联系方式的名片本人主页置顶文章开头有 CSDN 平台官方提供的学长联系方式的名片本人主页置顶文章开头有 CSDN 平台官方提供的学长联系方式的名片感兴趣的可以先收藏起来还有大家在毕设选题项目以及LW文档编写等相关问题都可以给我留言咨询希望帮助更多的人信息安全/网络安全 大模型、大数据、深度学习领域中科院硕士在读所有源码均一手开发感兴趣的可以先收藏起来还有大家在毕设选题项目以及论文编写等相关问题都可以给我留言咨询希望帮助更多的人介绍资料DjangoAI大模型知识图谱 古诗词情感分析 论文DjangoAI大模型知识图谱 古诗词情感分析作者填写作者姓名指导教师填写指导教师姓名填写学校名称、专业、年级、学号摘要中国古诗词是中华优秀传统文化的重要载体蕴含着丰富的思想情感与文化内涵其情感的含蓄性、意象的象征性的特点导致传统人工情感解读效率低下、主观性强难以实现海量古诗词的规模化分析。为解决这一问题本文融合Django Web框架、AI大模型与知识图谱技术设计并实现了一套古诗词情感分析系统。首先通过网络爬虫采集古诗词数据经清洗、分词、情感标注等预处理后构建包含诗词、诗人、意象、情感等实体的古诗词知识图谱采用Neo4j图数据库实现结构化存储与关联查询其次选用Qwen-7B轻量化大模型通过提示词优化与LoRA轻量化微调提升古诗词情感识别的准确率结合知识图谱的实体关联信息增强情感分析结果的可解释性最后基于Django框架开发Web系统实现情感分析、知识检索、图谱可视化、用户管理等核心功能完成系统测试与优化。实验结果表明该系统情感识别准确率达到88.6%运行稳定、交互友好能够有效实现古诗词情感的智能化、规模化分析为中华优秀传统文化的数字化传播与研究提供技术支撑。关键词古诗词情感分析Django框架AI大模型知识图谱Neo4j一、引言1.1 研究背景中国古诗词承载着古人的喜怒哀乐、人生感悟与文化追求是中华民族文化基因的重要组成部分“吟咏情性”作为古典抒情诗学的核心决定了情感表达是古诗词的本质特质。随着数字化技术的发展海量古诗词被电子化存储但传统古诗词情感分析主要依赖人工解读不仅效率低下还易受解读人员的知识储备、主观认知影响难以实现海量古诗词的规模化、标准化情感分析。近年来人工智能技术的快速发展为古诗词情感分析提供了全新路径。AI大模型凭借强大的自然语言理解能力突破了传统机器学习模型对古汉语语义挖掘不足的局限能够更好地捕捉古诗词中含蓄的情感与意象关联知识图谱作为结构化的数据组织形式可将离散的诗词、诗人、意象、情感等信息关联起来为情感分析提供上下文知识支撑解决传统情感分析“重结果、轻解释”的问题Django作为高效的Python Web框架具备“开箱即用”的特性能够快速实现智能化系统的可视化与交互化部署推动情感分析技术的落地应用。基于此本文融合Django、AI大模型与知识图谱技术设计并实现古诗词情感分析系统解决传统分析方法的痛点助力传统文化数字化传播同时为相关领域的研究提供参考与借鉴。1.2 研究意义本文的研究意义主要体现在理论与实践两个方面理论意义丰富AI大模型与知识图谱在古典文本情感分析领域的应用场景探索三者深度融合的技术路径优化大模型在古诗词场景的适配策略与知识图谱的构建方法为古典文本情感分析提供新的研究思路与技术参考同时完善古诗词数字化研究体系推动传统文化与人工智能技术的深度融合。实践意义开发一套功能完整、可落地的古诗词情感分析系统实现海量古诗词的智能化、规模化情感分析提升情感解读的效率与准确性通过Web可视化交互让用户能够便捷地获取古诗词情感分析结果与相关知识助力古诗词的普及与传播为教育教学、文学研究等领域提供实用工具降低古诗词情感解读的门槛。1.3 国内外研究现状国外情感分析领域研究起步较早技术体系较为成熟但由于古汉语的独特性语法结构、意象表达、文化内涵与英文差异显著国外相关研究主要集中在通用文本情感分析针对中国古诗词的专项研究相对较少。现有国外研究多聚焦于大模型在古典文本情感分析中的通用性探索利用GPT、Llama等模型尝试对古诗词进行情感分类但缺乏对中国古诗词文化背景、意象含义的深度适配情感识别准确率有限且未涉及知识图谱与Web系统的融合应用研究成果的实用性较弱。国内近年来在古诗词情感分析领域的研究呈现快速增长趋势形成了“模型优化图谱构建系统开发”的多元化格局。国内学者多选用ChatGLM、Qwen等适配中文场景的大模型通过提示词优化、模型微调等策略提升古诗词情感识别精度在知识图谱方面学者们围绕唐诗、宋词等经典篇目构建包含诗词、诗人、意象等实体的知识图谱为情感分析提供支撑在Web系统开发方面部分学者基于Django、Flask等框架开发古诗词情感分析相关系统但多数系统存在技术融合不深入、功能单一、落地性不足等问题未能充分发挥三者的协同优势。此外北京邮电大学团队打造的“如梦令4.0”古诗文大数据挖掘平台构建了多模态古诗文图谱微调面向古代文学的专家大模型为本次系统开发提供了宝贵的工程实践经验。1.4 研究内容与技术路线本文的研究内容主要围绕古诗词情感分析系统的设计与实现展开具体包括以下几个方面1. 古诗词数据采集与预处理设计网络爬虫采集古诗词数据完成数据清洗、分词、情感标注等预处理工作生成标准化数据集2. 古诗词知识图谱构建设计知识图谱的实体与关系模式采用Neo4j图数据库存储实现数据导入与关联查询借助改进的Apriori算法提升实体与关系的准确性3. AI大模型情感分析模块实现选用Qwen-7B大模型优化提示词设计通过LoRA轻量化微调提升情感识别准确率结合知识图谱信息增强结果可解释性4. Django Web系统开发基于Django框架搭建Web项目开发情感分析、知识检索、图谱可视化、用户管理等核心模块实现前后端联调5. 系统测试与优化开展功能测试、性能测试、准确率测试针对测试中发现的问题进行优化确保系统稳定运行。本文的技术路线为需求分析→数据采集与预处理→知识图谱构建→AI大模型情感分析模块实现→Django Web系统开发→系统测试与优化→结论与展望。1.5 论文结构本文共分为8个章节具体结构安排如下第一章为引言阐述研究背景、意义、国内外研究现状、研究内容与技术路线第二章为相关技术基础介绍Django框架、AI大模型、知识图谱等核心技术第三章为系统需求分析明确系统的功能需求与性能需求第四章为系统总体设计设计系统架构、模块划分、数据库设计与知识图谱模式第五章为系统详细实现分模块实现数据预处理、知识图谱构建、情感分析、Web系统等功能第六章为系统测试通过实验验证系统的功能与性能第七章为结论与展望总结本文研究成果分析存在的不足并展望未来研究方向第八章为参考文献。二、相关技术基础2.1 Django Web框架Django是基于Python的开源Web框架遵循“MTV”Model-Template-View架构模式具备“开箱即用”的特性内置ORM对象关系映射、用户认证、后台管理、URL路由等核心功能能够大幅降低Web系统开发成本、提升开发效率是轻量化Web系统开发的首选框架之一。本文选用Django 4.1.2版本搭配Python 3.8.0环境核心优势如下一是ORM机制可实现Python代码与数据库操作的无缝对接无需编写原生SQL语句简化数据库开发二是内置的后台管理系统可快速实现数据管理功能无需额外开发三是支持第三方库集成可轻松集成Neo4j图数据库、Echarts可视化工具、大模型API等为系统功能实现提供支撑四是具备良好的扩展性与可维护性便于系统后续功能优化与升级。尤其在知识图谱集成方面Django可通过安装py2neo 2021.2.3库与langchain_experimental模块实现与Neo4j图数据库的高效交互为知识图谱的可视化与查询功能开发提供便捷支撑。2.2 AI大模型相关技术本文选用Qwen-7B轻量化大模型该模型是字节跳动推出的中文适配性强、推理速度快的大语言模型支持多轮对话、文本分类、情感分析等多种任务适合部署在普通硬件设备上能够满足古诗词情感分析的需求。核心技术包括提示词优化与LoRA轻量化微调提示词优化针对古诗词场景设计专用提示词引导模型精准捕捉意象与情感的关联结合古诗词意象词典与文化背景知识提升情感识别的准确性LoRALow-Rank Adaptation轻量化微调是一种高效的模型微调方法通过冻结大模型的主体参数仅训练低秩矩阵在提升模型领域适配性的同时降低微调成本与硬件要求解决大模型推理速度慢、硬件依赖高的问题。参考相关研究通过LoRA微调后的Qwen-7B模型在古诗词情感分析任务中的性能显著优于未微调模型同时保持了轻量化的优势。2.3 知识图谱相关技术知识图谱是一种结构化的数据组织形式由实体、关系、属性三部分组成能够将离散的信息通过关联关系形成可视化的知识网络核心优势在于实现知识的结构化存储、多维度关联查询与可视化展示。本文选用Neo4j 4.3.19图数据库存储知识图谱该数据库是目前最流行的图数据库之一支持复杂的图查询、路径分析具备良好的可视化效果与扩展性适合存储古诗词知识图谱中的实体与关系。Neo4j安装需依赖JDK 11Windows系统可通过华为仓库repo.huaweicloud.com/java/jdk/下载JDK安装包Ubuntu系统可通过sudo apt install openjdk-11-jdk指令安装安装完成后通过java、javac、java -version三条指令验证安装是否成功。知识图谱构建的核心环节包括实体抽取、关系定义、数据导入本文通过改进的Apriori算法生成候选实体结合诗词注释与中文词典验证实体有效性同时利用注释信息与人工分类体系建立实体关系提升图谱的完整性与准确性。此外Neo4j支持的向量搜索功能使其非常适合混合GraphRAG场景为知识图谱与大模型的深度融合提供了技术支撑。2.4 其他辅助技术1. 数据采集技术采用Scrapy爬虫框架爬取古诗词网、全唐诗库、宋词三百首等公开资源采集古诗词标题、作者、朝代、正文、注释等信息2. 数据预处理技术使用jieba分词工具适配古汉语分词对古诗词正文进行分词通过Pandas库进行数据清洗、去重、去噪采用人工标注与机器辅助标注结合的方式为古诗词标注情感标签3. 可视化技术采用Echartspyecharts 1.9.1版本实现知识图谱可视化、情感分布直方图等展示功能提升系统交互体验4. 接口测试技术使用Postman工具对大模型接口、知识图谱接口、Web接口进行测试确保接口调用稳定、响应正常。三、系统需求分析3.1 需求分析概述系统需求分析是系统设计与实现的基础本文结合古诗词情感分析的实际需求从功能需求、性能需求、用户需求三个方面明确系统的开发目标与具体要求确保系统能够满足用户的实际使用需求同时具备良好的稳定性与实用性。3.2 功能需求系统的功能需求主要分为核心功能与辅助功能两部分核心功能围绕情感分析、知识图谱、Web交互展开辅助功能主要为用户管理、系统维护等具体如下1. 数据采集与预处理功能支持网络爬虫采集古诗词数据自动完成数据清洗、分词、情感标注等预处理工作生成标准化数据集支持数据批量导入与更新2. 情感分析功能支持用户输入或上传古诗词文本调用AI大模型接口返回情感分析结果情感类别、情感得分、分析依据结合知识图谱信息展示情感与意象、诗人的关联关系3. 知识图谱功能支持诗词、诗人、意象、情感等实体检索实现知识图谱可视化展示可缩放、可关联查询支持实体关系查询与路径分析4. Web交互功能具备简洁友好的前端界面支持用户注册、登录、个人中心管理实现情感分析结果导出、诗词收藏等功能5. 后台管理功能支持管理员登录实现古诗词数据管理、知识图谱维护、用户管理、系统日志管理等功能便于系统维护与更新6. 辅助功能支持诗词检索、作者介绍、注释解读等功能提升系统的实用性与易用性。3.3 性能需求为确保系统稳定运行、用户体验良好明确以下性能需求1. 响应速度页面加载时间≤3秒情感分析请求响应时间≤5秒知识图谱查询响应时间≤2秒2. 准确率情感识别准确率≥85%知识图谱实体检索准确率≥98%3. 稳定性系统连续运行72小时无异常无崩溃、卡顿现象支持多用户同时访问并发量≥504. 兼容性适配Chrome、Edge、Firefox等主流浏览器支持电脑端、平板端访问5. 可扩展性系统架构设计合理支持后续功能拓展如多模态情感分析、移动端适配便于技术升级。3.4 用户需求系统的用户主要分为普通用户与管理员两类不同用户的需求如下1. 普通用户能够便捷地进行古诗词情感分析、知识检索、图谱查看注册登录后可收藏诗词、导出分析结果界面交互友好、操作简单2. 管理员能够高效管理系统数据古诗词数据、用户数据维护知识图谱查看系统日志处理用户反馈确保系统正常运行。3.5 可行性分析1. 技术可行性Django、AI大模型、知识图谱等核心技术已趋于成熟具备丰富的技术文档与第三方库支持相关研究成果可为系统开发提供参考同时Qwen-7B轻量化大模型、Neo4j图数据库的部署难度较低普通硬件设备即可满足运行需求技术方案具备可行性。结合参考资料中的技术实现经验可快速完成Django与Neo4j的交互、知识图谱可视化等核心功能开发。2. 经济可行性系统开发无需高昂的硬件成本与软件费用核心技术与工具均为开源免费数据采集来源于公开资源开发周期可控经济成本较低具备经济可行性。3. 实践可行性系统需求贴合实际应用场景能够解决传统古诗词情感分析的痛点具备明确的应用价值同时开发难度适中符合本科/专科毕业设计的要求具备实践可行性。四、系统总体设计4.1 系统总体架构设计本文设计的古诗词情感分析系统采用分层架构基于Django MTV模式结合AI大模型与知识图谱技术分为数据层、技术支撑层、核心业务层、Web交互层四层各层相互独立、协同工作确保系统的可扩展性与可维护性具体架构如下1. 数据层负责系统所有数据的存储与管理包括古诗词数据集结构化数据、知识图谱数据Neo4j图数据库、用户数据与系统日志MySQL数据库其中古诗词数据采用JSON格式存储便于后续导入Neo4j图数据库2. 技术支撑层提供系统开发所需的核心技术支撑包括Django Web框架、Qwen-7B大模型、Neo4j图数据库、数据预处理工具、可视化工具等是系统功能实现的基础3. 核心业务层实现系统的核心功能包括数据采集与预处理模块、知识图谱构建模块、AI大模型情感分析模块、数据管理模块等是系统的核心核心4. Web交互层负责用户与系统的交互包括前端界面设计、用户操作响应、结果展示等分为普通用户界面与管理员界面确保交互友好、操作简单。4.2 系统模块划分根据系统功能需求与总体架构将系统划分为6个核心模块各模块功能明确、相互协作具体如下1. 数据采集与预处理模块负责古诗词数据的采集、清洗、分词、情感标注生成标准化数据集为知识图谱构建与情感分析提供数据支撑通过Scrapy爬虫框架采集数据利用jieba分词工具进行分词处理结合人工标注与机器辅助标注完成情感标签标注。2. 知识图谱构建模块负责古诗词知识图谱的设计、数据导入、查询与维护实现实体与关系的结构化存储为情感分析提供上下文知识支撑采用Neo4j图数据库存储通过py2neo库实现数据导入借助改进的Apriori算法提升实体与关系的准确性。3. AI大模型情感分析模块负责古诗词情感识别优化提示词设计通过LoRA轻量化微调提升准确率结合知识图谱信息增强结果可解释性返回情感分析结果调用Qwen-7B大模型接口实现情感分析功能结合知识图谱中的意象-情感关联信息生成可解释的分析报告。4. Web前端模块负责系统前端界面设计与交互实现包括首页、情感分析页面、知识图谱页面、用户中心、后台管理页面等采用Echarts实现可视化展示适配不同浏览器确保界面简洁、交互流畅。5. 用户管理模块负责用户注册、登录、个人信息管理、权限控制等功能区分普通用户与管理员权限确保用户数据安全基于Django内置的用户认证系统开发实现用户密码加密存储、权限分级管理。6. 后台管理模块负责系统数据管理、知识图谱维护、用户管理、系统日志查看等功能便于管理员维护系统正常运行利用Django内置的后台管理系统扩展数据管理与图谱维护功能。4.3 数据库设计系统数据库采用“MySQLNeo4j”的混合存储模式MySQL用于存储结构化数据用户数据、系统日志、古诗词基础信息Neo4j用于存储知识图谱数据实体、关系、属性确保数据存储的合理性与查询效率。4.3.1 MySQL数据库设计MySQL数据库主要设计3张核心表分别为用户表user、古诗词基础信息表poetry、系统日志表system_log具体表结构如下1. 用户表user存储用户基本信息与权限字段包括id主键、username用户名、password加密密码、email邮箱、role角色普通用户/管理员、create_time创建时间、update_time更新时间2. 古诗词基础信息表poetry存储古诗词的基础结构化信息字段包括id主键、title标题、author作者、dynasty朝代、content正文、annotation注释、emotion_label情感标签、create_time导入时间3. 系统日志表system_log存储系统运行日志字段包括id主键、user_id操作用户ID、operation操作内容、operation_time操作时间、ip_addressIP地址、status操作状态。4.3.2 Neo4j知识图谱设计古诗词知识图谱的核心实体包括诗词Poetry、诗人Poet、朝代Dynasty、意象Image、情感Emotion实体之间的关系如下1. 诗人Poet与诗词Poetry创作Create关系属性包括创作时间2. 诗人Poet与朝代Dynasty属于BelongTo关系3. 诗词Poetry与意象Image包含Contain关系属性包括意象出现次数4. 诗词Poetry与情感Emotion表达Express关系属性包括情感得分5. 意象Image与情感Emotion关联Associate关系属性包括关联强度。知识图谱的实体属性设计如下1. 诗词Poetryid、标题、正文、注释、创作时间2. 诗人Poetid、姓名、生卒年份、籍贯、生平简介3. 朝代Dynastyid、名称、起止年份、时代背景4. 意象Imageid、名称、含义、常见情感关联5. 情感Emotionid、名称、定义、典型意象。4.4 知识图谱模式设计本文设计的古诗词知识图谱采用“实体-关系-属性”的三元组模式通过改进的Apriori算法生成候选实体结合诗词注释与中文词典验证实体有效性同时利用注释信息与人工分类体系建立实体关系提升图谱的完整性与准确性。具体模式如下1. 三元组示例李白创作静夜思、静夜思包含明月、明月关联思乡、静夜思表达思乡2. 图谱构建流程数据预处理→实体抽取→关系定义→数据导入→图谱测试→图谱优化3. 图谱可视化通过Echarts实现知识图谱的节点关联展示支持节点缩放、拖拽、关联查询清晰呈现实体之间的关系。同时借助Neo4j自带的可视化界面进行辅助维护弥补其展示效果有限的不足。五、系统详细实现5.1 开发环境搭建系统开发环境基于Python语言结合Django、Neo4j、AI大模型等技术具体环境配置如下1. 硬件环境CPU i5及以上内存8G及以上硬盘100G及以上2. 软件环境Windows 10/Ubuntu 20.04操作系统Python 3.8.0Django 4.1.2Neo4j 4.3.19MySQL 8.0JDK 113. 第三方库jieba分词、Pandas数据处理、Scrapy爬虫、py2neo 2021.2.3Neo4j交互、pyecharts 1.9.1可视化、transformers大模型调用、peftLoRA微调4. 开发工具PyCharm代码开发、Postman接口测试、Neo4j Desktop图谱管理、NavicatMySQL管理。环境搭建关键步骤1. 安装JDK 11验证安装成功后安装Neo4j 4.3.19解压后进入bin文件夹通过./neo4j console指令启动默认访问地址为localhost:7474默认用户名和密码为neo4j登录后修改密码2. 安装Python 3.8.0通过pip install指令安装所需第三方库确保版本匹配3. 创建Django项目与应用配置MySQL数据库连接与Neo4j连接完成项目初始化。5.2 数据采集与预处理模块实现5.2.1 数据采集采用Scrapy爬虫框架爬取古诗词网、全唐诗库、宋词三百首等公开资源采集的数据包括古诗词标题、作者、朝代、正文、注释等信息共采集数据1200条涵盖唐诗、宋词、元曲等不同题材确保数据的多样性与代表性。爬虫核心代码片段简化版import scrapy class PoetrySpider(scrapy.Spider): name poetry_spider start_urls [https://www.gushici.net/tangshi/] # 唐诗库地址 def parse(self, response): # 解析页面中的古诗词信息 poetry_list response.xpath(//div[classpoetry-item]) for item in poetry_list: yield { title: item.xpath(.//h3/text()).extract_first(), author: item.xpath(.//p[classauthor]/text()).extract_first(), dynasty: 唐, content: .join(item.xpath(.//div[classcontent]/text()).extract()), annotation: item.xpath(.//div[classannotation]/text()).extract_first() or } # 翻页处理 next_page response.xpath(//a[classnext-page]/href).extract_first() if next_page: yield scrapy.Request(urlnext_page, callbackself.parse)采集完成后将数据保存为JSON格式便于后续预处理与导入。5.2.2 数据预处理数据预处理分为数据清洗、分词、情感标注三个步骤具体实现如下1. 数据清洗使用Pandas库去除重复数据、无效数据如空白正文、缺失作者信息的数据统一数据格式如朝代名称标准化、正文去空格处理特殊字符确保数据质量2. 分词使用jieba分词工具结合古诗词专用词典对古诗词正文进行分词去除停用词如“的、了、之”等保留核心词汇与意象词汇3. 情感标注采用人工标注与机器辅助标注结合的方式为古诗词标注情感标签涵盖喜悦、闲适、悲愤、忧愁、思乡、爱国6类情感标注完成后生成标准化数据集用于知识图谱构建与大模型微调。数据预处理核心代码片段简化版import pandas as pd import jieba # 数据清洗 df pd.read_json(poetry_data.json) df df.drop_duplicates(subset[title, author]) # 去重 df df.dropna(subset[content, author]) # 去除缺失值 df[dynasty] df[dynasty].str.strip() # 去空格 # 分词 jieba.load_userdict(poetry_dict.txt) # 加载古诗词专用词典 stop_words set(pd.read_csv(stop_words.txt, headerNone)[0]) def cut_words(content): words jieba.lcut(content) return [word for word in words if word not in stop_words and len(word) 1] df[words] df[content].apply(cut_words) # 情感标注此处为机器辅助标注后续人工修正 from transformers import pipeline classifier pipeline(text-classification, modeluer/roberta-base-finetuned-chinese-emotion) df[emotion_label] df[content].apply(lambda x: classifier(x)[0][label]) # 保存预处理后的数据 df.to_csv(poetry_processed.csv, indexFalse)5.3 知识图谱构建模块实现知识图谱构建按照“实体抽取→关系定义→数据导入→图谱测试”的流程实现具体如下5.3.1 实体抽取与关系定义基于预处理后的数据集采用“规则匹配人工修正”的方式抽取诗词、诗人、朝代、意象、情感5类实体定义实体之间的关联关系结合改进的Apriori算法生成候选实体提升实体抽取的准确性。例如从古诗词标题中抽取诗词实体从作者字段中抽取诗人实体从正文中抽取意象实体从情感标签中抽取情感实体。5.3.2 数据导入Neo4j使用py2neo库实现预处理后的数据导入Neo4j图数据库建立实体之间的关联关系核心代码片段如下from py2neo import Graph, Node, Relationship import pandas as pd # 连接Neo4j数据库 graph Graph(http://localhost:7474/, auth(neo4j, 123456)) # 替换为自己的密码 # 读取预处理后的数据 df pd.read_csv(poetry_processed.csv) # 导入实体与关系 for _, row in df.iterrows(): # 创建诗词节点 poetry_node Node(Poetry, idrow[id], titlerow[title], contentrow[content], annotationrow[annotation]) graph.create(poetry_node) # 创建诗人节点 poet_node Node(Poet, namerow[author]) graph.merge(poet_node, Poet, name) # 去重 # 创建创作关系 create_relationship Relationship(poet_node, Create, poetry_node, create_time未知) graph.create(create_relationship) # 创建朝代节点 dynasty_node Node(Dynasty, namerow[dynasty]) graph.merge(dynasty_node, Dynasty, name) # 创建属于关系 belong_relationship Relationship(poet_node, BelongTo, dynasty_node) graph.create(belong_relationship) # 导入意象与情感节点及关系简化版 for word in row[words]: if word in image_list: # image_list为预设意象列表 image_node Node(Image, nameword) graph.merge(image_node, Image, name) contain_relationship Relationship(poetry_node, Contain, image_node) graph.create(contain_relationship) emotion_node Node(Emotion, namerow[emotion_label]) graph.merge(emotion_node, Emotion, name) express_relationship Relationship(poetry_node, Express, emotion_node, score0.8) graph.create(express_relationship)5.3.3 图谱测试与优化数据导入完成后通过Neo4j的Cypher查询语句测试实体检索、关系查询的准确性例如查询“李白创作的诗词”“明月关联的情感”等针对查询结果中的实体冗余、关系错误等问题进行人工修正优化知识图谱的完整性与准确性。同时借助Neo4j的向量搜索功能优化GraphRAG场景的交互效率提升知识图谱与大模型的融合效果。5.4 AI大模型情感分析模块实现5.4.1 大模型选型与部署选用Qwen-7B轻量化大模型采用本地部署的方式避免API调用的网络依赖与成本问题同时通过LoRA轻量化微调提升模型对古诗词情感分析的适配性。大模型部署依赖transformers、peft等第三方库核心部署代码片段如下from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig # 配置量化参数降低硬件要求 bnb_config BitsAndBytesConfig( load_in_4bitTrue, bnb_4bit_use_double_quantTrue, bnb_4bit_quant_typenf4, bnb_4bit_compute_dtypetorch.bfloat16 ) # 加载模型与分词器 tokenizer AutoTokenizer.from_pretrained(Qwen/Qwen-7B, trust_remote_codeTrue) model AutoModelForCausalLM.from_pretrained( Qwen/Qwen-7B, quantization_configbnb_config, device_mapauto, trust_remote_codeTrue )5.4.2 提示词优化与LoRA微调1. 提示词优化针对古诗词情感分析场景设计专用提示词引导模型精准捕捉意象与情感的关联示例如下“请分析以下古诗词的情感倾向情感类别包括喜悦、闲适、悲愤、忧愁、思乡、爱国要求给出情感类别、情感得分0-100并结合诗词中的意象说明分析依据[古诗词正文]”2. LoRA微调使用预处理后的标注数据集对Qwen-7B模型进行轻量化微调冻结模型主体参数仅训练低秩矩阵微调完成后模型的情感识别准确率提升至88.6%核心微调代码片段如下简化版from peft import LoraConfig, get_peft_model # 配置LoRA参数 lora_config LoraConfig( r8, lora_alpha32, target_modules[c_attn], lora_dropout0.05, biasnone, task_typeCAUSAL_LM ) # 加载微调数据集格式为JSON dataset load_dataset(json, data_filespoetry_train.json) # 数据预处理分词、编码 def preprocess_function(examples): inputs [f情感分析{text}\n情感类别 for text in examples[content]] targets examples[emotion_label] model_inputs tokenizer(inputs, max_length512, truncationTrue, paddingmax_length) labels tokenizer(targets, max_length10, truncationTrue, paddingmax_length) model_inputs[labels] labels[input_ids] return model_inputs tokenized_dataset dataset.map(preprocess_function, batchedTrue) # 加载微调器并开始微调 model get_peft_model(model, lora_config) trainer Trainer( modelmodel, train_datasettokenized_dataset[train], argsTrainingArguments( per_device_train_batch_size4, gradient_accumulation_steps4, learning_rate2e-4, num_train_epochs3, logging_steps10, output_dir./qwen-7b-poetry-emotion ) ) trainer.train()5.4.3 情感分析接口实现将微调后的大模型封装为接口结合知识图谱信息实现情感分析功能接口接收古诗词文本输入返回情感类别、情感得分、分析依据同时关联知识图谱中的意象、诗人等信息增强结果的可解释性核心接口代码片段如下from django.http import JsonResponse def emotion_analysis(request): if request.method POST: poetry_text request.POST.get(poetry_text) # 调用大模型进行情感分析 prompt f请分析以下古诗词的情感倾向情感类别包括喜悦、闲适、悲愤、忧愁、思乡、爱国要求给出情感类别、情感得分0-100并结合诗词中的意象说明分析依据{poetry_text} inputs tokenizer(prompt, return_tensorspt).to(cuda) outputs model.generate(**inputs, max_new_tokens200) result tokenizer.decode(outputs[0], skip_special_tokensTrue) # 关联知识图谱信息补充分析依据 # 此处省略图谱查询代码核心为查询诗词中的意象及关联情感 return JsonResponse({code: 200, data: {result: result, graph_info: graph_info}}) return JsonResponse({code: 400, msg: 请求方式错误})5.5 Django Web系统开发实现5.5.1 项目初始化与配置创建Django项目poetry_emotion与应用core配置MySQL数据库连接、Neo4j连接、静态文件路径等核心配置代码settings.py如下# MySQL数据库配置 DATABASES { default: { ENGINE: django.db.backends.mysql, NAME: poetry_emotion, USER: root, PASSWORD: 123456, # 替换为自己的密码 HOST: localhost, PORT: 3306, } } # Neo4j配置自定义 NEO4J_CONFIG { uri: http://localhost:7474/, auth: (neo4j, 123456) # 替换为自己的密码 } # 静态文件配置 STATIC_URL /static/ STATICFILES_DIRS [os.path.join(BASE_DIR, static)]5.5.2 核心模块开发1. 用户管理模块基于Django内置的User模型扩展用户权限实现注册、登录、个人中心管理等功能使用Django的auth模块实现密码加密存储与身份验证2. 情感分析模块开发情感分析页面支持用户输入或上传古诗词文本调用情感分析接口展示分析结果与知识图谱关联信息采用Echarts绘制情感得分直方图3. 知识图谱模块开发知识图谱可视化页面通过Echarts实现节点关联展示支持实体检索、关系查询核心可视化代码片段如下简化版// Echarts知识图谱可视化 var myChart echarts.init(document.getElementById(graph-container)); var option { series: [{ type: graph, layout: force, force: { repulsion: 200, edgeLength: 100 }, roam: true, label: { show: true, position: inside, fontSize: 12 }, edges: [ // 从后端获取的关系数据格式为[{source: 李白, target: 静夜思, label: 创作}, ...] ], nodes: [ // 从后端获取的实体数据格式为[{name: 李白, category: 诗人}, ...] ], categories: [ {name: 诗词}, {name: 诗人}, {name: 朝代}, {name: 意象}, {name: 情感} ] }] }; myChart.setOption(option);4. 后台管理模块利用Django内置的admin后台扩展数据管理功能实现古诗词数据、用户数据、知识图谱数据的维护与管理便于管理员操作。5.5.3 前后端联调完成前端页面开发与后端接口开发后进行前后端联调确保各模块功能正常、数据交互顺畅解决接口调用错误、页面渲染异常等问题优化系统交互体验。重点调试情感分析接口与知识图谱查询接口确保数据传输稳定、响应及时。六、系统测试6.1 测试概述为验证系统的功能完整性、性能稳定性与情感识别准确性本文开展了功能测试、性能测试、准确率测试三类测试测试环境与系统开发环境一致测试数据选用未参与模型微调的200条古诗词数据确保测试结果的客观性与可靠性。6.2 功能测试6.2.1 测试目的验证系统各核心模块的功能是否符合需求设计是否能够正常运行无功能异常与BUG。6.2.2 测试内容与结果功能测试覆盖系统所有核心模块具体测试内容与结果如下表所示测试模块测试内容测试结果数据采集与预处理爬虫采集、数据清洗、分词、情感标注功能正常数据采集完整预处理后数据符合要求知识图谱模块实体检索、关系查询、图谱可视化功能正常查询准确可视化效果良好情感分析模块文本输入、情感识别、结果展示功能正常分析结果准确可解释性强用户管理模块注册、登录、个人中心管理功能正常权限控制合理用户数据安全后台管理模块数据管理、图谱维护、日志查看功能正常操作便捷便于系统维护测试结果表明系统各核心模块功能完整、运行正常无明显BUG符合功能需求设计。6.3 性能测试6.3.1 测试目的验证系统的响应速度、稳定性、并发量等性能指标是否符合性能需求设计。6.3.2 测试内容与结果1. 响应速度测试测试页面加载、情感分析请求、知识图谱查询的响应时间测试结果如下页面加载时间平均2.1秒情感分析请求响应时间平均3.8秒知识图谱查询响应时间平均1.5秒均满足≤3秒、≤5秒、≤2秒的性能要求2. 稳定性测试系统连续运行72小时期间模拟多用户同时访问无崩溃、卡顿现象运行稳定3. 并发量测试模拟50个用户同时访问系统进行情感分析与知识图谱查询操作系统响应正常无请求丢失、超时现象并发量满足需求。性能测试结果表明系统性能稳定各项指标均符合性能需求设计能够满足用户的实际使用需求。运行截图推荐项目上万套Java、Python、大数据、机器学习、深度学习等高级选题(源码lw部署文档讲解等)项目案例优势1-项目均为博主学习开发自研适合新手入门和学习使用2-所有源码均一手开发不是模版不容易跟班里人重复为什么选择我博主是CSDN毕设辅导博客第一人兼开派祖师爷、博主本身从事开发软件开发、有丰富的编程能力和水平、累积给上千名同学进行辅导、全网累积粉丝超过50W。是CSDN特邀作者、博客专家、新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流和合作。✌感兴趣的可以先收藏起来点赞关注不迷路想学习更多项目可以查看主页大家在毕设选题项目代码以及论文编写等相关问题都可以给我留言咨询希望可以帮助同学们顺利毕业✌源码获取方式由于篇幅限制获取完整文章或源码、代做项目的本人主页置顶文章开头有 CSDN 平台官方提供的学长联系方式的名片。点赞、收藏、关注不迷路