世界連在一起,搜尋引擎的核心秘密

張俊林 著、王偉任 審校

  • 出版商: 博碩文化
  • 出版日期: 2012-09-02
  • 定價: $360
  • 售價: 7.8$281
  • 語言: 繁體中文
  • 頁數: 352
  • ISBN: 9862016361
  • ISBN-13: 9789862016367
  • 相關分類: Machine Learning雲端運算
  • 無法訂購

買這商品的人也買了...

商品描述

<內容簡介>

搜尋引擎作為網際網路發展中非常重要的一種應用,已經成為網際網路各個領域中的制高點,其重要性不言而喻。搜尋引擎領域也是網際網路應用中以核心技術作為其主要命脈的領域,搜尋引擎各個子系統是如何設計的呢?這值得成為廣大技術人員和搜尋引擎機制優化人員密切關心的內容。

  本書的最大特點為內容新穎全面且通俗易懂。對於搜尋引擎所涉及的各種核心技術都有全面且詳細的介紹,除了作為搜尋系統核心的網路爬蟲、索引系統、排序系統、連結分析及使用者分析之外,還包括網頁反作弊、快取管理、相似網頁抄襲偵測…等技術於搜尋引擎必須關心的技術,同時使用相當大的篇幅講解雲端運算與雲端儲存的核心技術原理。此外,本書也密切注意搜尋引擎發展的前沿技術:Google咖啡因系統及Megastore等雲端運算新技術、百度的深層網頁抓取技術阿拉丁計畫、內容農場作弊、機器學習排序…等。諸多新技術在相關章節都有詳細的講解,同時對於社交搜尋、即時搜尋及情境搜尋…等搜尋引擎的未來發展方向進行探討。為了增進讀者對於相關技術的了解,在書中引入大量的圖片來講解演算法的運作原理,相信讀者會發現原來搜尋引擎的核心技術比原先想像的要簡單得多。

  本書適合對於搜尋引擎技術感興趣的所有使用者,尤其對於相關領域的學生以及對於搜尋引擎核心技術感到好奇的技術人員,並且對於從事搜尋引擎機制優化的相關人員及中小網站的站長…更具有參考價值。

<章節目錄>

第1章 搜尋引擎及其技術架構

1.1 搜尋引擎為何重要
1.1.1網際網路的發展
1.1.2 商業搜尋引擎公司的發展
1.1.3 搜尋引擎的重要地位
1.2 搜尋引擎技術發展史
1.2.1 史前時代: 分類目錄
1.2.2 第一代: 文字檢索
1.2.3 第二代: 連結分析
1.2.4 第三代: 使用者中心
1.3 搜尋引擎的3個目標
1.4 搜尋引擎的3個核心問題
1.4.1 3個核心問題
1.4.2 與技術發展的關係
1.5 搜尋引擎的技術架構

第2章 網路爬蟲

2.1 通用爬蟲架構
2.2 優秀爬蟲的特性
2.3 爬蟲品質的評估標準
2.4 抓取原則
2.4.1 橫向優先搜尋原則(Breath First Search)
2.4.2 非完全PageRank原則(Partial PageRank)
2.4.3 OCIP原則(Online Page Importance Computation)
2.4.4 大站優先原則(Larger Sites First)
2.5 網頁更新原則
2.5.1 歷史參考原則
2.5.2 使用者操作體驗原則
2.5.3 叢集抽樣原則
2.6 深層網頁抓取(Deep Web Crawling)
2.6.1 查詢組合問題
2.6.2 文字方塊填寫問題
2.7 分散式爬蟲
2.7.1 主從式分佈爬蟲(Master-Slave)
2.7.2 對等式分佈爬蟲(Peer to Peer)
本章概要
本章參考文獻

第3章 搜尋引擎索引

