{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "jwJlAIfQHGhG"
      },
      "outputs": [],
      "source": [
        "!pip install transformers sentencepiece"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "import transformers\n",
        "\n",
        "tokenizer = transformers.AutoTokenizer.from_pretrained(\"facebook/bart-large-mnli\")\n",
        "\n",
        "result = tokenizer.encode(\"¡Hola! ¿Qué tal? ¿Cómo estás? Buenas tardes, ¿me puedes ayudar por favor a hacer la tarea?\")\n",
        "print(result)\n",
        "print(f\"Total de tokens: {len(result)}\")"
      ],
      "metadata": {
        "id": "2FMjUl-uHhYu"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "tokens = tokenizer.convert_ids_to_tokens(result)\n",
        "for token, id in zip(tokens, result):\n",
        "    print(f\"{id}\\t→\\t{token}\")"
      ],
      "metadata": {
        "id": "8gqrZSL6JMJ2"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "import torch\n",
        "from transformers import pipeline\n",
        "\n",
        "# 1. Cargamos un modelo ya entrenado para clasificar texto\n",
        "clasificador = pipeline(\"zero-shot-classification\", model=\"facebook/bart-large-mnli\")\n",
        "\n",
        "# 2. El correo electrónico del alumno sobre un problema en la clase de matemáticas\n",
        "correo_cliente = (\n",
        "    \"me retrasé porque estaba desayunando y mi perro se comió mi tarea\"\n",
        ")\n",
        "\n",
        "# 3. Definimos las etiquetas para los tipos de problemas en una clase de matemáticas\n",
        "departamentos = [\n",
        "    \"Duda sobre tarea\",\n",
        "    \"Problema con concepto\",\n",
        "    \"Problemas de asistencia\",\n",
        "    \"Consulta sobre calificación\",\n",
        "    \"Recursos adicionales\"\n",
        "]\n",
        "\n",
        "# 4. El clasificador analiza el contexto del correo y calcula las probabilidades\n",
        "resultado = clasificador(correo_cliente, candidate_labels=departamentos)\n",
        "\n",
        "# 5. Mostramos el resultado\n",
        "print(f\"Correo: '{correo_cliente}'\")\n",
        "print(f\"Problema asignado: {resultado['labels'][0]} (Confianza: {resultado['scores'][0]:.2%})\")\n"
      ],
      "metadata": {
        "id": "G_ngPTHSKGTz"
      },
      "execution_count": null,
      "outputs": []
    }
  ]
}