# awesome-network-embedding

Also called network representation learning, graph embedding, knowledge embedding, etc.

The task is to learn the representations of the vertices from a given network.

CALL FOR HELP: I’m planning to re-organize the papers with clear classification index in the near future. Please feel free to submit a commit if you find any interesting related work:)

# Paper References with the implementation(s)

- GraphGym
  - A platform for designing and evaluating Graph Neural Networks (GNN), NeurIPS 2020
  - [Paper]
  - [Python]
- FEATHER
  - Characteristic Functions on Graphs: Birds of a Feather, from Statistical Descriptors to Parametric Models, CIKM 2020
  - [Paper]
  - [Python]
  - [Python KarateClub]
- HeGAN
  - Adversarial Learning on Heterogeneous Information Networks, KDD 2019
  - [Paper]
  - [Python]
- NetMF
  - Network Embedding as Matrix Factorization: Unifying DeepWalk, LINE, PTE, and Node2Vec, WSDM 2018
  - [Paper]
  - [Python KarateClub]
- GL2Vec
  - GL2vec: Graph Embedding Enriched by Line Graphs with Edge Features, ICONIP 2019
  - [Paper]
  - [Python KarateClub]
- NNSED
  - A Non-negative Symmetric Encoder-Decoder Approach for Community Detection, CIKM 2017
  - [Paper]
  - [Python KarateClub]
- SymmNMF
  - Symmetric Nonnegative Matrix Factorization for Graph Clustering, SDM 2012
  - [Paper]
  - [Python KarateClub]
- RECT
  - Network Embedding with Completely-Imbalanced Labels, TKDE 2020
  - [Paper]
  - [Python]
- GEMSEC
  - GEMSEC: Graph Embedding with Self Clustering, ASONAM 2019
  - [Paper]
  - [Python]
- AmpliGraph
  - Library for learning knowledge graph embeddings with TensorFlow
  - [Project]
  - [code]
- jodie
  - Predicting Dynamic Embedding Trajectory in Temporal Interaction Networks, KDD’19
  - [Project]
  - [Code]
- PyTorch-BigGraph
  - Pytorch-BigGraph - a distributed system for learning graph embeddings for large graphs, SysML’19
  - [github]
- ATP
  - ATP: Directed Graph Embedding with Asymmetric Transitivity Preservation, AAAI’19
  - [paper]
  - [code]
- MUSAE
  - Multi-scale Attributed Node Embedding, ArXiv 2019
  - [paper]
  - [Python KarateClub]
  - [Python]
- SEAL-CI
  - Semi-Supervised Graph Classification: A Hierarchical Graph Perspective, WWW’19
  - [paper]
  - [Python PyTorch]
- N-GCN and MixHop
  - A Higher-Order Graph Convolutional Layer, NIPS’18 (workshop)
  - [paper]
  - [Python PyTorch]
- CapsGNN
  - Capsule Graph Neural Network, ICLR’19
  - [paper]
  - [Python PyTorch]
- Splitter
  - Splitter: Learning Node Representations that Capture Multiple Social Contexts, WWW’19
  - [paper]
  - [Python PyTorch]
- REGAL
  - REGAL: Representation Learning-based Graph Alignment. International Conference on Information and Knowledge Management, CIKM’18
  - [arxiv]
  - [paper]
  - [code]
- PyTorch Geometric
  - Fast Graph Representation Learning With PyTorch Geometric
  - [paper]
  - [Python PyTorch]
- TuckER
  - Tensor Factorization for Knowledge Graph Completion, Arxiv’19
  - [paper]
  - [Python PyTorch]
- HypER
  - Hypernetwork Knowledge Graph Embeddings, Arxiv’18
  - [paper]
  - [Python PyTorch]
- GWNN
  - Graph Wavelet Neural Network, ICLR’19
  - [paper]
  - [Python PyTorch]
  - [Python TensorFlow]
- APPNP
  - Combining Neural Networks with Personalized PageRank for Classification on Graphs, ICLR’19
  - [paper]
  - [Python PyTorch]
  - [Python TensorFlow]
- role2vec
  - Learning Role-based Graph Embeddings, IJCAI’18
  - [paper]
  - [Python KarateClub]
  - [Python]
