智能搜索和推荐系统:原理、算法与应用pdf下载pdf下载

智能搜索和推荐系统:原理、算法与应用百度网盘pdf下载

作者:
简介:本篇主要提供智能搜索和推荐系统:原理、算法与应用pdf下载
出版社:机械工业出版社自营官方旗舰店
出版时间:2021-02
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

编辑推荐

适读人群 :搜索和推荐系统的初中级读者;自然语言处理的初中级读者及爱好者;机器学习的初中级读者及爱好者。

NO.1 作者资深

作者均是有多年经验的搜索、推荐、AI方面的技术专家,精通各种算法

NO.2 引领趋势

深入讲解DL、ML、NLP等AI技术和算法在搜索和推荐中的应用

NO.3 精准讲解

针对性讲解搜索和推荐入门必备数学基础、原理、架构、算法等核心知识

NO.4 零基础入门

搜索、推荐、AI零基础的读者也能快速掌握基本理论知识和常用实践方法

NO.5 注重实战

包含大量常见架构和实用算法,以及多个搜索、推荐和广告方面的综合案例

内容简介

本书是一部面向初学者的搜索和推荐系统实战宝典。多位资深专家融合自己丰富的工程实践经验,一方面,精准地介绍了搜索和推荐系统的理论基础、工作原理和常见架构;一方面,深入地讲解了机器学习、深度学习、自然语言处理等AI技术在搜索和推荐系统中的应用场景、主要算法及其实现、工程实践案例。

全书一共12章,分为 四大部分。

第一部分(第 1 ~ 3 章) 搜索和推荐系统基础

首先介绍了概率统计与应用数学的基础知识,然后介绍了搜索和推荐系统的常识,最后介绍了知识图谱的基础理论。

第二部分(第 4 ~ 6 章) 搜索系统原理与架构

首先讲解了搜索系统的架构和原理,帮助读者了解搜索系统的组成、工作原理以及知识图谱在搜索系统中的应用;其次讲解了搜索系统中涉及的基本模型、机器学习以及深度学习算法;最后讲解了评价搜索系统的指标体系。

第三部分(第 7 ~ 9 章) 推荐系统原理与架构

首先讲解了推荐系统的架构和原理;其次讲解了推荐系统中涉及的线性模型、树模型以及深度学习模型;最后讲解了评价推荐系统的指标体系。

第四部分(第 10 ~ 12 章) 实战应用

首先介绍三种常见的搜索引擎工具,包括 Lucene、Solr和Elasticsearch;其次讲解了搜索系统和推荐系统的应用;最后介绍了如何充分结合AI与工程在工业界发挥作用。


作者简介

刘宇

清华大学硕士,现就职于一家跨境电商公司,任技术总监,主要负责该公司搜索推荐业务以及广告的相关技术开发。目前工作的重点是算法在搜索系统、推荐系统、对话系统等具体业务场景下的实际应用。对机器学习、深度学习、大数据应用与开发等颇有研究。合著有《聊天机器人:入门、进阶与实战》一书。


赵宏宇

本科毕业于东北大学;研究生毕业于RIT,主修AI方向。现就职于猎聘网,主要负责猎聘网推荐排序相关的工作。


刘书斌

本科毕业于东北大学,现就职于美团,资深系统开发工程师。曾在唯品会任职,主要负责搜索工程的架构设计与实现等相关工作,在ElasticSearch方面有丰富的工程实践经验。


孙明珠

硕士毕业于南京航空航天大学,现就职于猎聘网,担任高级算法工程师,负责查询理解、解析、扩展等NLP相关的工作。

精彩书评

从0到1搭建过电商系统后你会发现,排序的效果能否达到预期,搜索系统和推荐引擎的算法起到关键性甚至是决定性作用。读完本书,你会从系统和算法层面对搜索和推荐有一个全面的认知。

——李平 美团资深研发专家


推荐和搜索技术是机器学习领域的重要研究方向,已经得到广泛关注。本书作者经验丰富,将搜索和推荐中遇到的重要实际问题,进行了细致的分析和解答。内容从易到难,从基础理论到实际应用,循序渐进,易于理解。

——马庚 阿里巴巴高级算法专家/饿了么新零售搜索和推荐算法负责人


