You are on page 1of 3

Build a Graph Based Recommendation System in Python-Part 2

Project Overview

Business Objective:

In the previous project; (Build a Graph Based Recommendation System in Python), we


understood what recommendation systems are and how they work.
We also understood what clickstream data is and how to convert the clickstream data
into various types of graphs.

This project will see how to build a recommendation system for our eCommerce
platform by converting the generated graphs into embeddings and further using
similarity search.

Aim:
To build a Graph based recommender system that will recommend similar products to
the users of our e-commerce platform.

Data Overview :
The dataset contains user information over 9 attributes for an eCommerce website
The data has been converted into graph format for further use.

Tech Stack:
➔ Language: Python
➔ Packages: pandas, numpy, pecanpy, gensim, plotly, umap, faiss
➔ File Management: Parquet

Prerequisites:
1. Build a Graph Based Recommendation System in Python
2. Understanding of Word2Vec technique
File structure:

1. Data - The data folder consists of 3 subfolders.


● ConstructedGraph - The generated graphs from the previous project are
saved here.
● Edg_Graphs_DataFile - The graphs are saved in (.edg) format for further
processing
● Embedding_Data - Generated embeddings are saved here

2. Documentation - This folder consists of different learning resources and


references

3. Model - Generated models are saved in this folder

4. Notebook - This folder contains the notebooks we have used


● Data Exploration and Data Analysis [RECAP].ipynb
● GraphConstruct [RECAP].ipynb
● Deepwalk and Node2vec Model Training.ipynb
● Result Analysis.ipynb
● Embedding Vector Search with ANN FAISS (Recommendation).ipynb
● Constants.py

5. Script - Scripts available in .py file

6. requirements.txt - The requirements.txt file has all the required libraries with
respective versions. Kindly install the requirements at the beginning.

Approach:

1. Understand the problem statement

2. Deepwalk and Node2vec Model training


● Import the necessary packages and libraries
● Read the selected graph
● Save the graph in .edg format
● Graph random walk generation
● Model Building with Word2Vec and Node2Vec
● Save the embeddings in parquet format
3. Result analysis and Visualization
● Import the necessary packages and libraries
● Read the data
● Define a function for generating levels of category
● Use UMAP (Uniform Manifold Approximation and Projection) method as a
dimension reduction strategy
● Visualize the clusters

4. Embedding vector search


● Import the necessary packages and libraries
● Use FAISS (Facebook AI Similarity Search) for generating
recommendations

Key Takeaways:

1. What are recommendation engines, and why is it important?


2. User journey in an eCommerce platform
3. What is a random walk?
4. What is the Deepwalk methodology?
5. What is Word2Vec?
6. What is Node2Vec?
7. How to convert the graphs to embeddings?
8. Perform embeddings with Word2Vec and Node2Vec
9. Save embeddings in parquet format
10. How to analyze the results?
11. Visualize the results with the help of UMAP (Uniform Manifold Approximation and
Projection)
12. What is FAISS (Facebook AI Similarity Search)?
13. How to use FAISS for efficient similarity search and clustering of dense vectors?

You might also like