This project presents a reproduction and critical evaluation of the paper:
Large Language Models Enable Few-Shot Clustering (Viswanathan et al., 2023)
In addition to reproducing the original experiments, this work proposes complementary evaluations and improvements, including:
The full methodology, experiments, and analysis are detailed in the project report.
pip install few-shot-clustering
git submodule update --init
pip install -e .
pip install -r requirements.txt
Reproduction of original results:
reproduced_results.ipynb
Additional experiments and evaluations:
Added_approaches.ipynb
The project evaluates clustering on multiple datasets:
Due to missing resources in the original repository, some datasets (e.g., Tweet) were reconstructed manually.
We reproduced three main strategies:
We proposed a combined pipeline:
To reduce computation time and API usage, the project includes a cache_files/ directory.
This folder contains precomputed LLM outputs to avoid re-running expensive operations:
*_keyphrase.json → cached keyphrase generations*_pairwise.json → cached pairwise constraintsExample structure:
cache_files/
├── 20news_cache/
├── bank_cache/
├── clinc_cache/
├── tweet_cache/
These caches allow faster experimentation and reproducibility without repeatedly querying the LLM.
accuracies_methods.json → contains the results of the added approaches and experiments (Accuracy & evaluation metrics)This file summarizes the performance of different methods and is used for analysis and comparisons.
read_only=True) to accelerate executionMaster Machine Learning for Data Science — 2025–2026
Jupyter Notebook
98.4%
Python
1.6%
This project presents a reproduction and critical evaluation of the paper:
Large Language Models Enable Few-Shot Clustering (Viswanathan et al., 2023)
In addition to reproducing the original experiments, this work proposes complementary evaluations and improvements, including:
The full methodology, experiments, and analysis are detailed in the project report.
pip install few-shot-clustering
git submodule update --init
pip install -e .
pip install -r requirements.txt
Reproduction of original results:
reproduced_results.ipynb
Additional experiments and evaluations:
Added_approaches.ipynb
The project evaluates clustering on multiple datasets:
Due to missing resources in the original repository, some datasets (e.g., Tweet) were reconstructed manually.
We reproduced three main strategies:
We proposed a combined pipeline:
To reduce computation time and API usage, the project includes a cache_files/ directory.
This folder contains precomputed LLM outputs to avoid re-running expensive operations:
*_keyphrase.json → cached keyphrase generations*_pairwise.json → cached pairwise constraintsExample structure:
cache_files/
├── 20news_cache/
├── bank_cache/
├── clinc_cache/
├── tweet_cache/
These caches allow faster experimentation and reproducibility without repeatedly querying the LLM.
accuracies_methods.json → contains the results of the added approaches and experiments (Accuracy & evaluation metrics)This file summarizes the performance of different methods and is used for analysis and comparisons.
read_only=True) to accelerate executionMaster Machine Learning for Data Science — 2025–2026
Jupyter Notebook
98.4%
Python
1.6%