各位老师好。
我叫李明。我是二零二零级计算机科学与技术专业的学生。我的毕业论文题目是《基于用户行为的个性化新闻推荐系统设计与实现》。我的指导老师是王海教授。下面我向大家介绍我的论文工作。
我选择这个题目因为我平时喜欢看新闻。我发现很多新闻软件推荐的新闻我不感兴趣。有时候同一个新闻反复出现。我想能不能做一个更懂我的推荐系统。这就是我研究的起点。
推荐系统现在应用很广泛。购物网站用它推荐商品。视频网站用它推荐电影。新闻软件用它推荐新闻。推荐系统可以帮助用户发现喜欢的内容。它可以节省用户的时间。好的推荐系统能让用户更愿意使用软件。
现有的新闻推荐方法有一些问题。很多系统只看热门新闻。什么新闻看的人多就推荐什么。这会导致推荐内容单一。每个人都看到差不多的新闻。还有一些系统只根据用户点击历史推荐。用户点过一次体育新闻就总是推荐体育新闻。这会让推荐范围变窄。用户可能看不到其他有趣的新闻。我的研究想解决这些问题。我想让推荐更个性更多样。
我的研究目标是设计一个新的推荐系统。这个系统要更懂用户的真实兴趣。它不仅要考虑用户点击了什么。还要考虑用户停留了多久。用户是不是读完了全文。用户有没有分享或者收藏。这些行为更能反映用户是不是真的喜欢。系统还要能发现用户潜在的兴趣。比如用户常看科技新闻。可能也会对科普文章感兴趣。系统应该尝试推荐一些相关但不完全一样的内容。这样推荐结果会更丰富。
我的论文工作主要有四个方面。第一是了解推荐系统的原理。我读了很多相关的论文和书籍。我学习了协同过滤算法。我学习了内容推荐算法。我也了解了深度学习方法在推荐系统中的应用。这部分工作让我知道现有的技术能做到什么程度。有什么优点和缺点。
第二是设计我的推荐算法。我结合了多种用户行为数据。点击数据是重要的。阅读时长更重要。读完一篇文章和点开就关闭很不一样。收藏和分享行为权重最高。这说明用户非常认可内容。我还加入了新闻的热度因素。但不能完全依赖热度。我设计了一个公式来平衡这些因素。这个公式是我的算法核心。
第三是实现这个系统。我用Python编程语言开发。数据库用了MySQL。前端页面用了简单的网页技术。系统主要分三个部分。第一部分是数据收集。系统记录用户在新闻APP里的所有操作。第二部分是数据分析。系统根据我的公式计算用户的兴趣偏好。第三部分是新闻推荐。系统从新闻库里找出最匹配的新闻推送给用户。我花了很多时间调试程序。让系统能稳定运行。
第四是测试系统效果。我使用了公开的新闻数据集。数据集里有真实的用户阅读记录。我把我的系统和两个常见系统做对比。一个是用热门新闻推荐的系统。一个是用简单点击历史推荐的系统。我用了三个指标来评价。准确率看推荐的内容用户是不是真的点击了。多样性看推荐的内容种类是不是丰富。新颖性看推荐的内容是不是用户没想到但喜欢的。测试结果我的系统在准确率上稍微高一点。在多样性和新颖性上明显更好。用户能看到更广泛的内容。也会发现一些新的兴趣点。
在做论文的过程中我遇到很多困难。最开始我的算法效果不好。推荐结果总是集中在几个类型。我和王老师讨论了多次。王老师建议我调整公式中的参数。我给不同的行为更合理的权重。问题慢慢解决了。还有一次数据库总是出错。我查了很久发现是数据格式不统一。我清洗了数据解决了问题。这些困难让我学到很多东西。解决问题不能怕麻烦。要一步一步检查。
通过这次毕业论文工作我收获很大。我真正把一个想法变成了一个能运行的系统。我巩固了大学四年学到的编程知识。数据库知识。算法知识。我学会了怎么查找文献。怎么设计实验。怎么分析结果。我也更清楚了自己的兴趣。我未来想从事算法工程师的工作。我觉得让机器更懂人是一件很有意义的事。
我的论文还有很多不足。系统是在模拟数据上测试的。真实环境会更复杂。用户行为变化很快。系统需要持续学习。我的算法还可以优化。可以考虑更多的用户行为。比如评论行为。滑动速度。这些我还没有做。这些是未来可以改进的地方。
以上就是我论文的主要内容。谢谢各位老师听我的介绍。我准备好了回答老师的问题。