这是一本兼顾基础和前沿并且覆盖理论和实践的书。如果你是搜索和推荐领域的初学者,通过本书,不仅能系统掌握这两个领域的理论知识,而且可以快速积累工程实践经验。

——王喆 Roku推荐系统架构负责人/前Hulu高级研究员/《深度学习推荐系统》作者


人工智能在搜索和推荐领域的成功落地,凝聚了无数从业者的心血和智慧。作者将自己在该领域的心得和体会汇集成册,阐述了算法原理和技术应用的方方面面,既是初学者很好的入门指引,也是爱好者可贵的参考资料。

——张卫 前阿里资深算法专家


很高兴作者能把自己在搜索和推荐领域的实操经验通过本书呈现给大家。不管你是刚进入搜索、推荐领域的小白,还是有经验的工程师,都能有所收获。

——郭师光 墨迹算法负责人


目录

推荐序一

推荐序二

前言

第一部分 搜索和推荐系统的基础

第1章 概率统计与应用数学基础知识 2

1.1 概率论基础 2

1.1.1 概率定义 2

1.1.2 随机变量 5

1.1.3 基础的概率分布 5

1.1.4 期望、方差、标准差、协方差 8

1.2 线性代数基础 10

1.2.1 矩阵 10

1.2.2 向量 10

1.2.3 张量 11

1.2.4 特征向量和特征值 12

1.2.5 奇异值分解 12

1.3 机器学习基础 13

1.3.1 导数 13

1.3.2 梯度 14

1.3.3 最大似然估计 14

1.3.4 随机过程与隐马尔可夫模型 15

1.3.5 信息熵 16

1.4 本章小结 18

第2章 搜索系统和推荐系统常识 19

2.1 搜索系统 19

2.1.1 什么是搜索引擎及搜索系统 19

2.1.2 搜索引擎的发展史 21

2.1.3 搜索引擎的分类 22

2.2 推荐系统 23

2.2.1 什么是推荐系统 24

2.2.2 推荐系统的发展史 24

2.2.3 推荐系统应用场景 25

2.2.4 推荐系统的分类 26

2.3 搜索与推荐的区别 29

2.4 本章小结 30

第3章 知识图谱相关理论 31

3.1 知识图谱概述 31

3.1.1 什么是知识图谱 31

3.1.2 知识图谱的价值 33

3.1.3 知识图谱的架构 35

3.1.4 知识图谱的表示与建模 36

3.2 信息抽取 39

3.2.1 实体识别 40

3.2.2 关系抽取 46

3.3 知识融合 50

3.3.1 实体对齐 50

3.3.2 实体消歧 51

3.4 知识加工 53

3.4.1 知识推理 53

3.4.2 质量评估 58

3.5 本章小结 58

第二部分 搜索系统的基本原理

第4章 搜索系统框架及原理 60

4.1 搜索系统的框架 60

4.1.1 基本框架 60

4.1.2 搜索引擎是如何工作的 62

4.2 数据收集及预处理 64

4.2.1 爬虫 64

4.2.2 数据清洗 66

4.2.3 存储空间及分布式设计 68

4.3 文本分析 70

4.3.1 查询处理 71

4.3.2 意图理解 82

4.3.3 其他文本分析方法 85

4.4 基于知识图谱的搜索系统 90

4.5 本章小结 92

第5章 搜索系统中的主要算法 93

5.1 信息检索基本模型 93

5.1.1 布尔模型 93

5.1.2 向量空间模型 94

5.1.3 概率检索模型 96

5.1.4 其他模型 100

5.2 搜索和机器学习 102

5.2.1 排序学习 102

5.2.2 排序学习示例 107

5.3 搜索和深度学习 116

5.3.1 DNN模型 116

5.3.2 DSSM模型 118

5.3.3 Transformer 120

5.4 本章小结 126

第6章 搜索系统评价 127

6.1 搜索系统评价的意义 127

6.2 搜索系统的评价体系 127

6.2.1 效率评价 128

6.2.2 效果评价 130

6.3 本章小结 136

第三部分 推荐系统的基本原理

第7章 推荐系统框架及原理 138

7.1 推荐系统的框架及运行 138

7.1.1 基本框架 139

7.1.2 组件及功能 140

7.1.3 推荐引擎是如何工作的 141

7.1.4 推荐系统的经典问题 142

