推荐系统的曝光去重怎么快速实现

2022-11-30 17:54:40 +08:00
 awanganddong

需求大概是这样的,对用户看过的视频不在展示, 现在通过 mysql wherenotin 处理的,但是这种是存在上限的。 想知道一个比较务实的技术实现。

1709 次点击
所在节点    程序员
7 条回复
awanganddong
2022-11-30 17:57:49 +08:00
https://ex.noerr.eu.org/t/450968

这是一个相关的链接地址
awanganddong
2022-11-30 18:02:40 +08:00
https://blog.51cto.com/u_14291117/5176554

vivo 短视频推荐去重服务的设计实践 原创
dqzcwxb
2022-11-30 19:34:25 +08:00
redis zset 就够了,5000 万日活的方案不会让你来做的
sujin190
2022-12-01 13:52:36 +08:00
bitmap 应该是数据量计算量都比较少的了吧,如果视频量比较多用户看的少,那么把 bitmap 分区就是了呗,整区都没看过就不需要保存,redis 就有 bitmap 支持,或者保存在数据库也行啊,分区后用视频 ID 直接就可以计算分区号,然后用区块号读取整个区块很快就判断完了,如果是信息流这种用户看过的和即将看的都是最近的,那么读取数据量还是很小的
awanganddong
2022-12-01 14:58:09 +08:00
推荐系统(2):详解曝光去重实践
https://zhuanlan.zhihu.com/p/438660053


又找到一篇文章
awanganddong
2022-12-01 15:55:06 +08:00
sunshinev
235 天前
每个用户维护一个 bloom 过滤器,100000 条去重,误判率 0.01%,每个用户的过滤器 bitmap 差不多 10k ,每天推荐 1000 条,过滤器就是能用 100 天,其实每次推荐的时候,从 db 里取最新 3 天的数据推荐就行,过滤器每隔一个月重置一次;

问题就是重置的时候,可能会有重复推荐 3 天内的数据的情况出现;🤔

反正不建议使用 db 进行推荐,每个用户频繁刷新接口,对 db 的压力还是很大,搞 redis 就挺好;

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/899129

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX