CSDN 个性化推荐的数据治理


相关阅读


1. 背景

CSDN 的个性化推荐流在主站中是一个很重要的模块,在过去半年多的时间里,AI 小组通过人工智能等相关技术,在原有数据召回源的基础上,根据用户的反馈以及内部的讨论和分析,不断优化个性化推荐流的数据质量,以达到推荐用户更感兴趣内容,提升用户阅读体验的目的。
在这里插入图片描述

个性化推荐流的数据源类型主要包括以下五类:博客、社区云帖子、问答提问、Blink 动态、直播,其中博客的占比最高。

数据源的召回在包含全站数据的数据仓库中使用 SQL 语句实现,并将召回的数据保存到业务库中进行混排与各种逻辑处理。以下是所有涉及到的数据源:

数据源召回 数据源类型
热门blink召回 Blink 动态
新用户冷启动白名单推荐池 Blink 动态
用户关注推荐池内容召回 Blink 动态
原力计划博客召回 博客
协同过滤召回 博客
用户个性化标签召回 博客
新用户冷启动白名单推荐池 博客
热数据 博客
历史上的今天召回池 博客
用户关注推荐池内容召回 博客
用户搜索历史召回源 博客
用户关注的社区云帖子 社区云帖子
等你来答 问答提问
正在直播的白名单召回源 直播
用户关注直播召回 直播

2. 数据治理

基于以上提到的召回源,我们进一步加入了一系列的限制,并且调整了召回逻辑,实现数据的治理,具体如下:

2.1 从内容层面提升数据质量

  • 过滤掉质量分小于等于 20 的博客 (质量分查询请点这里)。
  • 过滤掉标题党文章。例如:

阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
见过仙女蹦迪吗?一起用python做个小仙女代码蹦迪视频
mybatis 缓存的使用,看这篇就够了
鬼知道我看了几遍!Java常用集合类总结
为了帮粉丝完成毕业设计,我发现了一款私活神器!!
该买哪家二手手机呢?程序员爬取京东告诉你!
家长叫我别天天我在房间没事多看看新闻,我说我马上写个爬虫爬新闻看!!!
华为员工离职心声:菊厂15年退休,感恩,让我实现了财务自由!
java扫雷游戏,触雷时学姐哭着扑向了你!
我要偷偷的学Python,然后惊呆所有人(第二天)

  • 过滤掉封面图违规的文章。

  • 去掉长度较短的 Blink 动态,去掉「已注销」用户的 Blink 动态。

  • 过滤掉软文,即去掉包含广告的文章,例如:
    在这里插入图片描述

  • 原力计划 的博客质量分要大于等于 80 分。原力计划作为官方活动,须保证其文章的高质量。

  • 过滤掉 毕业设计 相关的文章。毕业设计之类的文章,对于用户的参考性不大,大多是挂羊头卖狗肉。对于即将毕业正在写毕业设计的用户,建议去权威学术知识库检索已发表的论文进行参考。

  • 课程设计 相关的博客进行降权。理由同上,并且更希望学生用户更好利用 CSDN 平台,自主完成课程设计,提升自身的硬实力。

2.2 从用户层面提升数据质量

  • 引入用户黑名单机制,过滤掉 培训个人/机构账号 的文章,过滤掉 测试账号 发布的测试数据。
  • 引入用户灰名单机制,让运营对某些不合规用户对应的博客进行降权。
  • 过滤掉博客发布频率过高的用户对应的文章,此处假设高质量的博客需要花时间打磨。
  • 过滤禁言用户对应的数据。

2.3 增加特定数据的曝光

  • 提升带有红包的社区云帖子、博客、Blink 动态的权重,增加该类数据的曝光量。

2.4 保证数据的正确性与实效性

  • 确保个性化推荐召回源数据样本得分为升序,以保证后端混排的正确性。
  • 召回的所有博客数据都包含 统一标签+标题标签,并且能正确提取出时下最新的技术标签,保证负反馈机制的正确性。以前的数据只有部分博客包含标签,且无法提取最新的技术标签 (例如:ChatGPT)。
  • 保证数据的实效性,以前的召回源中包含冷启动数据,而这些冷启动数据是运营精选的,并且再也没有更新过,在现在看来就是旧数据。在当前其他召回源数据充足的情况下,暂时先去掉这类冷启动数据的召回源,后续考虑使用自动化的方式来挑选冷启动数据。
  • 过滤掉直播类型的社区云帖子,保证实效性。直播具有很强的实效性,而推荐流的更新频率大多以小时为单位,无法保证实效性,会导致推荐流中的直播已经结束的情况。

3. 总结

经过不断地迭代,推荐流数据在质量、正确性、实效性等方面得到了一定提升,但数据治理从来都不是一劳永逸的工作,随着时间的推移需要不断迭代与优化。此外,后续会进一步优化用户画像的效果,做到推荐用户真正感兴趣的高质量数据。

猜你喜欢

转载自blog.csdn.net/u010280923/article/details/131373899
今日推荐