7.2 推荐系统的冷启动 145

7.3 推荐系统的召回策略 150

7.3.1 基于行为相似的召回 150

7.3.2 基于内容相似的召回 153

7.4 推荐系统排序 160

7.4.1 特征选择的方法 160

7.4.2 推荐系统的排序过程 164

7.5 基于知识图谱的推荐系统 166

7.6 本章小结 168

第8章 推荐系统的主要算法 169

8.1 矩阵分解 169

8.1.1 奇异值分解 170

8.1.2 交替最小二乘 171

8.1.3 贝叶斯个性化排序 172

8.2 线性模型 174

8.2.1 FM模型 175

8.2.2 FFM模型 176

8.3 树模型 177

8.3.1 决策树模型 177

8.3.2 集成算法模型 183

8.4 深度学习模型 191

8.4.1 Wide & Deep模型 191

8.4.2 Deep FM模型 197

8.5 本章小结 199

第9章 推荐系统的评价 200

9.1 推荐评估的目的 200

9.2 推荐系统的评价指标 200

9.2.1 RMSE和R方 204

9.2.2 MAP和MRR 204

9.2.3 其他相关指标 205

9.3 推荐系统的评估实验方法 206

9.3.1 离线评估 206

9.3.2 在线评估 209

9.3.3 主观评估 213

9.4 本章小结 217

第四部分 应用

第10章 搜索引擎工具 220

10.1 Lucene简介 220

10.1.1 Lucene的由来及现状 220

10.1.2 Lucene创建索引过程分析 223

10.1.3 Lucene的搜索过程解析 224

10.2 Solr简介 226

10.2.1 Solr特性 228

10.2.2 Solr的核心概念 228

10.2.3 Solr的核心功能 228

10.3 Elasticsearch简介 230

10.3.1 Elasticsearch的核心概念 230

10.3.2 Elasticsearch的核心功能 231

10.4 搜索引擎工具对比 232

10.5 本章小结 233

第11章 搜索应用实战:基于电商的搜索开发 234

11.1 电商搜索系统的架构设计 234

11.2 ES在搜索系统中的应用 236

11.3 NLP在搜索系统中的应用 237

11.4 商品数据排序算法研究 240

11.5 搜索排序的评价及优化 241

11.6 深度学习在搜索系统中的应用 243

11.7 电商搜索系统中的SEM 243

11.8 本章小结 246

第12章 推荐应用实战:基于广告平台的推荐 247

12.1 推荐系统的架构设计 247

12.2 推荐系统的召回和冷启动 249

12.3 ES在推荐系统中的应用 251

12.4 推荐系统中NLP的应用 252

12.5 推荐系统中粗排和精排 253

12.6 推荐系统的评价和优化 254

12.7 深度学习在推荐系统应用 255

12.8 本章小结 257

精彩书摘

推荐序一

2018年春天,我从西雅图飞回阔别七年的北京,加入了一家互联网电商公司。我们的团队负责公司的搜索、推荐和智能客服业务。过去十多年间,随着大规模云计算的普及和GPU的发展,各种机器学习算法得到了快速发展,成为各大互联网公司促进业务增长的强劲引擎。不管是在学术界还是工业界,各种新算法层出不穷,但是是否能真正落地,真正地应用在商业场景中并带来可观收益,都需要很多的尝试和摸索。

在这个新公司中,我结识了一批像刘宇和刘书斌这样的新互联网人,他们非常好学、务实、努力,并充满热情,都希望能够利用新技术、新方法为公司带来新的业务增长。不过一开始,尤其是在各种新算法、新论文博得大众眼球的时候,很多人容易陷入一个误区,就是过多使用最新的算法或者倾向于使用复杂的算法。实际上,深入了解业务场景,合理地收集和整理正确反映用户行为和业务场景数据,是对算法提升最直接、最有效的手段。从如何把用户的购买行为进行合理的归因,到数据如何做归一化,甚至如何处理一些细节的数值越界问题,都直接影响搜索和推荐算法的效果。我们只有把这些“小”问题处理好了,才有余力尝试更加复杂的算法模型。

