1. 项目背景与需求分析
作为一名计算机专业的学生,我在操作系统课程学习过程中经常遇到这样的困扰:课后复习时遇到概念性问题,无法及时获得解答;知识点之间的关联性难以直观理解;常见问题需要反复向老师或助教咨询。这正是我选择开发"基于课程问答的知识图谱系统"作为毕业设计的初衷。
传统教育答疑模式存在三个明显痛点:一是人工回复效率低下,教师需要重复回答大量基础性问题;二是知识呈现碎片化,学生难以建立系统的知识框架;三是答疑服务受时空限制,无法满足即时学习需求。而知识图谱技术恰好能解决这些问题——它将离散的知识点转化为结构化的语义网络,通过图数据库存储和查询,再结合自然语言处理技术,实现智能化的课程问答服务。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计
2.1 整体技术栈选型
经过多方对比,我最终确定了以下技术方案:
- 前端:Vue3 + Element Plus + neovis.js
- 选择理由:Vue3的Composition API更适合复杂交互开发;Element Plus提供丰富的UI组件;neovis.js专为Neo4j可视化设计
- 后端:Python Flask
- 轻量级框架快速搭建RESTful API,与Neo4j的Py2neo驱动完美配合
- 数据库:Neo4j 4.4社区版
- 图数据库天然适合知识关联存储,Cypher查询语言直观高效
- NLP模型:JointBERT
- 基于BERT的联合模型,在意图识别和实体抽取任务上表现优异
2.2 四层架构详解
系统采用典型的分层架构设计:
code复制┌───────────────────────────────────────┐
│ 前端层 │
│ (Vue3 + Element Plus + neovis.js) │
└───────────────┬───────────────────────┘
│ HTTP/JSON
┌───────────────▼───────────────────────┐
│ 后端层 │
│ (Flask RESTful API) │
└───────────────┬───────────────────────┘
│ 模型调用/数据库查询
┌───────────────▼───────────────────────┐
│ 算法层 │
│ (规则引擎/JointBERT模型推理) │
└───────────────┬───────────────────────┘
