当前位置: 首页 > news >正文

【新书速递】企业级推荐系统如何构建?这本书手把手教你从0到1

5efbd59da6307b8ea248a57083971a67.gif

94a01715d9d86102b4e20378442dc89e.png

导读:推荐算法工程师的日常工作是怎样的呢?

847b86af35cd027d9c31b5f0c56d2f75.png

随着移动互联网的深入发展,相信大家对如下场景并不陌生:

  • 刷抖音,都是自己喜欢的小视频

  • 打开网易云音乐,推荐的都是我们想听的歌

  • 逛淘宝,推送的都是想买的东西

这就是推荐系统的功劳,推荐系统已经深入到我们生活的每一个角落。随着计算能力的突破,大数据应用的普及,很多应用都能做到千人千面,毫不夸张地说,未来推荐系统会成为所有数据型产品的标配。个性化时代早已到来!

推荐系统是一种高效的信息分发解决方案,对于任何一家提供产品/服务的toC互联网公司,利用推荐系统都可以高效地进行内容的分发与推荐,从而更好地提升用户使用体验、创造商业价值。

但是,构建一套完善、稳定、高效、低成本、灵活的推荐系统是一件非常困难的事情,涉及到数据、算法、工程、产品交互、业务指标等方方面面,只有对这些知识点有深入全面的了解,再结合公司的业务才能构建出具备商业价值的推荐系统。

虽然构建企业级推荐系统不是一件容易的事情,但是好在我们有很多乐于奉献的行业资深专家来指路。最近就有一位大佬写了一本构建企业级推荐系统的新书《构建企业级推荐系统:算法、工程实现与案例解析》,下面是这本书的大纲。

fad129ca4122340425688cd78928cade.png

这本书将推荐系统涉及到的数据、算法、工程、产品、运营、交互、业务指标等核心知识点进行归纳、总结、浓缩,并结合案例来帮助读者学习怎么构建一套稳定、高效、低成本、灵活、有商业价值的工业级推荐系统。这本书有很多亮点,概括来说,主要包括如下6点:

1) 算法:覆盖协同过滤、内容标签推荐、深度学习等主流算法。

2) 架构:基于业界主流的三阶段pipeline架构:召回、排序、业务调控。

3) 场景:排行榜推荐、相似推荐、个性化猜你喜欢推荐、信息流推荐、群组推荐。

4) 工程:特征工程、AB测试、效果评估、推荐Web服务、Doraemon模块化架构。

5) 案例:电视猫、腾讯、阿里、Google、YouTube等算法案例分析。

6) 价值:从精细化运营、商业价值、视觉展示等多维度体现推荐系统的价值。

这本书的作者刘强也是推荐系统领域的资深专家。他从2010年就开始研究推荐系统了,有12年大数据与推荐系统实践经验,精通企业级推荐系统的构建。可以说,国内研究推荐系统超过10年的基本没有几个。他还是一个推荐系统的实践者。亲手从零到一打造过一款千万级DAU的视频APP(电视猫)的推荐系统,推荐系统产生的流量占全APP流量的30%。 

从上面的简单介绍,可以看到这本书完美地解答了构建企业级推荐系统的所有困惑。下面对这本书的大致内容做一些介绍。

这本书近35万字,篇幅较大,一共分为7篇27章,分别从不同角度来介绍企业级推荐系统构建的理论、方法、策略,核心是围绕着推荐系统在企业中的实践来展开的。

第一部分为基础知识篇,包括1章。这一部分介绍推荐系统相关基本概念与知识,目标是期望读者对推荐系统有一个比较基础的了解。

第二部分为基础算法篇,包含6章。这些章节讲解最基础、可能也是最重要的企业级推荐算法。我们在第4章会介绍企业级推荐系统的5种推荐范式及每种范式的应用场景,后面会概述推荐排序和召回相关知识,这一篇的后续章节会分别介绍基于内容的推荐算法、协同过滤推荐算法、基于朴素机器学习思想(朴素贝叶斯、关联规则、聚类)的推荐算法、矩阵分解推荐算法和因子分解机。这些章节不仅会讲算法的实现原理,更会讲到怎么将这些算法应用到具体的业务场景中,同时会对算法的优缺点、适用范围、未来发展等更多读者关心的主题进行详细介绍。

