https://github.com/kaoutarmi/finbert-llm
Ce projet propose une application pratique de FinBERT, un modèle de traitement du langage naturel spécialisé dans l'analyse des textes financiers.
https://github.com/kaoutarmi/finbert-llm
financial-text-classification finbert hugging-face-transformers sentiment-analysis text-summarization transfer-learning
Last synced: 2 months ago
JSON representation
Ce projet propose une application pratique de FinBERT, un modèle de traitement du langage naturel spécialisé dans l'analyse des textes financiers.
- Host: GitHub
- URL: https://github.com/kaoutarmi/finbert-llm
- Owner: kaoutarmi
- Created: 2025-02-26T13:55:25.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-26T14:41:59.000Z (over 1 year ago)
- Last Synced: 2025-02-26T15:37:31.354Z (over 1 year ago)
- Topics: financial-text-classification, finbert, hugging-face-transformers, sentiment-analysis, text-summarization, transfer-learning
- Language: Jupyter Notebook
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FinBERT Sentiment Analysis 📊💼
Bienvenue dans ce projet d'analyse de sentiment sur les textes financiers utilisant **FinBERT**, un modèle pré-entraîné spécialement conçu pour l'analyse de données financières. Ce dépôt contient deux fichiers **notebooks** Jupyter principaux :
- **FineBert-demo.ipynb** : Démonstration de l'utilisation de FinBERT pour l'analyse de sentiment.
- **finetune.ipynb** : Fine-tuning du modèle FinBERT sur un jeu de données personnalisé.
## 📑 1. **FineBert-demo.ipynb**
### 🎯 **Objectif** :
Ce notebook est une démonstration pratique de l'utilisation de **FinBERT** pour l'analyse du sentiment dans les textes financiers. Il montre comment charger un modèle pré-entraîné et l'utiliser pour classer et analyser les sentiments dans les textes financiers.
### 🔍 **Sections principales** :
1. **Installation des dépendances** 🛠️ :
- Ce notebook commence par l'installation des bibliothèques nécessaires comme `transformers` et `torch`, qui sont essentielles pour utiliser FinBERT.
2. **Chargement du modèle FinBERT** 🚀 :
- Utilisation du modèle pré-entraîné `yiyanghkust/finbert-tone` disponible sur Hugging Face pour analyser les sentiments dans les textes financiers.
3. **Analyse des sentiments** 💬 :
- Une fonction simple permet d'analyser le sentiment d'un texte financier donné (positif, négatif ou neutre).
4. **Interface utilisateur** 🖥️ :
- Une interface interactive est créée pour permettre à l'utilisateur de saisir des textes financiers et d'obtenir instantanément l'analyse du sentiment.
5. **Classification des textes financiers** 📈 :
- Les textes financiers sont classifiés en différentes catégories telles que "Risque", "Opportunité" et "Neutre".
6. **Extraction d'entités nommées (NER)** 🏦 :
- Cette section montre comment extraire des entités financières, comme des noms d'entreprises ou d'actions, et analyser leur sentiment associé.
7. **Résumé des textes financiers** ✍️ :
- Une fonction génère un résumé des textes financiers basé sur les sentiments analysés, pour permettre une compréhension rapide des points clés.
8. **Réponses aux questions spécifiques** ❓ :
- Ce bloc définit une fonction permettant de répondre à des questions spécifiques posées à propos des textes financiers.
### 🚀 **Points clés** :
- Ce notebook est conçu pour être interactif et permet à l'utilisateur d'interagir avec FinBERT en temps réel pour analyser des sentiments et classer des textes financiers.
- Il est une excellente introduction pour ceux qui veulent comprendre et utiliser FinBERT pour des tâches de traitement du langage naturel dans le domaine financier.
---
## 📑 2. **finetune.ipynb**
### 🎯 **Objectif** :
Ce notebook est destiné à fine-tuner (affiner) le modèle **FinBERT** pour l'adapter à un jeu de données financier spécifique. Il guide à travers le processus de préparation des données, d'entraînement du modèle et d'évaluation des performances sur un ensemble de test.
### 🔍 **Sections principales** :
1. **Installation des dépendances** 🔧 :
- Comme pour le premier notebook, ce fichier commence par l'installation des bibliothèques nécessaires pour le fine-tuning, notamment `transformers`, `torch`, et `datasets`.
2. **Chargement des données** 📂 :
- Le fichier utilise un jeu de données personnalisé, ici un fichier CSV nommé `analysttone.csv`, qui contient des phrases financières étiquetées avec leurs sentiments (positif, négatif, neutre).
3. **Préparation des données** 🛠️ :
- Les données sont divisées en ensembles d'entraînement, de validation et de test. Cette étape est cruciale pour évaluer correctement la performance du modèle.
4. **Chargement du modèle pré-entraîné FinBERT** 🏋️♂️ :
- Le modèle FinBERT pré-entraîné est chargé à partir de Hugging Face (`yiyanghkust/finbert-pretrain`).
5. **Préparation des datasets** 📑 :
- Cette section montre comment tokeniser les données pour les rendre compatibles avec le modèle FinBERT. C’est une étape indispensable avant l’entraînement.
6. **Définition des options d'entraînement** ⚙️ :
- Les hyperparamètres de l’entraînement sont définis, y compris le taux d'apprentissage, la taille des lots et le nombre d'époques, pour optimiser la performance du modèle.
7. **Entraînement du modèle** 🏃♂️ :
- Le modèle est entraîné sur les données d'entraînement, et son efficacité est évaluée à chaque époque en utilisant l'ensemble de validation.
8. **Évaluation sur l'ensemble de test** 📊 :
- Après l'entraînement, le modèle est évalué sur un ensemble de test séparé afin de mesurer sa capacité à généraliser à de nouvelles données.
9. **Sauvegarde du modèle** 💾 :
- Enfin, le modèle fine-tuné est sauvegardé, ce qui permet de l'utiliser pour des prédictions futures sans devoir le réentraîner.
### 🚀 **Points clés** :
- Ce notebook est plus technique et se concentre sur l'adaptation du modèle FinBERT à un jeu de données spécifique, ce qui est essentiel pour des cas d’utilisation personnalisés.
- Il montre comment fine-tuner un modèle pré-entraîné pour qu'il soit plus performant sur des données spécifiques.
- Il nécessite un environnement avec un GPU pour accélérer l'entraînement, surtout pour les grands jeux de données.
---
## 🚀 **Prérequis**
Avant d'exécuter ces notebooks, assurez-vous que les bibliothèques suivantes sont installées :
pip install transformers torch datasets