前言

为什么要写这本书

推荐系统是以互联网平台经济的高速发展为契机,迎合大规模数字化智能运营的强烈诉求应运而生的。一个高效、成熟的推荐系统能为公司的业务增长带来锦上添花的效果。从事推荐算法工作后,我越发感受到,推荐系统的优化迭代过程好比培育盆栽,业务土壤是根本,系统问题不存在一劳永逸的解法,需要适时、合理地施肥和修剪。正因为这个特质,我渐渐察觉到两个正在不断扩大的鸿沟。

第一个鸿沟是学术界和工业界探索方向的分化。在计算机科学的一些领域中,学科的前沿研究往往是从工业界的实际问题中抽象剥离出来的,其研究成果也会逐步沉淀、落地并反哺工业应用。真实业务中的推荐问题不是一个静态问题。在当前学术界中,推荐问题被剥离了“用户与系统持续交互”的动态属性,从而抽象为简单的“用户—内容”匹配问题。造成这一现状的原因有二:其一,工业界推荐算法从业者因繁重的业务压力而无暇在科研上投入大量精力;其二,商业数据因其商业价值和安全隐私问题,向学术界开源往往困难重重。科研人员得不到真实的数据,不理解业务问题,不得不在架空的问题上持续研究,慢慢就到了瓶颈期。

第二个鸿沟是推荐业务中不同角色之间的沟通障碍。随着人工智能技术与推荐系统的结合日渐密切,产品、运营人员越来越搞不清楚他们的技术同事每天在做些什么。当运营人员讨论盘货逻辑、投放策略的时候,算法工程师却回馈以模型结构、优化目标。以营销经验和机器学习为背景的两种思维模式,在业务目标的实现路径上常常无法达成一致,进而演化成疲于沟通、各自为政、相互掣肘。

无论业界还是学界,或是运营、研发双方,都不能闭门造车。市面上的大多数资料仅从技术角度出发,大量罗列推荐算法,既无法帮助读者理解推荐系统的全貌,也无法帮读者寻求业务问题的解决方案。

或许有些狂妄,但我希望能凭借此书,从业务视角出发,重新审视推荐系统领域多年沉淀下来的方法论。我希望能尽可能深入浅出地剖析推荐系统设计背后的业务逻辑,帮助业务方更好地理解算法的边界,进而更好地使用这个工具;帮助算法工程师摆脱“拿着锤子找钉子”的尴尬状态;帮助学术界理解推荐系统结合智能营销、精细化运营时所面临的真实问题,寻找产学研结合的合理方向。

读者对象

从事推荐系统相关工作和学术研究的读者都可以阅读这本书,具体包括:

在企业中从事推荐系统算法研发、优化的从业者;

在企业中从事推荐系统引擎开发、维护的从业者;

在企业中与推荐算法和工程开发相关的人员对接的运营人员和产品设计人员;

对推荐系统感兴趣的在校学生;

从事推荐算法研究的科研工作者。

本书特色

市面上绝大多数的推荐系统相关图书都以推荐算法和模型为主,容易让人产生理解了推荐算法的演化历史就理解了推荐系统,以及优化推荐算法一定可以提升业务指标的错觉。与这些图书不同,本书并不以推荐算法为核心,而是从业务诉求的视角出发,为读者描绘当下主流推荐系统的设计思想和架构全貌。本书针对推荐系统架构中的核心组件逐个剖析其业务价值,用实际的案例帮助读者理解方案选型背后的思考。

此外,本书在介绍基于机器学习、深度学习的推荐算法时,重“为什么”而轻“怎么做”,这也是本书与其他同类书的不同之处。推荐算法相关的研究文献浩如烟海,理解算法选型的根因比知道有哪些算法更重要。本书重点突出系统中的每个模块所需要解决的问题,会详细介绍一到两种经实践检验普遍有效的、在学术界具备里程碑性质的算法,帮助读者练成识别算法的“火眼金睛”,从每年大量产出的新算法研究中取其精华,去其糟粕,真正解决实际问题。

如何阅读本书

本书内容分为四部分。

第一部分(第1~3章):业务驱动下的推荐系统总览。从宏观角度介绍推荐系统架构设计、评估方法以及背后的业务思考。

第二部分(第4~7章):推荐系统的数据工程。数据是推荐系统的根本,如何获取各类正确的数据并构建合理的特征体系是这一部分的主要内容。

第三部分(第8~10章):推荐系统的算法原理与实践。主要介绍推荐系统的核心算法模块以及相关代表性算法。

第四部分(第11章):推荐算法工程师的自我成长。主要介绍推荐算法工程师的成长路径。

计算机专业及有人工智能算法研究背景的读者,阅读本书的难度不大;缺少人工智能、机器学习算法相关内容预备知识的读者,在阅读第三部分时可能会遇到困难,建议学习机器学习相关内容后再阅读本书;无专业背景的推荐业务相关的运营人员和产品设计人员,可以仅阅读每章关于业务价值和问题建模的部分,以便于理解研发人员的思维模式。

勘误和支持

由于作者的水平有限,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果你有更多的宝贵意见,欢迎发送邮件至fc731097343@gmail.com。期待能够得到你们的真挚反馈。

致谢

首先要感谢David Goldberg、David Nichols、Brian M.Oki和Douglas Terry。他们首次定义了基于协同过滤的推荐系统架构,我们作为后辈才有了新的研发方向。

其次,感谢我的导师——浙江大学的蔡登教授和何晓飞教授。作为我的学术领路人,他们在我五年的博士生涯中,塑造了我的科研思维模式。

再次,感谢美国南加州大学的任翔教授,他帮助我拓宽了眼界、学习新的研究方法,令我获益匪浅。

从次,感谢阿里巴巴,作为我职业生涯的第一个平台,它对于我的成长给予了充分的资源和空间。不仅培养了我“技术+商业”为导向的思维模式,还让我有机会从团队负责人的角度,对团队技术路线进行宏观规划,在实践中探索“技术目标和商业利益”的平衡。

最后,感谢我的妻子,她为我的写作提供了巨大的帮助,如果没有她的支持,就不会有这本书。

谨以此书献给我挚爱的妻子,以及机器学习、人工智能、推荐系统领域的众多产、学、研同路人。