各位老师下午好。我的名字是[你的名字]。我的学号是[你的学号]。我来自[你的学院]学院[你的专业]专业。我的论文题目是《基于用户行为的个性化新闻推荐系统设计与实现》。我的指导老师是[指导老师姓名]老师。现在我开始介绍我的毕业论文。
我选择这个题目有几点原因。现在网上的新闻非常多。用户常常找不到自己感兴趣的内容。很多新闻APP给所有人看一样的新闻。这很不方便。我觉得需要一个更懂用户的系统。这个系统能记住用户的喜好。它能给不同的人推荐不同的新闻。这样能节省用户的时间。这个研究很有实际用处。
我的研究目标是做一个推荐系统。这个系统能够分析用户的行为。行为包括点击新闻和阅读时间。系统根据这些行为建立用户模型。然后系统从新闻库里找到合适的新闻。最后把这些新闻推送给用户。我希望这个系统比普通的方法更好。好体现在推荐更准确和用户更满意。
为了实现目标我做了以下工作。我首先看了很多资料。我了解了推荐系统的基本原理。常见的算法有协同过滤和内容过滤。协同过滤看用户之间的相似性。内容过滤看新闻本身的特征。我决定结合两种方法的优点。我的系统框架分为三个主要部分。第一部分是数据处理模块。第二部分是用户建模模块。第三部分是新闻推荐模块。
数据处理模块的工作是清洗数据。原始数据有很多问题。比如新闻标题缺失和用户记录错误。我编写了程序来清理这些数据。我把数据变成整齐的格式。这样后面的模块才能使用。
用户建模模块的核心是分析行为。用户每次点击新闻都会留下记录。我记录了新闻的类别和关键词。我还记录了用户阅读了多久。我设计了一个评分规则。阅读时间越长评分就越高。这些评分代表了用户的兴趣。系统为每个用户生成一个兴趣标签集合。这个集合会随着用户行为不断更新。
新闻推荐模块负责计算匹配度。系统将用户的兴趣标签与新闻标签对比。匹配度高的新闻会被筛选出来。我采用了一种混合推荐算法。它综合了用户的长期兴趣和近期点击。这样推荐结果既稳定又新鲜。我设置了推荐列表的长度。每次给用户展示十条新闻。
我使用了真实的实验数据。数据来自一个新闻网站的开源数据集。我选取了十万条用户阅读记录。新闻种类包括体育、财经、科技等。我把数据分成两部分。一部分用来训练模型。另一部分用来测试效果。
我设计了对比实验。我的系统作为实验组。一个传统的热门新闻推荐方法作为对照组。我使用了两个评价指标。第一个指标是点击率。第二个指标是平均阅读时长。实验结果是明显的。我的系统点击率比传统方法高百分之十五。平均阅读时长也多出二十秒。这说明用户更喜欢我的推荐。
我的系统有一个简单的界面。用户可以看到推荐的新闻列表。每行显示新闻标题和摘要。用户点击标题就能阅读全文。界面右侧显示用户的兴趣标签。用户可以手动调整标签的权重。比如增加“科技”的权重减少“娱乐”的权重。系统会根据调整立刻更新推荐列表。
在开发过程中我遇到了困难。困难是用户行为数据很稀疏。新用户几乎没有历史记录。这导致系统无法建立准确的模型。我的解决办法是引入热门新闻作为补充。对于新用户先推荐一些热门新闻。同时快速收集他们的点击反馈。一旦数据足够就切换到个性化推荐。这个策略在实践中效果不错。
我的论文有创新点。创新点在于用户兴趣模型的动态更新。许多系统更新模型的速度很慢。我的系统每次用户行为都会触发一次微调。这使得模型能紧跟用户兴趣的变化。另一个创新点是结合了显式反馈和隐式反馈。用户主动点击是显式反馈。用户停留时间是隐式反馈。两者结合让用户画像更立体。
系统也存在一些不足。系统对新闻内容的理解不够深。它主要依赖关键词和类别。它无法理解新闻中的复杂情感。未来的改进可以考虑自然语言处理技术。让系统能读懂新闻的大意和情感倾向。这样推荐会更加精准。
我完成了全部编程工作。代码使用Python语言编写。我用了Django框架开发网页界面。推荐算法部分使用了Surprise库。数据库使用了MySQL。所有代码已经上传到GitHub。论文详细记录了每一个步骤。
我的陈述到此结束。感谢各位老师的聆听。我已经准备好回答老师的问题。