內容簡介
本書系統介紹了網際網路搜尋引擎的工作原理、實現技術及系統構建方案。全書分三篇共13章。上篇介紹搜尋引擎的基本原理和技術,講述一個小型簡單搜尋引擎實現的具體細節;中篇詳細討論了大規模分散式搜尋引擎系統的設計要點及其關鍵技術;下篇結合“中國Web信息博物館”和“中國網際網路數字資源財富庫藏”的實踐經驗,介紹了構建大規模Web歷史網頁和非網頁倉儲系統的技術和方法,以及中文網頁的自動分類與聚類、開放域問題系統的構建等。
本書層次分明,由淺入深,上篇和中篇涉及內容提供了原始碼下載地址;既有深入的理論分析,也有大量的實驗數據和程式,具有學習和實用雙重意義。
本書可作為高等院校計算機科學與技術、軟體工程、信息管理與信息系統、電子商務等專業的研究生或高年級本科生的教學參考書和技術資料;對廣大從事網路技術、Web站點管理、數字圖書館、Web挖掘等研究和套用開發的科技人員有很高的參考價值;書中提供了大量原始碼,除了用於構建搜尋引擎之外,對於學習編程,提高編程技巧,以及實現一個大規模套用開發也有一定的參考價值。
目錄
第二版前言
第一版前言
第一章 引論
第一節 搜尋引擎的概念
第二節 搜尋引擎的發展歷史
第三節 一些著名的搜尋引擎
第四節 小結
上篇 Web搜尋引擎基本原理和技術
第二章 Web搜尋引擎工作原理和體系結構
第一節 基本要求
第二節 網頁蒐集
第三節 預處理
第四節 查詢服務
第五節 體系結構
第六節 小結
第三章 Web信息的蒐集
第一節 概述
一、超文本傳輸協定
二、一個小型搜尋引擎系統
第二節 網頁蒐集
一、定義URL類和Page類
二、與伺服器建立連線
三、傳送請求和接收數據
四、網頁信息存儲的天格線式
第三節 多道蒐集程式並行工作
一、多執行緒並發工作
二、控制對一個站點並發蒐集執行緒的數目
第四節 如何避免網頁的重複蒐集
一、記錄未訪問、已訪問URL和網頁內容摘要信息
二、域名與IP的對應問題
第五節 蒐集信息的類型
第六節 小結
第四章 對蒐集信息的預處理
第一節 索引網頁庫
第二節 網頁編碼識別
一、基本而重要的概念
二、常用字元編碼
三、常用字元編碼算法
四、字元的輸入和顯示
五、編碼識別
第三節 中文自動分詞
第四節 分析網頁和建立倒排檔案
第五節 小結
第五章 信息查詢服務
第一節 檢索的定義
第二節 查詢服務的實現
一、結果集合的形成
二、查詢結果顯示
第三節 小結
中篇 對質量和性能的追求
第六章 可擴展蒐集子系統
第一節 天網系統概述和集中式蒐集系統結構
一、天網系統結構
二、集中式蒐集系統
第二節 利用並行處理技術高效蒐集網頁的一種方案
一、節點間URL的劃分策略
二、關於性能的討論
三、性能測試和評價
四、系統的動態可配置性設計
第三節 天網分散式蒐集系統
第四節 對Deep Web的認識
一、Deep Web的成因
二、搜尋Deep Web的方法
第五節 小結
第七章 網頁淨化與消重
第一節 網頁淨化與元數據提取
一、DocView模型
二、網頁的表示
三、提取DocView模型要素的方法
四、模型套用及實驗研究
第二節 網頁消重算法
一、消重算法
二、算法評測
第三節 小結
第八章 高性能檢索子系統
第一節 檢索系統基本技術
一、系統設計與結構
二、索引創建
三、檢索過程
第二節 適於查詢的網頁索引結構
一、倒排索引結構
二、平面位置索引
第三節 倒排索引壓縮
一、倒排索引壓縮技術
二、詞典與倒排表的壓縮
第四節 索引剪枝
一、靜態索引剪枝方法
二、動態索引剪枝方法
第五節 混合索引技術
一、混合索引的原理
二、混合索引的實現
第六節 倒排檔案快取機制
一、倒排檔案快取
二、負載特性
三、快取策略的選擇
第七節 小結
第九章 相關排序與系統質量評估
第一節 傳統IR的相關排序技術
第二節 連結分析與相關排序
一、連結分析
二、Web查詢模式下的新信息
第三節 相關排序的一種實現方案
一、形成網頁中詞項的基本權重
二、利用連結的結構
三、收集用戶反饋信息
四、計算最終的權重
第四節 信息檢索技術評估
一、信息檢索技術評估指標
二、TREC和CWIRF信息檢索評估
三、搜尋引擎技術評估
第五節 小結
下篇 Web信息資源的組織與套用服務
第十章 大規模Web歷史網頁倉儲系統的構建
第一節 國外Web歷史網頁保存現狀
一、Internet Archive
二、PANDORA
三、其他相關Web保存項目
第二節 中國Web信息博物館的系統設計
一、Web InfoMall的設計目標
二、Web InfoMall的體系結構
第三節 歷史網頁的存儲
一、數據的組織
二、存儲結構
三、數據管理與壓縮
四、存儲性能
第四節 數據訪問
一、PageID的索引
二、URL的索引
三、數據服務
四、性能與最佳化
第五節 網頁的格式保存
第六節 小結
第十一章 大規模Web非網頁信息倉儲系統的構建
第一節 網路資源庫藏相關工作
一、Ibiblio
二、Internet Archive
三、Wikimedia
四、中國網際網路數字資源財富庫藏
第二節 CDAL系統概況
第三節 CDAL系統設計
一、系統體系結構
二、可擴展的存儲組織方案
第四節 網路資源描述信息獲取
一、Ontology概述
二、描述信息獲取機制
三、改進查詢的方法
四、改進排序的方法
第五節 基於局部聚類思想的共現辭彙算法
一、基本定義
二、FDC共現辭彙算法
第六節 小結
第十二章 中文網頁自動分類與聚類
第一節 文檔自動分類算法的類型
第二節 實現中文網頁自動分類的一般過程
第三節 影響分類器性能的關鍵因素分析
一、實驗設定
二、訓練樣本
三、特徵選取
四、分類算法
五、截尾算法
六、中文網頁分類器的設計方案
第四節 天網目錄導航服務
一、問題的提出
二、天網目錄導航服務的體系結構
三、天網目錄的運行實例
第五節 文本聚類方法
一、文本聚類的一般過程
二、文本間相似性的度量
三、常用聚類算法
四、聚類結果的評估
五、搜尋引擎返回結果的聚類
第六節 小結
第十三章 開放域問答系統
第一節 概述
一、問答系統的歷史
二、著名開放域問答系統介紹
三、開放域問答系統的通用體系結構
第二節 問句的分析
一、問句中的指代消解
二、問句分類
三、問句主題提取
第三節 文檔和段落檢索
一、檢索模型的選用
二、查詢生成
三、查詢結果排序
四、增強索引的功能
第四節 答案提取和驗證模組
一、生成候選答案集合
二、答案提取
第五節 問答系統的改進方法
一、問答系統中外部資源的利用
二、尋找特殊類問題的解決方案
三、通過系綜方法構建問答系統
第六節 問答系統的評測
一、TREC問答系統評測
二、問答系統評測指標
第七節 實例:天網開放域問答系統
第八節 小結
參考文獻
附錄 術語
圖目錄
圖1-1 2012年3月在Google上檢索“伊拉克戰爭”的結果
圖1-2 2012年3月在Open Directory上檢索“伊拉克戰爭”的結果
圖2-1 搜尋引擎示意圖
圖2-2 搜尋引擎三段式工作流程
圖2-3 搜尋引擎的體系結構
圖3-1 TSE搜尋引擎界面
圖3-2 TSE查詢結果頁面
圖3-3 TSE網頁快照頁面
圖3-4 TSE系統結構
圖3-5 Web信息的蒐集
圖3-6 Sockets和連線埠
圖3-7 通過Socket建立連線
圖4-1 網頁預處理系統結構
圖4-2 原始網頁庫中的記錄格式
圖4-3 索引網頁庫算法
圖4-4 字元的輸入和顯示流程
圖4-5 GB2312,Big5和GBK字元編碼分布
圖4-6 正向減字最大匹配算法流程
圖4-7 切詞算法流程
圖4-8 分析網頁與建立倒排檔案流程
圖4-9 過濾網頁中非正文信息算法
圖4-10 正向索引表記錄格式
圖4-11 由正向索引建立反向索引
圖5-1 信息查詢的系統結構
圖5-2 基本檢索算法
圖5-3 動態摘要算法
圖5-4 用戶查詢日誌的記錄格式
圖6-1 天網系統概貌
圖6-2 蒐集系統的主控結構
圖6-3 協調進程工作算法
圖6-4 分散式Web蒐集系統結構
圖6-5 負載方差
圖6-6 並行蒐集系統與集中式蒐集系統的性能對比
圖6-7 分散式系統效率
圖6-8 URL兩階段映射
圖6-9 天網分散式蒐集系統P_Arthur體系結構
圖6-10 人才招聘網站首頁
圖7-1 用DocView模型提取的網頁要素
圖7-2 淨化後的網頁
圖7-3 HTML Tree結構
圖7-4 內容塊權值傳遞過程
圖7-5 有主題網頁DocView模型生成過程
圖7-6 計算網頁特徵項權值的算法
圖7-7 正文段落識別過程
圖7-8 基於anchor text的超鏈選取算法
圖7-9 網頁淨化前後分類效果對比
圖7-10 查全率隨選取關鍵字個數的變化
圖8-1 檢索系統集成框架結構
圖8-2 天網WWW檢索分散式系統構架
圖8-3 倒排索引結構示意圖
圖8-4 按塊組織的倒排鏈的結構
圖8-5 位置索引的結構
圖8-6 CLPS結構示意圖
圖8-7 倒排鏈中文檔號之間的d-gaps分布圖
圖8-8 不同文檔號分配下平均每個查詢對應文檔號序列的壓縮大小
圖8-9 不同壓縮算法對文檔號的解壓速度
圖8-10 不同文檔號分配下平均每個查詢對應詞頻序列的壓縮大小
圖8-11 不同壓縮算法對詞頻的解壓速度
圖8-12 平均每個查詢對應的位置信息需要的存儲空間
圖8-13 索引剪枝方法的分類
圖8-14 MAXSCORE算法的示例
圖8-15 WAND算法選擇候選文檔的過程
圖8-16 基於最大塊索引的支點文檔號的選擇示例
圖8-17 Interval-Base剪枝方法中文檔子區間劃分的示例
圖8-18 SAAT方法處理查詢處理模式及分數累加器數量的變化
圖8-19 當前支持高效SR+IR剪枝的索引結構
圖8-20 擴展詞典樹結構示例
圖8-21 擴展詞典匹配查找算法
圖8-22 搜尋引擎檢索系統快取結構
圖8-23 文檔數據訪問對象大小分布
圖8-24 I/O與PAGE序列序號-頻度分布
圖8-25 I/O與PAGE序列時間間隔分布
圖8-26 I/O和PAGE序列中唯一模式串
圖9-1 Inktomi提供的幾種搜尋引擎技術的比較
圖9-2 詞典在系統中的地位
圖9-3 新詞學習
圖9-4 網頁的互聯結構示意
圖9-5 信息獲取技術評估的“森林”
圖9-6 查準率和召回率基礎定義圖示
圖9-7 查準率和召回率例子
圖9-8 “省事的”11點標準召回率例子
圖9-9 實踐中召回率例子
圖9-10 實際中的44個查詢詞的評價統計表和P-R圖
圖9-11 測試集在檢索評估中的角色
圖9-12 幫助判斷相關結果頁面的計算機輔助程式入口
圖9-13 幫助判斷相關結果頁面的計算機輔助程式操作界面
圖10-1 Web InfoMall體系結構
圖10-2 網頁數據的分割
圖10-3 Web InfoMall的存儲結構
圖10-4 網頁的引用壓縮示意圖
圖11-1 CDAL提供的資源訪問方式
圖11-2 CDAL系統結構圖
圖11-3 基於Ontology的網路資源描述信息獲取
圖11-4 概念的屬性及其辭彙擴展(以電影類資源為例)
圖11-5 獲得描述信息的改進排序算法
圖11-6 網路資源描述信息展示
圖12-1 自動文檔分類算法的分類
圖12-2 中文網頁自動分類的一般過程
圖12-3 中文網頁分類器的工作原理圖
圖12-4 WebSmart——一個網頁實例集蒐集和整理工具
圖12-5 一種中文網頁的分類體系
圖12-6 Macro-F值隨樣本數的變化
圖12-7 Micro-F值隨樣本數的變化
圖12-8 CHI、IG、DF、MI的比較(Macro-F)
圖12-9 CHI、IG、DF、MI的比較(Micro-F)
圖12-10 kNN與NB分類結果的比較
圖12-11 k的取值對分類器質量的影響(Marco-F)
圖12-12 k的取值對分類器質量的影響(Micro-F)
圖12-13 蘭式距離法與歐式距離法對12個不同類別的分類情況
圖12-14 基於層次模型的kNN與基本kNN的比較
圖12-15 RCut和SCut截尾算法的比較
圖12-16 天網目錄的體系結構
圖12-17 天網目錄導航服務
圖12-18 文本聚類的一般過程
圖12-19 層次聚類實例
圖12-20 k-均值算法進行文本聚類的過程
圖12-21 搜尋結果聚類系統Carrot2
圖13-1 START系統界面
圖13-2 Ask Jeeves查詢結果
圖13-3 問答系統的通用體系結構
圖13-4 天網開放域系統的體系結構
表目錄
表4-1 網頁索引檔案
表4-2 URL索引檔案
表6-1 SOIF數據描述
表6-2 SOIF具體語法
表6-3 參照序列,假設節點數為2
表7-1 類別編號對照表
表7-2 消重實驗結果
表7-3 當N=10、δ=0.01時5種算法的查全率和準確率
表7-4 考察δ的取值對算法3和4的影響
表7-5 分段簽名算法的時間複雜度及性能
表7-6 基於關鍵字的各算法的時間複雜度及性能(N=10,δ=0.01)
表8-1 MTF對序列<4,4,1,4,2>進行轉換的過程
表8-2 對包含100萬詞條的詞典使用不同編碼所需要的空間
表8-3 平均每個查詢對應詞頻鏈的空間大小(文檔號按URL序分配)
表8-4 不同索引的組織結構及其支持的查詢處理方式
表8-5 數據集基本統計信息
表9-1 新詞學習對檢索準確率的影響
表9-2 影響權值的HTML標籤
表9-3 補償因子定義表
表9-4 2004中文Web信息檢索評測提交結果
表9-5 主題提取
表9-6 導航搜尋
表9-7 用戶查詢信息類別
表10-1 網頁存儲性能(個/秒)
表10-2 網頁訪問性能(個/秒)
表11-1 幾個網路資源庫藏系統的特徵
表11-2 CDAL中的資源分布
表12-1 樣本集中類別及實例數量的分布情況表
表12-2 kNN和NB算法的分類質量和分類效率比較
表12-3 歐式距離與蘭式距離的比較
表12-4 基於層次模型的kNN與基本kNN的比較
表12-5 RCut和SCut截尾算法的比較
表12-6 一個分類器的設計方案
表13-1 問題分類體系結構及TREC問答任務中問題的分布
表13-2 天網開放域系統在TREC2005中的表現