3.1 索引基礎
3.1.1 詞彙 — 文件矩陣
3.1.2 反向索引基本概念
3.1.3 反向索引簡單範例
3.2 詞彙詞典
3.2.1 雜湊連結清單
3.2.2 樹狀結構
3.3 反向列表(Posting List)
3.4 建立索引
3.4.1 記憶體資料二次掃描法(2-Pass In-Memory Inversion)
3.4.2 排序法(Sort-based Inversion)
3.4.3 合併法(Merge-based Inversion)
3.5 動態索引
3.6 索引更新原則
3.6.1 完全重建原則(Complete Re-Build)
3.6.2 再次合併原則(Re-Merge)
3.6.3 原地更新原則(In-Place)
3.6.4 混合原則(Hybrid)
3.7 查詢處理
3.7.1 每次一個文件(Doc at a Time)
3.7.2 每次一個詞彙(Term at a Time)
3.7.3 跳躍指標(Skip Pointers)
3.8 多欄位索引
3.8.1 多索引方式
3.8.2 反向清單方式
3.8.3 擴充清單方式(Extent List)
3.9 短語查詢
3.9.1 位置資訊索引(Position Index)
3.9.2 雙詞索引(Nextword Index)
3.9.3 短語索引(Phrase Index)
3.9.4 混合方法
3.10 分散式索引(Parallel Indexing)
3.10.1 文件分割(Document Partitioning)
3.10.2 詞彙分割(Term Partitioning)
3.10.3 二種解決方案的比較
本章概要
本章參考文獻

第4章 索引壓縮

4.1 詞彙壓縮
4.2 反向清單壓縮演算法
4.2.1 評估索引壓縮演算法的指標
4.2.2 一進制編碼與二進制編碼
4.2.3 Elias Gamma演算法與Elias Delta演算法
4.2.4 Golomb演算法與Rice演算法
4.2.5 可變位元組演算法(Variable Byte)
4.2.6 SimpleX 系列演算法
4.2.7 PForDelta演算法
4.3 文件編號重新排序(DocID Reordering)
4.4 靜態索引裁剪(Static Index Pruning)
4.4.1 以詞彙為中心的索引裁剪
4.4.2 以文件為中心的索引裁剪
本章概要
本章參考文獻

第5章 檢索模型與搜尋排序

5.1 布林模型(Boolean Model)
5.2 向量空間模型(Vector Space Model)
5.2.1 文件表示
5.2.2 相似性計算
5.2.3 特徵權重計算
5.3 機率檢索模型
5.3.1 機率排序原理
5.3.2 二進制獨立模型(Binary Independent Model)
5.3.3 BM25模型
5.3.4 BM25F模型
5.4 語言模型方法
5.5 機器學習排序(Learning to Rank)
5.5.1 機器學習排序的基本思考邏輯
5.5.2 單一文件法(PointWise Approach)
5.5.3 文件成對法(PairWise Approach)
5.5.4 文件列表法(ListWise Approach)
5.6 檢索品質評估標準
5.6.1 準確率與召回率(Precision、Recall)
5.6.2 P@10指標
5.6.3 MAP指標(Mean Average Precision)
本章概要
本章參考文獻

第6章 連結分析

6.1 Web圖
6.2 二個概念模型及演算法之間的關係
6.2.1 隨機遊走模型(Random Surfer Model)
6.2.2 子集合傳送模型
6.2.3 連結分析演算法之間的關係
6.3 PageRank演算法
6.3.1 從傳入連結數量到PageRank
6.3.2 PageRank計算
6.3.3 連結陷阱(Link Sink)與遠程移轉(Teleporting)
6.4 HITS演算法(Hypertext Induced Topic Selection)
6.4.1 Hub頁面與Authority頁面
6.4.2 互相增強關係
6.4.3 HITS演算法
6.4.4 HITS演算法存在的問題
6.4.5 HITS演算法與PageRank演算法比較
6.5 SALSA演算法
6.5.1 確定運算物件集合
6.5.2 連結關係傳送
6.5.3 Authority權值運算
6.6 主題敏感PageRank(Topic Sensitive PageRank)
6.6.1 敏感主題PageRank與一般PageRank的差異
6.6.2 敏感主題PageRank運算過程
6.6.3 利用敏感主題PageRank建立個人化搜尋
6.7 Hilltop演算法
6.7.1 Hilltop演算法的一些基本定義
6.7.2 Hilltop演算法
6.8 其他改良演算法
6.8.1 智慧遊走模型(Intelligent Surfer Model)
6.8.2 偏好遊走模型(Biased Surfer Model)
6.8.3 PHITS演算法(Probability Analogy of HITS)
6.8.4 BFS演算法(Backward Forward Step)
本章概要
本章參考文獻

第7章 雲端儲存與雲端運算

