前言
2020年,天猫“双11”总成交额达到4982亿元,比2019年的2684亿元(数据来自东方财富网)高出约86%。其背后的技术便是今天应用广泛的推荐算法,推荐算法具有非常大的转折意义。除了天猫、淘宝这样的电商平台,今日头条和百度也依靠信息流与推荐系统开创了内容分发的新格局。据统计,在亚马逊这样的电商平台中,推荐系统对用户购买的贡献率在30%以上,而在今日头条这样的信息流平台中,推荐系统对用户点击率的贡献率在50%以上(数据来自36氪网站)。推荐时代,实实在在地到来了。
回溯推荐系统的发展历史,1994年,美国明尼苏达大学研究组推出第一个自动化推荐系统GroupLens,提出将协同过滤作为推荐系统的重要技术。如果以此作为推荐系统领域的开端,那么推荐系统距今已有28年历史。在这28年中,推荐系统的技术发展日新月异。2016年被称为“人工智能元年”,近年来推荐系统技术也正式步入了深度学习时代。2016 年后,谷歌、微软、百度、阿里巴巴等公司相继发表了将深度学习应用于推荐系统的论文,深度学习理论逐渐在推荐系统场景落地。2020 年以来,腾讯、YouTube、快手等公司成功地在推荐、广告等业务场景中应用强化学习模型,推荐系统进入蓬勃发展、百花齐放的新时代。
在这个技术日新月异、模型结构快速演变的时代,我们有必要系统地梳理推荐系统的知识结构,帮助读者构建推荐系统的技术框架。如果关注模型结构本身,读者会发现在2016年谷歌发表论文“Wide & Deep Learning for Recommender Systems”后,一大批相关的模型陆续出现,如PNN、FNN、DeepFM、AFM、NFM和DCN等。这些模型都致力于解决一个问题——通过提升模型的非线性拟合能力来优化特征的自动组合。在工业界,以阿里巴巴为例,它先后提出了MLR、DIN、DIEN、DSIN、MIMN、SIM和CAN等模型。这些模型主要包含两条技术路线,一条是提升特征交叉能力,另一条就是以实际业务为背景,充分利用用户的行为数据,更精准地刻画用户兴趣。本书希望帮助读者厘清这些模型结构内在的联系,构建推荐系统的技术框架。
本书介绍大型工业级推荐系统的多链路结构,因此会在推荐排序模型中引入粗排和精排的相关内容。粗排和精排在很多讲解推荐系统的图书中是被忽略的,但是站在推荐系统从业者的角度,它们是推荐系统不可或缺的部分,甚至能为360导航信息流推荐这样的业务带来10%以上的收入增量。
1 写作背景
写作本书的动机,一是我一直有系统整理推荐系统相关知识的愿望,二是人民邮电出版社编辑的邀请。在这之前,我有在知乎平台总结平时工作内容的习惯,这段经历让我体会到,认真总结技术内容不仅可以提升自己的能力,也能让更多读者受益。目前,我已在推荐系统领域工作了超过5年,也承担过推荐系统中召回和排序等各方面的工作。因此,我选择了推荐系统技术原理与实践这个主题,以期把自己平时的实践经验分享给感兴趣的同行。
2 本书结构
本书重点介绍推荐系统的模型应用和实践经验,在介绍推荐系统每个模块涉及的具体技术的同时,力图介绍清楚技术发展的主要脉络和前因后果。
由于机器学习和深度学习算法在推荐系统模型中占据绝对核心的地位,无论是召回、粗排,还是精排、重排,都离不开机器学习和深度学习模型的应用,因此本书第2章着重介绍机器学习和深度学习的基础知识。之后的章节会依次介绍召回、粗排、精排、重排的技术细节和实践经验,并通过业界前沿的推荐系统实例将所有知识融会贯通。本书的内容主要分为以下8章。
第1章 推荐系统简介
本章首先介绍推荐系统的基础知识及其在互联网信息流中的作用和意义,然后介绍推荐系统的主要技术架构,使读者对推荐系统有宏观的认识,从而引出本书要讲的主要内容——推荐系统的4层级联架构。
第2章 推荐系统算法基础
本章主要介绍推荐算法的基础知识,以机器学习中应用极广的逻辑斯谛回归模型和深度学习中极简单的MLP模型为例,介绍模型的优化算法。
第3章 召回技术演进
本章首先介绍传统个性化召回和模型化召回的历史,然后介绍业界主流召回算法的发展过程和技术细节,主要包括微软、YouTube和阿里巴巴等大型互联网公司的召回技术实践。
第4章 粗排技术演进
本章主要介绍粗排技术体系与新进展,包括深度学习在粗排中的应用,并以阿里巴巴的粗排模型COLD为例,介绍业界前沿的粗排技术。
第5章 精排技术演进
如果说召回和粗排是推荐系统的重要部分,那么精排就是整个推荐系统最重要的部分。本章详细介绍精排模型的技术细节和实践经验,并从特征自动组合和用户兴趣表达两个角度介绍精排模型的演进。
第6章 重排技术演进
重排是推荐模型的最后一个模块,本章介绍重排算法的技术细节,并以阿里巴巴的PRN重排模型为例,介绍重排算法的实践经验。
第7章 多目标排序在推荐系统中的应用
随着业务的发展,互联网公司不再只追求单一的目标,而是要同时考虑多个业务指标。比如在新闻推荐场景中,不仅要考虑点击率(CTR),还要考虑分享、点赞、评论、转发、收藏等指标,而前面的精排模型更多地关注CTR预估这一单一目标。本章将重点介绍多目标排序在推荐系统中的应用,主要分享业界前沿的实践经验,并以360实践为例,介绍多目标排序的具体应用。
第8章 推荐系统的前沿实践
本章从公平性、冷启动等多角度审视推荐系统,介绍推荐系统的前沿实践,覆盖推荐系统的公平性问题、多场景融合、冷启动问题等内容。
3 面向读者
本书的目标读者可以分为以下3类。
第一类是推荐、广告、搜索等领域的开发人员。本书能够帮助他们深入学习推荐系统的完整技术结构,并应用于业务工作中。
第二类是有一定机器学习基础,希望进入推荐系统领域的初学者。本书能够帮助他们了解推荐系统的技术原理以及大型互联网公司的业务实践。
第三类是高校计算机相关专业学生。本书能够帮助他们学习机器学习和深度学习的基础知识,从零开始了解推荐系统的知识体系。