Graph-Based Personalized E-commerce Recommendation Engine

Project Overview

This project focuses on building a Graph-based recommender system that recommends similar products to users of an e-commerce platform. It's a continuation of a previous project where we converted clickstream data into various types of graphs.

Business Objective

To create a recommendation system for our eCommerce platform by converting generated graphs into embeddings and using similarity search techniques.

Tech Stack

  • Language: Python
  • Packages: pandas, numpy, pecanpy, gensim, plotly, umap, faiss
  • File Management: Parquet

Approach

  1. Understand the problem statement
  2. Deepwalk and Node2vec Model training
    • Import 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 necessary packages and libraries
    • Read the data
    • Define a function for generating levels of category
    • Use UMAP for dimension reduction
    • Visualize the clusters
  4. Embedding vector search
    • Import necessary packages and libraries
    • Use FAISS for generating recommendations

Key Achievements

  • Successfully converted complex clickstream data into meaningful graph representations
  • Implemented advanced embedding techniques like Deepwalk and Node2vec
  • Utilized FAISS for efficient similarity search, enabling fast and accurate recommendations
  • Created visualizations using UMAP to understand the clustering of products

Conclusion

This project demonstrates the power of graph-based approaches in building sophisticated recommendation systems. By leveraging techniques from graph theory, natural language processing, and efficient similarity search, we've created a system that can provide highly relevant product recommendations, potentially increasing user engagement and sales for the e-commerce platform.