For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/ai-machine-learning/ai-notebooks-hugging-face-sentiment-analysis.md.

AI Notebooks - Tutoriel - Analyse de sentiments en utilisant Hugging Face

Voir en Markdown

Comment utiliser les modèles d'Hugging Face pour faire de l'analyse de sentiments sur des tweets

Objectif

L'objectif de ce tutoriel est de montrer comment il est possible d'utiliser les modèles pré-entraînés Hugging Face pour analyser les sentiments sur des Tweets. Hugging Face est une entreprise connue pour créer des logiciels open source tels que Transformers et Datasets, utilisés pour construire des systèmes de NLP. Ce logiciel peut être utilisé pour la classification, la réponse à des questions, la traduction et de nombreuses autres tâches de NLP.

Info

Pourquoi utiliser des modèles existants ?

  • Quelqu'un a peut-être déjà rencontré le même problème que vous. Un modèle peut donc déjà exister pour la tâche que vous essayez de résoudre
  • Pas assez de données : vous n'avez peut-être pas assez de données pour entraîner un modèle à partir de zéro
  • Pas assez de puissance de calcul
  • Manque de connaissances dans le domaine
  • Gain de temps !

Comment définir le NLP ?

Le Traitement du langage naturel est une branche du Machine Learning qui vise à donner aux programmes informatiques la capacité de comprendre le langage humain naturel.

Hugging Face nous permet d'afficher les sentiments des Tweets selon leur sujet.

Pour cela, nous allons comparer 3 modèles sur l'analyse de sentiments de Tweets : 2 modèles d'analyse de sentiments fonctionnant en français et un autre en multilingue.

Nous utiliserons également un modèle pour classer les Tweets selon leur sujet : un modèle de classification Zero-Shot fonctionnant en français.

Hugging Face

Prérequis

  • Un projet Public Cloud dans votre compte OVHcloud ;
  • Un utilisateur Public Cloud disposant des droits pour démarrer des AI Notebooks ;
  • Un compte Hugging Face (si vous le souhaitez !).

Accès à l'espace client OVHcloud

  • Lien direct :
  • Pour accéder à vos services : Public Cloud > Sélectionnez votre projet > Object Storage

En pratique

Info

Dans ce tutoriel, nous récupérons nos Tweets et constituons notre base de données sous forme de fichier .csv.

Au préalable, si vous souhaitez stocker vos données (Tweets) dans un conteneur d'objets, veuillez suivre l'étape suivante.

Envoyer votre jeu de données sur Public Cloud Storage

Si vous souhaitez l'envoyer depuis l', allez dans la section Object Storage et créez un nouveau conteneur d'objets en cliquant sur Object Storage > Créer un conteneur d'objets.

Page Create an object container avec l'étape 1 Select a region ouverte sur l'onglet All locations proposant Beauharnois BHS Frankfurt DE Gravelines GRA Strasbourg SBG London UK et Warsaw WAW

Si vous souhaitez le faire avec la CLI, suivez simplement ce guide. Vous devez choisir la région, le nom de votre conteneur et le chemin où se trouvent vos données, puis utiliser la commande suivante :

ovhai bucket object upload <container>@<region> <paths>

Lancer et accéder à un notebook Jupyter

La première étape consistera à créer un notebook Jupyter avec OVHcloud AI Notebooks.

Tout d'abord, vous devez installer la CLI ovhai, puis choisir le nom du notebook (<notebook-name>), l'image Hugging Face (huggingface-transformers) et le nombre de GPU (<nb-gpus>) à utiliser sur votre notebook. Vous pouvez également attacher vos données, préalablement stockées dans l'Object Storage (<container@region/prefix:mount_path:permission>), et utiliser la commande suivante :

ovhai notebook run huggingface-transformers jupyterlab \
	--name <notebook-name> \
	--gpu <nb-gpus>
	--volume <container@region/prefix:mount_path:permission>

Expérimenter l'analyse de sentiments sur des Tweets avec les notebooks d'exemples OVHcloud

