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