【开题答辩全过程】以 基于Hadoop的个人微博推荐系统为例,包含答辩的问题和答案
个人简介
一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等
开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。
感谢大家的关注与支持!

各位老师好,我是xx同学,我的毕业设计题目是《基于Hadoop的个人微博推荐系统的设计与实现》。随着微博等社交网络的发展,用户面临严重的信息过载问题,本系统旨在通过Hadoop大数据技术处理海量微博数据,分析用户的历史行为和兴趣偏好,为用户提供个性化的内容推荐。系统主要包含六大功能模块:数据获取模块(使用Python爬虫爬取微博数据)、用户功能模块(支持浏览、搜索、翻页查看)、评论互动模块、智能推荐模块(核心功能,基于用户行为分析)、用户登录注册模块以及管理员数据管理模块。技术栈方面,后端采用Python开发,使用Hadoop进行分布式存储,Spark进行数据处理和推荐计算,MySQL作为业务数据库,前端采用Web技术实现。系统计划在2025年4月完成开发,接下来请各位老师批评指正。
评委老师: 你的题目是基于Hadoop的推荐系统,但技术路线里又写了Python和Spark,这三者之间是什么关系?你能简单解释一下吗?
答辩学生: 老师好,Hadoop主要用于分布式存储海量微博数据,提供HDFS文件系统;Spark是基于内存的大数据计算框架,比传统的MapReduce计算速度更快,我主要用Spark来处理用户行为数据和训练推荐模型;Python则是开发语言,因为Python有丰富的数据分析库(如Pandas)和机器学习库,可以方便地调用Spark的Python API(PySpark)进行开发。三者是协作关系:Hadoop存数据,Spark算数据,Python写代码。
评委老师: 你提到要用爬虫爬取微博数据,具体打算用什么工具?另外,爬取微博数据会不会涉及法律风险,你打算怎么规避?
答辩学生: 我打算使用Python的Requests库或Scrapy框架来爬取公开的模拟数据(因为实际微博有反爬机制)。关于法律风险,我计划只爬取公开的用户信息和微博内容用于学术研究,不涉及用户隐私数据如手机号、身份证号等;同时控制爬取频率,避免对目标网站造成压力;并在论文中明确标注数据来源,仅用于毕业设计展示,不用于商业用途。如果条件允许,我也会考虑使用公开的数据集来替代实时爬取。
评委老师: 开题报告里提到要分析用户行为和兴趣,你具体打算用什么推荐算法?能简单说下原理吗?
答辩学生: 我打算使用基于用户的协同过滤算法。原理比较简单:就是找到和我兴趣相似的其他用户,把他们喜欢的而我没有看过的微博推荐给我。具体实现是,通过计算用户之间对微博评分(或点赞、浏览行为)的相似度,找出最相似的几个邻居用户,然后综合这些邻居的偏好进行推荐。这种算法实现相对简单,适合作为毕业设计的基础算法,如果时间允许我也会尝试加入基于内容的推荐作为补充。
评委老师: 你的系统既要存原始微博数据,又要存用户行为数据,数据库是怎么规划的?大概有哪些主要的表?
答辩学生: 我主要使用MySQL数据库,设计了几张核心表:用户表(存用户ID、用户名、密码等基本信息)、微博内容表(存微博ID、内容、发布时间、作者等)、用户行为表(记录用户的点赞、收藏、浏览记录,这是推荐算法的数据基础)、评论表(存评论内容和关联关系)、推荐记录表(存系统生成的推荐结果)。其中用户行为表是最重要的,它会记录用户对哪些微博感兴趣,作为协同过滤算法计算相似度的依据。
评委老师: 开题报告里提到系统实时性是一个挑战,你打算怎么保证用户刷新页面时,推荐内容能及时更新?
答辩学生: 由于我目前的技术水平有限,我计划采用"离线计算+在线查询"的方式。具体来说,我会使用Spark在后台定期(比如每天晚上)批量计算用户的推荐结果,存到数据库的推荐记录表中;当用户登录时,直接从数据库读取预先计算好的推荐列表展示。这样虽然做不到秒级实时,但能保证页面加载速度。如果后期学有余力,我会尝试使用Spark Streaming来处理实时行为数据,实现近实时的推荐更新。
评委老师: 你提到了用户隐私保护,在你的系统里具体要怎么做?
答辩学生: 主要从三个方面:第一,数据脱敏,在数据库存储中对用户的敏感信息(如真实姓名、联系方式)进行加密存储,即使数据库泄露也看不到明文;第二,最小化采集,只收集推荐必需的行为数据(如浏览记录),不收集与推荐无关的隐私信息;第三,访问控制,管理员只能看到统计数据,不能查看具体某个用户的详细行为轨迹;第四,在用户注册时提供隐私协议说明,让用户了解数据用途。不过具体的加密算法我还需要进一步学习,目前计划使用简单的MD5或Base64加密。
评委老师: 最后一个问题,你计划怎么测试你的推荐系统效果?怎么知道推荐得好不好?
答辩学生: 我打算从两个方面测试:一是功能测试,检查系统是否能正常运行,推荐列表是否能正确显示;二是效果评估,我会找几位同学作为测试用户,让他们使用系统一周后填写问卷调查,从主观感受上评价推荐内容是否符合兴趣。客观指标方面,我会计算简单的准确率,比如推荐10条微博中用户点击了几条。由于时间和能力限制,暂时不做太复杂的A/B测试或精确率召回率计算,主要以系统能跑通、推荐结果合理为目标。
评委老师评价与总结:
xx同学的开题报告整体结构完整,选题紧跟大数据和推荐系统的热点,具有一定的实际应用价值。从答辩情况来看,学生对Hadoop、Spark和Python的技术分工有基本认识,对协同过滤算法的原理理解清楚,数据库设计思路清晰,能够考虑到爬虫合规性和用户隐私保护问题,说明前期做了一定的资料收集工作。
不过有几点需要注意:第一,技术路线需要进一步细化,特别是Hadoop环境的搭建和Spark的集成配置,这部分在毕业设计中是重点也是难点,建议提前在实验室机器上测试环境;第二,推荐算法目前计划使用基础的协同过滤,如果后期时间允许,建议尝试使用现成的推荐库(如Surprise或Spark MLlib),这样比从零实现更稳定;第三,关于实时性,"离线计算+在线查询"的方案对于本科毕业设计来说是可行的,但要设计好定时任务的触发机制;第四,爬虫部分风险较大,建议优先寻找公开的微博数据集(如Weka或UCI上的社交数据集),避免爬取真实微博平台数据带来的法律和道德风险。
时间安排上,2025年4月完成开发的时间节点合理,建议11月-12月重点完成数据收集和算法原型,3月前完成系统开发,4月进行测试和论文撰写。总体而言,该开题报告达到了本科毕业设计的要求,建议通过开题,后续需重点关注技术实现的可行性和数据获取的合规性。祝xx同学顺利完成毕业设计!
以上是某同学的毕业设计答辩的过程,如果你现在还没有参加答辩,还是开题阶段,已经选好了题目不知道怎么写开题报告,可以下面找找有没有自己符合自己题目的开题报告内容,列表中的开题报告都是往届真实的开题报告,可发送使用或参考。文末或底部来联xi可免费获取




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