协同过滤
概述
协同过滤(Collaborative Filtering, CF)是一种信息过滤方法,通过收集和分析用户群体对文档或物品的主观评价与行为数据,利用群体智慧帮助个体从海量信息中筛选出有价值的内容。
关键内容
-
核心定义:协同过滤的含义是"人们通过记录自己对所阅读文档的反应,来协作地帮助彼此进行信息过滤"。这一术语由 Douglas Terry 在开发 Tapestry 系统 过程中首次创造并发表于 1992 年 CACM 论文。
-
手动协同过滤 vs 自动协同过滤:
- 手动 CF(Tapestry, 1992):用户需要知道并主动选择信任特定的人,自行编写查询规则(如 TQL)。适用于小型熟人社区。
-
自动 CF(GroupLens, 1994 及以后):系统自动计算用户间相似度,发现品味相近的陌生人并生成推荐。可扩展到大规模用户群。
-
核心机制:
- 显式反馈:用户主动点击"Like It!"/"Hate It!"、评分、撰写评论
- 隐式反馈:通过点击、购买、浏览时长等行为推断偏好
-
与基于内容过滤的区别:基于内容的过滤 关注"文档是什么"(关键词、主题、元数据),协同过滤关注"别人怎么评价"。两者互补,现代推荐系统通常将二者融合为 混合推荐系统。
-
关键挑战:
- 冷启动问题:新用户无历史数据、新物品无评价时无法推荐
- 标注稀疏性:绝大多数文档/物品缺乏用户评价
- 规模限制:手动 CF 仅适用于小型社区
-
历史影响:从 Tapestry 的"推荐卡片"到 Amazon 的"购买了的人还买了",再到 Netflix、YouTube、TikTok 的推荐引擎,协同过滤的核心思想——利用群体智慧帮助个体做出选择——一脉相承,支撑起价值数千亿美元的推荐系统产业。
来源
- Tapestry 系统 — Goldberg et al. (1992), "Using Collaborative Filtering to Weave an Information Tapestry", CACM 35(12), 61-70
- raw/books/推荐系统/02-grouplens-collaborative-filtering.md — GroupLens 自动化协同过滤详解