French Emotion Recognition Model: french-emotion-recognition
This repository contains a fine-tuned version of the LiquidAI/LFM2-350M
model, specialized in classifying emotions from French text.
GGUF Version Available Looking for a version that runs efficiently on your CPU? A GGUF-quantized version of this model is available here: JusteLeo/french-emotion-recognition-GGUF
🇬🇧 English Version
Model Description
This model is a fine-tune of LiquidAI/LFM2-350M. It has been trained to identify and classify the following emotions from a given text:
joy
(joie)anger
(colere)sadness
(tristesse)fear
(peur)surprise
(surprise)disgust
(dégout)neutral
(neutre)
The model was trained on the following synthetic dataset: JusteLeo/French-emotion.
How to Use
This model can be used directly with the text-generation
pipeline from the transformers
library.
from transformers import pipeline, AutoModelForCausalLM, AutoTokenizer
# Load the model and tokenizer
model_id = "JusteLeo/french-emotion-recognition"
model = AutoModelForCausalLM.from_pretrained(model_id)
tokenizer = AutoTokenizer.from_pretrained(model_id)
# Create the pipeline
emotion_classifier = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer
)
# --- Examples ---
prompts = [
"Je viens de gagner au loto, c'est incroyable !", # "I just won the lottery, it's incredible!"
"Ce plat a un goût vraiment étrange, je n'aime pas du tout.", # "This dish has a really weird taste, I don't like it at all."
"La date limite pour le projet est demain et je n'ai rien commencé.", # "The project deadline is tomorrow and I haven't started anything."
"Il est 15h00." # "It's 3:00 PM."
]
for prompt in prompts:
# The model expects a simple instruction; the prompt is the sentence to analyze.
# The generated response will be the detected emotion.
result = emotion_classifier(
prompt,
max_new_tokens=10, # 10 tokens are enough for the emotion name
pad_token_id=tokenizer.eos_token_id,
eos_token_id=tokenizer.eos_token_id
)
print(f"Sentence: '{prompt}'")
# The response contains the prompt + emotion, we only display the generated part.
print(f"Predicted Emotion: {result[0]['generated_text'][len(prompt):].strip()}")
print("-" * 20)
Acknowledgements
- A big thank you to Liquid AI for sharing the weights of their excellent
LFM2-350M
model. - Thanks also to Unsloth to share simple codes for the development process.
🇫🇷 Version Française
Description du Modèle
Ce modèle est un affinage de LiquidAI/LFM2-350M. Il a été entraîné pour identifier et classifier les émotions suivantes dans un texte donné :
joie
colere
tristesse
peur
surprise
dégout
neutre
Le modèle a été entraîné sur le jeu de données synthétique suivant : JusteLeo/French-emotion.
Comment l'utiliser ?
Ce modèle peut être utilisé directement avec la pipeline text-generation
de la bibliothèque transformers
.
from transformers import pipeline, AutoModelForCausalLM, AutoTokenizer
# Charger le modèle et le tokenizer
model_id = "JusteLeo/french-emotion-recognition"
model = AutoModelForCausalLM.from_pretrained(model_id)
tokenizer = AutoTokenizer.from_pretrained(model_id)
# Créer la pipeline
emotion_classifier = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer
)
# --- Exemples ---
prompts = [
"Je viens de gagner au loto, c'est incroyable !",
"Ce plat a un goût vraiment étrange, je n'aime pas du tout.",
"La date limite pour le projet est demain et je n'ai rien commencé.",
"Il est 15h00."
]
for prompt in prompts:
# Le modèle attend une instruction simple, le prompt est la phrase à analyser.
# La réponse générée sera l'émotion détectée.
result = emotion_classifier(
prompt,
max_new_tokens=10, # Une dizaine de tokens est suffisant pour le nom de l'émotion
pad_token_id=tokenizer.eos_token_id,
eos_token_id=tokenizer.eos_token_id
)
print(f"Phrase : '{prompt}'")
# La réponse contient le prompt + l'émotion, nous affichons seulement la partie générée.
print(f"Émotion prédite : {result[0]['generated_text'][len(prompt):].strip()}")
print("-" * 20)
Remerciements
- Downloads last month
- 5