第三部分为算法进阶篇,包含5章。在第10章我们会讲解推荐系统冷启动的相关知识点,这一章会讲解各种冷启动问题以及解决冷启动问题的可行策略。紧接着的3章分别介绍嵌入方法、深度学习方法及混合推荐算法,这些方法是目前工业界比较主流的推荐策略和方法。这一部分的最后一章我们讲解了构建可解释的推荐系统相关的知识点,这是其他推荐系统书籍中未曾涉及到的点。

第四部分为推荐评估与价值篇,包含2章。第15章讲解推荐系统的评估,这一章首先从用户维度、标的物维度、算法维度、平台方维度等4个维度讲解每个维度有哪些评估方法,让读者知道从不同的角度可以对推荐系统进行不同侧面的评估。另外,基于推荐系统产品的视角,从离线评估、在线评估、主观评估等3种不同的角度(并结合前面的4个维度)来系统讲解具体的评估方法和策略。第16章讲解推荐系统的商业价值,对于企业来说,引入推荐系统的主要目标就是提升产品的商业价值。这一章系统地讲解了推荐系统在用户增长、用户体验提升、商业变现、资源节省这4个方面所起的价值和作用。

第五部分为工程篇,包含6章。这一部分系统地讲解了推荐系统工程相关的知识点。其中,第18章讲解了推荐系统的工程实现的核心模块、架构设计、技术选型等话题,并且这一章拿笔者团队的Doraemon架构作为案例来讲解,给读者提供了一个比较接地气的参考方案。第19章讲解了AB测试相关的知识,包括AB测试的价值、在什么情况下需要AB测试、AB测试的实现方案等。第20章从推荐作为一个Web服务的角度来讲解怎么让推荐服务更高效、更稳定、更快速。第21章梳理了目前业界提供推荐系统服务的两种模式:事先计算型和实时装配型,即事先将给用户的推荐结果计算好并存下来或者在用户访问推荐服务时实时为用户计算推荐结果。这一部分的最后一章对实时推荐系统进行全面的讲解,包括实时推荐系统的价值、系统架构、具体业务场景及面临的挑战等。

第六部分为产品与运营篇,包含4章。这一部分主要从产品和运营的角度来讲解推荐系统。第23章从多个维度来梳理了推荐系统的产品形态,并讲解了推荐产品的应用场景及设计好的推荐产品的基本原则。第24章讲解了推荐系统的UI交互和视觉展示,这属于前端UI的范畴,也是用户可以直接感知到的部分,这一部分设计的好坏直接影响用户的使用体验。第25章从运营的角度来讲解推荐系统,这一章关注数据化运营、精细化运营及用户画像,推荐系统作为一种运营手段和工具,需要跟产品、运营人员做好配合才能让推荐系统最大化地发挥商业价值。这一部分的最后一章介绍了推荐系统的人工调控策略,即产品运营人员怎么对推荐系统进行人工干预,让推荐系统可以更好地配合公司整体的运营活动与规划。

第七部分为案例篇,包含3章。这一部分讲解了推荐系统实践相关的知识点,在第27章,笔者重点讲解了怎么从零开始搭建一个企业级的推荐系统,笔者借用5W3H思考框架来阐述怎么更好、更快、更高效地构建一个可用的推荐系统。第28、29章是实际案例,基于笔者公司的业务讲解了具体怎么实现推荐系统。

另外本书还包括A、B两个附录。附录A梳理了推荐算法工程师的成长,对于想从事推荐算法的读者,笔者给出了可行的职业发展方向和定位,以及做好推荐系统需要怎么准备,需要从哪些方面提升自我,以更好地适应未来对推荐算法从业者的要求。附录B介绍了在企业中推荐算法团队的日常工作、协作对象及推荐算法团队的目标与定位。

