内容简介
作者简介
刘强
硕士学历,09年毕业于中国科学技术大学数学系。有12年大数据与推荐系统实践经验,精通企业级推荐系统的构建。从零到一打造过千万级DAU视频APP的推荐系统,推荐系统产生的流量占全APP流量的30%。
创建了“数据与智能”社区包括同名的微信公众号、视频号、知乎、B站等自媒体平台号,聚焦于数据分析、大数据、推荐系统、机器学习、人工智能等领域的知识分享与传播。
在过去的3年内为多家中小型互联网公司流媒体、在线教育、跨境电商等提供技术咨询,帮助他们从零到一构建推荐系统。
本书目录
前 言第一篇 推荐系统基础认知
第1章 推荐系统介绍2
1.1 推荐系统产生的背景2
1.2 推荐系统解决什么问题3
1.3 推荐系统的应用领域3
1.4 推荐系统的定义4
1.5 常用的推荐算法5
基于内容的推荐5
协同过滤5
基于模型的推荐6
基于社交关系的推荐6
1.6 构建推荐系统的阻碍与挑战6
1.7 推荐系统的价值7
1.8 本章小结8
第二篇 推荐系统基础算法
第2章 推荐算法基础10
2.1 推荐系统范式10
2.2 推荐算法3阶段pipeline架构14
2.3 推荐召回算法15
完全非个性化范式15
完全个性化范式15
群组个性化范式19
标的物关联标的物范式20
笛卡儿积范式22
2.4 排序算法22
logistic回归模型23
GBDT模型24
Wide & Deep模型24
2.5 推荐算法落地需要关注的几个问题24
推荐算法工程落地一定要用到排序模块吗24
推荐算法服务于用户的两种形式25
推荐系统评估25
2.6 本章小结25
第3章 基于内容的推荐算法27
3.1 什么是基于内容的推荐算法27
3.2 基于内容的推荐算法的实现原理28
基于用户和标的物特征为用户推荐的核心思想29
构建用户特征表示29
构建标的物特征表示30
为用户做个性化推荐36
3.3 基于内容的推荐算法应用场景39
3.4 基于内容的推荐算法的优缺点40
优点41
缺点41
3.5 基于内容的推荐算法落地需要关注的问题42
内容来源的获取42
怎么利用负向反馈43
兴趣随时间变化44
数据清洗44
加速计算与节省资源44
解决基于内容的推荐越推越窄的问题44
工程落地技术选型45
业务的安全性45
3.6 本章小结45
第4章 协同过滤推荐算法47
4.1 协同过滤思想简介47
4.2 协同过滤算法原理介绍48
基于用户的协同过滤49
基于标的物的协同过滤49
4.3 离线协同过滤算法的工程实现49
计算topN相似度50
为用户生成推荐52
4.4 近实时协同过滤算法的工程实现54
获取用户在一个时间窗口内的行为54
基于用户行为记录更新标的物关联表CR55
更新用户的行为记录HBase表:UAction55
为用户生成个性化推荐55
4.5 协同过滤算法的应用场景57
完全个性化推荐57
标的物关联标的物推荐58
其他应用形式及场景58
4.6 协同过滤算法的优缺点58
优点59
缺点59
4.7 协同过滤算法落地到业务场景需要关注的问题60
两种协同过滤算法的选择60
对时间加权60
关于用户对标的物的评分61
相似度计算61
冷启动问题62
4.8 本章小结63
第5章 基于朴素ML思想的协同过滤算法65
5.1 基于关联规则的推荐算法65
5.2 基于朴素贝叶斯的推荐算法67
5.3 基于聚类的推荐算法70
基于用户聚类的推荐70
基于标的物聚类的推荐71
5.4 YouTube基于关联规则思路的视频推荐算法71
计算两个视频的相似度关联度72
基于单个种子视频生成候选视频集72
基于用户行为为用户生成推荐候选集72
推荐结果排序73
5.5 Google News基于贝叶斯框架的推荐算法74
基于用户过去的行为来分析用户的兴趣点75
利用贝叶斯框架来建模用户的兴趣75
为用户做个性化推荐78
5.6 Google News基于用户聚类的推荐算法78
基于MinHash聚类78
基于聚类为用户做推荐80
5.7 本章小结80
第6章 矩阵分解推荐算法83
6.1 矩阵分解推荐算法的核心思想83
6.2 矩阵分解推荐算法的算法原理84
6.3 矩阵分解推荐算法的求解方法85
利用SGD来求解矩阵分解85
利用ALS来求解矩阵分解86
6.4 矩阵分解推荐算法的拓展与优化87
整合偏差项87
增加更多的用户信息输入87
整合时间因素88
整合用户对评分的置信度89
隐式反馈89
整合用户和标的物metadata信息90
6.5 近实时矩阵分解算法91
算法原理92
工程实现94
6.6 矩阵分解算法的应用场景97
应用于完全个性化推荐场景97
应用于标的物关联标的物场景98
应用于用户及标的物聚类98
应用于群组个性化场景98
6.7 矩阵分解算法的优缺点99
优点99
缺点100
6.8 本章小结101
第7章 因子分解机103
7.1 分解机简单介绍103
7.2 分解机参数预估与模型价值105
分解机在稀疏场景下的参数估计106
分解机的计算复杂度106
分解机模型求解107
模型预测107
7.3 分解机与其他模型的关系108
FM与矩阵分解的联系108
FM与SVM的联系108
7.4 分解机的工程实现110
7.5 分解机的拓展112
高阶分解机112
FFM113
DeepFM113
7.6 近实时分解机114
7.7 分解机在推荐系统上的应用114
用户与标的物的交互行为信息115
用户相关信息115
标的物相关信息115
上下文信息115
7.8 分解机的优势116
7.9 本章小结117
第三篇 推荐系统进阶算法
第8章 推荐系统冷启动120
8.1 冷启动的概念120
8.2 解决冷启动面临的挑战121
8.3 解决冷启动的重要性121
8.4 解决冷启动的方法和策略122
用户冷启动123
标的物冷启动125
系统冷启动126
新的视角看冷启动126
8.5 不同推荐产品形态解决冷启动的方案128
8.6 设计冷启动需要注意的问题129
8.7 冷启动的未来发展趋势130
8.8 本章小结131
第9章 嵌入方法在推荐系统中的应用132
9.1 嵌入方法简介132
9.2 嵌入方法应用于推荐系统的一般思路133
学习标的物的嵌入表示134
同时学习用户和标的物的嵌入表示135
9.3 用于推荐系统的嵌入方法的算法原理介绍135
基于矩阵分解的嵌入135
基于Word2vec的嵌入136
基于有向图的嵌入137
基于深度神经网络的嵌入138
9.4 嵌入方法在推荐系统中的应用案例介绍139
利用矩阵分解嵌入做推荐139
利用Item2vec获得标的物的嵌入做推荐139
阿里盒马的联合嵌入推荐模型140
淘宝基于图嵌入的推荐算法143
整合标的物多种信息的Content2vec模型145
9.5 利用嵌入方法解决冷启动问题146
通过ID间的结构连接关系及特征迁移解决冷启动问题146
通过图片、文本内容嵌入解决冷启动问题148
9.6 本章小结148
第10章 深度学习在推荐系统中的应用151
10.1 深度学习介绍152
10.2 利用深度学习技术构建推荐系统的方法和思路153
从推荐系统中使用的深度学习技术角度看154
从推荐系统的预测目标角度看154
从推荐算法的归类角度看155
10.3 工业界几个经典深度学习推荐算法介绍156
YouTube的深度学习推荐系统156
Google的Wide & Deep深度学习推荐模型160
阿里基于兴趣树的深度学习推荐算法163
Google的神经网络协同过滤深度学习推荐算法166
10.4 开源深度学习框架&推荐算法168
TensorFlowKeras168
PyTorchCaffe169
MxNet169
DeepLearning4j170
百度的PaddlePaddle170
腾讯的Angel170
微软开源的推荐算法库recommenders171
10.5 深度学习技术应用于推荐系统的优缺点及挑战171
优点171
缺点与挑战172
10.6 深度学习推荐系统工程实施建议174
深度学习的效果真的有那么好吗174
团队是否适合引入深度学习推荐技术174
打通深度学习相关技术栈与团队现有技术栈175
从经典成熟的模型与跟公司业务接近的模型着手175
10.7 深度学习推荐系统的未来发展176
算法模型维度176
工程维度176
应用场景维度177
数据维度177
产品呈现与交互维度178
10.8 本章小结178
第11章 混合推荐系统介绍182
11.1 什么是混合推荐系统182
11.2 混合推荐系统的价值183
冷启动问题183
数据稀疏性问题183
马太效应183
灰羊效应183
投资组合效应184
稳定性/可塑性问题184
11.3 混合推荐系统的实现方案185
单体的混合范式185
并行的混合范式186
流水线混合范式187
11.4 工业级推荐系统与混合推荐188
实时推荐系统与混合推荐190
深度学习等复杂推荐模型整合多数据源和多模型190
特殊情况下的处理策略191
推荐数量不足的增补191
通过混合策略解决用户冷启动191
11.5 对混合推荐系统的思考192
整合实时推荐中用户的短期和长期兴趣193
利用单个复杂模型建模多源信息193
多源的标的物混合193
家庭场景中多人兴趣的混合推荐194
用户在多APP场景下行为的混合195
用户多状态场景的融合推荐195
11.6 本章小结195
第12章 构建可解释性推荐系统198
12.1 可解释性推荐系统简介198
什么是推荐解释198
推荐解释的价值199
互联网推荐产品的推荐解释模型200
推荐解释的形式200
推荐解释的现状200
12.2 构建可解释性推荐系统的方法201
基于用户关系来做推荐解释201
基于标的物相似关系来做推荐解释203
基于标签来做推荐解释203
其他推荐解释方式204
12.3 常用工业级推荐产品的推荐解释205
完全个性化范式的推荐解释205
标的物关联标的物范式的推荐解释207
其他推荐范式的推荐解释208
12.4 做好推荐解释需要关注的几个问题208
12.5 构建可解释性推荐系统面临的挑战与机遇210
混合推荐算法让推荐解释更加困难210
设计实时个性化推荐解释面临的技术挑战211
企业管理者/数据产品经理更关注精准度而不是解释性211
黑盒推荐算法很难解释211
普适的推荐解释框架211
利用知识图谱做解释211
生成对话式解释211
12.6 本章小结212
第四篇 推荐系统评估与价值
第13章 推荐系统的评估214
13.1 推荐系统评估的目的214
13.2 评估推荐系统的常用指标215
用户的维度215
平台方的维度216
推荐系统自身的维度216
标的物提供方的维度217
13.3 推荐系统的评估方法218
离线评估219
在线评估第一阶段223
在线评估第二阶段224
主观评估225
13.4 推荐系统评估需要关注的问题226
13.5 本章小结227
第14章 推荐系统的商业价值228
14.1 为什么要关注推荐系统的商业价值228
14.2 衡量推荐系统商业价值的维度229
广告变现230
电商变现231
增值服务变现231
用户增长232
成本节省及效率提升232
14.3 量化推荐系统商业价值的思路和方法233
提升广告的曝光与转化233
促进标的物提供方即商家生态繁荣233
促进标的物售卖,获取更多经济收益234
提升会员的转化与留存234
提升用户留存率、活跃度和停留时长234
节省人力成本235
提升内容分发效率235
14.4 提升推荐系统商业价值需要关注的问题及建议235
14.5 本章小结237
第五篇 推荐系统工程实现
第15章 推荐系统之数据与特征工程240
15.1 推荐算法建模的一般流程240
15.2 推荐系统依赖的数据源介绍241
根据数据来源来划分241
根据数据载体来划分243
根据数据组织形式来划分244
15.3 数据处理与特征工程简介246
数据生成246
数据预处理248
特征工程250
15.4 常用推荐算法之数据与特征工程258
排行榜推荐258
标的物关联标的物推荐259
个性化推荐260
15.5 推荐系统数据与特征工程的未来趋势262
融合更多的数据源来构建更复杂的推荐模型262
深度学习等复杂技术可减少人工特征工程的投入262
实时数据处理与实时特征工程263
自动化特征工程263
15.6 本章小结264
第16章 推荐系统的工程实现266
16.1 推荐系统与大数据266
16.2 推荐系统业务流及核心模块268
数据收集模块269
ETL模块269
特征工程模块269
推荐算法模块270
推荐结果存储模块270
Web服务模块271
16.3 推荐系统支撑模块272
评估模块272
调度模块272
监控模块272
审查模块273
16.4 推荐系统架构设计273
16.5 推荐系统工程实现的设计哲学279
什么是好的推荐系统工程实现280
推荐系统工程实现的原则280
怎样设计好的推荐系统工程架构280
16.6 近实时个性化推荐281
16.7 推荐系统业务落地需要关注的问题282
16.8 推荐系统的技术选型284
16.9 推荐系统工程的未来发展285
16.10 本章小结285
第17章 AB测试平台的工程实现286
17.1 什么是AB测试286
17.2 AB测试的价值287
17.3 什么时候需要AB测试288
17.4 AB测试的应用场景289
17.5 AB测试平台的核心模块290
分组模块290
实验管理模块291
业务接入模块291
行为记录分析模块291
效果评估模块292
17.6 业界流行的AB测试架构实现方案292
17.7 推荐系统业务AB测试实现方案297
17.8 开发AB测试平台需要的资源及支持301
17.9 构建AB测试平台需要关注的重要问题302
17.10 本章小结303
第18章 构建优质的推荐系统服务304
18.1 推荐服务背景介绍304
18.2 什么是优质的推荐服务306
高性能306
高可用306
可伸缩306
可扩展307
安全性307
18.3 设计优质的推荐服务面临的挑战307
需要存储的数据量大308
需要快速及时响应用户请求308
接口访问并发量大308
业务相对复杂308
18.4 构建优质服务的一般原则309
模块化309
数据存储与数据缓存309
负载均衡309
异步调用310
分布式及去中心化310
分层思想310
18.5 设计优质推荐服务的可行策略311
高性能311
高可用314
可伸缩315
可扩展316
安全性317
18.6 本章小结318
第19章 推荐系统提供Web服务319
19.1 什么是推荐系统Web服务319
19.2 推荐系统提供Web服务的两种方式321
事先计算式Web服务322
实时装配式Web服务324
19.3 两种Web服务方式的优劣对比326
事先计算式Web服务的优缺点326
实时装配式Web服务的优缺点327
19.4 影响Web服务方式的因素及选择原则328
推荐产品形态的时效性对选择推荐Web服务的影响328
技术及架构复杂性对选择推荐Web服务的影响328
推荐阶段对选择推荐Web服务的影响328
算法形态对选择推荐Web服务的影响329
19.5 本章小结329
第20章 实时个性化推荐331
20.1 实时推荐系统背景介绍331
20.2 实时推荐系统的价值333
20.3 实时推荐系统的应用场景334
新闻资讯类335
短视频类335
婚恋、陌生人社交类336
直播类336
电商类337
音乐、电台类337
20.4 实时推荐系统的整体架构338
Lambda架构339
Kappa架构343
20.5 实时推荐系统的技术选型345
离线部分算法的技术选型345
实时部分算法的技术选型345
20.6 实时推荐算法与工程实现346
20.7 构建实时推荐系统面临的困难和挑战347
20.8 实时推荐系统的未来发展347
实时推荐是未来推荐发展的方向348
每个人都有望拥有为自己服务的个性化算法348
实时推荐应用场景的多样性349
实时交互方式趋于多元化349
20.9 本章小结350
第六篇 推荐系统产品与运营第21章 推荐系统产品354
21.1 推荐产品简介354
21.2 推荐产品形态介绍355
基于用户维度的推荐355
基于标的物维度的推荐357
基于用户和标的物交叉维度的推荐359
21.3 推荐产品的应用场景360
21.4 设计优质推荐产品的要点361
21.5 本章小结362
第22章 推荐系统的UI交互与视觉展示363
22.1 信息获取与推荐系统363
22.2 交互设计的基本原则365
22.3 推荐系统的UI交互367
什么是推荐系统的UI交互367
设计好的UI交互的原则368
UI交互在推荐系统中的价值371
22.4 推荐系统的视觉展示372
什么是推荐系统的视觉要素373
视觉要素展示的一般原则373
视觉要素展示的价值376
22.5 关于推荐系统UI交互和视觉展示的展望376
22.6 本章小结378
第23章 推荐系统与精细化运营379
23.1 运营简介379
23.2 数据化运营381
23.3 精细化运营383
精细化运营的概念383
精细化运营的特点384
为什么说现在进入了精细化运营时代384
精细化运营面临的挑战385
精细化运营的流程与方法385
23.4 用户画像介绍386
用户画像的概念387
标签的分类387
用户画像构建流程389
用户画像平台的基础架构390
用户画像的应用场景391
23.5 推荐系统与精细化运营394
推荐系统是精细化运营的最高级形式394
推荐系统与精细化运营的区别与联系395
利用推荐系统的思路进行精细化运营396
利用推荐系统的思路进行精细化运营面临的困境397
23.6 本章小结398
第24章 推荐系统的人工调控策略399
24.1 什么是推荐系统的人工调控399
24.2 为什么要进行人工调控400
用户体验401
安全性401
商业价值402
运营需要402
降低人力成本403
24.3 怎样进行人工调控404
数据层面的人工调控404
特征层面的人工调控405
模型层面的人工调控406
结果层面的人工调控407
展示层面的人工调控407
效果层面的人工调控409
24.4 怎样评估人工调控的价值409
24.5 人工调控面临的挑战410
知识层面的脱节,沟通不畅410
很难精确评估对推荐系统的影响范围410
为运营人员提供方便操控的界面是关键411
24.6 人与机器的有效协作411
24.7 本章小结412
第七篇 推荐系统案例分析
第25章 从零开始构建企业级推荐系统414
25.1 Why:你的产品为什么需要推荐系统414
25.2 Who:让谁来搭建推荐系统415
自建推荐系统415
通过外包构建推荐系统416
购买推荐系统云服务416
25.3 When:在产品的什么阶段搭建推荐系统416
25.4 What、Where:搭建什么样的推荐系统417
25.5 How:怎样搭建推荐系统418
产品起步阶段的推荐418
产品成长阶段的推荐420
25.6 How much:关于构建推荐系统的资源投入420
人力投入421
计算资源投入421
25.7 How feel:对推荐系统价值的预期422
25.8 从零搭建推荐系统必须做好的3件事422
产品与算法423
评估指标423
AB测试423
25.9 几个具体实用的建议424
25.10 本章小结425
第26章 基于标签的实时短视频推荐系统426
26.1 基于标签的推荐算法应用场景426
完全个性化推荐427
标的物关联标的物推荐427
主题推荐428
26.2 基于标签的推荐算法原理428
个性化推荐428
视频相似推荐430
主题推荐430
26.3 推荐产品的整体架构及工程实现430
个性化推荐432
相似视频推荐435
主题推荐437
26.4 个性化推荐的召回与排序策略438
召回策略438
排序策略439
电视猫个性化推荐实时更新策略440
26.5 冷启动策略442
26.6 未来优化方向442
增加模型排序模块442
对重复的节目做过滤442
整合用户负反馈443
针对标签的优化443
26.7 本章小结443
第27章 基于Erlang语言的视频相似推荐445
27.1 视频相似推荐系统简介445
27.2 相似推荐算法原理及实现细节447
年代447
标题448
地域448
评分449
是否获奖449
27.3 实现视频相似推荐系统的问题与难点449
数据量大,增速快449
需要实时计算450
计算与某个视频最相似的视频需要遍历所有视频450
需要更新已经计算视频的相似度450
27.4 为什么要用Erlang语言开发450
Erlang语言简介450
Erlang语言的特性451
选择Erlang语言开发视频相似推荐系统的原因452
27.5 系统架构与工程实现453
Master节点模块与功能454
Slaver主要负责计算任务456
Riak集群负责最终相似推荐结果的存储457
响应请求模块会基于用户请求给出推荐结果457
27.6 相似推荐的核心亮点458
27.7 未来的优化方向459
27.8 本章小结460
附录A 推荐算法工程师的成长之道461
附录B 推荐算法团队组成及目标定位471
· · · · · ·


