Chapter 1 你每天刷的APP都在偷偷「读」你的心:推荐系统初体验 / Chapter 1 Your Daily Apps Are Secretly Reading Your Mind: First Encounter with Recommendation Systems
周末的下午,你写完作业瘫在沙发上,本来只想刷10分钟搞笑猫视频放松一下,结果一抬头,两个小时已经过去了。你刷到的内容早就从圆滚滚的布偶猫,变成了会骑滑板车的柯基,然后是训狗教程,接着是宠物零食测评,最后居然跳到了你上周搜过的「中考体育跳绳满分技巧」——甚至连你前几天加进购物车但没付款的错题本,都悄悄出现在了短视频的购物车推荐里。
你摸了摸手机,疑惑地想:这APP难道在我手机里装了监控?怎么比我妈还知道我喜欢什么?
别慌,这不是监控,也不是什么读心术,而是你每天用的APP里,都藏着一个 invisible 的小助手——它就是推荐系统(Recommendation System),也就是我们今天要闯的第一关的核心角色。
你每天都在用的「隐形小助手」
推荐系统到底是什么?简单来说,它就是帮你从海量信息里挑出你可能感兴趣的内容的「智能筛子」。
你可能会说:我平时根本没注意过什么推荐系统啊?没错,这就是它的厉害之处——它早就藏进了你生活的方方面面,安静到你根本意识不到它的存在,却又无时无刻不在影响你的选择。
我们可以先做个对比:10年前的你,想找一部好看的科幻电影,得打开视频网站的「科幻频道」,从上到下翻几十部电影的海报,点进去看5分钟预告片,才能找到想看的;现在的你,打开视频APP首页,直接就能看到你喜欢的科幻电影推荐,甚至你昨天刚和朋友聊起想看的科幻片,今天首页就出现了它的推送。
你看,你不需要主动去找信息,信息主动来找你了——这就是推荐系统最基础的作用:帮你节省找信息的时间,同时把最可能吸引你的内容送到你面前。
不止是视频平台,你现在用的几乎所有互联网产品里都有推荐系统的影子:
- 你打开淘宝,首页的商品不是随机排列的,而是根据你之前的浏览、收藏、购买记录,推你大概率会喜欢的;
- 你打开网易云音乐,每天的「每日推荐」歌单,都是根据你最近听的歌,挑出符合你品味的歌曲;
- 你打开小红书,搜了「初三数学复习方法」,接下来刷到的笔记全是你需要的复习经验、习题推荐、老师推荐;
- 甚至你用的错题本APP,你上传了一道二次函数的错题,接下来给你推的习题全是同类型的变式题,这也是推荐系统在帮你过滤掉不需要的习题。
根据QuestMobile 2023年的中国互联网用户行为报告,国内短视频用户日均使用时长达2.5小时,其中72%的内容是推荐系统主动推送的;电商用户60%的购买商品来自首页推荐,而不是主动搜索的结果。也就是说,你每天刷到的内容、买的东西,大部分都是这个小助手帮你挑的。
推荐系统到底「读」到了你什么?
你可能会好奇:推荐系统怎么这么懂我?它真的能「读心」吗?
当然不是。推荐系统没有读心术,它只是比你更记得你自己的行为。它「读」到的信息,主要来自三类数据,每一类都藏在你平时注意不到的小细节里:
第一类:你主动告诉它的「显性数据(Explicit Data)」
这是你明明白白告诉系统的信息,比如:
- 你主动搜的关键词:你上周在B站搜了「二次函数压轴题解题技巧」,在淘宝搜了「中考跳绳」,系统直接记下了「这个用户需要二次函数复习资料、需要体育考试用品」;
- 你主动交互的内容:你给3个讲二次函数的视频点了赞,给1个训狗视频留了「太有用了」的评论,关注了5个宠物博主,系统知道你喜欢二次函数、喜欢宠物;
- 你主动填的信息:你在APP里填了自己是初三学生、所在城市是北京、喜欢打篮球,系统也知道你的基本信息。
这类数据是最直接的信号,相当于你直接告诉系统「我喜欢什么」,系统不会理解错。
第二类:你没注意到的「隐性数据(Implicit Data)」
这是你自己都没意识到,但系统悄悄记下来的行为,比如:
- 你刷到一个讲二次函数的视频,看了3秒就划走了,刷到下一个讲「二次函数3步秒解压轴题」的,你看完了还收藏了——哪怕你没给第二个视频点赞,系统也知道你更喜欢后者;
- 你刷到10个宠物视频,都停留了10秒以上,刷到1个新闻联播剪辑,看了2秒就划走了——系统就知道你喜欢宠物,对新闻不感兴趣;
- 你连续3天晚上11点都在搜中考复习资料,系统知道你正在备考期,需要更多复习内容,而不是娱乐内容。
这类数据比你自己的表态更真实:很多人嘴上说「我喜欢学习」,但其实刷到学习视频就划走,刷到宠物视频就停不下来,系统不会听你说什么,它只看你做什么。
第三类:和你一样的人的「群体数据(Group Data)」
推荐系统还会参考和你特征相似的人群的行为,来推测你可能喜欢什么。比如:
- 你搜了「二次函数压轴题」,系统发现你们学校初三有200个同学也搜过这个关键词,其中150个都看了李老师的解题课,那你大概率也会喜欢李老师的课,所以会推给你;
- 你经常买国产文具,系统发现和你一样喜欢国产文具的用户,80%都买了某款按动笔,那你大概率也会需要,所以会推给你。
我们可以用一个简单的流程图来理解推荐系统的数据来源: ```mermaid graph LR A[显性数据<br>你主动给的信息] --> D[推荐系统<br>Recommendation System] B[隐性数据<br>你没注意到的行为] --> D C[群体数据<br>和你一样的人的行为] --> D D --> E[推送给你的内容<br>Recommended Content] ```
这里有个很多人都会遇到的疑惑:我和朋友聊天说想买个蓝牙耳机,第二天打开淘宝首页就出现了耳机推荐,是不是APP偷听我聊天了?
其实大概率不是。更可能的情况是:你之前刷到过数码博主的耳机测评,停留了十几秒,你自己忘了,但系统记得;或者你的微信和淘宝有授权关联,你朋友圈里有人发过耳机的测评,系统通过社交数据推测你可能需要。当然也不排除少数APP过度收集用户数据的情况,这也是现在大家一直在讨论的问题。
推荐系统的「双面性」:是助手还是陷阱?
推荐系统不是魔法,它只是个工具,用好了能帮你,用不好也会害你。我们可以看看它的两面性:
👉 好的一面:帮你找到更广阔的世界
很多人对推荐系统的印象是「困住我的信息茧房」,但其实它也能帮你找到之前找不到的内容:
- 你喜欢冷门的民国历史,身边没有同好,你之前只能在图书馆找专业书,现在你刷到几个民国小人物的故事视频之后,系统给你推了很多同好的UP主,还有民国历史的好书推荐,你发现原来有这么多人和你一样喜欢这个领域;
- 你想找适合初三学生的航天科普内容,不用在几百个视频里翻,系统直接给你推了B站最受欢迎的航天UP主「航天爱好者协会」的入门视频,还有配套的科普书推荐,省了很多时间;
- 你想买个适合学生用的台灯,系统给你推了性价比最高的几款,还有用户真实评价,比你随便在网上搜的广告靠谱多了。
👉 坏的一面:不知不觉中影响你的选择
如果平台只想着赚更多钱,推荐系统也会变成困住你的陷阱:
- **信息茧房(Information Cocoon)**:你看了几个宠物视频,接下来全是宠物,你根本刷不到你喜欢的科普、历史内容,最后你以为全世界的人都在养猫。有个初中生本来对航天很感兴趣,但是上次搜了「怎么追星」之后,接下来半个月刷到的全是明星八卦,她本来想找航天的科普视频,翻了半天都找不到,最后干脆不刷短视频了,这就是信息茧房的坏处。
- **大数据杀熟(Big Data Price Discrimination)**:同样的商品,老用户买更贵。你和同学都用同一个外卖APP,点同一家的奶茶,你经常点奶茶所以显示12块,你同学很少点所以显示10块;同样的酒店房间,你经常订酒店所以显示500块,你朋友第一次订所以显示400块。
- **诱导过度消费**:你本来只是想搜「中考体育穿什么鞋」,结果刷到的全是上千元的专业跑鞋广告,你越看越心动,最后忍不住用压岁钱买了一双,其实普通的运动鞋完全够用,这就是推荐系统的过度营销。
> 📌 核心术语卡1:推荐系统(Recommendation System) > 定义:一种信息过滤工具,通过分析你的行为数据,从海量信息中筛选出你可能感兴趣的内容,推送给你。 > 英文:Recommendation System,简称 RecSys > 例子:你刷抖音、淘宝、网易云音乐时看到的内容,大部分都是推荐系统帮你挑好的。 > 小知识:最早的推荐系统是2000年亚马逊上线的「购买此商品的用户也买了」,现在已经进化到能根据你的浏览时长、甚至你打字的速度来判断你的喜好了。 > > 📌 核心术语卡2:信息茧房(Information Cocoon) > 定义:推荐系统给你推的内容越来越符合你的既有喜好,把你困在一个只有你喜欢的内容的信息圈子里,看不到其他不同的观点和信息。 > 英文:Information Cocoon > 例子:你看了几个宠物视频,接下来全是宠物视频,再也刷不到科普、历史内容,这就是进了信息茧房。 > 破茧方法:主动搜索你感兴趣但很少看到的内容,点「不感兴趣」减少重复内容的推送。 > > 📌 核心术语卡3:大数据杀熟(Big Data Price Discrimination) > 定义:同样的商品或服务,平台根据用户的消费习惯、使用频率等数据,给老用户报更高的价格。 > 例子:同样的奶茶,你经常点所以显示12元,你朋友很少点所以显示10元,这就是大数据杀熟。 > 避坑方法:多平台对比价格,或者用新账号测试价格。
推荐系统的「前世今生」:从书店老板到AI助手
推荐系统不是互联网时代才有的东西,它的
推荐系统不是互联网时代才有的东西,它的原型其实早就藏在你生活的烟火气里。
你家楼下的书店老板,你上次去买《三体》,他没给你推热门的言情小说,而是递了一本《球状闪电》说:“上次和你一样买《三体》的那个初中小朋友,看完之后也说特别好看”——这就是最原始的<term id="cf">协同过滤(Collaborative Filtering)</term>;学校图书馆的管理员,你上次借了《明朝那些事儿》,这次去借书,她直接给你拿了本《万历十五年》,说“你喜欢看历史类的通俗读物,这本和你之前借的风格差不多”——这就是最原始的<term id="cb">基于内容的推荐(Content-Based Filtering)</term>;你常去的牛肉面馆老板,你每次去都给你多放一勺辣子,还会提醒你“今天新到了卤蛋,你上次说喜欢吃,给你留了一个”——这就是基于你过往行为的个性化推荐。
你看,推荐系统的核心逻辑从来不是互联网时代才发明的,只是以前这些“推荐人”都是真人,靠记忆和经验来做,效率低,覆盖的人少;而现在的推荐系统,就是把这些真人推荐人的经验,变成了代码和算法,能同时给几亿个用户做“量身定制”的推荐。
---
推荐系统的“成长史”:从书店老板到AI算法管家
如果把推荐系统的发展拍成电影,剧情其实特别有意思,主角从一个小书店的兼职推荐员,慢慢变成了能同时服务几十亿用户的超级管家。
第一幕:互联网早期的“笨推荐”(1990s-2000s)
在互联网刚普及的年代,根本没有个性化的推荐系统。你想找内容,只能靠搜索,或者去固定的频道翻。比如2000年之前,你打开搜狐(Sohu)或者新浪(Sina),首页的内容是所有人都一样的,今天首页的头条新闻是神舟五号发射,所有人都能看到,不会因为你喜欢航天就给你多推几条相关内容。
这时候第一个吃螃蟹的互联网公司是亚马逊(Amazon)。1998年,亚马逊还是一个只卖书的电商网站,用户找书特别麻烦,很多人买了书之后就走了,复购率很低。亚马逊的工程师想了一个办法:在商品详情页下面加一行“购买此商品的用户也买了(Customers Who Bought This Item Also Bought)”,这个功能就是最早的<term id="cf">协同过滤(Collaborative Filtering)</term>的原型。
这个功能一上线,亚马逊的销售额直接涨了30%——你买了《三体》,系统发现买《三体》的人里有70%也买了《球状闪电》,就直接把《球状闪电》推给你,比你随便翻书单找书快多了。这个逻辑放到现在就是淘宝的“猜你喜欢”、网易云音乐的“相似用户推荐”,本质上和20多年前亚马逊的那个小按钮没有任何区别。
> 📌 核心术语卡4:协同过滤(Collaborative Filtering) > 定义:推荐系统的一种基础逻辑,通过分析和你口味相似的用户的行为,推测你可能喜欢的内容,给你做推荐。 > 英文:Collaborative Filtering,简称 CF > 例子:淘宝的“购买此商品的用户也买了”,网易云音乐的“相似用户推荐”,都是协同过滤的应用。 > 小知识:亚马逊最早用的协同过滤是“基于物品的协同过滤”,也就是先找和你买过的物品相似的物品,再推给你,比“基于用户的协同过滤”效率高得多——因为物品的数量比用户少得多,计算起来更快,就像你找和《三体》相似的书,比找和你口味相似的1000个用户要简单得多。
第二幕:算法竞赛时代(2000s-2010s)
亚马逊开了个好头之后,各大互联网公司都开始做推荐系统了。2006年,流媒体巨头Netflix搞了一个轰动全球的算法竞赛:悬赏100万美元,谁能把Netflix的推荐算法准确率提升10%,谁就拿走奖金。
这个竞赛吸引了来自全球的几万个团队参赛,大家用各种奇奇怪怪的算法来优化推荐,最后还真有人做到了,Netflix也花了1000万美元买下了获奖算法的使用权。这个竞赛直接把推荐系统的研究推到了高潮,原来推荐系统真的能帮公司赚大钱——Netflix后来估计,他们的推荐系统每年能帮公司省下10亿美元的内容采购成本,因为推荐精准,用户不会
这个竞赛吸引了来自全球的几万个团队参赛,大家用各种奇奇怪怪的算法来优化推荐,最后还真有人做到了,Netflix也花了1000万美元买下了获奖算法的使用权。这个竞赛直接把推荐系统的研究推到了高潮,原来推荐系统真的能帮公司赚大钱——Netflix后来估计,他们的推荐系统每年能帮公司省下10亿美元的内容采购成本,因为推荐精准,用户不会因为找不到想看的剧就取消会员,续费率直接涨了20%。
Netflix竞赛之后,推荐系统从电商、流媒体领域,慢慢扩散到了所有互联网产品里。2010年智能手机普及,移动互联网时代到来,大家刷手机的时间越来越长,推荐系统也迎来了真正的爆发:以前PC端的推荐只能在你主动搜的时候给你结果,现在你只要打开APP滑一滑,推荐内容就像流水一样给你推过来,根本不需要你主动找。
2016年上线的抖音,就是移动互联网时代推荐系统的代表作。当时很多人觉得“短视频有什么好看的?刷10分钟就腻了”,结果抖音凭借比行业平均水平准30%的推荐算法,上线2年用户量就破了5亿,现在国内有超过7亿人每天刷抖音,其中60%以上的内容都是推荐系统主动推送的。你有没有过这种经历:本来只想刷5分钟抖音放松一下,结果一抬头,半小时过去了,你刷到的内容从猫视频慢慢变成了你上周搜过的中考复习资料,连你自己都没意识到自己什么时候搜过,但推荐系统记得清清楚楚。
有个杭州的初三学生就和我分享过他的经历:他平时喜欢航天科普,之前只在B站搜相关内容,后来刷到抖音的物理实验视频,顺手点了几个赞,接下来半个月刷到的全是初中物理竞赛的实验视频,还有配套的习题讲解,甚至还有他之前搜过的“嫦娥六号发射”的相关解读。他说“比我自己在B站翻10个UP主的视频找资料快10倍,最后我物理竞赛拿了省一等奖,一半的功劳是推荐系统的”。
这就是移动互联网时代推荐系统的厉害之处:它不再只是帮你找已经存在的内容,还能帮你挖掘你之前没发现的兴趣。
推荐系统是怎么“猜”中你喜好的?4步搞定!
你可能会问:推荐系统到底是怎么做到这么准的?它背后的工作流程其实和你家楼下生意最好的面馆老板的逻辑差不多,我们可以把整个流程拆成4步,每一步你都能懂:
第一步:记下你的所有喜好(数据收集)
面馆老板会记住你上次吃了辣油拌面,多放了醋,少放了香菜,这就是他在收集你的口味数据;推荐系统也是一样,它会收集你所有的行为数据:你搜了什么、看了什么、点赞了什么、停留了多久、划走的速度有多快,甚至你打字的时候有没有删过重打,这些数据都是它的“食材”。
这里有个很多人会忽略的细节:你划走视频的速度,比你点赞的信号更重要。比如你刷到一个讲二次函数的视频,看了5秒就划走了,刷到下一个讲“二次函数3步秒解压轴题”的,你看完了还收藏了——哪怕你没给第二个视频点赞,系统也知道你更喜欢后者。因为研究表明,用户看完一个视频的概率只有15%,而看完并收藏的概率只有3%,收藏的信号比点赞强10倍。
第二步:从海量内容里挑出你可能喜欢的(召回)
面馆老板不会把你上次吃的面和这次你想吃的菜混在一起,他会先挑出你可能想吃的食材:比如你上次吃了辣面,他先从库存里挑出所有辣的、酸的食材,排除掉甜的、咸的食材。推荐系统也是一样,整个平台有几百万个视频、几千万个商品,它不会把所有内容都给你算一遍,那样太慢了,它会先从海量内容里挑出100-1000个你可能感兴趣的,这个步骤就叫<term id="tc">召回(Recall)</term>。
比如你搜了“中考体育跳绳”,系统会先从所有内容里挑出所有和跳绳、中考体育、体育考试相关的内容,排除掉美食、娱乐、明星八卦的内容,先把这些可能相关的挑出来。召回的算法非常快,一般只需要几十毫秒,相当于你眨一次眼的时间,就能从几百万个内容里挑出1000个可能相关的。
第三步:给挑出来的内容打分排序(排序)
挑完食材之后,面馆老板会根据你的口味调整顺序:你上次吃了辣面,这次就把最辣的放在最前面,你上次加了醋,就把酸口的放在前面。推荐系统的排序步骤也是一样,它会给刚才召回的1000个内容挨个打分,看哪个最符合你的喜好,排在最前面。
打分的时候用的就是加权求和的逻辑,我们可以用一个非常简单的公式来表示: $$Score = w_1 \times x_1 + w_2 \times x_2 + w_3 \times x_3 + \dots + w_n \times x_n$$ 这里的$w$是每个特征的权重,代表这个特征对你来说有多重要,$x$是每个特征的得分,代表这个内容符合这个特征的程度。比如你最近的行为是:搜了“中考体育跳绳”(权重$w_1=10$分),看了3个宠物视频(每个权重$w_2=1$分),收藏了1个二次函数视频(权重$w_3=5$分),那:
- 一个跳绳教学视频的得分是:$10 \times 1 + 1 \times 0 + 5 \times 0 = 10$分
- 一个二次函数压轴题视频的得分是:$10 \times 0 + 1 \times 0 + 5 \times 1 = 5$分
- 一个宠物视频的得分是:$10 \times 0 + 1 \times 1 + 5 \times 0 = 1$分
所以跳绳视频会排在第一个,二次函数排在第二个,宠物视频排在后面,这就是排序的逻辑。
第四步:最后调整,避免你看到重复内容(重排)
菜做好之后,