- AttentionWalk
  - Watch Your Step: Learning Node Embeddings via Graph Attention, NIPS’18
  - [paper]
  - [Python]
  - [Python PyTorch]
  - [Python TensorFlow]
- GAT
  - Graph Attention Networks, ICLR’18
  - [paper]
  - [Python PyTorch]
  - [Python TensorFlow]
- SINE
  - SINE: Scalable Incomplete Network Embedding, ICDM’18
  - [paper]
  - [Python KarateClub]
  - [Python PyTorch]
  - [C++]
- SGCN
  - Signed Graph Convolutional Network, ICDM’18
  - [paper]
  - [Python]
- TENE
  - Enhanced Network Embedding with Text Information, ICPR’18
  - [paper]
  - [Python KarateClub]
  - [Python]
- DANMF
  - Deep Autoencoder-like Nonnegative Matrix Factorization for Community Detection, CIKM’18
  - [paper]
  - [Python KarateClub]
  - [Python]
  - [Matlab]
- BANE
  - Binarized Attributed Network Embedding, ICDM’18
  - [paper]
  - [Python KarateClub]
  - [Python]
  - [Matlab]
- GCN Insights
  - Deeper Insights into Graph Convolutional Networks for Semi-Supervised Learning, AAAI’18
  - [Project]
  - [code]
- PCTADW
  - Learning Embeddings of Directed Networks with Text-Associated Nodes—with Applications in Software Package Dependency Networks
  - [paper]
  - [Python]
  - [dataset]
- LGCN
  - Large-Scale Learnable Graph Convolutional Networks, KDD’18
  - [paper]
  - [Python]
- AspEm
  - AspEm: Embedding Learning by Aspects in Heterogeneous Information Networks
  - [paper]
  - [Python]
- Walklets
  - Don’t Walk, Skip! Online Learning of Multi-scale Network Embeddings
  - [paper]
  - [Python Karateclub]
  - [Python]
- gat2vec
  - gat2vec: Representation learning for attributed graphs
  - [paper]
  - [Python]
- FSCNMF
  - FSCNMF: Fusing Structure and Content via Non-negative Matrix Factorization for Embedding Information Networks
  - [paper]
  - [Python Karateclub]
  - [Python]
  - [Python]
- SIDE
  - SIDE: Representation Learning in Signed Directed Networks
  - [paper]
  - [Python]
  - [Site]
- AWE
  - Anonymous Walk Embeddings, ICML’18
  - [paper]
  - [Python]
- BiNE
  - BiNE: Bipartite Network Embedding, SIGIR’18
  - [paper]
  - [Python]
- HOPE
  - Asymmetric Transitivity Preserving Graph Embedding
  - [KDD 2016]
  - [Python]
  - [Python KarateClub]
- VERSE
  - VERSE, Versatile Graph Embeddings from Similarity Measures
  - [Arxiv] [[WWW 2018]]
  - [Python]
- AGNN
  - Attention-based Graph Neural Network for semi-supervised learning
  - [ICLR 2018 OpenReview (rejected)]
  - [Python]
- SEANO
  - Semi-supervised Embedding in Attributed Networks with Outliers
  - [Paper] (SDM 2018)
  - [Python]
- Hyperbolics
  - Representation Tradeoffs for Hyperbolic Embeddings
  - [Arxiv]
  - [Python]
- DGCNN
  - An End-to-End Deep Learning Architecture for Graph Classiﬁcation
  - [AAAI 2018]
  - [Lua] [Python]
- structure2vec
  - Discriminative Embeddings of Latent Variable Models for Structured Data
  - [Arxiv]
  - [Python]
- Decagon
  - Decagon, Graph Neural Network for Multirelational Link Prediction
  - [Arxiv] [SNAP] [[ISMB 2018]]
  - [Python]
- DHNE
  - Structural Deep Embedding for Hyper-Networks
  - [AAAI 2018] [Arxiv]
  - [Python]
- Ohmnet
  - Feature Learning in Multi-Layer Networks
  - [Arxiv] [SNAP]
  - [Python]
- SDNE
  - Structural Deep Network Embedding
  - [KDD 2016]
  - [Python]
- STWalk
  - STWalk: Learning Trajectory Representations in Temporal Graphs]
  - [Arxiv]
  - [Python]
- LoNGAE
  - Learning to Make Predictions on Graphs with Autoencoders
  - [Arxiv]
  - [Python]