看完了大纲,相信大家对这本书有了比较清晰的了解啦。这确实是推荐系统领域不得多的一本好书,可能也是目前市面上唯一一本完全从企业级推荐系统的角度深入、全面、透彻地介绍构建推荐系统的书。如果大家想深入学习这本书,可以从下面的链接直接购买。

b2b69958d5b31fbec5d7b84fdf3a85d2.png

推荐算法工程师必读。推荐系统专家集10年实践经验之作,从场景、算法、工程、运营、实践等多维度深度梳理构建企业级推荐系统的方法。所有算法都有详细实现思路分析,可直接用于企业实战。

1f1b92d1d493e0d17a132c6ae906f6bf.gif

6fcd9d0ee731c7c8acee7cd9a90cebed.png

扫码关注【华章计算机】视频号

每天来听华章哥讲书

a8c5846bc18707e758d0f3b7d9aac03d.gif

更多精彩回顾

书讯 | 9月书讯 | 秋天的第一本书,来了

资讯 | DB-Engines 9月数据库排名:SnowFlake坐上了火箭

书单 | 你们要的Java学习路线图来了

干货 | 火山引擎 A/B 测试的思考与实践

收藏 | 两本书助你构建智能计算系统知识树

上新 | 【新书速递】Julia设计模式

赠书 | 【第74期】安全工程师最详细学习和职业规划路线(书籍推荐和导图下载)

2184ec54dd490b4c25104f3935e8d021.gif

7904bfc71f31d43633907c96e321f2e7.gif

点击阅读全文购买

相关文章:

  • 什么是物联网?有哪些应用?终于有人讲明白了
  • 放弃坚持15年的原生开发,1Password用Electron重写全部代码,用户炸了!
  • 数字银行论坛 | 银行数字化转型路径与策略
  • 这些数据合并的神操作,你掌握几个?
  • 4个维度理解火爆的SaaS
  • 数字化转型的1个目标,3大领域,6大因素和9个环节
  • 【新书速递】从技术小白到开发大牛,这本实验教程带你手把手全栈开发!
  • 10月书讯(上) | 小长假我读这些新书
  • 10月书讯(下) | 小长假我读这些新书
  • 什么是图数据库?图数据库实践与创新浅析
  • 【第75期】《失控玩家》引发的思考:我们究竟离真正的人工智能有多远?
  • 一文搞懂Javascript函数式编程基础
  • Keras入门必读教程:手把手从安装到解决实际问题
  • Pyecharts绘制上下组合图、左右组合图、一轴多图,超经典!
  • SQL零基础入门必知必会!
  • [译]前端离线指南(上)
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • chrome扩展demo1-小时钟
  • Git 使用集
  • iOS小技巧之UIImagePickerController实现头像选择
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • maya建模与骨骼动画快速实现人工鱼
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • node和express搭建代理服务器(源码)
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • select2 取值 遍历 设置默认值
  • TypeScript迭代器
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • Vim Clutch | 面向脚踏板编程……
  • vue学习系列(二)vue-cli
  • vue自定义指令实现v-tap插件
  • 简单基于spring的redis配置(单机和集群模式)
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 入门到放弃node系列之Hello Word篇
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 原生JS动态加载JS、CSS文件及代码脚本
  • puppet连载22:define用法
  • # Panda3d 碰撞检测系统介绍
  • #FPGA(基础知识)
  • #pragma multi_compile #pragma shader_feature
  • #考研#计算机文化知识1(局域网及网络互联)
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (30)数组元素和与数字和的绝对差
  • (6)设计一个TimeMap
  • (arch)linux 转换文件编码格式
  • (Python第六天)文件处理
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转载)Linux网络编程入门
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .equals()到底是什么意思?
  • .NET BackgroundWorker