Skip to content

MuthuPalaniappan925/EmbeddingBasedFashionSearch

Repository files navigation

Embedding-Based Fashion Search Documentation

Overview

The Embedding-Based Fashion Search project is designed to provide an advanced search and recommendation system for fashion using state-of-the-art natural language processing techniques and similarity search. The system leverages SentenceTransformer models to generate embeddings from product descriptions and utilizes the Faiss library for efficient vector indexing and similarity searches.

Table of Contents

  1. Installation
  2. Data Ingestion
  3. Streamlit Application
  4. Credit Page
  5. Project Structure
  6. Usage
  7. Technologies Used

Installation

  1. Clone the repository:

    git clone https://github.com/MuthuPalaniappan925/EmbeddingBasedFashionSearch.git
  2. Install the required packages:

    pip install -r requirements.txt

Data Ingestion

Run the data_ingestion.py script to load the fashion dataset, create embeddings for product descriptions, build a Faiss index, and store the index for later use.

python data_ingestion.py

Streamlit Application

Run the Streamlit application app.py to interact with the fashion search and recommendation system.

streamlit run app.py

The Streamlit UI allows users to enter search queries, specify the number of top results to retrieve, and filter results based on gender.

Credit Page

The credit_page.py module contains information about the project overview and the technologies used. To view the credits, click the "About This Project" button in the Streamlit application.

Project Structure

  • app.py: Streamlit application for fashion search.
  • credit_page.py: Module containing project overview and credits.
  • data_ingestion.py: Script for loading data, creating embeddings, building Faiss index, and storing the index.
  • Dataset/: Folder containing the fashion dataset.
  • vector_store/: Folder to store the Faiss index file.

Usage

  1. Run data_ingestion.py to prepare the Faiss index.
  2. Run app.py to launch the Streamlit application.
  3. Enter search queries and explore fashion recommendations.

Technologies Used

  • Streamlit: Interactive web application development.
  • Pandas: Data manipulation and loading.
  • NumPy: Numerical operations.
  • Faiss: Similarity search and efficient vector indexing.
  • SentenceTransformer: Generating embeddings from product descriptions.

Demo

https://embeddingbasedfashionsearch-muthu-palaniappan.streamlit.app

Output

UI Product

About

The system harnesses the power of embeddings produced by the SentenceTransformer model to depict product descriptions and utilizes the Faiss library to conduct efficient similarity searches.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages