news 2026/7/28 21:43:20

推荐系统:从协同过滤到深度学习,用户只是想要点新鲜的

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
推荐系统:从协同过滤到深度学习,用户只是想要点新鲜的

我手机上装过一个新闻App,用了三个月之后,推荐给我的内容就只剩下三样东西:俄乌冲突的最新进展、某科技公司又出了什么新车、以及一位钓鱼博主每天钓了几条鲫鱼。最初是我自己选的,确实点过几次。但当我看了两个月一模一样的新闻框架之后,我终于卸载了它。不是它推荐得不精准,是它太精准了,精准到把我关进了一个信息茧房,连一扇窗户都不给我留。

推荐系统这些年卷得不成样子。模型从协同过滤卷到深度学习,从双塔卷到Transformer,多目标排序、强化学习、图神经网络轮番上阵。学术界刷着MovieLens和Amazon Reviews的榜单,工业界的工程师们在A/B测试里为了千分之一的CTR提升熬夜上线。但有一个根本问题,很多系统做到最后都忘了:用户到底想要什么?

用户想要的不是精准,是惊喜。精准是手段,惊喜才是目的。

一、协同过滤的落日余晖

ItemCF和UserCF,这两个算法大概是推荐系统历史上最伟大的发明。简单,可解释,冷启动也不算太差。你买了这本《深度学习》,系统告诉你买这本书的人也买了那本《模式识别》,你一看,确实需要,下单。皆大欢喜。

但协同过滤有一个天花板:它只能推荐流行的东西。ItemCF的共现矩阵天然偏向热门物品,冷门但高质量的内容永远沉在矩阵底部。你用了一个协同过滤主导的推荐系统之后,会发现自己越来越被推向大众审美的中心。你看的电影是豆瓣Top250,你买的书是当当畅销榜,你听的音乐是抖音神曲。你被困在了流行度构成的舒适区里,不是因为你不喜欢冷门的好东西,是因为算法不知道那些好东西的存在,或者即使知道,也因为交互数据太少而不敢推荐给你。

我做过一个图书推荐的项目,一开始全量上ItemCF,点击率涨了百分之十五,看上去很美。但仔细看数据,推荐出去的百分之八十都是各种畅销书和经典名著,小众学术书和冷门小说的曝光量反而下降了。长尾图书的销量本来就不高,推荐不给流量,卖得更差,数据更稀疏,以后就更不可能被推荐。这是一个死亡螺旋。后来我们强行在排序层加了一个长尾提权因子,用逆用户频率对候选集做了重排序,把冷门但主题高度相关的书拉到前排。点击率微跌了一点,但长尾图书的整体销量涨了百分之三十,用户收藏夹的多样性也大幅提升。这个改动在技术上毫无难度,难的是说服产品经理接受“短期点击率下降”这件事。

二、深度学习进来之后,发生了什么

深度学习给推荐系统带来的最大改变,不是精度,是特征交互的自动化。以前做特征工程,交叉特征要手动构造,用户年龄和商品价格的交叉,用户性别和品类的交叉,排列组合起来没完没了。DeepFM、DCN、xDeepFM这些模型,本质上是把特征交叉这件事交给了神经网络自动完成。

但这带来一个新的问题:模型变成了一个你越来越看不懂的黑盒。排序分为什么涨了?不知道,大概是第几个隐层里的哪几个神经元被激活了。为什么这个商品没被推荐?更不知道,模型的输出就是一个分数,没有解释。业务方问你,为什么用户A看到了这个推荐?你只能耸肩。这对需要强解释的场景是灾难。金融产品的推荐、医疗信息的推荐、教育内容的推荐,推荐理由有时候比推荐结果本身还重要。你得告诉用户“因为你之前学习过微积分,所以我们推荐线性代数”,用户才会信任你。深度学习模型堆得再深,也很难优雅地生成这种推荐理由。

我的折中方案是,把推荐系统拆成召回和排序两个阶段。召回层尽量用多路策略,协同过滤一路,内容标签一路,实时兴趣一路,热门和冷启动各一路。每一路召回都有自己的业务逻辑和可解释性。排序层可以上深度学习,但它只负责给各路召回的结果排个先后顺序,最终的推荐理由从触发的那一路召回逻辑里生成。这样既用上了深度学习的排序能力,又保留了可解释性。虽然粗糙,但至少当用户问“为什么推这个”的时候,你能说出个一二三。

三、实时性和“下一刻”的问题

推荐系统有一个非常微妙的时效性问题:用户的兴趣在下一刻可能就变了。他刚买了一台打印机,你紧接着推荐墨盒,这叫贴心。他买了打印机三个月之后你还在推荐墨盒,这叫烦人。他买了一台手机,你推荐手机壳,结果他下一秒就退出了App,你的推荐在他下次打开App的时候才出现,这时候他可能已经在别的平台买完了。

真正的实时推荐,不是在离线训练一个模型然后每天更新一次,而是要在用户行为的下一秒就做出反应。这要求你的特征计算、模型推理、排序下发,全链路延迟在毫秒级。技术栈要上Flink做实时特征,Redis做特征存储,模型要能在线增量更新。工程成本极高,不是大厂很难吃得消。

但中小公司也有取巧的办法。把“实时性”拆成两个层面:短期兴趣的捕捉和长期偏好的建模。长期偏好用离线模型,每天更新一次,搞定用户的基本盘。短期兴趣用规则引擎,用户刚刚搜索了“机械键盘”,接下来的三十分钟内,不管他刷到什么页面,硬塞几个机械键盘的推荐进去。这个规则粗暴,但有效,成本几乎为零。很多看起来很智能的实时推荐,底层就是这么一堆规则的集合,加上一点基于会话的协同过滤。创业公司别一上来就想搞工业级实时推荐系统,先用规则把用户体验兜住,把数据积累起来,等体量到了再升级。