7.1 雲端儲存與雲端運算概述
7.1.1 基本假設
7.1.2 理論基礎
7.1.3 資料模型
7.1.4 基本問題
7.1.5 Google的雲端儲存與雲端運算架構
7.2 Google檔案系統(GFS)
7.2.1 GFS設計原則
7.2.2 GFS整體架構
7.2.3 GFS主要伺服器
7.2.4 系統互動行為
7.3 Chubby鎖定服務
7.4 BigTable
7.4.1 BigTable的資料模型
7.4.2 BigTable整體結構
7.4.3 BigTable的管理資料
7.4.4 主要伺服器(Master Server)
7.4.5 Tablet伺服器(Tablet Server)
7.5 Megastore系統
7.5.1 實體群組切割
7.5.2 資料模型
7.5.3 資料 讀/寫 與備份
7.6 Map/Reduce雲端運算模型
7.6.1 運算模型
7.6.2 整體邏輯流程
7.6.3 應用範例
7.7 咖啡因系統 — Percolator
7.7.1 任務支援
7.7.2 觀察/通知 結構
7.8 Pregel圖形運算模型
7.9 Dynomo雲端儲存系統
7.9.1 資料劃分演算法(Partitioning Algorithm)
7.9.2 資料備份(Replication)
7.9.3 資料 讀/寫
7.9.4 資料版本控制
7.10 PNUTS雲端儲存系統
7.10.1 PNUTS整體架構
7.10.2 儲存單元
7.10.3 Tablet控制器與資料路由器
7.10.4 Yahoo Message Broker
7.10.5 資料一致性
7.11 HayStack儲存系統
7.11.1 HayStack整體架構
7.11.2 目錄服務
7.11.3 HayStack快取
7.11.4 HayStack儲存系統
本章概要
本章參考文獻

第8章 網頁反作弊機制

8.1 內容作弊
8.1.1 常見的內容作弊機制
8.1.2 內容農場(Content Farm)
8.2 連結作弊
8.3 頁面隱藏作弊
8.4 Web 2.0作弊方法
8.5 反作弊技術的整體思考邏輯
8.5.1 信任傳送模型
8.5.2 不信任傳送模型
8.5.3 異常發現模型
8.6 通用連結反作弊方法
8.6.1 TrustRank演算法
8.6.2 BadRank演算法
8.6.3 SpamRank
8.7 專用連結反作弊技術
8.7.1 辨別連結農場
8.7.2 辨別Google轟炸
8.8 辨別內容作弊
8.9 反隱藏作弊
8.9.1 辨別頁面隱藏
8.9.2 辨別網頁重新導向
8.10 搜尋引擎反作弊綜合框架
本章概要
本章參考文獻

第9章 使用者查詢意圖分析

9.1 搜尋行為及其意圖
9.1.1 使用者搜尋行為
9.1.2 使用者搜尋意圖分類
9.2 搜尋日誌挖掘
9.2.1 查詢會話(Query Session)
9.2.2 點擊圖(Click Graph)
9.2.3 查詢圖(Query Graph)
9.3 相關搜尋
9.3.1 針對查詢會話的方法
9.3.2 針對點擊圖的方法
9.4 查詢糾正錯誤
9.4.1 編輯距離(Edit Distance)
9.4.2 雜訊通道模型(Noise Channel Model)
本章概要
本章參考文獻

第10章 重複網頁刪除

10.1 通用重複網頁刪除演算法框架
10.2 Shingling演算法
10.3 I-Match演算法
10.4 SimHash演算法
10.4.1 文件指紋運算
10.4.2 相似文件尋找
10.5 SpotSig演算法
10.5.1 特徵抽取
10.5.2 相似文件尋找
本章概要
本章參考文獻

第11章 搜尋引擎快取機制

11.1 搜尋引擎快取系統架構
11.2 快取對象
11.3 快取結構
11.4 快取淘汰原則(Evict Policy)
11.4.1 動態原則
11.4.2 混合原則
11.5 快取更新原則(Refresh Policy)
本章概要
本章參考文獻

第12章 搜尋引擎發展趨勢

12.1 個人化搜尋
12.2 社交搜尋
12.3 即時搜尋
12.4 移動搜尋
12.5 地理位置感知搜尋
12.6 跨語言搜尋
12.7 多媒體搜尋
12.8 情境搜尋