Reporte de Práctica — Semana 5
Análisis de Sentimientos y Clasificación Automática de Texto
Procesamiento Natural del Lenguaje (NRC-8774)
Especialización en Inteligencia Artificial
Corporación Universitaria Minuto de Dios — UNIMINUTO
Grupo 7
Alexander Oviedo Fadul
María Fernanda Ruiz Paipilla
Neheman Samir Jaller Cerchiaro
William David Obando López
Docente: Nathalia Orozco Morales
Julio de 2026
Enlace al Notebook en Google Colab
El notebook completo con el código reproducible, gráficos y análisis detallado se encuentra disponible en el siguiente enlace de Google Colab:
https://colab.research.google.com/drive/1PEx-RH8_uAU_oEhLstqdjz98gGAOMylV?usp=sharing
Introducción
El presente reporte documenta los resultados del laboratorio práctico de la Semana 5 de Procesamiento Natural del Lenguaje, cuyo objetivo fue aplicar técnicas de clasificación de texto y análisis de sentimientos mediante modelos supervisados y herramientas preentrenadas. La actividad se desarrolló en dos partes: primero, un análisis de sentimientos sobre el corpus movie_reviews de NLTK comparando Naive Bayes con TextBlob; segundo, la clasificación automática de tickets de soporte basada en el caso de estudio de Nexo Digital presentado por la profesora Nathalia Orozco Morales durante la clase.
El caso Nexo Digital resulta particularmente relevante porque refleja un problema real que enfrentan muchas organizaciones: la clasificación manual de solicitudes de soporte genera cuellos de botella operativos, errores de asignación (22% según la auditoría del caso) y retrasos en la atención al cliente. La implementación de pipelines de PLN basados en TF-IDF con n-gramas de caracteres y umbrales de abstención permite automatizar el enrutamiento con alta precisión y optimizar la carga de trabajo del equipo de atención.
Marco Teórico
Análisis de sentimientos
El análisis de sentimientos es una subdisciplina del procesamiento de lenguaje natural que busca determinar la actitud, opinión o emoción expresada en un texto (Srinivasa-Desikan, 2018). Los enfoques principales incluyen métodos basados en lexicón, que utilizan diccionarios de palabras con polaridad preasignada, y métodos supervisados que aprenden patrones a partir de datos etiquetados.
TF-IDF y representación vectorial
TF-IDF (Term Frequency–Inverse Document Frequency) es una técnica de vectorización que pondera la importancia de cada término en función de su frecuencia en el documento y su rareza en el corpus (Ganegedara, 2018). Cuando se combina con n-gramas de caracteres, permite capturar raíces morfológicas y variantes ortográficas, lo cual es especialmente útil en español donde las palabras flexionan ampliamente (cancelar, cancelación, cancélenlo).
Clasificación supervisada
Naive Bayes multinomial y la regresión logística son modelos lineales ampliamente utilizados como baseline en tareas de clasificación de texto (Rajput, 2020). Naive Bayes asume independencia condicional entre las features dada la clase, lo que, aunque es una suposición fuerte, suele funcionar sorprendentemente bien en la práctica para datos de texto de alta dimensionalidad.
Umbrales de confianza
En sistemas de clasificación automática, el umbral de confianza determina el punto a partir del cual el modelo clasifica automáticamente un caso o lo deriva a revisión humana. Como discutimos en clase, un umbral del 45% puede ofrecer ~70% de cobertura automática con ~91% de exactitud en los casos clasificados, pero este balance debe ajustarse según la sensibilidad del dominio.
Metodología
Parte 1: Análisis de sentimientos
Se utilizó el corpus movie_reviews de NLTK (2.000 reseñas de cine, 1.000 positivas y 1.000 negativas). El preprocesamiento incluyó conversión a minúsculas, eliminación de caracteres especiales y stopwords, y tokenización. Se entrenó un clasificador Naive Bayes multinomial sobre vectores TF-IDF (max_features=10.000, sublinear_tf=True), con división 75/25 estratificada y semilla 42. Se realizó validación cruzada con 5 folds. Los resultados se compararon con TextBlob, un analizador de sentimiento basado en lexicón preentrenado.
Parte 2: Clasificación de tickets
Se utilizó el dataset tickets_soporte.csv proporcionado en clase, con 150 tickets balanceados en 5 categorías (facturación, soporte técnico, ventas, cancelación, reclamo). Se compararon dos modelos: (A) TF-IDF de palabras completas con regresión logística como baseline, y (B) TF-IDF de n-gramas de caracteres (3-5) con regresión logística. Ambos se evaluaron con validación cruzada estratificada de 5 folds y F1-macro como métrica principal. Se implementó trazabilidad por ticket (texto, etiqueta real, predicción, confianza) y análisis de umbrales (30%-70%).
Resultados
Análisis de sentimientos
El modelo Naive Bayes con TF-IDF alcanzó un desempeño robusto sobre el corpus movie_reviews, superando consistentemente al análisis basado en lexicón de TextBlob. La validación cruzada de 5 folds confirmó la estabilidad del modelo. TextBlob, por su parte, clasificó un porcentaje significativo de reseñas como neutras, reduciendo su cobertura efectiva. Los detalles numéricos de precision, recall y F1 por clase se encuentran en el notebook adjunto.
Clasificación de tickets
El Modelo B (TF-IDF de n-gramas 3-5) superó consistentemente al Modelo A (TF-IDF de palabras). Este resultado coincide con la demostración de clase donde la profesora mostró una mejora del F1 de 0.69 a 0.82. Los n-gramas de caracteres capturan raíces compartidas entre variantes morfológicas, lo que resulta particularmente útil para tickets en español donde los usuarios escriben con errores tipográficos y variaciones léxicas.
El análisis de umbrales mostró que con un umbral de 0.45, el modelo puede clasificar automáticamente una fracción significativa de los tickets con alta exactitud, derivando los casos ambiguos a revisión humana. Esto es directamente aplicable al caso Nexo Digital, donde la coordinadora podría reducir su carga de 3h40min diarios a una fracción, enfocándose solo en los tickets de baja confianza.
Conclusiones
Los modelos supervisados (Naive Bayes, regresión logística) superan consistentemente a las herramientas basadas en lexicón (TextBlob) cuando se dispone de datos etiquetados, confirmando la importancia de invertir en la construcción de corpus de calidad específicos para cada dominio.
La representación TF-IDF con n-gramas de caracteres (3-5) es una técnica sencilla pero poderosa para clasificación de texto en español, donde la flexión morfológica y los errores tipográficos son comunes. Esta técnica ofrece una mejora significativa sobre el TF-IDF de palabras completas sin requerir recursos computacionales adicionales.
El sistema de umbrales de confianza con derivación a revisión humana (human-in-the-loop) es la estrategia operativa adecuada para entornos empresariales como Nexo Digital, donde el costo de un error de clasificación varía por categoría (los reclamos mal asignados tienen mayor impacto que las consultas de ventas). La trazabilidad por ticket es indispensable para auditoría, re-entrenamiento y mejora continua del modelo.
En síntesis, el Grupo 7 concluye que el valor operativo del Procesamiento del Lenguaje Natural radica en la construcción de sistemas híbridos y adaptativos. La combinación de vectorización subpalabras (n-gramas 3-5) y políticas de abstención supervisadas (Human-in-the-Loop) permite que organizaciones con alto volumen de solicitudes, como Nexo Digital, automaticen la atención con alta certeza y canalicen adecuadamente los casos complejos hacia la revisión humana.
Referencias
Bird, S., Klein, E., & Loper, E. (2009). Natural Language Processing with Python. O'Reilly Media.
Ganegedara, T. (2018). Natural Language Processing with TensorFlow: Teach language to machines using Python's deep learning library. Packt Publishing.
Rajput, A. (2020). Hands-On Natural Language Processing with Python: A practical guide to applying deep learning architectures to your NLP applications. Packt Publishing.
Srinivasa-Desikan, B. (2018). Natural Language Processing and Computational Linguistics: A practical guide to text analysis with Python, Gensim, spaCy, and Keras. Packt Publishing.