vertigoq3's picture
Add model card
634d2b0 verified
metadata
license: mit
language: es
tags:
  - text-classification
  - spanish
  - email-classification
  - bert
  - multilingual
datasets:
  - custom
metrics:
  - accuracy
  - f1
model-index:
  - name: vertigoq3/email-classifier-bert
    results:
      - task:
          type: text-classification
          name: Email Classification
        dataset:
          type: custom
          name: Email Dataset
        metrics:
          - type: accuracy
            value: 0
          - type: f1
            value: 0

email-classifier-bert

Modelo BERT multilingüe fine-tuneado para clasificación de emails en español.

Descripción

Este modelo está basado en bert-base-multilingual-cased y ha sido entrenado para clasificar emails en diferentes categorías. El modelo puede identificar automáticamente el tipo de email basándose en su contenido.

Uso

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
import numpy as np
import pickle

# Cargar el modelo y tokenizer
model = AutoModelForSequenceClassification.from_pretrained("vertigoq3/email-classifier-bert")
tokenizer = AutoTokenizer.from_pretrained("vertigoq3/email-classifier-bert")

# Cargar el encoder de etiquetas
with open("label_encoder.pkl", "rb") as f:
    encoder = pickle.load(f)

def clasificar_email(texto):
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    model.to(device)
    
    inputs = tokenizer(texto, return_tensors="pt", truncation=True, padding=True, max_length=512)
    inputs = {k: v.to(device) for k, v in inputs.items()}
    
    with torch.no_grad():
        outputs = model(**inputs)
    
    pred = np.argmax(outputs.logits.detach().cpu().numpy(), axis=1)
    return encoder.inverse_transform(pred)[0]

# Ejemplo de uso
resultado = clasificar_email("¿Cuándo abren mañana?")
print(f"Categoría: {resultado}")

Instalación

pip install transformers torch numpy scikit-learn

Entrenamiento

El modelo fue entrenado con:

  • Base Model: bert-base-multilingual-cased
  • Epochs: 6
  • Learning Rate: 2e-5
  • Batch Size: 8
  • Weight Decay: 0.01

Limitaciones

  • El modelo está optimizado para texto en español
  • Requiere el archivo label_encoder.pkl para funcionar correctamente
  • Las categorías de clasificación dependen del dataset de entrenamiento

Contacto

Para preguntas o problemas, contacta al autor del modelo.