目 录
第Ⅰ部分 图的基础概念
第1章 图和网络科学:入门 3
1.1 通过关系理解数据 7
1.2 如何识别图问题 10
1.2.1 自引用关系 10
1.2.2 寻路网络 11
1.2.3 二分图 12
1.2.4 复杂网络 13
1.3 本章小结 14
第2章 表示网络结构:设计你的第一个图模型 17
2.1 图的术语 19
2.1.1 有向图与无向图 19
2.1.2 加权图与无权图 20
2.1.3 二分图与单分图 21
2.1.4 多重图与简单图 22
2.1.5 完全图 22
2.2 网络表示法 23
2.3 设计你的第一个LPG模型 26
2.3.1 关注者网络 27
2.3.2 用户-推文网络 29
2.3.3 转推网络 32
2.3.4 表示图模式 34
2.4 从文本中抽取知识 36
2.4.1 链接 37
2.4.2 话题标签 39
2.4.3 提及 42
2.4.4 最终的Twitter社交网络图模式 43
2.5 本章小结 45
第Ⅱ部分 网络分析
第3章 初识Cypher查询语言 49
3.1 Cypher查询语言子句 50
3.1.1 CREATE子句 50
3.1.2 MATCH子句 53
3.1.3 WITH子句 56
3.1.4 SET子句 57
3.1.5 REMOVE子句 59
3.1.6 DELETE子句 59
3.1.7 MERGE子句 61
3.2 使用Cypher导入CSV文件 64
3.2.1 清理数据库 64
3.2.2 Twitter图模型 65
3.2.3 唯一性约束 66
3.2.4 LOAD CSV子句 67
3.2.5 导入Twitter社交网络 67
3.3 答案 73
3.4 本章小结 75
第4章 探索性图分析 77
4.1 探索推特网络 78
4.2 使用Cypher查询语言聚合数据 79
4.3 筛选图模式 85
4.4 计数子查询 89
4.5 序列中的多个聚合 90
4.6 答案 92
4.7 本章小结 95
第5章 社交网络分析简介 97
5.1 关注者网络 99
5.2 Neo4j图数据科学库简介 106
5.3 网络特征描述 108
5.3.1 弱连通分量算法 108
5.3.2 强连通分量算法 111
5.3.3 局部聚类系数 115
5.4 识别中心节点 118
5.4.1 PageRank算法 118
5.4.2 个性化PageRank算法 122
5.4.3 删除命名图 123
5.5 答案 124
5.6 本章小结 125
第6章 投影单分网络 127
6.1 将间接多跳路径转换为直接关系 131
6.2 转发网络特征描述 133
6.2.1 度中心性 134
6.2.2 弱连通分量 137
6.3 识别影响最大的内容创作者 139
6.3.1 排除自环 139
6.3.2 加权PageRank变体 140
6.3.3 删除投影的内存图 141
6.4 答案 142
6.5 本章小结 143
第7章 基于二分网络推断共现网络 145
7.1 从推文中提取话题标签 151
7.2 构建共现网络 154
7.2.1 Jaccard相似性系数 156
7.2.2 节点相似性算法 158
7.3 共现网络的特征描述 163
7.3.1 节点度中心性 163
7.3.2 弱连通分量 164
7.4 使用标签传播算法进行社群发现 165
7.5 使用PageRank识别社群代表 168
7.6 答案 170
7.7 本章小结 171
第8章 构建最近邻相似性网络 173
8.1 特征提取 176
8.1.1 基序和图元 178
8.1.2 介数中心性 180
8.1.3 紧密性中心性 181
8.2 构建最近邻图 183
8.2.1 评估特征 183
8.2.2 推断相似性网络 185
8.3 使用社群发现算法进行用户分群 186
8.4 答案 188
8.5 本章小结 190
第Ⅲ部分 图机器学习
第9章 节点嵌入与分类 193
9.1 节点嵌入模型 196
9.1.1 基于同质性与基于结构性角色的方法 196
9.1.2 归纳式与直推式嵌入模型 197
9.2 节点分类任务 198
9.2.1 定义与Neo4j数据库的连接 199
9.2.2 导入Twitch数据集 200
9.3 Node2Vec算法 202
9.3.1 Word2Vec算法 202
9.3.2 随机游走 204
9.3.3 计算Node2Vec嵌入 206
9.3.4 评估节点嵌入 207
9.3.5 训练分类模型 210
9.3.6 评估预测 211
9.4 答案 213
9.5 本章小结 214
第10章 链接预测 215
10.1 链接预测工作流 217
10.2 数据集划分 219
10.2.1 基于时间的划分 220
10.2.2 随机划分 221
10.2.3 负样本 223
10.3 网络特征工程 224
10.3.1 网络距离 225
10.3.2 优先连接 226
10.3.3 共同邻居 228
10.3.4 Adamic-Adar指数 228
10.3.5 共同邻居的聚类系数 230
10.4 链接预测分类模型 230
10.4.1 缺失值 232
10.4.2 训练模型 232
10.4.3 评估模型 233
10.5 答案 234
10.6 本章小结 235
第11章 知识图谱补全 237
11.1 知识图谱嵌入模型 241
11.1.1 三元组 241
11.1.2 TransE 241
11.1.3 TransE的局限性 242
11.2 知识图谱补全 244
11.2.1 Hetionet 245
11.2.2 数据集分割 247
11.2.3 训练PairRE模型 247
11.2.4 药物应用预测 248
11.2.5 解释预测 249
11.3 答案 251
11.4 本章小结 251
第12章 使用自然语言处理技术构建图 253
12.1 共指消解 256
12.2 命名实体识别 257
12.3 关系抽取 258
12.4 实现信息抽取流程 259
12.4.1 SpaCy 259
12.4.2 共指消解 260
12.4.3 端到端关系抽取 261
12.4.4 实体链接 264
12.4.5 外部数据丰富 266
12.5 答案 266
12.6 本章小结 267
附录 Neo4j环境 269
A.1 Cypher查询语言 269
A.2 Neo4j安装 270
A.2.1 Neo4j Desktop安装 270
A.2.2 Neo4j Docker安装 274
A.2.3 Neo4j Aura 274
A.3 Neo4j Browser配置 275
