--- 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.0 - type: f1 value: 0.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 ```python 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 ```bash 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.