swMATH ID: 32346
Software Authors: D. Yang, P. Rosso, B. Li, P. Cudre-Mauroux
Description: NodeSketch: Highly-Efficient Graph Embeddings via Recursive Sketching. Embeddings have become a key paradigm to learn graph representations and facilitate downstream graph analysis tasks. Existing graph embedding techniques either sample a large number of node pairs from a graph to learn node embeddings via stochastic optimization, or factorize a high-order proximity/adjacency matrix of the graph via expensive matrix factorization. However, these techniques usually require significant computational resources for the learning process, which hinders their applications on large-scale graphs. Moreover, the cosine similarity preserved by these techniques shows suboptimal efficiency in downstream graph analysis tasks, compared to Hamming similarity, for example. To address these issues, we propose NodeSketch, a highly-efficient graph embedding technique preserving high-order node proximity via recursive sketching. Specifically, built on top of an efficient data-independent hashing/sketching technique, NodeSketch generates node embeddings in Hamming space. For an input graph, it starts by sketching the self-loop-augmented adjacency matrix of the graph to output low-order node embeddings, and then recursively generates k-order node embeddings based on the self-loop-augmented adjacency matrix and (k-1)-order node embeddings. Our extensive evaluation compares NodeSketch against a sizable collection of state-of-the-art techniques using five real-world graphs on two graph analysis tasks. The results show that NodeSketch achieves state-of-the-art performance compared to these techniques, while showing significant speedup of 9x-372x in the embedding learning process and 1.19x-1.68x speedup when performing downstream graph analysis tasks.
Homepage: https://dl.acm.org/doi/10.1145/3292500.3330951
Source Code:  https://github.com/eXascaleInfolab/NodeSketch
Related Software: node2vec; GraRep; PyGSP; NumPy; FSCNMF; GL2vec; SINE; RolX; SciPy; PyTorch; TensorFlow; Scikit; NetLSD; graph2vec; Graph-tool; NetworkX; SNAP; Python; Karate Club
Cited in: 0 Publications