作者:張俊林/著,王偉任/審校
出版社:博碩
出版日期:2012年09月03日
語言:繁體中文 ISBN:9789862016367
書號:PG21228
定價:360元 75折價:270元
有看部落格的才有此優惠喔
也可到露天購買http://goods.ruten.com.tw/item/show?21209082007191
內容簡介
搜尋引擎作為網際網路發展中非常重要的一種應用,已經成為網際網路各個領域中的制高點,其重要性不言而喻。搜尋引擎領域也是網際網路應用中以核心技術作為其主要命脈的領域,搜尋引擎各個子系統是如何設計的呢?這值得成為廣大技術人員和搜尋引擎機制優化人員密切關心的內容。
本書的最大特點為內容新穎全面且通俗易懂。對於搜尋引擎所涉及的各種核心技術都有全面且詳細的介紹,除了作為搜尋系統核心的網路爬蟲、索引系統、排序系統、連結分析及使用者分析之外,還包括網頁反作弊、快取管理、相似網頁抄襲偵測…等技術於搜尋引擎必須關心的技術,同時使用相當大的篇幅講解雲端運算與雲端儲存的核心技術原理。此外,本書也密切注意搜尋引擎發展的前沿技術:Google咖啡因系統及Megastore等雲端運算新技術、百度的深層網頁抓取技術阿拉丁計畫、內容農場作弊、機器學習排序…等。諸多新技術在相關章節都有詳細的講解,同時對於社交搜尋、即時搜尋及情境搜尋…等搜尋引擎的未來發展方向進行探討。為了增進讀者對於相關技術的了解,在書中引入大量的圖片來講解演算法的運作原理,相信讀者會發現原來搜尋引擎的核心技術比原先想像的要簡單得多。
本書適合對於搜尋引擎技術感興趣的所有使用者,尤其對於相關領域的學生以及對於搜尋引擎核心技術感到好奇的技術人員,並且對於從事搜尋引擎機制優化的相關人員及中小網站的站長…更具有參考價值。
誰適合閱讀這本書
如果您是下列人員之一,那麼本書便非常適合您閱讀。
1. 對於搜尋引擎核心演算法有興趣的技術人員
.搜尋引擎的整體架構為何?包含哪些核心技術?
.網路爬蟲的基本架構為何?常見的網頁爬取原則策略?何謂深層網頁爬取?如何建構分散式爬蟲?百度的阿拉丁計畫內容為何?
.何謂反向索引?如何針對反向索引進行資料壓縮?
.搜尋引擎如何對搜尋結果排序?
.何謂向量空間模型?概率模型?BM25模型?機器學習排序?它們之間有何差異?
.PageRank和HITS演算法為何關係?有何差異?SALSA演算法?Hilltop演算法?各種連結分析演算法之間有何關係?
.如何辨識使用者搜尋的真正搜尋意圖?使用者搜尋目的可以分為幾類?何謂點擊圖?何謂查詢會話?相關搜尋機制是如何達成的?
.為什麼要對網頁進行重複內容刪除機制?如何對網頁進行重複內容去除?哪種演算法效果比較好?
.搜尋引擎快取有幾層結構?核心原則為何?
.何謂情境搜尋?社交搜尋?即時搜尋?
.搜尋引擎機制有哪些發展趨勢?
如果您對其中三個以上的議題感到興趣,那麼本書就是為您而寫的。
2. 對於雲端運算與雲端儲存技術有興趣的技術人員
.何謂CAP原理?ACID原理?它們之間有什麼差異?
.Google的整套雲端運算架構中包含哪些技術?Hadoop和Google的雲端運算架構有什麼關係?
.Google的三駕馬車GFS、BigTable、MapReduce各自代表什麼含義?其關係為何?
.Google的咖啡因系統其基本原理為何?
.Google的Pregel運算模型和MapReduce運算模型有什麼區別?
.Google的Megastore雲端儲存系統和BigTable關係為何?
.Amazon的Dynamo系統為何?
.Yahoo的PNUTS系統為何?
.Facebook的Haystack儲存系統適合應用於什麼場合上?
如果您對上述問題感興趣,相信可以從書中找到答案。
3. 從事搜尋引擎優化的網路行銷人員及中小網站站長
.搜尋引擎的反作弊策略為何?如何在進行優化時避免被誤認為是作弊行為?
.搜尋引擎如何對搜尋結果進行排序?連結分析和內容排序關係為何?
.何謂內容農場?連結農場?它們之間的關係為何?
.何謂Web2.0作弊?有哪些常見手法?
.何謂SpamRank?TrustRank?BadRank?它們之間的關係為何?
.咖啡因系統對於網頁排名有何影響?
最近有一些電子商務網站針對搜尋引擎進行優化,但是結果卻是被Google 認為是搜尋引擎毒化 (Blackhat SEO) 因此反而導致搜尋排名下降,如何避免發生這種情況? 從事相關行業的行銷人員和網站站長都應該深入瞭解搜尋引擎反作弊的基本策略和方法,甚至是網頁排名演算法等搜尋引擎核心技術。SEO 技術說穿了其實很簡單,雖然不斷發生變化,但是很多原理其實都相似,萬變不離其宗,深入瞭解搜尋引擎相關技術原理將增加您的競爭優勢。
作者簡介
張俊林
本科畢業於天津大學管理學院,2004年於中國中科院軟體所直接獲得博士學位並留所從事科研工作,研究方向為搜尋引擎與自然語言處理。曾多次參加美國國防部DARPA項目舉辦的訊息檢索評測會議TREC「高精度檢索」任務。
在TREC2004獲得高精度檢索系統評側總成績第一名(包括微軟劍橋研究院、UIC等17個國際高水平訊息檢索科研隊伍參加此項評測),並在包括ACL、COLING、JICNLP等多種高水平國際會議與國內期刊發表20多篇學術論文。
2005年在CSDN博客發佈系列博文《搜尋引擎設計實用教程:以百度為例》,在網路上獲得了廣泛轉載與良好口碑。2006年作為聯合創始人建立了智能訊息聚合網站「玩聚網」,曾先後於阿里巴巴搜尋技術中心擔任資深搜尋技術研究員、房價網頁首席研究員,現任職於新浪微博,從事微博搜尋與語意分析及推薦方面的研發工作。
章節目錄
第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 情境搜尋
留言列表