协同过滤算法(Collaborative Filtering, CF)是推荐系统领域最经典、最核心的算法之一,核心逻辑是 **“物以类聚,人以群分”**—— 通过分析用户与物品(如小红书的笔记、商品)之间的互动关系(如浏览、点赞、收藏、购买),挖掘用户的潜在兴趣,从而实现精准推荐。它不需要依赖物品本身的内容特征(如笔记的文字、图片),也不需要用户的显式属性(如年龄、职业),仅通过 “用户 - 物品” 的互动行为数据即可工作。

一、协同过滤的核心思想:两种经典范式

协同过滤主要分为两大类别,分别从 “用户相似性” 和 “物品相似性” 两个角度切入,覆盖不同的推荐场景:

1. 基于用户的协同过滤(User-Based CF)

核心逻辑:找到与 “目标用户” 兴趣相似的 “邻居用户”,将邻居用户喜欢的、但目标用户未接触过的物品推荐给目标用户。可以理解为:“如果 A 和 B 都喜欢笔记 X、Y、Z,那么 A 喜欢的笔记 M,也可能适合推荐给 B”。

实现步骤(以小红书为例):

  1. 构建用户 - 互动矩阵:横向为用户(如用户 1、用户 2...),纵向为笔记(如笔记 A、笔记 B...),矩阵中的值代表用户对笔记的互动程度(如 “1” 表示点赞,“2” 表示收藏,“0” 表示未互动)。
  2. 计算用户相似度:通过算法(如余弦相似度、皮尔逊相关系数)计算目标用户与其他所有用户的相似度。例如,用户 A 经常点赞 “论文写作” 类笔记,用户 B 也频繁互动同类笔记,二者相似度就高。
  3. 筛选 “相似邻居”:选取与目标用户相似度最高的 Top N 用户(如 Top 50)作为 “邻居”。
  4. 生成推荐列表:收集邻居用户互动过、但目标用户未互动过的笔记,按 “邻居互动热度” 排序,推荐给目标用户。

适用场景:用户互动行为丰富、用户兴趣相对稳定的场景(如小红书的 “学术论文”“母婴” 等垂直领域)。

2. 基于物品的协同过滤(Item-Based CF)

核心逻辑:先计算 “物品之间的相似度”,再将与 “目标用户已喜欢的物品” 相似的其他物品推荐给用户。可以理解为:“如果喜欢笔记 X 的用户,大多也喜欢笔记 Y,那么当用户 A 喜欢 X 时,就把 Y 推荐给 A”。

实现步骤(以小红书为例):

  1. 构建物品 - 用户矩阵:横向为笔记,纵向为用户,矩阵中的值同样代表用户对笔记的互动程度(与 User-Based 相反,聚焦 “物品被哪些用户喜欢”)。
  2. 计算物品相似度:通过算法(如余弦相似度、Jaccard 相似系数)计算任意两个笔记的相似度。例如,80% 点赞 “论文选题技巧” 笔记的用户,同时也点赞了 “文献综述模板” 笔记,这两个笔记的相似度就高。
  3. 生成推荐列表:找出目标用户已互动过的所有笔记,再匹配这些笔记的 “高相似笔记”,去重后推荐给目标用户。

适用场景:物品数量相对稳定、物品相似度不易随时间变化的场景(如小红书的 “论文工具推荐”“穿搭教程” 等实用性笔记)。

二、协同过滤的关键技术细节

1. 相似度计算方法(核心指标)

不同的相似度算法适用于不同的数据场景,小红书会根据 “用户 - 笔记” 互动数据的稀疏程度(多数用户只互动少数笔记,矩阵多为 0)选择合适的方法:

相似度算法计算逻辑适用场景
余弦相似度把用户(或物品)的互动行为看作向量,计算两个向量的夹角余弦值(值越近 1 越相似)数据稀疏、互动值为 “有无”(如是否点赞)
皮尔逊相关系数计算两个用户(或物品)互动行为的线性相关程度(值越近 1 越相似)互动值有 “强弱”(如点赞 / 收藏 / 评论)
Jaccard 相似系数计算两个用户(或物品)共同互动的物品(或用户)数量,除以总互动数量的交集仅关注 “是否互动”,不关注互动强度
2. 解决 “数据稀疏” 问题(核心挑战)

小红书的 “用户 - 笔记” 矩阵极其稀疏(例如 1 亿用户 ×10 亿笔记,有效互动仅占 0.01%),直接计算相似度会导致结果不准确。常用优化方案:

  • 降维处理:用矩阵分解(如 SVD 奇异值分解、FunkSVD)将高维的 “用户 - 物品” 矩阵,分解为低维的 “用户特征矩阵” 和 “物品特征矩阵”(如将 10 亿笔记压缩为 100 个特征维度),通过低维向量计算相似度,减少稀疏性影响。
  • 引入 “隐式反馈”:除了显式互动(点赞、收藏),还纳入隐式互动(如浏览时长>3 秒、点击笔记链接、复访同一笔记),丰富数据维度,降低矩阵稀疏度。

三、协同过滤在小红书的实际应用

小红书在 “用户画像构建” 和 “推流” 中,会将协同过滤与其他算法结合,提升精准度:

  1. 冷启动阶段:新用户刚注册时,无太多互动数据,会先用 “基于物品的 CF”(利用已有笔记的相似度)推荐热门垂直领域笔记(如 “论文写作” 类高相似笔记),快速捕捉用户兴趣。
  2. 用户兴趣挖掘:对老用户,用 “基于用户的 CF” 找到同领域用户(如 “论文投稿人群”),推荐这些用户喜欢的小众笔记,挖掘潜在需求(如 “SCI 期刊选择技巧”)。
  3. 笔记推荐场景:在 “发现页” 推流时,会结合 “用户已互动笔记的相似笔记”(Item-Based CF)和 “相似用户喜欢的笔记”(User-Based CF),再叠加 NLP 提取的内容标签,进一步提升推荐精准度。

四、协同过滤的优缺点(小红书的优化方向)

优点缺点
1. 无需依赖物品内容(如笔记文字),适用于多模态内容(图文、视频);2. 能挖掘潜在兴趣(如用户没搜过但相似用户喜欢的内容);3. 算法逻辑清晰,工程落地成本低。1. “冷启动问题”:新用户 / 新笔记无互动数据,无法计算相似度;2. “热门偏向”:容易推荐热门内容,忽略小众但精准的内容;3. 无法解释推荐原因(用户不知道 “为什么推这篇笔记”)。

小红书为弥补这些缺点,会将协同过滤与内容过滤(NLP 标签匹配)、深度学习模型(如 DeepFM、Transformer) 结合,形成 “混合推荐系统”—— 例如先用协同过滤找到候选笔记,再用内容过滤(匹配 “论文写作” 标签)筛选,最终实现 “既符合兴趣,又有内容相关性” 的推流。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