基于Spark的期刊推荐系统的设计与实现

PySpark MLlib 基于 PubMed 约 21 万篇论文训练的期刊投稿推荐系统,覆盖 469 本真实生物医学期刊 Top-5 推荐,含 DOAJ 元数据与 Spark 离线训练,适合大数据推荐类毕业设计。

评分:4.8/5.0
销量:3
发布:7/20/2026
难度:L3 高级

获取完整源码

演示视频仅作效果参考。完整源码、项目说明与运行答疑,请私聊沟通(适合毕业设计 / 课程设计 / 课设参考)。

获取完整源码观看演示视频
含项目说明文档,便于对照学习
可本地运行,适合课设演示
沟通获取后可咨询运行问题

项目封面

截图 1

项目概览

本系统面向学术投稿场景,基于 LuckyLook PubMed Journal Recommendation 训练数据与 DOAJ 开放获取期刊 CSV 补充元数据,采用 Flask + SQLite + PySpark MLlib(NaiveBayes 文本分类)技术栈。用户输入论文标题、摘要与关键词,从 469 本真实生物医学期刊中返回 Top-5 投稿备选及推荐强度、相对强度条与推荐理由;含期刊库浏览搜索、论文库检索、数据概览统计与管理员异步 Spark 离线训练(仅成功才替换线上模型),无 mock 兜底数据,适合作为毕业设计中 Spark 大数据、文本分类推荐与学术投稿辅助系统方向。

项目说明

基于Spark的期刊推荐系统的设计与实现

项目简介

本系统是面向学术投稿场景的期刊智能推荐平台。用户输入待投稿论文的标题、摘要与关键词后,系统基于 Apache Spark(PySpark MLlib)训练的文本分类模型,从 PubMed 生物医学公开数据中学习到的 469 本真实期刊里,返回 Top-5 投稿备选,并展示 ISSN、出版社、学科等元数据。

  • 训练数据:LuckyLook PubMed Journal Recommendation(Zenodo)
  • 期刊详情补充:DOAJ 开放获取期刊 CSV
  • 管理员可在 Web 端重新发起 Spark 离线训练,并查看真实测试集评估指标
  • 无 mock / 兜底假数据:推荐结果与统计均来自模型与数据库真实查询

文档索引

文档说明
大文件交付说明.md超 100MB 文件网盘交付(db / train.csv)
运行步骤必看/window.mdWindows 安装、一键启动、训练与排错
运行步骤必看/mac.mdmacOS / Linux 安装与启动
训练手册.mdPySpark 训练流程、发布策略、指标说明
docs/dataset.md数据集下载地址与引用格式
数据清理说明.md交付前清理(保留模型与原始数据)
用户上传检测文件/README.md推荐功能测试样例用法

功能模块

模块功能说明
用户认证注册、登录、退出;管理员 / 普通用户两级权限
数据概览论文量、期刊数、训练/测试划分、推荐次数;热门期刊、学科/国家分布、推荐趋势图
投稿推荐输入论文信息,返回 Top-5 及推荐强度(强烈推荐 / 推荐 / 可考虑)、相对强度条、推荐理由;仅输刊名时引导至期刊库
期刊库浏览与搜索 469 本期刊;详情页;CSV 导出
论文库浏览 PubMed 训练/测试论文,支持关键词检索
模型训练管理员异步启动 Spark 训练;查看 Top-1/3/5 准确率、F1、历史记录;仅成功才替换线上模型
REST API概览、推荐、期刊/论文检索、训练启停状态、期刊导出等 JSON 接口

推荐结果如何理解

概念说明
推荐强度面向用户的档位文案,表示本次 Top-5 内的相对优先程度
相对强度将本次第 1 名记为 100,其余按模型概率比例缩放,便于看进度条
模型原始概率后台 NaiveBayes 类别概率,用于排序;不在前台用「录取率」误导
不是影响因子、录用率、或「搜刊名必出 99%」

正确用法:粘贴论文标题 + 摘要做投稿推荐。若只输入期刊名,系统会提示去「期刊库」查询。


推荐期刊范围

训练与推荐覆盖 469 本生物医学相关期刊(2018–2022 年 PubMed 过滤子集,每刊至少约 200 篇)。结果为真实期刊名,非虚构。

典型库规模(以当前导入为准):论文约 21 万篇(训练约 15.7 万 / 测试约 5.3 万)。


标准版目录结构

python-spark-tuijian/
├── app.py                         # Flask 入口
├── config.py                      # 相对路径、端口、数据库、Spark Python
├── requirements.txt               # Python 依赖(含 pyspark)
├── README.md                      # 文档入口
├── mac_run.sh                     # macOS/Linux 一键启动
├── window_run.bat                 # Windows 一键启动(英文脚本)
├── mac_clear_all.sh               # 交付前清理
├── 项目说明.md / 训练手册.md / 数据清理说明.md
├── app/
│   ├── routes/                    # auth / main / api
│   └── services/                  # recommender / stats
├── spark/train_model.py           # PySpark 训练(成功才发布)
├── scripts/                       # 下载、建库、导入、静态资源
├── data/raw/pubmed/               # PubMed CSV
├── data/doaj/                     # DOAJ CSV
├── database/journal_rec.db        # SQLite
├── models/
│   ├── spark_model/               # 正式线上模型
│   ├── label_indexer/
│   ├── journal_index.json
│   ├── metrics.json
│   └── _train_staging_*/          # 训练临时目录(成功后删除)
├── templates/ / static/
├── docs/dataset.md
├── 运行步骤必看/window.md | mac.md
└── 用户上传检测文件/              # 测试样例

