Welcome to the NLP Project repository!
This project was developed as part of the Natural Language Processing course at Politecnico di Milano.
This repository contains code, notebooks, demos, and resources related to various Natural Language Processing (NLP) tasks and techniques explored throughout the course. Key topics include:
- Text Classification
- Clustering & Topic Modeling
- Audio Processing
- Generative Models
- Retrieval-Augmented Generation (RAG)
- Dataset Analysis & Visualization
A major focus of the project was the analysis of a large collection of recipes. We built and evaluated multiple models capable of:
- Retrieving recipes based on ingredients, cuisine, or dish name
- Generating new recipes using advanced generative techniques
- Exploring different approaches to recipe recommendation and content synthesis
NLP-Project/
├── demo/ # Python demo scripts for generative and RAG models
│ ├── Demo_Generative.py
│ └── Demo_RAG.py
│
├── notebooks/ # Main Jupyter notebooks for each topic
│ ├── Audio_Processing.ipynb
│ ├── Classification.ipynb
│ ├── Clustering_and_Topic_Modeling.ipynb
│ └── ...
│
├── test_notebooks/ # Supplementary notebooks for testing and analysis
│ ├── chatbot_generator.ipynb
│ ├── dataset_analysis.ipynb
│ └── ...
│
├── HTML/ # HTML exports of the main notebooks
│ ├── Audio_Processing.html
│ ├── Classification.html
│ └── ...
│
├── videos/ # Demo videos showcasing project features
│ ├── Demo_Gen.mp4
│ ├── Demo_RAG.mp4
│ └── NLP_Project_final.mp4
│
└── README.md # Project documentation (this file)-
Clone the repository:
git clone <repository-url> cd NLP-Project
-
Set up your environment: It is recommended to use a virtual environment (e.g.,
venvorconda). Install the required dependencies as specified in the relevant notebooks or scripts. -
Explore the notebooks: Open the Jupyter notebooks in the
notebooks/folder to explore the main topics and experiments. -
Run the demos: The
demo/folder contains Python scripts demonstrating generative and retrieval-augmented generation models.
- Interactive Notebooks: Each topic is explored through well-documented Jupyter notebooks.
- Demo Scripts: Ready-to-run Python scripts for key models and pipelines.
- Exported HTML: Notebooks are also available as HTML files for easy viewing.
- Videos: Demo videos showcase the interface and results of the project.
This project was developed by:
- Marco Conti
- Davide Corradina
- Federico De Introna
- Francesco Di Giore
- Daniele Di Giorgio
This project is for educational purposes.

