书海网短评:
本书向读者提供了一套完整的大数据时代背景下的搜索引擎解决方案,详尽地介绍了搜索引擎的技术架构、算法体系及取得的效果,以模块化的方式进行组织。着重介绍了机器学习在搜索引擎中的应用,包括中文分词、聚类、分类等核心的机器学习算法,
《大数据搜索引擎原理分析及编程实现》向读者提供了一套完整的大数据时代背景下的搜索引擎解决方案,详尽地介绍了搜索引擎的技术架构、算法体系及取得的效果,以模块化的方式进行组织。着重介绍了机器学习在搜索引擎中的应用,包括中文分词、聚类、分类等核心的机器学习算法,并结合示例加以介绍和分析,使读者可以更好地理解机器学习在搜索引擎中的价值。还阐述了大数据给搜索引擎带来的新特性,结合目前大数据分析的主流工具,在搜索引擎中构建知识图谱,以及进行日志反馈学习机制,使得搜索引擎更加智能。《大数据搜索引擎原理分析及编程实现》适合作为互联网行业从业者的技术参考书,也适合作为搜索引擎爱好者的参考读物。
刘凡平。曾任职微软亚太研发集团,从事互联网广告与分布式实时计算相关研发工作。后任职百度(中国)有限公司,并担任高级研发工程师。现任薇问(北京)科技有限公司首席技术官,负责搜索引擎技术与大数据人工智能平台研发工作。擅长于搜索引擎、大数据分析、分布式计算等相关研发工作,是Iveely开源搜索引擎的主要贡献者之一,也是执着于将互联网技术演绎为艺术的完美追求者。
目录
第1章引论1
1.1搜索引擎的过去1
1.2搜索引擎的现在2
1.3搜索引擎的未来4
1.4大数据与搜索引擎6
1.4.1搜索价值提升6
1.4.2用户价值提升7
1.5大数据与人工智能7
1.5.1人工智能发展7
1.5.2人工智能技术9
1.6本章小结11
第2章搜索引擎原理与技术12
2.1基本工作原理12
2.2基本模块结构13
2.2.1爬虫服务14
2.2.2索引服务15
2.2.3缓存服务16
2.2.4搜索服务17
2.2.5日志服务19
2.3技术概要20
2.3.1自然语言处理20
2.3.2知识图谱技术21
2.3.3海量数据存储23
2.3.4分布式计算25
2.3.5搜索排序技术26
2.4本章小结27
第3章自然语言处理框架28
3.1英文分词28
3.2中文分词30
3.2.1中文分词概述30
3.2.2基于词库的分词技术31
3.2.3基于条件随机场的中文分词33
3.2.4分词粒度41
3.3词性标注41
3.3.1隐马尔科夫模型概要42
3.3.2隐马尔科夫模型与词性标注43
3.4语义相似度51
3.5依存句法分析53
3.5.1依存句法分析概要53
3.5.2依存句法分析实现56
3.6情感倾向分析59
3.7文档关键词抽取61
3.7.1关键词抽取概述61
3.7.2基于TF-IDF算法62
3.7.3基于TextRank算法64
3.8文档句子相似度分析67
3.8.1句子相似度68
3.8.2文档相似度70
3.9文档核心句抽取71
3.10聚类分类74
3.10.1文本分类75
3.10.2文本聚类80
3.11语种检测84
3.12本章小结87
第4章构建大数据存储引擎88
4.1架构体系89
4.1.1结构概要89
4.1.2服务器上线92
4.1.3服务器下线92
4.1.4数据读取93
4.2数据模型94
4.3数据压缩96
4.4负载均衡97
4.5数据存储逻辑视图100
4.6本章小结103
第5章构建分布式实时计算104
5.1概述104
5.2设计架构106
5.2.1设计思想106
5.2.2基本框架108
5.3运行模式110
5.4负载均衡111
5.5通信设计112
5.5.1基本方式113
5.5.2分布式远程服务调用113
5.6容灾恢复114
5.7数据容错原理115
5.8数据处理设计示例117
5.9本章小结118
第6章分布式可扩展爬虫119
6.1爬虫体系架构119
6.1.1主从分布式结构爬虫120
6.1.2对等分布式结构爬虫120
6.1.3基于分布式计算平台爬虫121
6.2网页解析122
6.2.1状态码处理123
6.2.2链接去重123
6.2.3广告识别125
6.2.4网站地图128
6.2.5非网页数据获取129
6.2.6网页去重130
6.2.7链接提取134
6.2.8爬虫协议135
6.3网页结构化137
6.3.1网页的编码信息137
6.3.2网页的正文信息138
6.3.3网站的关键词信息142
6.3.4网站的标题142
6.3.5网页的发布时间144
6.3.6网站语言检测144
6.3.7其他结构化数据145
6.4网页抓取策略146
6.5爬虫权限应对147
6.6深网抓取150
6.7抓取更新策略151
6.8本章小结153
第7章大数据构建知识图谱154
7.1概述154
7.2搜索引擎与知识图谱155
7.3可靠数据源选择157
7.4实体抽取158
7.5关系抽取159
7.5.1关系抽取概述160
7.5.2隐藏关系抽取161
7.5.3结构化确定关系抽取164
7.5.4非结构化确定关系抽取166
7.6知识图谱检测171
7.6.1实体关系修正171
7.6.2实体对齐整合172
7.6.3实体歧义分析174
7.7知识推理与计算175
7.7.1知识推理175
7.7.2知识计算176
7.8知识聚类179
7.9智能搜索实现181
7.9.1模式匹配181
7.9.2知识拆解182
7.9.3合并求解184
7.10智能搜索扩展186
7.10.1常识性智能搜索186
7.10.2实时信息智能搜索187
7.10.3可交互式智能搜索187
7.11本章小结189
第8章索引构建机制190
8.1倒排索引190
8.1.1倒排索引概述191
8.1.2索引结构192
8.1.3构建过程194
8.1.4排序规则195
8.1.5索引压缩196
8.1.6更新策略202
8.2分布式存储202
8.2.1存储划分方式203
8.2.2存储平衡策略204
8.3存储索引209
8.3.1二叉搜索树210
8.3.2B树211
8.3.3B+树213
8.3.4B+树与文件索引214
8.4字典树索引216
8.4.1字典树索引概述217
8.4.2字典树索引构建219
8.4.3字典树查询优化221
8.5本章小结221
第9章搜索服务构建223
9.1概述223
9.1.1体系结构223
9.1.2七何分析法224
9.1.3搜索语法225
9.1.4相关性排序227
9.1.5不安全信息过滤231
9.2大数据分布式缓存235
9.2.1缓存结构设计235
9.2.2缓存更新策略236
9.3文本纠错算法237
9.3.1中文文本纠错237
9.3.2英文文本纠错241
9.4结果显示算法242
9.4.1动态摘要243
9.4.2关键词高亮算法246
9.4.3网页快照250
9.5搜索智能提示250
9.6网页排序254
9.6.1基于PageRank的网页重要性评价254
9.6.2基于Hits算法的网页权威性评价257
9.6.3Hilltop算法259
9.6.4网页作弊评价260
9.6.5网页排序调试263
9.7个性化搜索264
9.7.1个性化搜索示例264
9.7.2人工神经网络与个性化搜索265
9.7.3地理位置搜索266
9.8图片搜索271
9.8.1基于内容的图片搜索271
9.8.2基于文本的图片搜索272
9.9搜索与广告274
9.9.1广告投放策略275
9.9.2基于User-Based协同过滤的广告投放275
9.9.3基于Item-Based协调过滤的广告投放277
9.9.4基于混合模式广告投放278
9.9.5广告投放评价279
9.10搜索引擎评价282
9.10.1搜索评价概述282
9.10.2基于准确率、召回率及F值评价283
9.10.3归一化折扣累计增益285
9.11本章小结288
第10章基于用户日志的反馈学习290
10.1基于用户搜索词语的分析290
10.1.1发现搜索词的价值291
10.1.2发现不明意图下的用户行为292
10.2基于用户点击日志的分析293
10.2.1时间与搜索意图的关系293
10.2.2地理位置与搜索意图的关系294
10.2.3点击日志与同义词296
10.2.4点击日志与词语权重297
10.2.5点击日志与新词分类298
10.2.6点击日志与知识图谱300
10.2.7点击日志与网页重排序301
10.2.8点击日志与网页评价303
10.3基于用户的特征分析304
10.3.1用户跟踪305
10.3.2用户群体特征306
10.3.3用户个体特征308
10.4本章小结309
前言
搜索引擎本身作为一门综合性的互联网技术,在行业中一直具备较高的关注度。随着最近几年大数据的发展,搜索引擎的关注度越来越高,原因在于搜索引擎技术是大数据应用最前线的领域,也是最容易产生价值的大数据应用。大数据存储、大数据计算都是从搜索引擎中衍生出的新领域。目前搜索引擎技术的发展不仅以大数据为基础,还利用分布式实时计算对数据进行高性能处理,以及利用机器学习将数据变得更具价值。在行业中吸引了包括搜索研发工程师、算法研发工程师、大数据分析工程师、自然语言处理工程师、计算平台架构师、数据挖掘工程师等行业各类精英的关注,这些工程师占据了整个互联网研发体系的50%~60%,在BAT中,甚至超过60%的是研发人员。
这类群体薪资水平处于互联网研发人员中较高水平,以猎聘网公布的数据显示,北京地区搜索引擎研发工程师年薪为35万~60万元,大数据工程师年薪为20万~25万元,大数据架构师年薪为40万~70万元,等等。也正是由于薪资水平处于较高位,很多互联网相关从业者也积极关注大数据搜索引擎领域动态。
《大数据搜索引擎原理分析及编程实现》通过介绍大数据下的自然语言处理框架、大数据存储引擎、搜索引擎的分布式实时计算、高性能可扩展爬虫,以及利用大数据构建知识图谱、基于大数据日志的搜索引擎反馈学习等相关信息,不仅使读者对当代搜索引擎研发体系有一定的认识,还可以使读者在搜索引擎领域及大数据领域进行深入思考。
《大数据搜索引擎原理分析及编程实现》特色
《大数据搜索引擎原理分析及编程实现》以当前搜索引擎主流技术为基础,密切结合前沿技术发展趋势,行文通俗易懂,由初步的原理性了解到各模块应用示例,并结合分布式存储、实时计算等,向读者提供了一套完整的大数据时代背景下人工智能搜索引擎的解决方案。
(1)内容循序渐进、行文有条有序地介绍搜索引擎知识。
《大数据搜索引擎原理分析及编程实现》充分考虑了不同层次的读者对搜索引擎的理解程度,因此《大数据搜索引擎原理分析及编程实现》由简入深、独特的技术写作视角符合广大读者对于技术类读物的理解需求,使得读者能够在掌握搜索引擎基础的情况下,不断按照搜索引擎的设计深入理解。
(2)技术前瞻性强,注重最新主流技术在现代搜索引擎中的应用。
《大数据搜索引擎原理分析及编程实现》充分利用了最新技术发展的应用成果,在自然语言处理的基础上不仅结合大数据分析,还包括分布式计算、机器学习、知识图谱等当前大数据应用与分析处理的主流技术,摒弃了传统过时的研发体系及算法。《大数据搜索引擎原理分析及编程实现》中相关研发成果在当前甚至在未来3~5年,都具有实际意义。
(3)将技术理论与应用范例结合,具备较高的商业实用价值。
《大数据搜索引擎原理分析及编程实现》内容紧密结合当前一线工程师工作研究成果,将众多的技术理论以实际工作经验的方式展示应用效果。《大数据搜索引擎原理分析及编程实现》介绍的内容也广泛结合工作中的应用示例,并以搜索引擎工程实践的脉络流程介绍技术要点,使读者在短时间内能够掌握当前搜索引擎研发的技术理论。
《大数据搜索引擎原理分析及编程实现》结构
《大数据搜索引擎原理分析及编程实现》按照由浅入深、循序渐进的顺序对现代搜索引擎原理和实现进行介绍。《大数据搜索引擎原理分析及编程实现》分为10章,各章的主要内容如下。
第1章针对搜索引擎发展的过去、现在、未来的相关概要介绍,以及现代搜索引擎与大数据、人工智能的相互关系,使广大读者能够在了解现代搜索引擎的背景之下,去了解《大数据搜索引擎原理分析及编程实现》的后续内容。
第2章是对搜索引擎原理与技术的初步分析,从模块方面大致介绍爬虫、索引、缓存等;从技术方面大致介绍自然语言处理、知识图谱技术、海量数据存储、分布式计算等。目的是使得读者对搜索引擎的体系结构、部分技术有一定认识,便于读者深入了解后续章节。
第3章从自然语言角度开始深入分析原理和实现,自然语言是搜索引擎进行文本处理的基础,其中包括分词、词性分析、语义分析、关键词抽取、核心句抽取、聚类分类等。读者将会从本章中获得当前主流的自然语言处理技术相关知识。
第4章主要是针对大数据存储引擎的介绍。大数据存储是搜索引擎最先遇到的问题,解决数据存储问题可以使搜索引擎在数据分析、索引构建、知识图谱等工作持续进行。读者在本章会了解到大数据存储引擎的架构体系、数据模型、数据压缩、负载均衡等。
第5章介绍了分布式实时计算。由于搜索引擎处理的是海量数据,数据分析必须依靠具有较强数据处理能力的计算平台,因此搜索引擎通过分布式实时计算去处理大数据并在尽可能短的时间内返回处理结果。本章中,读者会了解到分布式实时计算设计架构、负载均衡及通信设计等相关知识。
第6章对爬虫进行了深入分析。读者在本章中将会深入理解分布式可扩展爬虫的体系架构,以及对网页如何进行解析,并抽取出结构化的数据信息。本章还涉及链接去重、网页去重、广告识别等相关算法原理。
第7章详细介绍了知识图谱构建。知识图谱是智能化搜索引擎重要的组成部分,利用大数据分析构建出较为合理的知识图谱信息是当前主流的方式。读者将会从本章中深入了解到知识图谱的详细构建过程,以及利用机器学习原理对知识图谱中的实体抽取、关系抽取等相关技术进行。
第8章详细分析了索引构建机制。索引的设计与构造是搜索引擎能够进行快速检索的核心要件,主要针对文件检索的倒排索引与用于智能提示的字典树索引。本章不仅对倒排索引做了深入分析,对倒排索引的压缩、分布式存储等也做了详细介绍。
第9章深入分析了搜索引擎的整个对外服务工作流程。包括大数据分布式缓存、搜索智能提示、个性化搜索、图片搜索、搜索与广告等。读者通过本章可以详细了解到文本纠错算法、动态摘要算法、网页排序算法及搜索引擎的评价
体系。
第10章探讨和分析了搜索引擎日志与搜索引擎本身的关系。搜索引擎日志记录了用户与搜索系统交互的整个流程。通过日志挖掘,不仅可以发现用户的自有特征和行为规律,还可以有效地帮助搜索引擎提升性能和效果。日志作为搜索引擎的核心数据之一,一直使搜索引擎技术中的各类算法不断向前发展。读者通过本章将学会通过搜索引擎日志分析用户特征、用户的部分搜索意图等相关知识。
读者对象
适合对自然语言处理及机器学习应用领域有兴趣的读者。
适合对现代搜索引擎相关算法有兴趣的读者。
适合对大数据分析、数据挖掘应用有兴趣的读者。
适合互联网行业的不同层次从业者。
适合从事搜索引擎优化的网络营销读者。
适合高校中学习计算机、软件工程等相关专业的读者。









