1 什么是智能Web? 1
1.1 智能Web應用實例 3
1.2 智能應用的基本要素 4
1.3 什么應用會受益于智能? 5
1.3.1 社交網絡 6
1.3.2 Mashup 7
1.3.3 門戶網站 8
1.3.4 維基 9
1.3.5 文件分享網站 9
1.3.6 網絡游戲 11
1.4 如何構建智能應用? 11
1.4.1 檢查功能和數(shù)據 12
1.4.2 獲取更多的數(shù)據 12
1.5 機器學習、數(shù)據挖掘及其他 16
1.6 智能應用中八個常見的誤區(qū) 17
1.6.1 誤區(qū)1:數(shù)據是可靠的 18
1.6.2 誤區(qū)2:計算能馬上完成 19
1.6.3 誤區(qū)3:不用考慮數(shù)據規(guī)模 19
1.6.4 誤區(qū)4:不考慮解決方案的可擴展性 19
1.6.5 誤區(qū)5:隨處使用同樣的方法 19
1.6.6 誤區(qū)6:總是能知道計算時間 20
1.6.7 誤區(qū)7:復雜的模型更好 20
1.6.8 誤區(qū)8:存在無偏見的模型 20
1.7 小結 20
1.8 參考資料 21
2 搜索 22
2.1 用Lucene實現(xiàn)搜索 23
2.1.1 理解Lucene代碼 24
2.1.2 搜索的基本步驟 31
2.2 為什么搜索不僅僅是索引? 33
2.3 用鏈接分析改進搜索結果 35
2.3.1 PageRank簡介 35
2.3.2 計算PageRank向量 37
2.3.3 alpha:網頁間跳轉的影響 38
2.3.4 理解冪方法 40
2.3.5 結合索引分值和PageRank分值 45
2.4 根據用戶點擊改進搜索結果 47
2.4.1 用戶點擊初探 48
2.4.2 樸素貝葉斯分類器的使用 50
2.4.3 整合Lucene索引、PageRank和用戶點擊 54
2.5 Word、PDF等無鏈接文檔的排序 58
2.5.1 DocRank算法簡介 58
2.5.2 DocRank的原理 60
2.6 大規(guī)模實現(xiàn)的有關問題 65
2.7 用戶得到了想要的結果嗎?精確度和查全率 67
2.8 總結 69
2.9 To Do 70
2.10 參考資料 72
3 推薦系統(tǒng) 73
3.1 一個在線音樂商店:基本概念 74
3.1.1 距離與相似度的概念 75
3.1.2 走近相似度的計算 80
3.1.3 什么才是最好的相似度計算公式? 83
3.2 推薦引擎是怎么工作的 84
3.2.1 基于相似用戶的推薦 85
3.2.2 基于相似條目的推薦 94
3.2.3 基于內容的推薦 98
3.3 推薦朋友、文章與新聞報道 104
3.3.1 MyDiggSpace.com簡介 105
3.3.2 發(fā)現(xiàn)朋友 106
3.3.3 DiggDelphi的內部工作機制 108
3.4 像Netflix.com那樣推薦電影 114
3.4.1 電影數(shù)據集的介紹及推薦器 114
3.4.2 數(shù)據標準化與相關系數(shù) 117
3.5 大規(guī)模的實現(xiàn)與評估 123
3.6 總結 124
3.7 To Do 125
3.8 參考資料 127
4 聚類:事物的分組 128
4.1 聚類的需求 129
4.1.1 網站中的用戶組:案例研究 129
4.1.2 用SQL order by子句分組 131
4.1.3 用數(shù)組排序分組 132
4.2 聚類算法概述 135
4.2.1 基于分組結構的聚類算法分類 136
4.2.2 基于數(shù)據類型和結構的聚類算法分類 137
4.2.3 根據數(shù)據規(guī)模的聚類算法分類 137
4.3 基于鏈接的算法 138
4.3.1 樹狀圖:基本的聚類數(shù)據結構 139
4.3.2 基于鏈接的算法概況 141
4.3.3 單鏈接算法 142
4.3.4 平均鏈接算法 144
4.3.5 最小生成樹算法 147
4.4 k-means算法 149
4.4.1 初識k-means算法 150
4.4.2 k-means的內部原理 151
4.5 魯棒的鏈接型聚類(ROCK) 153
4.5.1 ROCK簡介 154
4.5.2 為什么ROCK這么強大? 154
4.6 DBSCAN 159
4.6.1 基于密度的算法簡介 159
4.6.2 DBSCAN的原理 162
4.7 超大規(guī)模數(shù)據聚類 165
4.7.1 計算復雜性 166
4.7.2 高維度 167
4.8 總結 168
4.9 To Do 169
4.10 參考資料 171
5 分類:把事物放到它該在的地方 172
5.1 對分類的需求 173
5.2 分類器的概述 177
5.2.1 結構分類算法 178
5.2.2 統(tǒng)計分類算法 180
5.2.3 分類器的生命周期 181
5.3 郵件的自動歸類與垃圾郵件過濾 182
5.3.1 樸素貝葉斯分類 184
5.3.2 基于規(guī)則的分類 197
5.4 用神經網絡做欺詐檢測 210
5.4.1 交易數(shù)據中關于欺詐檢測的一個用例 210
5.4.2 神經網絡概覽 212
5.4.3 一個可用的神經網絡欺詐檢測器 214
5.4.4 神經網絡欺詐檢測器剖析 218
5.4.5 創(chuàng)建通用神經網絡的基類 226
5.5 你的結果可信嗎? 232
5.6 大數(shù)據集的分類 235
5.7 總結 237
5.8 To Do 239
5.9 參考資料 242
6 分類器組合 244
6.1 信貸價值:分類器組合案例研究 246
6.1.1 數(shù)據的簡要說明 247
6.1.2 為真實問題生成人工數(shù)據 250
6.2 用單分類器做信用評估 255
6.2.1 樸素貝葉斯的基準線 255
6.2.2 決策樹基準線 258
6.2.3 神經網絡基線 260
6.3 在同一個數(shù)據集中比較多個分類器 263
6.3.1 McNemar檢驗 264
6.3.2 差額比例檢驗 266
6.3.3 Cochran Q檢驗與F檢驗 268
6.4 Bagging: bootstrap聚合(bootstrapaggregating) 270
6.4.1 bagging實例 272
6.4.2 bagging分類器底層細節(jié) 274
6.4.3 分類器集成 276
6.5 Boosting:一種迭代提高的方法 279
6.5.1 boosting分類器實例 280
6.5.2 boosting分類器底層細節(jié) 282
6.6 總結 286
6.7 To Do 288
6.8 參考資料 292
7 智能技術大匯集:一個智能新聞門戶 293
7.1 功能概覽 295
7.2 獲取并清洗內容 296
7.2.1 各就位、預備、開抓! 296
7.2.2 搜索預備知識回顧 298
7.2.3 一個抓取并處理好的新聞數(shù)據集 299
7.3 搜索新聞 301
7.4 分配新聞類別 304
7.4.1 順序問題 304
7.4.2 使用NewsProcessor類進行分類 309
7.4.3 分類器 310
7.4.4 分類策略:超越底層的分類 313
7.5 用NewsProcessor類創(chuàng)建新聞分組 316
7.5.1 聚類全部文章 317
7.5.2 在一個新聞類別中聚類文章 321
7.6 基于用戶評分的動態(tài)內容展示 325
7.7 總結 328
7.8 To Do 329
7.9 參考資料 333
附錄A BeanShell簡介 334
A.1 什么是BeanShell? 334
A.2 為什么使用BeanShell? 335
A.3 運行BeanShell 335
A.4 參考資料 336
附錄B 網絡采集 337
B.1 爬蟲組件概況 337
B.1.1 采集的步驟 338
B.1.2 我們的簡單爬蟲 338
B.1.3 開源Web爬蟲 339
B.2 參考資料 340
附錄C 數(shù)學知識回顧 341
C.1 向量和矩陣 341
C.2 距離的度量 342
C.3 高級矩陣方法 344
C.4 參考資料 344
附錄D 自然語言處理 345
D.1 參考資料 347
附錄E 神經網絡 348
E.1 參考資料 349
索引 350