ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

基于SpringBoot的校园美食数据挖掘个性化推荐系统设计

基于SpringBoot的校园美食数据挖掘个性化推荐系统设计 一、选题背景与研究意义随着移动互联网与校园数字化建设的快速发展高校师生对校园餐饮服务的便捷化、个性化需求日益增长。高校校园内通常拥有数十家餐厅与数百家档口菜品种类繁多且更新频繁师生在日常就餐选择时往往面临选择困难的问题。传统的校园餐饮服务模式以人工点餐与窗口排队为主缺乏基于用户口味偏好的个性化推荐机制难以满足师生日益多样化的就餐需求。与此同时大数据与数据挖掘技术的成熟为解决这一问题提供了技术支撑。通过采集校园食堂的历史消费数据、菜品评价数据与用户行为数据利用协同过滤、知识图谱等推荐算法挖掘用户的饮食偏好结合SpringBoot后端框架与Vue前端框架构建完整的个性化推荐系统能够为每位师生提供量身定制的美食推荐服务。这不仅能够提升师生的就餐体验也有助于校园餐饮管理方优化菜品结构、提升运营效率。本研究以高校校园美食数据为研究对象设计并实现一套基于SpringBoot的校园美食数据挖掘个性化推荐系统探索协同过滤与知识图谱融合的推荐算法在校园餐饮场景下的应用效果为大数据专业学生掌握前后端全栈开发与数据挖掘算法工程化提供完整的项目实践范本。二、数据分析与数据来源2.1 数据来源溯源本研究的数据来源主要包括三个方面第一校园一卡通消费数据。从学校一卡通系统获取2023年1月至2026年6月期间的师生就餐消费记录涵盖用户ID脱敏处理、消费时间、消费餐厅、消费窗口、菜品名称、消费金额等字段。预期获取消费记录总量约50万至80万条覆盖在校师生约1.5万至2万人。第二菜品基础信息数据。通过校园餐饮管理平台获取各餐厅档口的菜品信息包括菜品名称、菜品分类主食/荤菜/素菜/汤品/小吃等、价格、热量、主要食材、辣度等级等属性。预期菜品总数约800至1200种涵盖全校各餐厅的全部在售菜品。第三用户评价与行为数据。通过本系统内置的评价功能与用户行为埋点采集用户的菜品评分1—5分、评论内容、收藏行为、搜索关键词、浏览时长等行为数据。数据采集周期为系统上线后持续积累初始阶段拟通过校园问卷调查补充约500份用户偏好问卷用于冷启动阶段的用户画像构建。2.2 数据预处理流程原始数据存在大量噪声与缺失值需要经过系统性的预处理才能进入推荐模型的训练环节。预处理流程包括以下五个步骤第一步数据清洗去除消费金额为0的测试数据、异常高额消费记录超过日均消费3倍以上以及重复记录清洗后有效数据留存率约为92%—95%。第二步数据脱敏对用户ID进行哈希加密处理去除所有可识别个人身份的信息确保用户隐私安全。第三步特征工程从消费时间数据中提取小时、星期、季节等时间特征从菜品数据中提取菜系、口味、价格区间、热量等级等内容特征构建用户-菜品交互矩阵与用户画像特征向量。第四步数据融合将消费数据、菜品信息与用户评价数据通过用户ID与菜品ID进行关联构建统一的校园美食数据集。第五步数据划分按照8:2的比例将数据集划分为训练集与测试集用于推荐模型的训练与效果评估。三、国内外研究现状3.1 国外研究现状国外学者在美食推荐系统领域的研究起步较早已形成较为成熟的技术体系。Thongsri等2024开发了一套基于协同过滤与背包算法的个性化健康美食推荐系统通过用户满意度调查验证了系统的有效性整体满意度评分达到4.20分满分5分。该研究验证了协同过滤算法在美食推荐场景下的实用性在前人单一协同过滤算法的基础上融合了背包算法实现营养约束下的最优推荐组合。Rostami等2023提出了一种融合时间感知与健康因素的美食推荐系统通过时间感知协同过滤与食材内容模型相结合的方式预测用户偏好并基于Allrecipes.com与Food.com两个真实数据集进行实验验证。该研究在Precision、Recall、F1、AUC、NDCG五项指标上均优于现有基线模型在前人忽略时间因素的推荐方法基础上引入时间衰减函数实现了用户偏好的动态建模。Lei等2021构建了多模态食谱知识图谱RcpKG提出了基于知识图谱的多模态食谱推荐方法RcpMKR通过图卷积网络提取用户与食谱之间的多关系结构信息。实验结果表明引入知识图谱后推荐精度提升了7.82%在前人仅利用用户-物品交互矩阵的推荐方法基础上引入知识图谱的语义关联信息有效缓解了数据稀疏性与冷启动问题。Zhang等2023提出了一种基于LSTM的序列式个性化美食推荐框架利用用户交互的顺序信息捕捉动态行为模式。实验结果表明基于LSTM的推荐模型在精确率、召回率、平均精度均值等指标上均优于传统的协同过滤方法在前人静态推荐的基础上引入了时序序列建模实现了用户动态偏好的精准捕捉。3.2 国内研究现状国内学者在餐饮推荐系统领域的研究近年来呈现快速增长态势技术路线从传统的协同过滤逐步向知识图谱与深度学习方向演进。王程等2023基于交替最小二乘法ALS和ApacheSpark计算引擎开发了一款菜品智能推荐系统将历史消费数据存储于HBase并训练推荐模型通过Thymeleaf展示推荐信息。系统采用冷热两种启动模式来满足新老用户的不同推荐需求在前人单机推荐模型的基础上引入Spark分布式计算框架实现了大规模消费数据的并行化模型训练。耿化聪等2021针对传统协同过滤饮食推荐算法只利用用户-物品评分矩阵、未考虑物品语义信息的问题提出了一种基于知识图谱嵌入与协同过滤融合的个性化饮食推荐算法。通过构建菜品知识图谱引入菜品间的语义信息计算菜品间的语义相似度并纳入协同过滤推荐过程。实验结果表明该算法在召回率与AUC指标上均有明显提升在前人纯协同过滤推荐的基础上融合知识图谱语义信息有效缓解了数据稀疏性与冷启动问题。金颖等2024提出了融合营养知识与偏好-健康多目标优化的膳食推荐方法基于营养引导的食品知识感知网络进行个性化菜谱推荐并采用非劣排序遗传算法优化多目标推荐列表。构建了包含19669条菜谱数据的食品营养知识图谱实验结果表明该方法在膳食营养推荐性能上优于主流方法在前人单一偏好推荐的基础上引入营养健康维度实现了用户偏好与营养健康的平衡优化。Tian等2021提出了层次化图注意力网络HGAT用于食谱推荐通过节点级注意力与关系级注意力两个模块捕捉用户历史行为、食谱内容与关系信息。在多个真实数据集上的实验表明HGAT在推荐精度上显著优于多种基线方法在前人同构图推荐的基础上构建了用户-食谱-食材异构图实现了高阶关联信息的有效利用。3.3 研究述评综合国内外研究现状可以发现当前美食推荐系统领域已在以下方面取得显著进展一是推荐算法从单一协同过滤演进到融合内容推荐、知识图谱、深度学习的混合推荐范式二是数据规模从小规模公开数据集发展到百万级用户行为数据三是推荐维度从单一口味偏好扩展到健康营养、时间感知、场景上下文等多维度因素四是工程实现从算法验证发展到完整的Web应用系统。然而现有研究仍存在以下可拓展的空间其一多数研究聚焦于通用餐饮推荐或健康膳食推荐针对校园这一特定场景的美食推荐系统研究较少校园场景具有用户群体集中、消费时间规律、菜品价格区间固定等独特特征需要针对性的算法优化其二现有研究多为算法层面的实验验证缺乏完整的前后端系统设计与工程实现其三将大语言模型引入美食推荐的解释性生成与用户画像深度挖掘的研究尚不多见。本研究在前人基础上提出新想法拟针对校园餐饮场景设计融合协同过滤与知识图谱的混合推荐算法并基于SpringBootVue构建完整的个性化推荐系统同时引入DeepSeekAI大模型实现推荐理由的自然语言生成与用户偏好的深度理解。四、系统功能设计4.1 系统总体架构本系统采用前后端分离的分层架构设计自下而上分为数据层、算法层、服务层、应用层四个层级。各层之间通过标准接口解耦确保系统的可扩展性与可维护性。数据层负责校园美食数据的采集、清洗与存储包括MySQL关系型数据库存储用户、菜品、订单等结构化数据Redis缓存存储热点推荐结果与用户会话信息。算法层负责推荐算法的实现与模型训练包括协同过滤推荐、知识图谱推荐、混合推荐融合等核心算法模块以及模型评估与效果监控模块。服务层基于SpringBoot框架构建后端服务提供用户管理、菜品管理、推荐服务、评价管理、个人画像等RESTful API接口。应用层基于Vue.js框架构建前端交互界面包括推荐首页、菜品浏览、个人中心、评价反馈、数据可视化大屏等页面。4.2 核心功能模块模块一用户管理与画像模块。支持用户注册登录、个人信息管理、口味偏好设置、消费历史查询等功能。用户首次使用时通过问卷或选择偏好标签完成初始画像构建后续根据用户行为数据持续更新画像。模块二菜品浏览与搜索模块。提供菜品列表展示、菜品详情查看、菜品分类筛选、菜品搜索等功能。展示菜品图片、价格、口味标签、营养信息、用户评价等详细信息。模块三个性化推荐模块。系统的核心模块融合基于用户的协同过滤算法与菜品知识图谱推荐算法为每位用户生成个性化的Top-N美食推荐列表。推荐结果按场景分为今日推荐、常吃换新、同类推荐、营养搭配等多个推荐频道。模块四评价与反馈模块。支持用户对菜品进行评分1—5星与文字评论系统基于用户评价数据持续优化推荐模型。同时支持用户收藏菜品、加入购物车等交互行为。模块五DeepSeekAI智能推荐解释模块。调用DeepSeekAI大模型API根据用户的历史消费记录与偏好标签自动生成个性化的推荐理由与饮食建议。该模块的执行逻辑遵循执行过程结果三段式结构执行环节将用户画像特征与推荐菜品列表批量传入DeepSeekAI接口设定为每位用户生成5条个性化推荐理由的任务指令过程环节通过API调用获取模型返回的结构化分析结果包括口味偏好分析、营养均衡评估、消费习惯解读结果环节将大模型生成的自然语言推荐理由与推荐菜品列表进行融合展示提升推荐结果的可解释性与用户体验。模块六数据可视化大屏模块。面向校园餐饮管理方的数据分析可视化界面展示全校菜品消费排行、用户偏好分布、时段消费趋势、餐厅热度对比等统计图表为餐饮运营决策提供数据支撑。五、技术路线与技术栈5.1 技术路线本研究的技术路线遵循数据采集—数据预处理—推荐算法设计—系统开发—测试优化的完整开发流程。第一阶段为数据采集与预处理。从校园一卡通系统获取历史消费数据结合菜品基础信息与用户评价数据完成数据清洗、脱敏、特征工程与数据划分构建校园美食推荐数据集。第二阶段为推荐算法设计与验证。首先实现基于用户的协同过滤算法作为基线模型然后构建校园菜品知识图谱融合菜品的食材、口味、菜系、营养等语义信息最后设计协同过滤与知识图谱融合的混合推荐算法在测试集上验证推荐效果。第三阶段为系统后端开发。基于SpringBoot框架搭建后端服务实现用户管理、菜品管理、推荐服务、评价管理等核心业务接口集成推荐算法引擎完成与前端的数据交互。第四阶段为系统前端开发。基于Vue.js框架构建用户端Web界面实现推荐首页、菜品详情、个人中心、评价反馈等页面对接后端API完成数据展示与交互功能。第五阶段为系统测试与优化。开展功能测试、性能测试与用户体验测试根据测试结果优化推荐算法与系统性能完成最终版本的系统交付。5.2 核心技术栈后端技术SpringBoot2.7框架作为后端核心提供依赖注入、自动配置、RESTful接口等基础能力MyBatis-Plus作为ORM框架实现数据库操作SpringSecurity实现用户认证与权限控制。 前端技术Vue 3框架作为前端核心配合VueRouter实现路由管理Pinia实现状态管理Axios实现HTTP请求对接后端APIElement Plus组件库提供UI组件支持。算法与数据挖掘Python3.9作为算法开发语言scikit-learn库实现协同过滤基线算法NetworkX库用于知识图谱构建与图算法计算Pandas与NumPy进行数据处理与特征工程。大语言模型DeepSeekAI大模型API用于推荐理由生成与用户画像深度分析实现推荐结果的可解释性与个性化解读。数据库与缓存MySQL 8.0存储用户、菜品、订单、评价等核心业务数据Redis6.0缓存热点推荐结果与用户会话信息提升系统响应速度。六、可视化方案设计本研究的可视化方案围绕数据驱动、直观易懂的设计原则设计以下核心可视化图表热门菜品消费排行柱状图采用横向柱状图展示2023年至2026年间全校TOP10热门菜品的年度消费数量对比。柱状图的纵轴为菜品名称横轴为年度消费人次每个菜品对应四根柱子分别代表2023年、2024年、2025年、2026年四个年度的数据。通过柱状图的长度对比可直观呈现各菜品的受欢迎程度年度变化趋势。预期数据显示2023年TOP1菜品年消费量约为2.8万人次2024年增长至3.5万人次2025年达到4.1万人次2026年上半年已突破2.3万人次整体呈现逐年增长态势。不同年级学生饮食偏好雷达图采用五维雷达图展示不同年级学生的饮食偏好维度对比五个维度分别为主食偏好、荤菜偏好、素菜偏好、汤品偏好、小吃偏好。雷达图的每个顶点对应一个偏好维度不同年级大一、大二、大三、大四以不同颜色的多边形叠加展示。通过雷达图的形状对比可直观识别各年级学生的饮食偏好差异。例如大一学生在小吃偏好维度得分最高平均4.2分但在素菜偏好维度得分偏低平均2.8分大四学生在荤菜偏好维度得分突出平均4.3分但在主食偏好维度相对较低平均3.4分。时段消费趋势折线图采用时间序列折线图展示校园食堂各时段的消费人次变化趋势。折线图的横轴为时间从早上6点到晚上10点每半小时一个时间点纵轴为消费人次。图中绘制多条折线分别代表周一至周五、周末等不同日期类型的消费曲线。通过折线图的起伏变化可观察早中晚三餐的消费高峰时段识别消费高峰的具体时间节点与峰值。菜品口味分布饼图采用饼图展示全校菜品的口味分布比例。基于菜品标签数据统计辣味、微辣、不辣、酸甜、清淡等口味类别的占比。例如辣味菜品占比最高约32%其次是清淡口味约28%微辣菜品占比约20%酸甜口味占比约12%其他口味占比约8%。通过饼图的扇区占比可直观了解校园菜品的整体口味分布特征。推荐算法性能对比环形图采用环形图展示推荐算法的性能对比结果。对比协同过滤、知识图谱推荐、混合推荐三种算法在Precision、Recall、F1值、NDCG四项指标上的表现。例如混合推荐算法的Precision为0.78Recall为0.72F1值为0.75NDCG为0.81均优于单一算法的表现。通过环形图的多维度对比可直观展示混合推荐算法的性能优势。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进