# nishantk-iisc/recomsystem_cf architecture

> Architecture diagram of the GitHub repository nishantk-iisc/recomsystem_cf, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/nishantk-iisc/recomsystem_cf
- Repository: https://github.com/nishantk-iisc/recomsystem_cf

## Overview

This repository documents a content-based apparel recommendation project, with title-based text methods and CNN-based image analysis as its main recommendation branches. Its intended workflow runs from product-data acquisition through cleaning and text preprocessing to similarity-based recommendations, with A/B testing for comparison. The tree contains a notebook and data artifacts but no source excerpts, so implementation details and most internal call relationships cannot be verified; the graph uses only relationships described in the README.

Main entry points: [`Rs_CF.ipynb`](https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb) (Text recommendations), [`pickels/17k_apperal_data`](https://github.com/nishantk-iisc/recomsystem_cf/blob/main/pickels/17k_apperal_data) (Product data), [`pickels/16k_apperal_data_preprocessed`](https://github.com/nishantk-iisc/recomsystem_cf/blob/main/pickels/16k_apperal_data_preprocessed) (Refined data), [`images`](https://github.com/nishantk-iisc/recomsystem_cf/tree/main/images) (Apparel images)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Data preparation"]
  node_acquisition["Data acquisition<br/>[Rs_CF.ipynb]"]
  node_rawdata[("Product data")]
  node_cleaning["Data cleaning<br/>[Rs_CF.ipynb]"]
  node_deduplication["Title deduplication"]
  node_cleaneddata[("Refined data")]
  node_preprocessing["Text preprocessing<br/>[Rs_CF.ipynb]"]
end

subgraph group_text["Text recommendations"]
  node_bow["Bag of Words<br/>[Rs_CF.ipynb]"]
  node_tfidf["TF-IDF<br/>[Rs_CF.ipynb]"]
  node_avgw2v["Average Word2Vec<br/>[Rs_CF.ipynb]"]
  node_weightedw2v["Weighted Word2Vec<br/>[Rs_CF.ipynb]"]
  node_textrecommendations["Text recommendations<br/>[Rs_CF.ipynb]"]
end

subgraph group_image["Image recommendations"]
  node_images[("Apparel images")]
  node_cnn["CNN image analysis<br/>[Rs_CF.ipynb]"]
  node_imagerecommendations["Image recommendations<br/>[Rs_CF.ipynb]"]
end

subgraph group_evaluation["Evaluation"]
  node_abtesting["A/B testing<br/>[Rs_CF.ipynb]"]
end

node_api["Product API"]
node_user(("E-commerce user"))

node_api -->|"provides data"| node_acquisition
node_acquisition -->|"gathers products"| node_rawdata
node_rawdata -->|"is cleaned"| node_cleaning
node_cleaning -->|"removes duplicates"| node_deduplication
node_cleaning -->|"refines data"| node_cleaneddata
node_cleaneddata -->|"supplies titles"| node_preprocessing
node_cleaning -->|"saves images"| node_images
node_preprocessing -->|"prepares text"| node_bow
node_preprocessing -->|"prepares text"| node_tfidf
node_preprocessing -->|"prepares text"| node_avgw2v
node_preprocessing -->|"prepares text"| node_weightedw2v
node_bow -->|"represents titles"| node_textrecommendations
node_tfidf -->|"represents titles"| node_textrecommendations
node_avgw2v -->|"represents titles"| node_textrecommendations
node_weightedw2v -->|"represents titles"| node_textrecommendations
node_images -->|"analyzes images"| node_cnn
node_cnn -->|"supports similarity"| node_imagerecommendations
node_textrecommendations -->|"compared by"| node_abtesting
node_imagerecommendations -->|"compared by"| node_abtesting
node_user -.->|"receives suggestions"| node_textrecommendations
node_user -.->|"receives suggestions"| node_imagerecommendations

click node_acquisition "https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb"
click node_rawdata "https://github.com/nishantk-iisc/recomsystem_cf/blob/main/pickels/17k_apperal_data"
click node_cleaning "https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb"
click node_deduplication "https://github.com/nishantk-iisc/recomsystem_cf/tree/main/dedupe"
click node_cleaneddata "https://github.com/nishantk-iisc/recomsystem_cf/blob/main/pickels/16k_apperal_data_preprocessed"
click node_preprocessing "https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb"
click node_images "https://github.com/nishantk-iisc/recomsystem_cf/tree/main/images"
click node_bow "https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb"
click node_tfidf "https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb"
click node_avgw2v "https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb"
click node_weightedw2v "https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb"
click node_textrecommendations "https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb"
click node_cnn "https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb"
click node_imagerecommendations "https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb"
click node_abtesting "https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_acquisition,node_rawdata,node_cleaning,node_deduplication,node_cleaneddata,node_preprocessing,node_user toneBlue
class node_bow,node_tfidf,node_avgw2v,node_weightedw2v,node_textrecommendations toneAmber
class node_images,node_cnn,node_imagerecommendations,node_api toneMint
class node_abtesting toneRose
```

## Components

### Data preparation

- [Data acquisition](https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb): `Rs_CF.ipynb`
- [Product data](https://github.com/nishantk-iisc/recomsystem_cf/blob/main/pickels/17k_apperal_data): `pickels/17k_apperal_data`
- [Data cleaning](https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb): `Rs_CF.ipynb`
- [Title deduplication](https://github.com/nishantk-iisc/recomsystem_cf/tree/main/dedupe): `dedupe`
- [Refined data](https://github.com/nishantk-iisc/recomsystem_cf/blob/main/pickels/16k_apperal_data_preprocessed): `pickels/16k_apperal_data_preprocessed`
- [Text preprocessing](https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb): `Rs_CF.ipynb`

### Text recommendations

- [Bag of Words](https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb): `Rs_CF.ipynb`
- [TF-IDF](https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb): `Rs_CF.ipynb`
- [Average Word2Vec](https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb): `Rs_CF.ipynb`
- [Weighted Word2Vec](https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb): `Rs_CF.ipynb`
- [Text recommendations](https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb): `Rs_CF.ipynb`

### Image recommendations

- [Apparel images](https://github.com/nishantk-iisc/recomsystem_cf/tree/main/images): `images`
- [CNN image analysis](https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb): `Rs_CF.ipynb`
- [Image recommendations](https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb): `Rs_CF.ipynb`

### Evaluation

- [A/B testing](https://github.com/nishantk-iisc/recomsystem_cf/blob/main/Rs_CF.ipynb): `Rs_CF.ipynb`

### Other components

- **Product API**
- **E-commerce user**

## Connections

- Product API → Data acquisition: provides data (evidence: `README.md`)
- Data acquisition → Product data: gathers products (evidence: `README.md`)
- Product data → Data cleaning: is cleaned (evidence: `README.md`)
- Data cleaning → Title deduplication: removes duplicates (evidence: `README.md`)
- Data cleaning → Refined data: refines data (evidence: `README.md`)
- Refined data → Text preprocessing: supplies titles (evidence: `README.md`)
- Data cleaning → Apparel images: saves images (evidence: `README.md`)
- Text preprocessing → Bag of Words: prepares text (evidence: `README.md`)
- Text preprocessing → TF-IDF: prepares text (evidence: `README.md`)
- Text preprocessing → Average Word2Vec: prepares text (evidence: `README.md`)
- Text preprocessing → Weighted Word2Vec: prepares text (evidence: `README.md`)
- Bag of Words → Text recommendations: represents titles (evidence: `README.md`)
- TF-IDF → Text recommendations: represents titles (evidence: `README.md`)
- Average Word2Vec → Text recommendations: represents titles (evidence: `README.md`)
- Weighted Word2Vec → Text recommendations: represents titles (evidence: `README.md`)
- Apparel images → CNN image analysis: analyzes images (evidence: `README.md`)
- CNN image analysis → Image recommendations: supports similarity (evidence: `README.md`)
- Text recommendations → A/B testing: compared by (evidence: `README.md`)
- Image recommendations → A/B testing: compared by (evidence: `README.md`)
- E-commerce user → Text recommendations: receives suggestions
- E-commerce user → Image recommendations: receives suggestions