Une fois le dépôt cloné, trouvez le(s) notebook(s) de votre choix.

  • Notebook pour l'analyse de sentiments avec CamemBERT (pt-tblard-tf-allocine) :

ai-training-examples > notebooks > natural-language-processing > text-classification > hugging-face > sentiment-analysis-twitter > CamemBERT > hugging_face_camembert_sentiment_analysis_tweets.ipynb

  • Notebook pour l'analyse de sentiments avec BARThez (barthez-sentiment-classification) :

ai-training-examples > notebooks > natural-language-processing > text-classification > hugging-face > sentiment-analysis-twitter > BARThez > hugging_face_barthez_sentiment_analysis_tweets.ipynb

  • Notebook pour l'analyse de sentiments avec BERT (bert-base-multilingual-uncased-sentiment) :

ai-training-examples > notebooks > natural-language-processing > text-classification > hugging-face > sentiment-analysis-twitter > BERT > hugging_face_bert_sentiment_analysis_tweets.ipynb

Les instructions sont directement affichées dans les notebooks. Vous pouvez les exécuter avec le bouton "Play" standard dans l'interface du notebook.

Tester les différents modèles

Test de 3 modèles...

Analyse de sentiments avec pt-tblard-tf-allocine

Théophile Blard, French sentiment analysis with BERT, (2020), dépôt GitHub

Les Tweets sont répartis en 2 classes selon leur sentiment : positif ou négatif.

camemBERT_results

Analyse de sentiments avec barthez-sentiment-classification

Eddine, Moussa Kamal and Tixier, Antoine J-P and Vazirgiannis, Michalis, BARThez: a Skilled Pretrained French Sequence-to-Sequence Model, (2020), dépôt GitHub

Les Tweets sont répartis en 2 classes selon leur sentiment : positif ou négatif.

BARThez_results

Analyse de sentiments avec bert-base-multilingual-uncased-sentiment

Voir NLP Town

Les Tweets sont répartis en 5 classes, de 1 à 5 étoiles, selon leur sentiment : 1 étoile correspond à un tweet très négatif, tandis que 5 étoiles correspondent à un tweet très positif.

BERT_results

Comparer les performances des modèles

Précédemment, nous avons testé 3 modèles Hugging Face basés sur BARThez, BERT et camemBERT. Deux d'entre eux peuvent être comparés sur notre jeu de données : BARThez et CamemBERT.

Il est possible de traiter nos données manuellement et de comparer nos résultats avec les prédictions des modèles. Nous pourrons ainsi afficher le taux de réussite des modèles pour voir lequel a été le meilleur sur notre jeu de données.

La matrice de confusion nous donnera également des informations sur les faux positifs ou les faux négatifs.

Matrice de confusion - BARThez x sentiments réels

BARThez_matrix

Taux de réussite : 87,02 %

Matrice de confusion - CamemBERT x sentiments réels

CamemBERT_matrix

Taux de réussite : 78,63 %

Conclusion

Pour résumer, nous constatons que les résultats de ces modèles pré-entraînés sont satisfaisants. Nous notons que la performance du modèle basé sur BARThez est meilleure sur notre jeu de données que celle du modèle basé sur CamemBERT.

Cependant, cela dépend du jeu de données que vous utilisez.

N'hésitez pas à tester plusieurs modèles !

Expérimenter avec les notebooks

Un aperçu des trois notebooks est disponible sur GitHub ici.

Aller plus loin

  • Vous pouvez également déployer une application Flask pour classifier des sentiments de texte avec des modèles Hugging Face. Consultez cette documentation.
  • Si vous vous intéressez au NLP (traitement du langage naturel), familiarisez-vous avec la reconnaissance vocale en suivant ce tutoriel.

Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.

Votre avis nous intéresse !

N’hésitez pas à nous faire part de vos questions, retours et suggestions pour améliorer le service :

Cette page vous a-t-elle aidé ?