- RSDNE
  - RSDNE: Exploring Relaxed Similarity and Dissimilarity from Completely-imbalanced Labels for Network Embedding., AAAI 2018
  - [Matlab]
- FastGCN
  - FastGCN: Fast Learning with Graph Convolutional Networks via Importance Sampling
  - [Arxiv], [ICLR 2018 OpenReview]
  - [Python]
- diff2vec
  - Fast Sequence Based Embedding with Diffusion Graphs, CompleNet 2018
  - [Python KarateClub]
  - [Python]
- Poincare
  - Poincaré Embeddings for Learning Hierarchical Representations, NIPS 2017
  - [PyTorch] [Python] [C++]
- PEUNE
  - PRUNE: Preserving Proximity and Global Ranking for Network Embedding, NIPS 2017
  - [code]
- ASNE
  - Attributed Social Network Embedding, TKDE’18
  - [arxiv]
  - [Python]
  - [Fast Python]
- GraphWave
  - Spectral Graph Wavelets for Structural Role Similarity in Networks,
  - [arxiv], [ICLR 2018 OpenReview]
  - [Python] [faster version]
- StarSpace
  - StarSpace: Embed All The Things!, arxiv’17
  - [code]
- proNet-core
  - Vertex-Context Sampling for Weighted Network Embedding, arxiv’17
  - [arxiv] [code]
- struc2vec
  - struc2vec: Learning Node Representations from Structural Identity, KDD’17
  - [Python]
- ComE
  - Learning Community Embedding with Community Detection and Node Embedding on Graphs, CIKM’17
  - [Python]
- BoostedNE
  - Multi-Level Network Embedding with Boosted Low-Rank Matrix Approximation, ’18
  - [Python KarateClub]
  - [Python]
- M-NMF
  - Community Preserving Network Embedding, AAAI’17
  - [Python TensorFlow]
  - [Python KarateClub]
- GraphSAGE
  - Inductive Representation Learning on Large Graphs, NIPS’17
  - [arxiv] [TF] [PyTorch]
- ICE
  - ICE: Item Concept Embedding via Textual Information, SIGIR’17
  - [demo] [code]
- GuidedHeteEmbedding
  - Task-guided and path-augmented heterogeneous network embedding for author identification, WSDM’17
  - [paper] [code]
- metapath2vec
  - metapath2vec: Scalable Representation Learning for Heterogeneous Networks, KDD’17
  - [paper] [project website]
- GCN
  - Semi-Supervised Classification with Graph Convolutional Networks, ICLR’17
  - [arxiv] [Python Tensorflow]
- GAE
  - Variational Graph Auto-Encoders, arxiv
  - [arxiv] [Python Tensorflow]
- CANE
  - CANE: Context-Aware Network Embedding for Relation Modeling, ACL’17
  - [paper] [Python]
- TransNet
  - TransNet: Translation-Based Network Representation Learning for Social Relation Extraction, IJCAI’17
  - [Python Tensorflow]
- cnn_graph
  - Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering, NIPS’16
  - [Python]
- ConvE
  - Convolutional 2D Knowledge Graph Embeddings, arxiv
  - [source]
- node2vec
  - node2vec: Scalable Feature Learning for Networks, KDD’16
  - [arxiv] [Python] [Python-2] [Python-3] [C++]
- DNGR
  - Deep Neural Networks for Learning Graph Representations, AAAI’16
  - [Matlab] [Python Keras]
- HolE
  - Holographic Embeddings of Knowledge Graphs, AAAI’16
  - [Python-sklearn] [Python-sklearn2]
- ComplEx
  - Complex Embeddings for Simple Link Prediction, ICML’16
  - [arxiv] [Python]
- MMDW
  - Max-Margin DeepWalk: Discriminative Learning of Network Representation, IJCAI’16
  - [paper] [Java]
- planetoid
  - Revisiting Semi-supervised Learning with Graph Embeddings, ICML’16
  - [arxiv] [Python]
- graph2vec
  - graph2vec: Learning Distributed Representations of Graphs, KDD’17 MLGWorkshop
  - [arxiv]
  - [Python gensim] [Python KarateClub]
- PowerWalk
  - PowerWalk: Scalable Personalized PageRank via Random Walks with Vertex-Centric Decomposition, CIKM’16
  - [code]
