系统概述
本系统是一个基于 Vue + Flask + Neo4j + MySQL 构建的中医中药知识智能问答与图谱构建研究平台。核心围绕中医证型、中药信息的数字化管理,以及智能问答和知识图谱的多维度可视化分析展开。
主要面向用户提供中医证型查询、中药推荐、病症知识智能问答等功能;同时为管理员提供数据分析、用户管理及基础数据维护等系统级支持。技术栈涵盖前后端分离架构、图数据库 Neo4j、关系型数据库 MySQL,并结合 TF-IDF、TextRank、YAKE 等文本挖掘算法完成对数据内容的智能分析。
系统架构设计
系统采用经典的三层 B/S 架构,实现了从前端界面到后端业务逻辑再到数据库管理的模块化分层。
1. 前端层
用户界面基于 Vue 框架构建,结合 Vuetify 组件库打造流畅交互体验。前端模块通过 Axios 调用 Flask 后端接口,利用 ECharts 和 D3.js 完成知识图谱及数据分析的可视化展示。
2. 后端层
基于 Flask Web 框架构建 RESTful API 服务,使用 SQLAlchemy 管理 MySQL 数据,并通过 Py2Neo 与 Neo4j 图数据库交互,为前后端提供稳定的数据支持。
3. 数据库层
- MySQL:存储用户信息、权限配置、系统设置等结构化数据。
- Neo4j:负责知识图谱的存储与查询,支持复杂关系的图结构化表达。

功能模块详解
系统主要分为前端用户界面与后端管理接口两大部分。
1. 用户认证与角色管理
系统采用身份认证机制,区分普通用户与管理员。登录注册界面支持账号切换,前端通过 Vuetify 实现表单,Axios 发送请求至后台进行验证。
- 登录流程:输入用户名密码 -> 后端校验 MySQL 数据 -> 返回角色信息 -> 前端渲染对应菜单。
- 注册流程:填写基础信息 -> 邮箱格式校验 -> 检查用户名唯一性 -> 写入数据库并发送确认邮件。
根据用户角色(普通用户或管理员),Vue-Router 会动态切换页面,管理员拥有访问后台管理模块的权限。
2. 中医证型与中药信息管理
- 证型浏览:以卡片形式展示证型详情(定义、症状、对应中药等),支持搜索筛选。提供'喜欢'、'收藏'等操作,作为推荐数据源。
- 中药浏览:展示中药图片、功效、适应症及药理说明,支持快速筛选。每种中药与证型建立映射关系,可关联查看知识图谱。
3. 智能问答与推荐
- 智能问答:基于知识图谱及 NLP 模块,支持用户通过症状、中药名称等关键词发起提问。系统比对输入文本与图谱实体关系,提供自动补全与语义理解,支持上下文记录以优化后续推荐。
- 病症推荐:采用混合推荐算法(基于内容、协同过滤与深度学习模型),根据用户搜索历史、点击及收藏记录,个性化推荐中医证型、病症与中药组合。后台可监控效果并优化模型参数。
4. 知识图谱可视化
这是系统的技术核心之一。基于 Neo4j 构建中药、证型、病症、处方之间的复杂关系图谱。前端使用 ECharts 和 D3.js 展示,节点代表实体,边代表关系(如'适合使用'、'用于治疗')。支持拖动、缩放及点击查看详细信息。
5. 多维度数据分析
系统具备强大的数据分析能力:
- 病症分析:按疾病类别、证候、病位、病性进行图表展示。
- 文本分析:对中药功效、药理、化学成分进行挖掘,分别采用 TF-IDF、TextRank、YAKE 三种算法处理。后台生成关键词或主题词,前端以词汇云或列表展示。


