001 : E-coms Product Recommender

This system recommends e-commerce products based on text query from users, image query and product query.

About Project

This project involves the development of a comprehensive recommendation system for an e-commerce platform, integrating natural language processing, vector similarity search, and computer vision. FastText was utilized to embed product descriptions into vector representations, which were then indexed in Pinecone, a scalable and efficient vector database. Additionally, a CNN model was implemented to detect and classify products based on images, enhancing the recommendation capabilities. The system allows for querying these vectors with natural language inputs and image inputs, efficiently returning top similar products. This dual approach significantly improves the user experience by providing highly relevant product suggestions based on both text descriptions and visual content. The project demonstrates expertise in machine learning, NLP, computer vision, and scalable vector search technologies, showcasing the ability to create sophisticated and effective recommendation systems.

System Architecture

The system integrates natural language processing (NLP) and computer vision to provide relevant product suggestions based on text descriptions and images.

System Components

  • User Interface (WebApp): Allows users to enter product descriptions or upload images and displays the top 3 recommended products.
  • NLP Module: Processes product descriptions by embedding them into vector representations using FastText and querying Pinecone for similar products.
  • CNN Module: Processes product images by extracting features using a pre-trained CNN model, converting them into vectors, and querying Pinecone.
  • Pinecone Database: Stores vector representations of products and allows efficient similarity queries.
  • Workflow

    1. User Input: The user provides a product description or image through the web application.
    2. Text Processing: The WebApp sends the description to the NLP Module, which uses FastText to embed the description into a vector and queries Pinecone.
    3. Image Processing: If an image is provided, the WebApp sends it to the CNN Module, which uses the CNN model to create a vector representation and queries Pinecone.
    4. Query and Retrieve: Pinecone retrieves the top 3 similar product vectors and returns them to the respective module.
    5. Display Results: The NLP or CNN Module sends the top 3 product recommendations back to the WebApp, which then displays them to the user.

    Click here to check the full project on GitHub.