How aarivan/graph-embeddings-for-recommender-systems works
Rec2vec builds a heterogeneous movie-rating graph, samples DeepWalk walks, learns node embeddings, then predicts ratings for held-out user–movie pairs and reports metrics. The README documents the graph entities and embedding approach; the sampled entry point confirms the execution sequence. Some graph-building details are omitted from the source excerpt, so uncertain internal data links are not shown.
Main entry points: graph.py Heterogeneous graph · __main__.py Rating prediction · train_user_ratings.dat Training ratings · test_user_ratings.dat Test ratings
Components 13
Movie data
- Training ratings
data/train_user_ratings.dat - Test ratings
data/test_user_ratings.dat - Movie metadata
data/movies.dat - Actor links
data/movie_actors.dat - Director links
data/movie_directors.dat - Genre links
data/movie_genres.dat
Graph construction
- Heterogeneous graph
rec2vec/graph.py - Adjacency list
rec2vec/graph.py
Walks and embeddings
- DeepWalk walks
rec2vec/graph.py - Word2Vec model
rec2vec/__main__.py
Rating evaluation
- Rating prediction
rec2vec/__main__.py - Evaluation metrics
rec2vec/__main__.py
Other components
- CLI user
Connections 12
- CLI user → Rating prediction: runs CLI
- Training ratings → Heterogeneous graph: builds graph
- Movie metadata → Heterogeneous graph: adds movies
- Actor links → Heterogeneous graph: adds actors
- Director links → Heterogeneous graph: adds directors
- Genre links → Heterogeneous graph: adds genres
- Heterogeneous graph → Adjacency list: writes graph
- Adjacency list → DeepWalk walks: loads adjacency
- DeepWalk walks → Word2Vec model: provides walks
- Test ratings → Rating prediction: provides pairs
- Word2Vec model → Rating prediction: scores nodes
- Rating prediction → Evaluation metrics: provides predictions