readme updates
This commit is contained in:
parent
76e8a4f48f
commit
d99871993c
2 changed files with 43 additions and 42 deletions
42
README.fr.md
42
README.fr.md
|
|
@ -2,61 +2,61 @@
|
||||||
|
|
||||||
📘 Ce projet est également disponible en [anglais 🇬🇧](./README.md)
|
📘 Ce projet est également disponible en [anglais 🇬🇧](./README.md)
|
||||||
|
|
||||||
Ce dépôt contient les notebooks et le code source du projet d’analyse de sentiments sur des tweets, réalisé dans le cadre du programme OpenClassrooms **"Air Paradis"**.
|
Ce dépôt contient les notebooks et le code source du projet d'analyse de sentiments sur des tweets, réalisé dans le cadre du programme OpenClassrooms **"Air Paradis"**.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Contexte métier
|
## Contexte métier
|
||||||
|
|
||||||
L’objectif est de prédire si un tweet (ou une courte expression écrite) est perçu comme **positif ou négatif**, dans le contexte d’une compagnie aérienne.
|
L'objectif est de prédire si un tweet (ou une courte expression écrite) est perçu comme **positif ou négatif**, dans le contexte d'une compagnie aérienne.
|
||||||
Le projet repose sur le jeu de données public **Sentiment140**.
|
Le projet repose sur le jeu de données public **Sentiment140**.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description du projet
|
## Description du projet
|
||||||
|
|
||||||
Le projet vise à développer un système complet d’analyse de sentiments, comprenant :
|
Le projet vise à développer un système complet d'analyse de sentiments, comprenant :
|
||||||
|
|
||||||
- Une analyse exploratoire des données textuelles,
|
- Une analyse exploratoire des données textuelles,
|
||||||
- Une comparaison de plusieurs modèles de classification (classiques, avancés et à l’état de l’art),
|
- Une comparaison rigoureuse de 10+ modèles de classification (classiques ML, LSTM + word embeddings, DistilBERT),
|
||||||
- Le déploiement d’une API REST exposant un modèle avancé (embeddings + LSTM),
|
- Le déploiement d'une API REST FastAPI exposant le meilleur modèle avancé (LSTM + Word2Vec),
|
||||||
- La mise en place d’un pipeline CI/CD pour automatiser les tests et le déploiement,
|
- La mise en place d'un pipeline MLOps complet : MLFlow, CI/CD (GitHub Actions), monitoring,
|
||||||
- Un hébergement local sur un serveur NAS pour garantir la souveraineté des données.
|
- Un hébergement local sur serveur NAS pour garantir la souveraineté des données.
|
||||||
|
|
||||||
|
📖 **Pour des informations détaillées sur les expérimentations menées et les résultats obtenus, consultez [docs/blog.fr.md](./docs/blog.fr.md).**
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Structure du dépôt
|
## Structure du dépôt
|
||||||
|
|
||||||
- `notebooks/` : notebooks d’analyse et de modélisation,
|
- `notebooks/` : notebooks d'analyse exploratoire et de modélisation,
|
||||||
- `deployment/` : code de l’API, tests, Dockerfile et fichiers liés au déploiement,
|
- `deployment/` : code de l'API FastAPI, tests unitaires, Dockerfile et configuration déploiement,
|
||||||
- `docs/` : documentation et ressources associées,
|
- `docs/` : documentation détaillée (blog.fr.md), diagrammes, captures d'écran,
|
||||||
- `../.github/workflows/` : pipelines CI/CD.
|
- `presentation/` : support de présentation du projet (PDF),
|
||||||
|
- `../.github/workflows/` : pipelines CI/CD (tests automatisés, build Docker, push DockerHub).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Entraînement des modèles
|
## Entraînement des modèles
|
||||||
|
|
||||||
Les phases d’entraînement ont principalement été réalisées sur **Google Colab**, afin de bénéficier de ressources GPU nécessaires aux modèles de deep learning.
|
Les phases d'entraînement ont principalement été réalisées sur **Google Colab**, afin de bénéficier de ressources GPU nécessaires aux modèles de deep learning.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Utilisation
|
## Utilisation
|
||||||
|
|
||||||
Les notebooks détaillent les étapes d’analyse et d’entraînement.
|
Les notebooks détaillent les étapes d'analyse et d'entraînement.
|
||||||
L’API est disponible dans le dossier `deployment/api`.
|
L'API est disponible dans le dossier `deployment/api` avec interface Streamlit de test.
|
||||||
|
|
||||||
|
Pour tester l'API en production : https://sentiment-api.greg-madman-nas.duckdns.org
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Remarques
|
## Remarques
|
||||||
|
|
||||||
- Les fichiers `requirements.txt` dans `notebooks/` proviennent des environnements Google Colab et peuvent contenir des dépendances peu optimisées pour un usage local.
|
- Les fichiers `requirements.txt` dans `notebooks/` proviennent des environnements Google Colab et peuvent contenir des dépendances peu optimisées pour un usage local.
|
||||||
- Le fichier `.env`, exclu du dépôt, contient les variables d’environnement nécessaires.
|
- Le fichier `.env`, exclu du dépôt, contient les variables d'environnement nécessaires (configuration MLFlow, MinIO, alerting).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Ce README sera mis à jour progressivement au fur et à mesure de l’avancement du projet.
|
**Projet réalisé dans le cadre du parcours "Data Scientist – Projet 7" d'OpenClassrooms**
|
||||||
Certains commentaires de code peuvent rester en français (ainsi que les cellules Markdown des notebooks). Tout sera traduit en anglais ultérieurement.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Projet réalisé dans le cadre du parcours "Data Scientist – Projet 7" d’OpenClassrooms**
|
|
||||||
43
README.md
43
README.md
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
📘 This project is also available in [French 🇫🇷](./README.fr.md)
|
📘 This project is also available in [French 🇫🇷](./README.fr.md)
|
||||||
|
|
||||||
This repository contains the notebooks and source code for the sentiment analysis project on tweets, carried out as part of the OpenClassrooms "Air Paradis" program.
|
This repository contains the notebooks and source code for the sentiment analysis project on tweets, conducted as part of the OpenClassrooms **"Air Paradis"** program.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Business Context
|
## Business Context
|
||||||
|
|
||||||
The goal is to predict whether a tweet, or a short written expression, is perceived as **positive or negative**, in the context of an airline company.
|
The objective is to predict whether a tweet (or short written expression) is perceived as **positive or negative**, in the context of an airline company.
|
||||||
The project is based on the public **Sentiment140** dataset.
|
The project is based on the public **Sentiment140** dataset.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -17,45 +17,46 @@ The project is based on the public **Sentiment140** dataset.
|
||||||
|
|
||||||
The project aims to develop a complete sentiment analysis system, including:
|
The project aims to develop a complete sentiment analysis system, including:
|
||||||
|
|
||||||
- Exploratory data analysis of text data,
|
- Exploratory analysis of textual data,
|
||||||
- Comparison of several classification models (classical, advanced, and state-of-the-art),
|
- Rigorous comparison of 10+ classification models (classical ML, LSTM + word embeddings, DistilBERT),
|
||||||
- Deployment of a REST API exposing an advanced model (based on embeddings and LSTM),
|
- Deployment of a FastAPI REST API exposing the best advanced model (LSTM + Word2Vec),
|
||||||
- Implementation of a CI/CD pipeline to automate testing and deployment,
|
- Implementation of a complete MLOps pipeline: MLFlow, CI/CD (GitHub Actions), monitoring,
|
||||||
- Local hosting on a NAS server to ensure data sovereignty.
|
- Local hosting on NAS server to ensure data sovereignty.
|
||||||
|
|
||||||
|
📖 **For detailed information on experiments conducted and results obtained, see [docs/blog.md](./docs/blog.md).**
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Repository Structure
|
## Repository Structure
|
||||||
|
|
||||||
- `notebooks/`: analysis and modeling notebooks,
|
- `notebooks/`: exploratory analysis and modeling notebooks,
|
||||||
- `deployment/`: API code, tests, Dockerfile and deployment-related files,
|
- `deployment/`: FastAPI API code, unit tests, Dockerfile and deployment configuration,
|
||||||
- `docs/`: documentation and related materials,
|
- `docs/`: detailed documentation (blog.md), diagrams, screenshots,
|
||||||
- `../.github/workflows/`: CI/CD pipelines.
|
- `presentation/`: project presentation slides (PDF),
|
||||||
|
- `../.github/workflows/`: CI/CD pipelines (automated tests, Docker build, DockerHub push).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Model Training
|
## Model Training
|
||||||
|
|
||||||
Training phases were mainly conducted on Google Colab to leverage GPU resources required for deep learning models.
|
Training phases were primarily conducted on **Google Colab** to leverage GPU resources required for deep learning models.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
The notebooks detail the analysis and training steps. The API is available in `deployment/api`.
|
Notebooks detail the analysis and training steps.
|
||||||
|
The API is available in the `deployment/api` folder with Streamlit testing interface.
|
||||||
|
|
||||||
|
To test the production API: https://sentiment-api.greg-madman-nas.duckdns.org
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
- The `requirements.txt` files in `notebooks/` come from Google Colab environments and may contain dependencies that are not optimal for local use.
|
- The `requirements.txt` files in `notebooks/` come from Google Colab environments and may contain dependencies not optimized for local use.
|
||||||
- The `.env` file, excluded from the repository, contains the necessary environment variables.
|
- The `.env` file, excluded from the repository, contains necessary environment variables (MLFlow, MinIO, alerting configuration).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
This README will be updated progressively as the project advances.
|
**Project completed as part of OpenClassrooms "Data Scientist – Project 7" program**
|
||||||
Some code comments can remain in French (as well as notebook markdowns). All will be translated into English later.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Project completed as part of the OpenClassrooms "Data Scientist – Project 7" program**
|
|
||||||
Loading…
Add table
Reference in a new issue