四、推荐系统的道德困境

推荐系统是注意力经济时代最强大的工具之一。你可以用它来提升用户满意度,也可以用它来最大化广告收入。这中间的张力,每个做推荐的人都要面对。

一个视频平台,推荐策略是“最大化观看时长”。算法发现,争议性越强、情绪越极端的内容,观看时长越长。于是推荐系统不断给用户推送能激发愤怒和焦虑的内容。用户确实看更久了,但看完之后身心俱疲。平台指标好看,用户福祉在受损。这个矛盾不是技术问题,但最终是通过技术手段来实现的,做推荐的工程师就在这个漩涡的中心。

我在做内容推荐的时候,内部定过一个不成文的规矩:不做纯粹的情绪驱动推荐。如果一个内容被大量用户标注为“引起不适”或者“过度煽情”,即使它的点击率高,也要在排序时降权。这个规矩不是算法推导出来的,是产品和算法团队坐在一起讨论出来的价值观。推荐系统从来不是价值中立的。你设计的每一个目标函数、每一个特征权重、每一条召回策略,都在定义平台认为什么是“好的内容”。这个权力太大,大到你必须主动意识到它的存在,并承担责任。

五、用户要的到底是什么

回到开头那个被我卸载的新闻App。它的问题不是推荐技术不好,是对“用户需求”的理解太狭窄。它把我当成了一个只对三个主题感兴趣的静态实体,而忘了我是一个会变化、会厌倦、偶尔想随便看看别的东西的活人。

推荐系统里有一个概念叫“探索与利用的平衡”,Explore & Exploit。利用就是推你确定用户喜欢的东西,探索就是推一些可能喜欢但不确定的东西。大多数系统的探索比例都极低,因为利用的短期收益太明显了。但长期来看,没有探索的系统必然走向信息茧房,用户会在某个厌倦的峰值点离开。这个离开通常是沉默的、不可逆的。你看到他卸载的那一天,其实他已经忍受了好几个月的单调推荐。

我后来自己做推荐策略的时候,坚持在排序层留出一个固定的随机探索流量,百分之五到百分之十。这批流量不参与任何精准排序,纯粹随机从候选池里抽取,但要保证内容质量和安全底线。这百分之十的流量,长期来看贡献了平台上几乎全部的新兴趣发现。很多用户的第一次跨品类购买,第一次进入一个新的话题圈,第一关注一个之前从未接触过的创作者,都来自这个随机的窗口。百分之十的流量损失,换来的是整个生态的新鲜血液。这个账,从纯粹的短期CTR上算不过去,但从用户生命周期的角度算,绝对划算。

推荐系统的终极目标,不是让用户点那个按钮,而是让用户在点完之后觉得:嗯,这个我没见过,但我确实喜欢。你能给用户的最好的推荐,是那个他自己都不知道自己会喜欢的东西。这需要算法,需要工程,但更需要你对“人”本身的理解和敬畏。那些只知道往模型里堆层数的人,永远做不出让人眼前一亮的推荐。真正好的推荐系统,藏在每一行代码背后的,是设计者对用户好奇心和生活多样性的尊重。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 21:42:40

AI Agent性能衰减原因与Anthropic评估指南解析

1. 为什么你的AI Agent总被吐槽"变蠢"?最近在开发者社区里,经常看到这样的吐槽:"我的AI Agent刚上线时表现很好,怎么用着用着就变蠢了?"作为从业者,我深有体会。上周就遇到一个案例&am…

作者头像 李华
网站建设 2026/7/28 21:39:28

【Springboot毕设全套源码+文档】基于SpringBoot和Vue的新能源汽车租赁管理系统的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/7/28 21:37:53

Go开发者突破瓶颈:从熟练到精通的进阶路线

1. 三年Go开发者如何突破瓶颈期我清晰地记得三年前刚接触Go语言时那种兴奋感——简洁的语法、高效的并发模型、出色的性能表现,这些都让我迅速爱上了这门语言。如今三年过去,已经能熟练完成日常业务开发,但最近明显感觉到进步速度放缓&#x…

作者头像 李华
网站建设 2026/7/28 21:36:53

CKEDITOR处理Word图文混排的挑战与解决方案

1. 互联网平台中CKEDITOR处理Word图文混排的核心挑战在内容管理系统和在线文档编辑场景中,CKEDITOR作为老牌富文本编辑器,处理Word文档导入时总会遇到"水土不服"的情况。最近在开发教育行业的在线题库系统时,我们需要处理大量包含公…

作者头像 李华
网站建设 2026/7/28 21:28:15

Dify实战指南:从零构建企业级智能知识库问答系统

最近在尝试将大模型能力集成到业务系统时,你是否也遇到了这样的困境:想快速搭建一个智能客服或文档分析应用,却卡在模型调用、上下文管理、知识库构建和流程编排这些繁琐的环节上?每个环节都需要大量开发工作,技术栈复杂,调试成本高,最终项目难以快速落地。 Dify 的出现…

作者头像 李华
网站建设 2026/7/28 21:28:14

3.6亿文献库助力学术研究与知识检索 打造海量专业文献资源支撑平台

搞科研的大家!找英文文献依然是科研路上最头疼的一道坎儿吧? 尤其是现在AI工具层出不穷,老工具也在不断升级,选对平台能省下大把时间。今天我给大家盘点8个好用的英文文献检索网站,涵盖传统权威平台 新一代AI智能工具…

作者头像 李华