图书目录

目    录

第Ⅰ部分  图的基础概念

第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