本书围绕着如何探索和理解社交媒体系统的基本组成部分进行组织,简单地说来就是谁(who)、如何(how)、何时(when)和什么(what)构成了社交媒体过程。本书的目标是“授人以渔”。在涵盖了社交媒体分析的主要方面之后,本书还以大量篇幅介绍了大数据环境下处理社交媒体数据所需的工具、算法的原理和实际案例,读者可以以此为基础,快速介入生产环境下的社交媒体数据处理任务。
译者序
前言
致谢
作者简介
技术编辑简介
第1章 用户:谁参与社交媒体 1
1.1 测量Wikipedia中用户行为的变化 1
1.1.1 用户活动的多样性 2
1.1.2 人类活动中的长尾效应 18
1.2 随处可见的长尾效应:80/20定律 20
1.3 Twitter上的在线行为 23
1.3.1 检索用户的Tweet 24
1.3.2 对数分区 26
1.3.3 Twitter上的用户活动 27
1.4 总结 28
第2章 网络:社交媒体如何运行 29
2.1 社交网络的类型和属性 30
2.1.1 用户何时创建连接:显式网络 30
2.1.2 有向图与无向图 31
2.1.3 节点和边的属性 31
2.1.4 加权图 32
2.1.5 由活动构建图:隐式网络 33
2.2 网络可视化 35
2.3 度:赢家通吃 38
2.3.1 连接计数 40
2.3.2 用户连接的长尾分布 41
2.3.3 超越理想网络模型 43
2.4 捕获相关:三角结构、簇和同配性 45
2.4.1 局部三角结构和簇 45
2.4.2 同配性 49
2.5 总结 53
第3章 时序过程:用户何时使用社交媒体 54
3.1 传统模型如何描述事件发生的时间 54
3.2 事件间隔时间 57
3.2.1 与无记忆过程的对比 60
3.2.2 自相关 63
3.2.3 与无记忆过程的偏离 64
3.2.4 用户活动中的时间周期 66
3.3 个体行为的爆发 70
3.4 预测长期指标 78
3.4.1 发现趋势 80
3.4.2 发现季节性 82
3.4.3 利用ARIMA预测时间序列 84
3.5 总结 86
第4章 内容:社交媒体中有什么 88
4.1 定义内容:聚焦于文本和非结构数据 88
4.1.1 从文本生成特征:自然语言处理基础 89
4.1.2 文本中词条的基本统计 91
4.2 使用内容特征识别主题 92
4.2.1 话题的流行度 98
4.2.2 用户个体兴趣有多么多样化 100
4.3 从高维文本中抽取低维信息 102
4.4 总结 120
第5章 处理大型数据集 122
5.1 MapReduce:组织并行和串行操作 122
5.1.1 单词计数 124
5.1.2 偏斜:最后一个Reducer的诅咒 127
5.2 多阶段MapReduce流 127
5.2.1 扇出 129
5.2.2 归并数据流 129
5.2.3 连接两个数据源 131
5.2.4 连接小数据集 134
5.2.5 大规模MapReduce模型 134
5.3 MapReduc程序设计模式 135
5.3.1 静态MapReduce作业 135
5.3.2 迭代MapReduce作业 140
5.3.3 增量MapReduce作业 146
5.3.4 时间相关的MapReduce作业 146
5.3.5 处理长尾分布社交媒体数据的挑战 153
5.4 抽样和近似:以较少计算得到结果 154
5.4.1 HyperLogLog 156
5.4.2 Bloom过滤器 161
5.4.3 Count-Min Sketch 166
5.5 在Hadoop集群上运行 171
5.5.1 在Amazon EC2上安装CHD集群 171
5.5.2 为合作者提供IAM存取 174
5.5.3 根据需要增加集群处理能力 175
5.6 总结 175
第6章 学习、映射和推荐 177
6.1 在线社交媒体服务 177
6.1.1 搜索引擎 177
6.1.2 内容参与 178
6.1.3 与现实世界的互动 179
6.1.4 与人的互动 180
6.2 问题阐述 180
6.3 学习和映射 182
6.3.1 矩阵分解 183
6.3.2 学习和训练 184
6.3.3 电影评分示范 187
6.4 预测与推荐 197
6.4.1 评估 199
6.4.2 方法概述 200
6.5 总结 209
第7章 结论 210
7.1 人类互动模式出乎意料的稳定性 210
7.2 均值、标准差和抽样 211
7.3 移除异常值 216