- LINE
  - LINE: Large-scale information network embedding, WWW’15
  - [arxiv] [C++] [Python TF] [Python Theano/Keras]
- PTE
  - PTE: Predictive Text Embedding through Large-scale Heterogeneous Text Networks, KDD’15
  - [C++]
- GraRep
  - Grarep: Learning graph representations with global structural information, CIKM’15
  - [Matlab]
  - [Julia]
  - [Python]
  - [Python KarateClub]
- KB2E
  - Learning Entity and Relation Embeddings for Knowledge Graph Completion, AAAI’15
  - [paper] [C++] [faster version]
- TADW
  - Network Representation Learning with Rich Text Information, IJCAI’15
  - [paper] [Matlab] [Python]
- DeepWalk
  - DeepWalk: Online Learning of Social Representations, KDD’14
  - [arxiv] [Python] [C++]
- GEM
  - Graph Embedding Techniques, Applications, and Performance: A Survey
  - [arxiv] [Python]
- DNE-SBP
  - Deep Network Embedding for Graph Representation Learning in Signed Networks
  - [paper] [Code]

# Paper References

A Comprehensive Survey on Graph Neural Networks, arxiv’19

Hierarchical Graph Representation Learning with Differentiable Pooling, NIPS’18

SEMAC, Link Prediction via Subgraph Embedding-Based Convex Matrix Completion, AAAI 2018, Slides

MILE, MILE: A Multi-Level Framework for Scalable Graph Embedding, arxiv’18

MetaGraph2Vec, MetaGraph2Vec: Complex Semantic Path Augmented Heterogeneous Network Embedding

PinSAGE, Graph Convolutional Neural Networks for Web-Scale Recommender Systems

Curriculum Learning for Heterogeneous Star Network Embedding via Deep Reinforcement Learning, WSDM ’18

Adversarial Network Embedding, arxiv

Role2Vec, Learning Role-based Graph Embeddings

edge2vec, Feature Propagation on Graph: A New Perspective to Graph Representation Learning

MINES, Multi-Dimensional Network Embedding with Hierarchical Structure

Walk-Steered Convolution for Graph Classification

Deep Feature Learning for Graphs, arxiv’17

Fast Linear Model for Knowledge Graph Embeddings, arxiv’17

Network Embedding as Matrix Factorization: Unifying DeepWalk, LINE, PTE, and node2vec, arxiv’17

A Comprehensive Survey of Graph Embedding: Problems, Techniques and Applications, arxiv’17

Representation Learning on Graphs: Methods and Applications, IEEE DEB’17

CONE, CONE: Community Oriented Network Embedding, arxiv’17

LANE, Label Informed Attributed Network Embedding, WSDM’17

Graph2Gauss, Deep Gaussian Embedding of Attributed Graphs: Unsupervised Inductive Learning via Ranking, arxiv [Bonus Animation]

Scalable Graph Embedding for Asymmetric Proximity, AAAI’17

Query-based Music Recommendations via Preference Embedding, RecSys’16

Tri-party deep network representation, IJCAI’16

Heterogeneous Network Embedding via Deep Architectures, KDD’15

Neural Word Embedding As Implicit Matrix Factorization, NIPS’14

Distributed large-scale natural graph factorization, WWW’13

From Node Embedding To Community Embedding, arxiv

Walklets: Multiscale Graph Embeddings for Interpretable Network Classification, arxiv

Comprehend DeepWalk as Matrix Factorization, arxiv

# Conference & Workshop

Graph Neural Networks for Natural Language Processing, EMNLP’19

SMORe : Modularize Graph Embedding for Recommendation, RecSys’19

13th International Workshop on Mining and Learning with Graphs, MLG’17

WWW-18 Tutorial Representation Learning on Networks, WWW’18

# Related List

awesome-graph-classification

awesome-community-detection

awesome-embedding-models

Must-read papers on network representation learning (NRL) / network embedding (NE)

Must-read papers on knowledge representation learning (KRL) / knowledge embedding (KE)

Network Embedding Resources

awesome-embedding-models

2vec-type embedding models

Must-read papers on GNN

LiteratureDL4Graph

awesome-graph-classification

# Related Project

Stanford Network Analysis Project website

StellarGraph Machine Learning Library website GitHub