技术栈

类别技术
后端Python 3.12 + Flask 3.0
数据库SQLite 3
训练 / 推理Apache Spark 3.5 + PySpark 3.5.1(在 .venv
算法Tokenizer + HashingTF(2048) + NaiveBayes(multinomial)
前端Bootstrap 5.3 + ECharts 5.5(本地 vendor)
数据LuckyLook PubMed(Zenodo)+ DOAJ CSV

环境要求

项目要求
Python3.12(Mac:python3.12;Windows:python 并加入 PATH)
JavaJDK 8+(系统安装,不能装进 venv)
内存建议 ≥ 8GB(训练时)
磁盘约 1GB+(数据 + 模型 + 依赖)
OSWindows 10/11、macOS、Linux

快速启动

交付包已含数据与模型。对方只需安装依赖并启动,不会自动下载或训练

# macOS / Linux
chmod +x mac_run.sh && ./mac_run.sh
REM Windows:双击或执行
window_run.bat

账号

角色用户名密码权限
管理员adminadmin123全部(含训练)
普通用户自行注册自行设置推荐与浏览

访问地址

  • 端口:6000–9000 随机,写入根目录 .port
  • 终端打印:http://127.0.0.1:端口号

API 与性能(摘要)

接口说明
POST /api/recommend投稿推荐;刊名查询返回 code: 2 引导期刊库
GET /api/stats/overview概览统计
GET /api/journals / papers分页检索
GET /api/metrics训练指标(无模型时 404)
POST /api/training/start管理员异步训练
GET /api/training/status训练状态轮询
GET /api/export/journals期刊 CSV

首次推荐可能因 Spark 冷启动较慢(约十余秒),之后热请求约 0.2–0.3 秒;应用启动后会后台预热模型。

获取完整源码

技术分类

包含内容

完整源码
项目说明文档
演示材料
训练手册

适合方向

适合计算机、生物医学信息学、大数据专业毕业设计中 PySpark 文本分类、期刊推荐与 Flask+Spark 混合架构方向。

关于 AI源码

AI源码 整理计算机毕业设计、课程设计向的可运行项目参考,含说明文档与演示材料。完整源码请通过联系方式沟通获取。

QQ: 861077046
邮箱: 861077046@qq.com
已帮助 5+ 位同学完成选题参考
问能不能做我的题目

相关推荐

查看全部 →
基于用户画像的食谱推荐系统
高级

基于用户画像的食谱推荐系统

Flask+SQLite 食谱推荐 Web:问卷与活动数据构建用户向量,KMeans 聚类画像 + 规则过滤 + RandomForest 融合排序,输出可解释推荐,含 Hit@K/NDCG 离线评估,适合推荐系统毕业设计。

PythonHTMLSQLite
4.885
基于协同过滤的电影推荐系统设计与实现
高级·新上架

基于协同过滤的电影推荐系统设计与实现

Flask+SQLite 豆瓣电影推荐平台:scikit-surprise 实现 UserCF/ItemCF,三级冷启动降级、星级评分收藏、Pyecharts 后台图表与一键重训,含算法讲解页,适合推荐算法毕业设计。

PythonHTMLSQLite
4.881
基于机器学习的古籍文字识别与断句校正系统
高级

基于机器学习的古籍文字识别与断句校正系统

Vue3+Flask 古籍 OCR 流水线:PaddleOCR 识文、文本整理勘校、BERT 句读标注与多格式导出,JWT 任务隔离,支持离线微调数据闭环,适合 OCR+NLP 毕业设计。

PythonVue3SQLite
4.827
基于深度学习的音乐风格分类系统
高级·新上架

基于深度学习的音乐风格分类系统

Django+Vue2 音乐平台:Mel 频谱 CNN+Bi-LSTM 八类风格分类,含在线 MP3 播放、协同过滤推荐、热榜与 SimpleUI 管理后台,MySQL 预置 12 首歌曲,适合深度学习+Web 毕业设计。

PythonVue2MySQL
4.833
基于深度学习的日常服饰分类与推荐系统设计
高级·新上架

基于深度学习的日常服饰分类与推荐系统设计

PyTorch CNN 对 Fashion-MNIST 服饰图像 Top-5 分类,融合协同过滤与 Embedding 相似度的混合推荐引擎,含 120 件商品目录与评分收藏,适合深度学习推荐系统类毕业设计。

PythonHTMLSQLite
4.877
微小异物检测与识别系统
高级·新上架

微小异物检测与识别系统

YOLOv8 工业表面六类微小缺陷(龟裂、夹杂、点蚀等)检测平台,基于 NEU-DET 钢材数据集,支持单张/批量检测、在线训练与 PDF 报告导出,适合计算机视觉质检类毕业设计。

PythonHTMLSQLite
4.88