DeBERTa-v3 pour l'Analyse de Sentiment Basée sur les Aspects (ABSA)

Ce dépôt contient un modèle DeBERTa-v3 ajusté (fine-tuned) spécifiquement pour l'Extraction de Termes d'Aspect (ATE) et la Classification de Polarité (PC) en utilisant la bibliothèque PyABSA.

Ce modèle est entraîné exclusivement sur des données en anglais. Bien que la documentation soit disponible en français, les entrées fournies au modèle doivent impérativement être en anglais pour obtenir des résultats fiables.

Description du Modèle

Le modèle est conçu pour :

  1. Extraire les Aspects : Identifier automatiquement les caractéristiques ou sujets spécifiques mentionnés dans une phrase (ex: "nourriture", "service", "autonomie de la batterie").
  2. Classer le Sentiment : Déterminer le sentiment exprimé envers chaque aspect identifié (Positif, Négatif ou Neutre).

Il est basé sur l'architecture microsoft/deberta-v3-base, qui offre des performances supérieures dans les tâches de NLU par rapport à BERT ou RoBERTa.

Installation

Pour utiliser ce modèle, vous devez installer pyabsa et ses dépendances :

pip install pyabsa transformers torch

Utilisation

Vous pouvez utiliser l'extrait suivant pour exécuter une inférence localement :

import os
from pyabsa import AspectTermExtraction as ATEPC

# Initialiser l'extracteur d'aspects
# PyABSA gérera automatiquement le téléchargement et le chargement du modèle s'il est lié à HF
model = ATEPC.AspectExtractor(checkpoint="votre-nom-d-utilisateur/deberta-absa")

text = "The food was delicious but the service was extremely slow."
result = model.predict(text, print_result=True)

# Traiter les résultats
for aspect, sentiment in zip(result['aspect'], result['sentiment']):
    print(f"Aspect: {aspect} | Sentiment: {sentiment}")

Format d'Entrée/Sortie

Entrée

Le modèle accepte une chaîne de texte brut (une phrase ou un paragraphe). Exemple : "The pizza was amazing but the staff was rude."

Sortie

Le modèle renvoie un résultat structuré contenant :

  • Aspects : Les entités ou caractéristiques spécifiques identifiées (ex: ["pizza", "personnel"]).
  • Sentiments : La polarité du sentiment pour chaque aspect (ex: ["positive", "negative"]).

Sortie Détaillée

Pour les utilisateurs avancés, le modèle fournit une sortie plus granulaire incluant des informations au niveau des jetons et des probabilités de sentiment :

{
  "sentence": "The pizza was amazing",
  "tokens": ["The", "pizza", "was", "amazing"],
  "IOB": ["O", "B-ASP", "O", "O"],
  "aspect": ["pizza"],
  "position": [[1]],
  "sentiment": ["positive"],
  "probs": [[0.0002, 0.0003, 0.9994]],
  "confidence": [0.9994]
}
  • IOB : Balises Inside-Outside-Beginning pour l'extraction de termes d'aspect.
  • Probs : Distribution de probabilité sur [négatif, neutre, positif].
  • Position : Décalage du jeton de l'aspect dans la phrase.

Le modèle a été entraîné sur un jeu de données combiné incluant SemEval 2014, SemEval 2015 et SemEval 2016 (Ordinateurs portables et Restaurants), en se concentrant sur une extraction d'aspect robuste et une classification de sentiment de haute précision.

Performance

Tâche Précision / F1
Extraction d'Aspect (ATE F1) 85.85%
Classification de Polarité (APC Accuracy) 89.86%
Classification de Polarité (APC F1) 84.08%

Auteurs

Ce travail a été développé et affiné par :

  • Othmen Siwar
  • Bouallégue Abir

Citation

Si vous utilisez ce modèle, veuillez citer le dépôt PyABSA original et l'article DeBERTa.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Space using siwarroth/deberta-absa 1