推荐系统是如何做到每次推荐都不重复的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LeeReamond
V2EX    问与答

推荐系统是如何做到每次推荐都不重复的?

  •  
  •   LeeReamond 2021-06-13 23:00:05 +08:00 3466 次点击
    这是一个创建于 1671 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有没有老哥能大概描述一下大数据推荐系统的实现逻辑?

    我有两个疑问

    1 、大数据是如何做到你点击某类内容后,它就更倾向于给你推荐该类视频的,这个背后聚类、筛选、排序的逻辑大概是怎么样的

    2 、具体技术实现上,典型例子比如 B 站,我每次下拉刷新,都会推送出新的视频,后端是如何做到每次推送视频都不重样的呢,如果要针对每个用户记录已经推送过的视频,这种数据结构在工程上显然是不可接受的。但是如果使用布隆过滤器之类的取巧办法,这个过滤器总是要定期清理的,不可能说每个用户初始化一个过滤器对象之后就永远地只增不减,然而布隆过滤器又怎么能删东西,这很矛盾。

    17 条回复    2022-09-25 19:28:00 +08:00
    zengming00
        1
    zengming00  
       2021-06-13 23:05:39 +08:00
    B 站推荐重复率很高的
    你说的过滤说不定是在客户端实现的呢?
    ch2
        2
    ch2  
       2021-06-13 23:29:41 +08:00
    粗排+精排
    lhx2008
        3
    lhx2008  
       2021-06-13 23:34:06 +08:00
    肯定要存的,然后一个人 1k,十亿人也才 1T,根本不是事
    LeeReamond
        4
    LeeReamond  
    OP
       2021-06-13 23:59:22 +08:00
    @lhx2008 如果直接存值的话 1K 能存的数据太少了,应该是不对。
    haruhi
        5
    haruhi  
       2021-06-14 00:00:03 +08:00
    不是在推荐你相同类型的视频,而是在推荐给你和你行为一样的人所点赞、完播率高(当然有更多指标)的视频。
    LeeReamond
        6
    LeeReamond  
    OP
       2021-06-14 00:05:48 +08:00
    @haruhi 具体是个什么逻辑,针对用户行为聚类,然后维护若干个指定类别的推荐名单?
    haruhi     7
    haruhi  
       2021-06-14 00:10:57 +08:00
    @LeeReamond

    举个简单的例子:

    我一共看了视频 1 、2 、3 、4 、5,所有视频都点赞了。

    你一共看了视频 1 、2 、3 、4 、5 、6,所有视频都点赞了。

    这时候我和你的行为是非常类似的,那么会判断大概率我也会喜欢视频 6,这时候就把这个视频推荐给我了。

    这个推荐的方式,叫协同过滤( Collaborative Filtering )。
    learningman
        8
    learningman  
       2021-06-14 00:15:25 +08:00 via Android
    并不是,知乎就日常重复。。。
    LeeReamond
        9
    LeeReamond  
    OP
       2021-06-14 00:18:03 +08:00
    @learningman 只能说明知乎不光内容少而且菜吧。。
    LeeReamond
        10
    LeeReamond  
    OP
       2021-06-14 00:21:17 +08:00
    @haruhi 实现方式?
    3dwelcome
        11
    3dwelcome  
       2021-06-14 04:23:43 +08:00
    B 站确实记录下我看过的每一个视频,他可以一次分析 200 条不重复的推送,然后我下拉一次,推送 10 条。
    这样就可以短期不重复了。
    DCjanus
        12
    DCjanus  
       2021-06-14 09:49:25 +08:00 via Android
    一般的实现是存一段时间给你推荐过的内容,并且推荐系统只给你推荐一段时间内上传的视频,定期滚动就行了。
    Vitor
        13
    Vitor  
       2021-06-14 09:49:54 +08:00   1
    @LeeReamond User-CF / Item-CF / Deep&Wide,很多经典的算法网上一大堆,感兴趣的话可以看看项亮写的推荐系统入门书
    masterclock
        14
    masterclock  
       2021-06-14 15:17:55 +08:00
    B 站重复率非常高,看过的也会再推。
    某小说软件的推荐下拉一页能重复一大半。
    Ptu2sha
        15
    Ptu2sha  
       2021-06-14 16:08:05 +08:00
    虽说千人千面 但是用户一百万啊 自需要筛选一千面 然后定期更新
    刷新又不是实时分析的
    QUC062IzY3M1Y6dg
        16
    QUC062IzY3M1Y6dg  
       2021-06-15 09:37:57 +08:00
    @learningman 有一说一,知乎的推荐机制真的垃圾,我屏蔽好多关键词,结果还是推送同类型的,字节这方面的算法是真的牛逼。
    hpu423
        17
    hpu423  
       2022-09-25 19:28:00 +08:00
    布隆过滤器了解一下
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2723 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 04:00 PVG 12:00 LAX 20:00 JFK 23:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86