对于一个经营服装家居的电商平台来说,如何帮助用户输入合理的搜索词并且在大量的产品当中快速找到满意的产品,对用户体验和业务提升都是非常重要的。刘宇在自然语言处理和理解方面带领团队做了很多研究和开发工作,积累了很多经验。我们经常在一起讨论有关系统和算法的设计问题,应对各种挑战和难点。在搜索和推荐系统中,我们不仅需要从产品角度定义用户关注的产品属性,还需要从用户的角度挖掘对产品的分类和属性的定义,还要合并、去重和分组,最后需要进行点击率预测。在一系列的处理过程中,并不是用最复杂、最新的算法就可以解决问题的,而是需要寻找问题的关键步骤进行重点投入,对非关键问题简化处理,或者在将来的迭代中再考虑优化。对于过于复杂的问题,我们还要考虑适当缩小问题的空间来降低解决问题的复杂度。当然,一个应用最终能够正式运用到产品中,在工程实践中还需要非常多的精雕细琢。

刘宇和几位同事把过去几年学习到的各种算法以及应用的经验整理记录下来,这对刚刚开始进入算法工作的工程研究人员会有很大帮助。如何在实际场景中应用这些知识,还需要每个人根据实际问题不断探索。苹果公司一直非常推崇创新和创意,但是它的创始人史蒂芬·乔布斯曾经表达过一种担心—大家会以为只要有好的创新和好的创意,一个产品就成功了。实际上,从一个伟大的创意到一个伟大的产品需要我们不断地修正思路,不断地做出必要的取舍。在算法工程和工作中,我们也需要使用同样的思路。一个最优的算法固然重要,但是真正的成功在于不断实践,投入足够的精力和时间去解决那些看似不重要的周边问题,并需要对问题做出必要的裁剪,通过快速迭代逐步递进,从而给我们的工作带来真正可观的商业价值。

孙燕峰

Hulu技术总监

2020年11月于西雅图

推荐序二

美国著名棒球运动员及教练尤吉·贝拉(Yogi Berra)有一句名言:“从理论上讲,理论与实践没有区别;但是在实践中,两者是不一样的。”

对于在互联网公司的搜索、推荐、广告等人工智能领域践行的工程师来说,尤吉的这句话非常适用。一方面,这些领域的工作要求工程师在概率统计、应用数学、自然语言处理以及机器学习等方面具有扎实的基础理论知识。另一方面,在这些领域中,如何将理论应用到工程实践,解决搜索、推荐、广告系统等实际问题,是工程师必须面对的挑战。

今天,在市面上已经有一些关于智能系统的基础理论书籍,在网络上也有很多关于搜索、推荐、广告开源系统及框架的文档,但是鲜有能够将基础理论、智能系统的基本原理,以及实际应用都覆盖到位的图书。

本书作者结合自己在学校和工作中的理论学习以及实践体会,将理论、原理和实践有机地结合起来,用严谨的文字,深入浅出地阐述了自己的理论感悟与实践心得,是一本值得收藏的好书。

黄彦林

前唯品会CTO


前言/序言

为什么要写本书

搜索和推荐是人工智能技术应用最早和最成熟的两个领域。在互联网快速发展的今天,信息呈爆炸式增长,而搜索和推荐系统是解决信息过载最有效的方式。搜索引擎作为网站和应用的入口,地位越来越重要。推荐系统是拉动用户增长的利器,也是互联网流量变现的重要工具。

由于工作的原因,我开始对自然语言处理在搜索中的应用进行梳理。在梳理的过程中,我翻阅了很多资料和文档。但是,我发现市面上的资料都比较陈旧。一些资料是专门讲解搜索引擎应用的,偏工程应用,整本书都在讲解代码。还有一些资料要么讲述自然语言处理的理论和应用,要么讲解机器学习的理论和应用,而对如何将这些理论应用到搜索场景并没有做出系统的描述。一个偶然的机会我翻阅了张俊林的《这就是搜索引擎:核心技术详解》一书,书中提到该书是他学习搜索引擎的笔记。这个点子启发了我,是不是我也可以把在工作和学习过程中的笔记整理出来,为初学者提供一个较为详细的入门指引呢?

