內容簡介
《搜尋引擎技術基礎》從教學的角度出發,對搜尋引擎的原理及開發技術進行了全面的介紹,內容包括搜尋引擎的基本原理、網頁抓取技術、信息預處理技術、信息索引技術、信息查詢技術和多媒體信息檢索技術。另外,《搜尋引擎技術基礎》還對搜尋引擎開發技術進行了詳細的討論。
《搜尋引擎技術基礎》適合高等院校計算機科學與技術專業及相關專業的高年級學生和研究生閱讀參考,也適合相關領域的工程技術人員參閱。
作者簡介
劉奕群,2003年本科畢業於清華大學計算機系並免試推薦直接攻讀博士學位,2007年獲博士學位後留校任教至今,目前在清華大學計算機系教授“搜尋引擎技術基礎”與“搜尋引擎產品設計與實踐”等課程。主要從事與搜尋引擎技術相關的網際網路套用研究工作,包括網路信息檢索、網路用戶行為分析、網路產品性能評價等。發表相關領域學術論文40餘篇,申請專利7項,並與百度公司、搜狐公司、微軟亞洲研究院等單位開展多項搜尋引擎技術方面的合作研究。
馬少平,1982年本科畢業於清華大學計算機系,1984年獲清華大學計算機系碩士學位後留校任教,1991-1992年在日本學習,1997年獲清華大學計算機系博士學位,1998年晉升為教授,1999年聘為博士生導師。現任清華大學智慧型技術與系統國家重點實驗室主任、中國人工智慧學會常務理事、知識工程專業委員會副主任、中國中文信息學會理事、信息檢索與內容安全專業委員會副主任。主要從事智慧型信息處理方面的研究工作,包括漢字識別、文本信息檢索、圖像信息檢索、中文古籍的數位化與檢索等。
洪濤,1986年和1989年先後獲得北京大學計算機學士學位和心理學碩士學位,1995年在紐約州立布法羅大學計算機系取得博士學位。長期從事自然語言處理、搜尋引擎/信息檢索、網際網路廣告技術、數據挖掘、模式識別和金融數據分析建模等方面的研發工作。
圖書目錄
第1章 搜尋引擎概述
1.1 搜尋引擎的概念、原理及歷史與發展1
1.1.1 搜尋引擎的概念1
1.1.2 搜尋引擎的原理2
1.2 搜尋引擎的歷史與發展趨勢2
1.2.1 搜尋引擎的發展史3
1.2.2 搜尋引擎的發展趨勢7
1.3 搜尋引擎的分類9
1.3.1 全文搜尋引擎10
1.3.2 目錄索引搜尋引擎10
1.3.3 元搜尋引擎11
1.3.4 分散式搜尋引擎12
1.4 搜尋引擎的關鍵技術12
1.4.1 信息收集和存儲技術12
1.4.2 信息預處理技術12
1.4.3 信息索引技術13
1.5 主要搜尋引擎介紹14
1.5.1 谷歌搜尋14
1.5.2 雅虎搜尋17
1.5.3 百度搜尋19
1.5.4 北大天網搜尋22
1.6 小結24
思考題26
第2章 搜尋引擎基礎
2.1 搜尋引擎的體系結構27
2.1.1 搜尋器27
2.1.2 索引器29
2.1.3 檢索器30
2.1.4 用戶接口30
2.2 搜尋引擎的工作原理31
2.2.1 網頁蒐集31
2.2.2 網頁處理32
2.2.3 查詢服務34
2.3 搜尋引擎的數據結構35
2.3.1 存儲結構35
2.3.2 信息庫37
2.3.3 文本索引37
2.3.4 詞典38
2.3.5 採樣表38
2.3.6 前向索引38
2.3.7 後向索引39
2.4 元搜尋引擎39
2.4.1 元搜尋引擎的基本構成40
2.4.2 元搜尋引擎的分類41
2.4.3 常用元搜尋引擎介紹42
2.4.4 元搜尋引擎的特點45
2.4.5 主要技術指標46
2.5 個性化搜尋引擎47
2.5.1 系統模組及其功能48
2.5.2 個性化搜尋引擎的關鍵技術49
2.6 智慧型搜尋引擎50
2.6.1 智慧型搜尋引擎特徵50
2.6.2 智慧型搜尋引擎主要技術51
2.7 小結52
思考題54
第3章 網頁抓取技術
3.1 搜尋引擎爬蟲55
3.1.1 網路爬蟲工作原理55
3.1.2 開源網路爬蟲簡介56
3.1.3 網頁信息的抓取58
3.2 搜尋引擎爬蟲的關鍵技術60
3.2.1 網頁抓取優先策略60
3.2.2 深度優先策略61
3.2.3 廣度優先策略62
3.2.4 最佳優先策略63
3.2.5 不重複抓取策略64
3.2.6 網頁重訪策略67
3.2.7 網頁抓取提速策略68
3.2.8 Robots協定69
3.3 小結71
思考題72
第4章 網頁信息預處理技術
4.1 網頁信息結構化73
4.1.1 網頁結構化的目標73
4.1.2 建立DOM樹74
4.1.3 網頁內容的獲取76
4.2 文本處理77
4.2.1 詞法分析77
4.2.2 中文分詞技術78
4.2.3 無用詞刪除83
4.2.4 詞幹提取83
4.2.5 索引詞選擇91
4.2.6 詞典91
4.3 PageRank算法93
4.3.1 什麼是PageRank93
4.3.2 PageRank的算法94
4.3.3 PageRank的特性95
4.3.4 PageRank的疊代計算96
4.3.5 網頁級別的最佳化97
4.4 小結99
思考題100
第5章 信息索引技術
5.1 順排檢索101
5.1.1 表展開法101
5.1.2 邏輯樹展開法104
5.1.3 BF算法110
5.1.4 KMP算法111
5.1.5 BM算法113
5.2 倒排索引116
5.2.1 倒排索引116
5.2.2 倒排文檔117
5.2.3 逆波蘭表達式118
5.2.4 檢索指令表的生成120
5.2.5 檢索實施121
5.3 後綴數組索引122
5.3.1 後綴樹概念122
5.3.2 後綴樹原理122
5.3.3 後綴樹存儲124
5.3.4 後綴樹的構造124
5.3.5 後綴數組126
5.3.6 後綴數組生成算法127
5.4 文本壓縮技術128
5.4.1 基本概念128
5.4.2 統計方法128
5.4.3 字典方法134
5.4.4 倒排文檔壓縮139
5.5 小結142
思考題143
第6章 信息查詢與評價技術
6.1 檢索模型145
6.1.1 經典模型145
6.1.2 代數模型150
6.2 檢索方法153
6.2.1 布爾檢索153
6.2.2 加權檢索153
6.2.3 全文檢索155
6.2.4 超文本檢索158
6.3 查詢服務161
6.3.1 查詢器原理161
6.3.2 搜尋引擎檢索過程162
6.3.3 檢索結果排序165
6.3.4 自動摘要生成168
6.4 相關性171
6.4.1 相關性的特徵171
6.4.2 相關性類別172
6.4.3 相關性模型174
6.5 搜尋引擎評價指標177
6.5.1 有效性177
6.5.2 查全率和查準率177
6.5.3 其他評價指標179
6.6 小結180
思考題182
第7章 多媒體信息檢索技術
7.1 多媒體的基本概念183
7.1.1 多媒體及多媒體技術183
7.1.2 音頻信息與檢索特徵185
7.1.3 圖形圖像信息與檢索特徵188
7.1.4 視頻信息與檢索特徵190
7.1.5 多媒體信息檢索194
7.2 多媒體數據壓縮197
7.2.1 多媒體壓縮原理197
7.2.2 多媒體壓縮編碼199
7.3 多媒體內容的理解200
7.3.1 分割200
7.3.2 特徵提取與降維201
7.3.3 分類201
7.4 多媒體信息檢索的關鍵技術202
7.4.1 信息模型202
7.4.2 檢索技術202
7.4.3 查詢語言203
7.4.4 數據壓縮和恢復203
7.4.5 存儲管理203
7.4.6 同步技術204
7.5 小結204
思考題206
第8章 搭建基於Lucene的搜尋引擎
8.1 實例簡介207
8.1.1 搜尋引擎的體系結構208
8.1.2 網頁蒐集208
8.1.3 網頁預處理209
8.1.4 查詢服務210
8.2 環境搭建與配置210
8.2.1 JDK 1.6的安裝與配置212
8.2.2 Eclipse的安裝與配置214
8.2.3 Tomcat的安裝與配置221
8.2.4 Heritrix的安裝與配置223
8.3 網頁蒐集230
8.3.1 設定Heritrix抓取任務230
8.3.2 修改Heritrix原始碼236
8.3.3 抓取網頁239
8.4 網頁預處理241
8.4.1 原始網頁的處理242
8.4.2 建立簡單的索引259
8.4.3 為實例建立索引266
8.5 查詢服務269
8.5.1 結構設計269
8.5.2 查詢設計270
8.5.3 預搜尋設計275
8.5.4 頁面設計276
8.5.5 網頁快照實現283
8.5.6 部署到Tomcat284
8.6 小結286
實驗286
第9章 搭建基於Nutch的搜尋引擎
9.1 Nutch簡介287
9.1.1 爬蟲Crawler簡介287
9.1.2 Crawler工作流程288
9.2 環境搭建與配置289
9.2.1 開發工具簡介289
9.2.2 Tomcat的安裝與配置290
9.2.3 Cygwin的安裝與配置292
9.2.4 Nutch的安裝與配置294
9.2.5 將Nutch導入Eclipse294
9.3 Nutch的初始配置及運行296
9.3.1 修改Nutch基本配置296
9.3.2 配置Eclipse運行參數298
9.3.3 部署到Tomcat301
9.3.4 搜尋的實現302
9.4 開發自己的搜尋引擎平台304
9.4.1 添加中文分詞外掛程式304
9.4.2 網站抓取設定310
9.4.3 網頁快照設定311
9.4.4 查詢功能最佳化312
9.4.5 系統部署314
9.4.6 修改Nutch查詢界面314
9.5 結果與測試316
9.5.1 測試結果316
9.5.2 結果討論319
9.6 小結320
實驗320
參考文獻321