为什么要写本书
搜索和推荐是人工智能技术应用最早和最成熟的两个领域。在互联网快速发展的今天,信息呈爆炸式增长,而搜索和推荐系统是解决信息过载最有效的方式。搜索引擎作为网站和应用的入口,地位越来越重要。推荐系统是拉动用户增长的利器,也是互联网流量变现的重要工具。
由于工作的原因,我开始对自然语言处理在搜索中的应用进行梳理。在梳理的过程中,我翻阅了很多资料和文档。但是,我发现市面上的资料都比较陈旧。一些资料是专门讲解搜索引擎应用的,偏工程应用,整本书都在讲解代码。还有一些资料要么讲述自然语言处理的理论和应用,要么讲解机器学习的理论和应用,而对如何将这些理论应用到搜索场景并没有做出系统的描述。一个偶然的机会我翻阅了张俊林的《这就是搜索引擎:核心技术详解》一书,书中提到该书是他学习搜索引擎的笔记。这个点子启发了我,是不是我也可以把在工作和学习过程中的笔记整理出来,为初学者提供一个较为详细的入门指引呢?
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月