2019年我换了工作,选择了一个专门从事推荐系统的岗位。新团队中的每个人都有相似的特质,那就是喜欢迎接各种挑战。于是,我鼓动大家把自己在工作过程中的心得体会记录下来。虽然大家一开始不理解我的初衷,但是还是按照我的方法做了。面对困难,我们并没有裹足不前,而是通过不断尝试新的算法和前沿技术,克服了各种生产和线上的实际困难。在整理心得体会时,我们发现了搜索、推荐以及广告系统的同质性,并希望能把重点提炼出来,总结成册来帮助更多的初学者。

这里分享一些学习心得:学习的过程是一个痛并快乐的过程;每一门学科的发展必然有一些先知先贤为我们指引迷途,大家任何时候奋起直追都不算晚;在学习的路上不断求新、求变才是“王道”。

读者对象

本书面向零基础读者,介绍了搜索和推荐系统的工作原理及实践应用。通过学习本书,以下读者可以从中受益。

搜索和推荐系统的初中级读者。

自然语言处理的初中级读者及爱好者。

机器学习的初中级读者及爱好者。

本书特色

本书将搜索、推荐和广告的核心技术进行了完美统一,介绍了搜索和推荐方面的相关知识,并把自然语言处理、机器学习和深度学习的一些知识点应用到搜索和推荐场景。

涵盖了工业界常用的搜索架构和一些基本算法。

涵盖了工业界常用的推荐架构和一些基本算法。

在讲解过程中统一了搜索、推荐以及广告的一些同质技术。

将一些自然语言处理基本模型融入搜索和推荐的业务场景中。

将一些基本的机器学习算法应用到搜索和推荐的排序学习场景中。

梳理了排序学习的一些主要实现方法。

如何阅读本书

本书分为4部分。

第一部分(第1~3章):搜索和推荐系统的基础。

这部分首先说明了概率统计与应用数学是现代机器学习理论的基础,也是基于统计的自然语言处理的基础;其次介绍了搜索系统和推荐系统的常识,为读者的后续学习打下基础;最后描述了知识图谱的相关基础理论,为其在搜索系统和推荐系统领域的应用作铺垫。

第二部分(第4~6章):搜索系统的基本原理。

这部分的主要内容包括搜索系统框架及原理、主要算法以及相关评价体系。首先,介绍搜索系统的架构和原理,使读者了解搜索系统的组成、工作原理以及知识图谱在搜索系统中应用的概况;其次,主要讲解搜索系统中涉及的基本模型、机器学习以及深度学习算法;最后,描述评价搜索系统的相关指标和方法。

第三部分(第7~9章):推荐系统的基本原理。

这部分的主要内容包括推荐系统框架及原理、主要算法以及推荐系统相关评价指标。首先,介绍推荐系统的架构和原理,使读者了解推荐系统的组成、工作原理以及知识图谱在推荐系统中应用的概况;其次,主要讲解推荐系统中涉及的线性模型、树模型以及深度学习模型;最后,对判断一个推荐系统的优劣给出相应的指标体系。

第四部分(第10~12章):应用。

这部分首先介绍了三种常见的搜索引擎工具—Lucene、Solr和Elasticsearch;其次讲述了搜索系统和推荐系统两个方向的应用;最后详细介绍了如何充分结合AI与工程在工业界发挥作用。

其中,第一部分相对独立。如果你是一名资深用户,能够理解搜索和推荐的相关基础知识,那么可以直接跳过这部分内容。但是如果你是一名初学者,请一定从第1章的基础理论知识开始学习。

勘误和支持

由于笔者水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。书中的全部源文件除可以从华章公司网站(www.hzbook.com)下载外,还可以从网站https://github.com/michaelliu03/Search-Recommend-InAction下载,我也会在该网站及时更新相关内容。如果你有更多的宝贵意见,也欢迎发送邮件至841412988@qq.com,期待得到你的真挚反馈。

致谢

首先要感谢伟大的人工智能之父——艾伦·麦席森·图灵,是他开创了整个AI领域。

感谢清华大学对我的培养,为我提供了一个良好的学习环境。

感谢机械工业出版社华章公司的策划编辑杨福川,在这一年多的时间里始终支持我的写作,引导我顺利完成全部书稿。感谢责任编辑董惠芝为本书出版付出的巨大努力。

最后感谢我的妻子和两个可爱的女儿,感谢你们时时刻刻给我信心和力量!

谨以此书献给我最亲爱的家人,以及众多热爱人工智能和机器学习的朋友们!

刘宇

2020年12月