miniLM-go_Emotions
mkpvishnu
Clasificación de texto
Este repositorio contiene una versión ajustada del modelo MiniLM-v2 de Microsoft, específicamente optimizada para el análisis de sentimientos utilizando el conjunto de datos GoEmotions. El modelo es capaz de clasificar el texto en las siguientes categorías emocionales/sentimentales: ira, aprobación, confusión, decepción, desaprobación, gratitud, alegría, tristeza y neutral. Este modelo tiene solo 90MB, lo que lo hace ideal para entornos con limitaciones de memoria.
Como usar
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
required_sentiments = ['anger', 'approval', 'confusion', 'disappointment', 'disapproval', 'gratitude', 'joy', 'sadness', 'neutral']
model = AutoModelForSequenceClassification.from_pretrained('./saved_model')
tokenizer = AutoTokenizer.from_pretrained('./saved_model')
text = "¿Cómo puedes ser tan descuidado?"
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding='max_length', max_length=128)
model.eval()
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.argmax(outputs.logits, dim=-1).item()
# Mapear la etiqueta al sentimiento
label_mapping = {idx: sentiment for idx, sentiment in enumerate(required_sentiments)}
sentimiento_predicho = label_mapping[predictions]
print(f'Texto: {text}')
print(f'Sentimiento Predicho: {sentimiento_predicho}')
Funcionalidades
- Tamaño reducido: MiniLM es significativamente más pequeño que sus modelos padres, lo que lo hace más rápido de cargar y desplegar, especialmente en entornos con recursos limitados.
- Rendimiento comparable: A pesar de su tamaño compacto, MiniLM mantiene una sorprendente alta precisión en varias tareas de procesamiento de lenguaje natural (NLP), incluido el análisis de sentimientos.
- Poder de destilación: La técnica de destilación de MiniLM asegura que capture el conocimiento esencial de modelos más grandes, convirtiéndolo en una herramienta potente para aplicaciones del mundo real.
Casos de uso
- Validación de modelos de análisis de sentimientos para cubrir una amplia gama de emociones.
- Despliegue en entornos con restricciones de memoria debido a su tamaño compacto.