运营同事悄悄说:91大事件为什么你总刷到同一类内容?多半是推荐逻辑没弄明白(信息量有点大)

引子 最近“91大事件”类话题反复刷屏,不少人抱怨“越看越像”、“为什么总是同一类内容?”这不是偶然——而是推荐系统在多个环节共同作用下的结果。下面把推荐逻辑分层拆开,既解释原因,也给出可落地的改进与用户自助策略,信息量偏大,但尽量直观实用。
先把推荐流程讲清楚(极简版) 推荐系统常见分为两大步: 1) 召回(candidate generation):从海量内容中粗筛出若干候选项,来源可以是基于内容相似、基于协同过滤、基于关键词、基于热门榜或编辑推送等。 2) 排序(ranking):对候选项按预设目标(比如CTR、时长、转化)打分并排序,最终形成给用户的流。
为什么会“同质化”刷屏?九大原因
-
热点放大(Popularity bias) 热门内容本身被更多人点开,产生更多信号,模型把这部分内容不断放大,成为“热度循环”。
-
CTR 优化的副作用 很多系统把点击率作为核心目标。优化CTR会让模型偏好那些更容易吸引点击但内容高度相似的模板(标题党、短视频开头套路),长期看形成同质内容流。
-
协同过滤的群体效应 基于相似用户的推荐(“喜欢你的人也看了”)会把某一类内容在同一兴趣圈内重复放大,尤其当兴趣圈狭窄时更明显。
-
召回源单一或权重倾斜 如果召回主要来自“热榜+若干热门publisher”,召回池本身就不够多样;某些数据源或tag被高权重优先召回,会把同一家媒体或同一模板的内容反复推送。
-
去重机制不够严谨 同一事件由不同媒体或用户用不同角度/标题重复发布,系统若只做简单去重(比如URL去重)而不做语义聚合,会把这些“同一类实质内容”当成多条推荐。
-
会话与短期偏好过拟合 短时间内多次点击同类内容会被系统判定为强烈偏好,立即调整权重,结果把同类内容连续推送,形成“刷屏感”。
-
模型训练数据里同质样本过多 训练集里若被热门或重复内容占据,模型学到的分布也会偏向这些样例,产生长期偏差。
-
运营和编辑干预 大事件期间,运营/编辑会主动推某些专题或模板,平台把这些人工信号和算法信号叠加,导致同类内容一波接一波。
-
实时缓存与窗口效应 为了降低延迟,系统会缓存热门候选,短时间内用同一批候选供应大量请求,短时间内推同一类内容的概率上升。
从产品/算法视角的可落地改进(运营、产品和工程能用)
- 多源召回与权重均衡
- 引入更多召回策略(内容语义、社交、兴趣向量、编辑、人为标签),并设置动态权重避免单源主导。
- 定期采样分析召回来源分布,保证不会被单一publisher或单一话题占满。
- 强化语义去重与聚类
- 用文本/视觉embedding做语义相似度聚类,按主题聚合去重(而非仅URL层面),同一主题只推1~2条代表内容。
- 对重复性高的新闻流设置去重窗口(比如24小时内相近主题只保留一条)。
- 在排序中加入多样性与新颖度目标
- 在最终打分中加入多样性项(Diversity penalty)或重排策略,如最大边际收益(MMR)等,平衡CTR与信息覆盖。
- 引入新颖性/低频内容bonus,增加长尾曝光。
- 增加探索率(exploration)与冷启动技巧
- 给随机探索或多样化候选固定预算(比如10%-20%),防止长期陷入局部最优。
- 对新来源、新作者设立初始展示窗口,通过小流量试验评估质量而不是直接屏蔽。
- 会话感知与短期衰减
- 对短时间内重复点击的主题快速衰减权重(短时窗内降低相似内容得分),防止“刷一类越看越多”。
- 引入session-level diversity策略:同一会话内强制插入不同主题的内容占位。
- 训练数据与样本处理优化
- 对过采样的热门事件做采样纠正,平衡正负样本分布。
- 标注或识别模板化标题,降低它们的训练权重。
- 指标与监控同步调整
- 除了CTR/UV,还要监控多样性(ILD、entropy)、覆盖率、留存/长期活跃等。
- 设置“内容多样性回归”日报,发现单话题占比异常及时干预。
- 运营策略配合
- 编辑推送做可控预算,不自动覆盖算法调度。
- 对热点专题做分层展示(专题页集中展示该话题,首页/流中减少重复)。
- 对外合作与版权去重
- 与内容方协作拿到统一ID,或用抓取后端做原文合并,避免同一稿件被多次推送。
对用户的实用小技巧(用户端能做的)
- 主动反馈“不感兴趣”或屏蔽某些作者/话题。
- 取关或减少对重复来源的关注。
- 清理兴趣/搜索历史或用匿名/无痕模式重置算法的短期偏好。
- 主动点击并停留在你想看的不同类型内容,系统会把信号重新估计。 这些方法能在短期缓解“同质化刷屏”。
衡量改进效果的指标(运营复盘要看这些)
- 精准度类:CTR、nDCG(排序质量)
- 多样性类:Intra-list Diversity (ILD)、主题熵(entropy)
- 覆盖类:catalog coverage(长尾内容曝光占比)
- 新颖性/新作者曝光:novelty、new-author-share
- 长期指标:7/30日留存、日均使用时长(注意与短期CTR可能冲突) 理想做法是在AB测试中权衡短期与长期目标,而不是只追CTR。
举个实战小例子(简化) 问题:用户A连续48小时大量点击“91大事件”的短视频,首页开始频繁推相似短视频。 解决思路: 1) 在召回端加入“主题聚类去重”,把同事件下高度相似的视频合并为代表集。 2) 在排序端对同事件第二条及之后的相似内容加入负向惩罚系数(按相似度线性下降)。 3) 给首页预留15%多样化位,优先放入非事件类内容,增加长期兴趣覆盖。 4) 观察7天新增会话与留存是否上升,同时监测CTR下跌是否在可接受范围。
常见误区(提醒)
- 只盯CTR会让问题更糟。短期指标优化往往牺牲多样性与长期留存。
- 简单的“黑名单/关键词屏蔽”并非长久之计,会误伤边界内容且用户体验差。
- “更多数据”不是万能药,要保证数据的多样性与代表性,否则模型会学偏。
结语(简短) 当你感觉“为什么一直刷到相同内容”时,背后往往是召回源单一、CTR优化偏激、去重不够或运营干预等多重因素叠加的结果。无论是产品方还是运营同学,拆解问题、从召回到排序到训练数据全链路去优化,并用多样性和长期指标把握尺度,能把体验从“被刷屏”变回“被发现”。
作者简介 张某某,资深内容运营与推荐产品顾问,长期负责信息流产品优化与专题运营。若想把你产品的“同质化刷屏”问题系统化诊断,可以私信或在页面留言交流。