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.