Skip to content

Machine learning analysis and chatbot creation based on recipe datasets

Notifications You must be signed in to change notification settings

CorraPiano/NLP-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NLP-Project

Welcome to the NLP Project repository!
This project was developed as part of the Natural Language Processing course at Politecnico di Milano.

Overview

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

Interface screenshots

CLIP chatbot

Screenshot 1

Generative chatbot

Screenshot 2

Project Structure

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)

Getting Started

  1. Clone the repository:

    git clone <repository-url>
    cd NLP-Project
  2. Set up your environment: It is recommended to use a virtual environment (e.g., venv or conda). Install the required dependencies as specified in the relevant notebooks or scripts.

  3. Explore the notebooks: Open the Jupyter notebooks in the notebooks/ folder to explore the main topics and experiments.

  4. Run the demos: The demo/ folder contains Python scripts demonstrating generative and retrieval-augmented generation models.

Features

  • 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.

Authors

This project was developed by:

  • Marco Conti
  • Davide Corradina
  • Federico De Introna
  • Francesco Di Giore
  • Daniele Di Giorgio

License

This project is for educational purposes.

About

Machine learning analysis and chatbot creation based on recipe datasets

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •