1. 项目背景与核心价值
中药作为我国传统医学的重要组成部分,其数据挖掘与分析一直存在巨大潜力。这个毕业设计项目整合了大数据处理、机器学习和可视化技术,构建了一个完整的中药知识图谱与推荐系统。我在实际开发中发现,这类系统能够有效解决以下几个行业痛点:
首先,中药数据分散在各个文献、古籍和现代研究报告中,缺乏统一的结构化整理。通过爬虫技术收集原始数据后,利用Hadoop+Spark构建分布式处理管道,可以高效处理海量非结构化文本。我曾处理过超过50万篇中药相关论文摘要,传统单机方法需要数周时间,而Spark集群仅用2小时就完成了特征提取。
其次,中医讲究"辨证施治",但新手医师很难快速掌握数千种药材的配伍关系。我们构建的知识图谱包含超过10万个实体节点(药材、症状、方剂等)和200万条关系边,通过图算法可以快速推荐符合特定症状的药材组合。实测显示,系统推荐的前5个方案与资深中医师的处方吻合度达到78%。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计
2.1 技术栈选型
选择Hadoop+Spark作为基础架构主要基于三点考虑:
- 中药数据量通常在TB级别,包含大量非结构化文本和图像
- Spark的MLlib提供了完整的机器学习流水线
- 内存计算特性适合频繁迭代的图算法
具体版本选择:
- Hadoop 3.3.4(HDFS Erasure Coding节省40%存储空间)
- Spark 3.3.2(支持GPU加速的XGBoost4J)
- Neo4j 4.4.9(知识图谱存储)
- Spring Boot 2.7(后端API服务)
2.2 数据处理流程
原始数据经过四个阶段的处理:
- 爬虫层:Scrapy+Selenuim抓取药典、知网论文、临床报告
- 存储层:HDFS分块存储原始数据,Parquet列式存储处理结果
- 计算层:
- Spark SQL清洗结构化数据
- Spark ML处理药材特征工程
- GraphX构建药材关系图
- 应用层:
- Flask提供REST API
- ECharts实现可视化大屏
- Neo4j提供图谱查询
关键技巧:使用Hudi实现增量更新,每天仅处理新增数据,使全量重建时间从8小时降至30分钟
