Foreword |
|
xiii | |
Preface |
|
xv | |
Acknowledgments |
|
xvii | |
About this Book |
|
xix | |
About the Author |
|
xxiii | |
About the Cover Illustration |
|
xxiv | |
|
|
1 | (262) |
|
1 Machine learning and graphs: An introduction |
|
|
3 | (27) |
|
1.1 Machine learning project life cycle |
|
|
5 | (5) |
|
|
7 | (1) |
|
|
8 | (1) |
|
|
8 | (1) |
|
|
9 | (1) |
|
|
9 | (1) |
|
|
9 | (1) |
|
1.2 Machine learning challenges |
|
|
10 | (5) |
|
|
10 | (3) |
|
|
13 | (1) |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
15 | (8) |
|
|
15 | (2) |
|
Graphs as models of networks |
|
|
17 | (6) |
|
1.4 The role of graphs in machine learning |
|
|
23 | (4) |
|
|
25 | (1) |
|
|
25 | (1) |
|
|
26 | (1) |
|
|
27 | (3) |
|
|
30 | (41) |
|
2.1 Working with big data |
|
|
33 | (7) |
|
|
34 | (2) |
|
|
36 | (2) |
|
|
38 | (1) |
|
|
39 | (1) |
|
2.2 Graphs in the big data platform |
|
|
40 | (13) |
|
Graphs are valuable for big data |
|
|
41 | (7) |
|
Graphs are valuable for master data management |
|
|
48 | (5) |
|
|
53 | (18) |
|
Graph database management |
|
|
54 | (3) |
|
|
57 | (3) |
|
|
60 | (1) |
|
Native vs. non-native graph databases |
|
|
61 | (6) |
|
|
67 | (4) |
|
3 Graphs in machine learning applications |
|
|
71 | (42) |
|
3.1 Graphs in the machine learning workflow |
|
|
73 | (3) |
|
3.2 Managing data sources |
|
|
76 | (17) |
|
|
79 | (3) |
|
|
82 | (3) |
|
Identify risks in a supply chain |
|
|
85 | (2) |
|
|
87 | (6) |
|
|
93 | (7) |
|
Identify risks in a supply chain |
|
|
93 | (3) |
|
Find keywords in a document |
|
|
96 | (2) |
|
|
98 | (2) |
|
3.4 Storing and accessing machine learning models |
|
|
100 | (6) |
|
|
101 | (2) |
|
|
103 | (3) |
|
|
106 | (3) |
|
3.6 Leftover: Deep learning and graph neural networks |
|
|
109 | (4) |
|
|
113 | (6) |
|
4 Content-based recommendations |
|
|
119 | (47) |
|
4.1 Representing item features |
|
|
122 | (14) |
|
|
136 | (7) |
|
4.3 Providing recommendations |
|
|
143 | (21) |
|
4.4 Advantages of the graph approach |
|
|
164 | (2) |
|
5 Collaborative filtering |
|
|
166 | (36) |
|
5.1 Collaborative filtering recommendations |
|
|
170 | (2) |
|
5.2 Creating the bipartite graph for the User-Item dataset |
|
|
172 | (5) |
|
5.3 Computing the nearest neighbor network |
|
|
177 | (12) |
|
5.4 Providing recommendations |
|
|
189 | (5) |
|
5.5 Dealing with the cold-start problem |
|
|
194 | (4) |
|
5.6 Advantages of the graph approach |
|
|
198 | (4) |
|
6 Session-based recommendations |
|
|
202 | (25) |
|
6.1 The session-based approach |
|
|
203 | (3) |
|
6.2 The events chain and the session graph |
|
|
206 | (6) |
|
6.3 Providing recommendations |
|
|
212 | (12) |
|
|
213 | (6) |
|
|
219 | (5) |
|
6.4 Advantages of the graph approach |
|
|
224 | (3) |
|
7 Context-aware and hybrid recommendations |
|
|
227 | (36) |
|
7.1 The context-based approach |
|
|
228 | (26) |
|
Representing contextual information |
|
|
231 | (4) |
|
Providing recommendations |
|
|
235 | (18) |
|
Advantages of the graph approach |
|
|
253 | (1) |
|
7.2 Hybrid recommendation engines |
|
|
254 | (9) |
|
Multiple models, single graph |
|
|
256 | (2) |
|
Providing recommendations |
|
|
258 | (2) |
|
Advantages of the graph approach |
|
|
260 | (3) |
|
|
263 | (94) |
|
8 Basic approaches to graphpowered fraud detection |
|
|
265 | (30) |
|
8.1 Fraud prevention and detection |
|
|
267 | (4) |
|
8.2 The role of graphs in fighting fraud |
|
|
271 | (8) |
|
8.3 Warm-up: Basic approaches |
|
|
279 | (16) |
|
Finding the origin point of credit card fraud |
|
|
279 | (8) |
|
|
287 | (6) |
|
Advantages of the graph approach |
|
|
293 | (2) |
|
9 Proximity-based algorithms |
|
|
295 | (25) |
|
9.1 Proximity-based algorithms: An introduction |
|
|
296 | (2) |
|
9.2 Distance-based approach |
|
|
298 | (22) |
|
Storing transactions as a graph |
|
|
300 | (2) |
|
Creating the k-nearest neighbors graph |
|
|
302 | (7) |
|
Identifying fraudulent transactions |
|
|
309 | (9) |
|
Advantages of the graph approach |
|
|
318 | (2) |
|
10 Social network analysis against fraud |
|
|
320 | (37) |
|
10.1 Social network analysis concepts |
|
|
323 | (3) |
|
|
326 | (22) |
|
|
330 | (6) |
|
|
336 | (8) |
|
Collective inference algorithms |
|
|
344 | (4) |
|
10.3 Cluster-based methods |
|
|
348 | (6) |
|
10.4 Advantages of graphs |
|
|
354 | (3) |
|
PART 4 TAMING TEXT WITH GRAPHS |
|
|
357 | (74) |
|
11 Graph-based natural language processing |
|
|
359 | (30) |
|
11.1 A basic approach: Store and access sequence of words |
|
|
363 | (10) |
|
Advantages of the graph approach |
|
|
373 | (1) |
|
|
373 | (16) |
|
Advantages of the graph approach |
|
|
387 | (2) |
|
|
389 | (42) |
|
12.1 Knowledge graphs: Introduction |
|
|
390 | (3) |
|
12.2 Knowledge graph building: Entities |
|
|
393 | (9) |
|
12.3 Knowledge graph building: Relationships |
|
|
402 | (7) |
|
|
409 | (6) |
|
12.5 Unsupervised keyword extraction |
|
|
415 | (13) |
|
Keyword co-occurrence graph |
|
|
423 | (2) |
|
Clustering keywords and topic identification |
|
|
425 | (3) |
|
12.6 Advantages of the graph approach |
|
|
428 | (3) |
Appendix A Machine learning algorithms taxonomy |
|
431 | (4) |
Appendix B Neo4j |
|
435 | (14) |
Appendix C Graphs for processing patterns and workflows |
|
449 | (9) |
Appendix D Representing graphs |
|
458 | (3) |
Index |
|
461 | |