前言 .............. XV
緻謝 ............. XIX
關於本書 ...... XXI
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 檢查功能和數據 ................................... 12
1.4.2 獲取更多的數據 ................................... 12
1.5 機器學習、數據挖掘及其他 ........................... 16
1.6 智能應用中八個常見的誤區 ........................... 17
1.6.1 誤區1:數據是可靠的 ........................ 18
1.6.2 誤區2:計算能馬上完成 .................... 19
1.6.3 誤區3:不用考慮數據規模 ................ 19
1.6.4 誤區4:不考慮解決方案的可擴展性 19
1.6.5 誤區5:隨處使用同樣的方法 ............ 19
1.6.6 誤區6:總是能知道計算時間 ............ 20
1.6.7 誤區7:復雜的模型更好 .................... 20
1.6.8 誤區8:存在無偏見的模型 ................ 20
1.7 小結 ................... 20
1.8 參考資料 ........... 21
2 搜索.......... 22
2.1 用Lucene 實現搜索 ......................................... 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 大規模實現的有關問題 ................................... 65
2.7 用戶得到瞭想要的結果嗎?精確度和查全率 ............................................... 67
2.8 總結 ................... 69
2.9 To Do ................. 70
2.10 參考資料 ......... 72
3 推薦係統 .. 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 發現朋友 ............................................. 106
3.3.3 DiggDelphi 的內部工作機製 ............. 108
3.4 像Netflix.com 那樣推薦電影 ........................ 114
3.4.1 電影數據集的介紹及推薦器 ............. 114
3.4.2 數據標準化與相關係數 ..................... 117
3.5 大規模的實現與評估 ..................................... 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 用數組排序分組 ................................. 132
4.2 聚類算法概述 . 135
4.2.1 基於分組結構的聚類算法分類 ......... 136
4.2.2 基於數據類型和結構的聚類算法分類 ............................................. 137
4.2.3 根據數據規模的聚類算法分類 ......... 137
4.3 基於鏈接的算法 ............................................. 138
4.3.1 樹狀圖:基本的聚類數據結構 ......... 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 超大規模數據聚類 ......................................... 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 統計分類算法 ..................................... 180
5.2.3 分類器的生命周期 ............................. 181
5.3 郵件的自動歸類與垃圾郵件過濾 ................. 182
5.3.1 樸素貝葉斯分類 ................................. 184
5.3.2 基於規則的分類 ................................. 197
5.4 用神經網絡做欺詐檢測 ................................. 210
5.4.1 交易數據中關於欺詐檢測的一個用例 ............................................. 210
5.4.2 神經網絡概覽 ..................................... 212
5.4.3 一個可用的神經網絡欺詐檢測器 ..... 214
5.4.4 神經網絡欺詐檢測器剖析 ................. 218
5.4.5 創建通用神經網絡的基類 ................. 226
5.5 你的結果可信嗎 ............................................. 232
5.6 大數據集的分類 ............................................. 235
5.7 總結 ................. 237
5.8 To Do ............... 239
5.9 參考資料 ......... 242
6 分類器組閤 ............................................. 244
6.1 信貸價值:分類器組閤案例研究 ................. 246
6.1.1 數據的簡要說明 ................................. 247
6.1.2 為真實問題生成人工數據 ................. 250
6.2 用單分類器做信用評估 ................................. 255
6.2.1 樸素貝葉斯的基準綫 ......................... 255
6.2.2 決策樹基準綫 ..................................... 258
6.2.3 神經網絡的基準綫 ............................. 260
6.3 在同一個數據集中比較多個分類器 ............. 263
6.3.1 McNemar 檢驗 .................................... 264
6.3.2 差額比例檢驗 ..................................... 266
6.3.3 Cochran Q 檢驗與F 檢驗 .................. 268
6.4 bagging: bootstrap 聚閤(bootstrap aggregating) ....................................... 270
6.4.1 bagging 實例 ....................................... 272
6.4.2 bagging 分類器底層細節 ................... 274
6.4.3 分類器集成 ......................................... 276
6.5 boosting:一種迭代提高的方法 ................... 279
6.5.1 boosting 分類器實例 .......................... 280
6.5.2 boosting 分類器底層細節 .................. 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 一個抓取並處理好的新聞數據集 ..... 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 類創建新聞分組 .............. 316
7.5.1 聚類全部文章 ..................................... 317
7.5.2 在一個新聞類彆中聚類文章 ............. 321
7.6 基於用戶評分的動態內容展示 ..................... 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 數學知識迴顧 ................................. 341
C.1 嚮量和矩陣 ........................................... 341
C.2 距離的度量 ........................................... 342
C.3 高級矩陣方法 ....................................... 344
C.4 參考資料 ............................................... 344
附錄D 自然語言處理 ................................. 345
D.1 參考資料 ............................................... 347
附錄E 神經網絡 ........................................ 348
E.1 參考資料 ............................................... 349
索引 ............. 350
· · · · · · (
收起)