AI源码
AI源码AI 精选 · 优质源码 · 助力学习

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

面向学术投稿的期刊智能推荐平台:输入论文标题、摘要与关键词后,基于 Apache Spark(PySpark MLlib)文本分类模型,从 PubMed 生物医学数据学习到的 469 本真实期刊中返回 Top-5 投稿备选,并提供数据概览、期刊/论文库、管理员离线训练与评估指标。

评分:4.8/5.0
销量:3
发布:2026/7/20
难度:L2 进阶级
💬 联系咨询观看视频介绍
永久使用权限
免费更新维护
技术支持服务

项目封面

截图 1

项目说明

基于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 秒;应用启动后会后台预热模型。

技术分类

包含内容

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

适用人群

学习参考与二次开发

关于 AI源码

AI源码 专注优质项目源码分享,提供完整源码、详细文档与技术支持,助力源码设计与课程作业。

QQ: 861077046
邮箱: 861077046@qq.com
已服务 3+ 位用户
立即咨询

相关推荐

查看全部 →
城市交通流量预测与拥堵成因分析系统
Python
进阶

城市交通流量预测与拥堵成因分析系统

是一个面向城市交通拥堵分析的 monorepo,覆盖计算机设计课题中的主要能力链路:

PythonHTMLSQLite
4.820
电商用户行为漏斗与CRO转化率优化分析
Python
NEW
进阶

电商用户行为漏斗与CRO转化率优化分析

电商用户行为漏斗与CRO转化率优化分析(E-Commerce Funnel CRO)是一套面向电商运营的数据分析平台,覆盖从用户访问到最终购买的完整漏斗链路,提供多维诊断、统计检验、PIE 优先级矩阵与 XGBoost 购买预测等能力,帮助运营团队精准定位转化瓶颈并制定优化策略。

PythonHTMLSQLite
4.866
多组学癌症预后预测分析系统
Python
进阶

多组学癌症预后预测分析系统

基于 Flask 的 Web 应用,用于上传 TCGA 风格合并表、做特征与标签概览、Cox 预后风险评分与生存相关可视化。模型在本地训练后以 形式加载,不提供旧版演示数据或假模型兜底。

PythonHTMLSQLite
4.834
基于 Apriori 算法的中药配伍审查系统
Python
NEW
进阶

基于 Apriori 算法的中药配伍审查系统

本系统是一个基于经典 Apriori 关联规则挖掘算法的中药配伍审查平台,使用真实中医药处方数据集(PTM-TKDE2018),实现药材频繁项集挖掘、关联规则生成与配伍禁忌审查。

PythonHTMLSQLite
4.840
基于 Python 的城市共享单车骑行需求时空分析系统
Python
NEW
进阶

基于 Python 的城市共享单车骑行需求时空分析系统

本系统是一个基于 Python Flask 框架的城市共享单车骑行需求时空分析平台,使用 Oslo City Bike(奥斯陆城市自行车)开放数据,提供系统总览、时间维度分析、空间维度分析、站点运营分析、OD 起讫流动分析、骑行需求预测、综合分析报告等功能模块,适用于城市共享单车运营调度与骑行需求研究场景。

PythonHTMLSQLite
4.857
基于 Python 的短视频用户行为分析系统
Python
NEW
进阶

基于 Python 的短视频用户行为分析系统

基于快手 KuaiRec / KuaiRand 数据集的短视频推荐分析平台,提供用户行为分析、推荐偏差检测、内容运营洞察、图神经网络推荐等完整分析链路。

PythonHTMLSQLite
4.875