第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
1.7本章小結 13
第2章搜索引擎原理與技術 14
2.1基本工作原理 14
2.2基本模塊結構 15
2.2.1網絡爬蟲服務 16
2.2.2索引服務 17
2.2.3緩存服務 18
2.2.4搜索服務 19
2.2.5日誌服務 21
2.3技術概要 22
2.3.1自然語言處理 22
2.3.2知識圖譜 23
2.3.3海量數據存儲 25
2.3.4分佈式計算 27
2.3.5搜索排序 28
2.4 開源技術 29
2.4.1 Apache Lucene 29
2.4.2 Apache Nutch 31
2.4.3 Sphinx 32
2.4.4 Elastic Search 34
2.5本章小結 36
第3章自然語言處理框架 37
3.1英文分詞 37
3.2中文分詞 39
3.2.1中文分詞概述 39
3.2.2基於詞庫的分詞技術 40
3.2.3基於條件隨機場模型的中文分詞 42
3.2.4分詞粒度 49
3.3詞性標註 50
3.3.1隱馬爾科夫模型概要 51
3.3.2隱馬爾科夫模型與詞性標註 52
3.4語義相似度 60
3.5依存句法分析 62
3.5.1依存句法分析概要 62
3.5.2依存句法分析實現 65
3.6情感傾向分析 68
3.7文檔關鍵詞提取 70
3.7.1文檔關鍵詞提取概述 70
3.7.2基於TF-IDF算法 71
3.7.3基於TextRank算法 73
3.8文檔句子相似度分析 76
3.8.1句子相似度 77
3.8.2文檔相似度 79
3.9文檔核心句提取 80
3.10文本的分類與聚類 83
3.10.1文本分類 84
3.10.2文本聚類 89
3.11語種檢測 96
3.12本章小結 98
第4章構建大數據存儲引擎 99
4.1架構體系 100
4.1.1結構概要 100
4.1.2服務器上線 103
4.1.3服務器下線 103
4.1.4數據讀取 104
4.2數據存儲模型 105
4.3數據壓縮 107
4.4負載均衡 108
4.5數據存儲邏輯視圖 111
4.6本章小結 114
第5章構建分佈式實時計算 115
5.1概述 115
5.2設計架構 117
5.2.1設計思想 117
5.2.2基本框架 119
5.3運行模式 121
5.4負載均衡 122
5.5通信設計 123
5.5.1基本方式 124
5.5.2分佈式遠程服務調用 124
5.6容災恢復 125
5.7數據容錯原理 126
5.8數據處理設計示例 128
5.9本章小結 129
第6章分佈式可擴展爬蟲 130
6.1爬蟲體系架構 130
6.1.1主從分佈式結構爬蟲 131
6.1.2對等分佈式結構爬蟲 131
6.1.2基於分佈式計算平台爬蟲 132
6.2網頁解析 133
6.2.1狀態碼處理 134
6.2.2鏈接去重 134
6.2.3廣告識別 136
6.2.4網站地圖 139
6.2.5非網頁數據獲取 140
6.2.6網頁去重 141
6.2.7鏈接提取 145
6.2.8爬蟲協議 146
6.3網頁結構化 148
6.3.1網頁的編碼信息 148
6.3.2網頁的正文信息 149
6.3.3網頁的關鍵詞信息 153
6.3.4網頁的標題 153
6.3.5網頁的發佈時間 155
6.3.6網頁的語言檢測 155
6.3.7其他結構化數據 156
6.4網頁抓取策略 157
6.5爬蟲權限應對 158
6.6深網抓取 161
6.7抓取更新策略 162
6.8本章小結 164
第7章大數據構建知識圖譜 165
7.1概述 165
7.1.1 開放知識圖譜 165
7.1.2 知識圖譜與認知智能 167
7.1.3 圖數據庫:Neo4j 168
7.1.4 資源描述框架:RDF 172
7.2搜索引擎與知識圖譜 174
7.3可靠數據源選擇 176
7.4實體抽取 177
7.5關係抽取 178
7.5.1關係抽取概述 179
7.5.2隱藏關係抽取 180
7.5.3結構化確定關係抽取 183
7.5.4非結構化確定關係抽取 185
7.6知識圖譜檢測 190
7.6.1實體關係修正 190
7.6.2實體對齊 191
7.6.3實體歧義分析 193
7.7知識推理與知識計算 194
7.7.1知識推理 194
7.7.2知識計算 195
7.8知識聚類 198
7.9智能搜索實現 200
7.9.1模式匹配 200
7.9.2知識拆解 201
7.9.3合併求解 203
7.10智能搜索擴展 205
7.10.1常識性智能搜索 205
7.10.2實時信息智能搜索 206
7.10.3可交互式智能搜索 207
7.11 知識圖譜應用 208
7.11.1 問答系統 208
7.11.2 情報分析 211
7.11.3 智慧醫療 214
7.11.4 推薦系統 215
7.12本章小結 217
第8章索引構建機制 218
8.1倒排索引 218
8.1.1倒排索引概述 219
8.1.2索引結構 220
8.1.3構建過程 222
8.1.4排序規則 223
8.1.5索引壓縮 224
8.1.6更新策略 230
8.2分佈式存儲 230
8.2.1存儲劃分方式 231
8.2.2存儲平衡策略 232
8.3存儲索引 237
8.3.1二叉搜索樹 238
8.3.2B樹 239
8.3.3B+樹 241
8.3.4B+樹與文件索引 242
8.4字典樹索引 244
8.4.1字典樹索引概述 245
8.4.2字典樹索引構建 247
8.4.3字典樹查詢優化 249
8.5本章小結 250
第9章搜索服務構建 251
9.1概述 251
9.1.1體系結構 251
9.1.2七何分析法 252
9.1.3搜索語法 253
9.1.4相關性排序 255
9.1.5不安全信息過濾 259
9.2大數據分佈式緩存 263
9.2.1緩存結構設計 263
9.2.2緩存更新策略 264
9.3文本糾錯算法 265
9.3.1中文文本糾錯 265
9.3.2英文文本糾錯 269
9.4結果顯示算法 270
9.4.1動態摘要 271
9.4.2關鍵詞高亮算法 274
9.4.3網頁快照 278
9.5搜索智能提示 278
9.6網頁排序 282
9.6.1基於PageRank的網頁重要性評價 282
9.6.2基於HITS算法的網頁權威性評價 285
9.6.3HillTop算法 287
9.6.4網頁作弊評價 288
9.6.5網頁排序調試 291
9.7個性化搜索 292
9.7.1個性化搜索示例 292
9.7.2BP神經網絡與個性化搜索 293
9.7.3地理位置搜索 294
9.8圖片搜索 299
9.8.1基於內容的圖片搜索 299
9.8.2基於文本的圖片搜索 300
9.9搜索與廣告 302
9.9.1廣告投放策略 303
9.9.2基於User-Based協同過濾的廣告投放 303
9.9.3基於Item-Based協同過濾的廣告投放 305
9.9.4基於混合模式的廣告投放 306
9.9.5廣告投放評價 307
9.10搜索引擎評價 310
9.10.1搜索引擎評價概述 310
9.10.2基於準確率、召回率及F值評價 311
9.10.3歸一化折扣累計增益 313
9.11本章小結 316
第10章基於用戶日誌的反饋學習 318
10.1基於用戶搜索詞語的分析 318
10.1.1發現搜索詞的價值 319
10.1.2發現不明意圖下的用戶行為 320
10.2基於用戶點擊日誌的分析 321
10.2.1時間與搜索意圖的關係 321
10.2.2地理位置與搜索意圖的關係 322
10.2.3點擊日誌與同義詞 324
10.2.4點擊日誌與詞語權重 325
10.2.5點擊日誌與新詞分類 326
10.2.6點擊日誌與知識圖譜 328
10.2.7點擊日誌與網頁重排序 329
10.2.8點擊日誌與網頁評價 331
10.3基於用戶的特徵分析 332
10.3.1用戶跟踪 333
10.3.2用戶群體特徵 334
10.3.3用戶個體特徵 336
10.4本章小結 337
致謝 338