【开题答辩全过程】以 基于协同过滤算法电影个性化推荐系统设计与实现为例,包含答辩的问题和答案

个人简介

一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等

开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。

感谢大家的关注与支持!

各位老师好,我是xx同学。我的毕业设计题目是《基于协同过滤算法电影个性化推荐系统设计与实现》。做这个系统主要是因为现在网上电影太多,大家经常不知道看什么,我希望通过协同过滤算法,分析用户的喜好,给每个人推荐他们可能感兴趣的电影。系统主要分两大块:普通用户可以注册登录、查看电影信息、给电影评分、收藏喜欢的电影、看系统公告,还能收到个性化的电影推荐;管理员可以管理用户账号、添加或删除电影、发布公告。技术方面我打算用Java做后端开发,MySQL数据库存数据,前端用Vue框架,推荐算法主要用基于用户的协同过滤算法。整个系统包含登录注册、用户管理、电影管理、公告管理、评分收藏和推荐列表这几个模块。


评委老师: 你能用大白话解释一下,什么是协同过滤算法吗?不用背定义,就说你理解的。

答辩学生: 好的老师。我理解的就是"找相似的人"。比如小明和小红都喜欢科幻片和动作片,小明看了《流浪地球》觉得很好看给了高分,小红还没看过这部电影,系统发现他们俩口味很像,就把《流浪地球》推荐给小红。简单说就是兴趣相似的人,喜欢的东西也差不多。


评委老师: 你开题报告里提到了好几个功能模块,你再说说具体有哪些?用户和管理员都能干什么?

答辩学生: 系统主要有六个模块:登录注册模块、用户系统管理模块、电影管理模块、电影通知公告模块、评分收藏模块,还有推荐列表模块。普通用户可以注册账号登录,浏览电影详情,给电影打分和收藏,查看系统发的公告,最重要的是能看到系统根据他喜好推荐的电影列表。管理员主要是后台管理,可以管理用户账号(比如禁用违规账号)、添加新电影或修改电影信息、发布和编辑公告。


评委老师: 你准备用什么技术来做这个系统?比如编程语言、数据库这些。

答辩学生: 我打算用Java语言,配合Spring Boot框架做后端开发,数据库用MySQL存储数据。前端界面我准备用Vue.js来做,这样页面比较美观。算法部分因为涉及到数据计算,我可能会用Python写算法逻辑,或者直接用Java实现协同过滤的计算。开发工具就用IDEA和Navicat这些。


评委老师: 你这个系统需要哪些数据?这些数据从哪来?特别是推荐算法需要的数据。

答辩学生: 主要需要三类数据。第一是电影的基本信息,比如电影名称、类型、导演、演员、简介这些,我可以从网上找公开的电影数据集,或者自己手动录入一些;第二是用户数据,就是用户的账号密码这些注册信息;第三是最重要的评分数据,就是用户对电影的打分记录。这些数据主要靠用户注册使用系统后慢慢积累,前期我可能先找一些公开的MovieLens数据集做测试,让系统能跑起来。


评委老师: 如果两个用户都对很多电影打过分,系统怎么判断他们是不是兴趣相似?简单说下思路就行。

答辩学生: 我打算用简单的余弦相似度或者皮尔逊相关系数。比如把每个用户对电影的评分看成一个列表,如果两个用户对同一批电影的评分都差不多,比如小明给《阿凡达》打5分、《泰坦尼克号》打3分,小红也给《阿凡达》打5分、《泰坦尼克号》打3分,那他们分数差的平方和就很小,系统就认为这俩人兴趣相似,可以互相推荐对方看过而自己没看过的电影。


xx同学的开题答辩表现整体不错。陈述环节能够清晰表达系统的基本定位和实用价值,回答问题时对协同过滤算法的核心思想理解基本正确,功能模块划分比较清楚,技术选型也比较务实。需要注意的是,毕业设计时间安排在2025年,要合理规划进度,特别是算法部分建议先实现基础功能再考虑优化。数据获取方面要提前做好预案,如果真实用户数据难以获取,可以使用公开数据集完成系统验证。建议在后期的设计中补充详细的测试方案,包括功能测试和推荐效果的简单评估。整体开题通过,同意进入下一阶段工作。


以上是某同学的毕业设计答辩的过程,如果你现在还没有参加答辩,还是开题阶段,已经选好了题目不知道怎么写开题报告,可以下面找找有没有自己符合自己题目的开题报告内容,列表中的开题报告都是往届真实的开题报告,可发送使用或参考。文末或底部来联xi可免费获取

最后

有时间和有基础的同学,建议自己多花时间找一下资料(开题报告、源码)自己独立完成毕设,需要开题报告内容、源码参考的,可以联xi博主,没有选题的也可以联系我们进行帮你选题、定功能和建议。

相关推荐
uesowys2 小时前
Apache Spark算法开发指导-Random forest classifier
算法·随机森林·spark
仙俊红4 小时前
LeetCode487周赛T2,删除子数组后的最终元素
数据结构·算法
-dzk-10 小时前
【代码随想录】LC 59.螺旋矩阵 II
c++·线性代数·算法·矩阵·模拟
风筝在晴天搁浅10 小时前
hot100 78.子集
java·算法
Jasmine_llq10 小时前
《P4587 [FJOI2016] 神秘数》
算法·倍增思想·稀疏表(st 表)·前缀和数组(解决静态区间和查询·st表核心实现高效预处理和查询·预处理优化(提前计算所需信息·快速io提升大规模数据读写效率
超级大只老咪10 小时前
快速进制转换
笔记·算法
m0_7066532311 小时前
C++编译期数组操作
开发语言·c++·算法
故事和你9111 小时前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口
qq_4232339011 小时前
C++与Python混合编程实战
开发语言·c++·算法