Clasificación de Texto con Machine Learning

Clase 1 de 26Curso de Algoritmos de Clasificación de Texto

Contenido del curso

Resumen

Resolver la ambigüedad del lenguaje humano es uno de los retos más fascinantes del procesamiento de lenguaje natural. Cuando una máquina recibe un texto, necesita entender que una misma palabra puede cambiar completamente de significado según el contexto que la rodea. Este segundo curso de NLP, guiado por Francisco Camacho, se enfoca en aplicar modelos de machine learning a la clasificación de textos, partiendo de las bases construidas con NLTK en el curso anterior.

¿Por qué el lenguaje humano es tan difícil de procesar para las máquinas?

El lenguaje humano es difuso y dependiente del contexto [0:44]. Para nosotros, distinguir significados es casi automático, pero para un algoritmo representa un problema complejo. Consideremos el ejemplo clásico: "Debo ir al banco para retirar dinero" frente a "¿Te puedes sentar en ese banco para descansar?" [1:07]. La misma palabra refiere en un caso a una entidad financiera y en otro a un asiento. Esta capacidad de una palabra para adoptar múltiples significados es lo que se conoce como ambigüedad del lenguaje.

Otro ejemplo revelador aparece con la palabra noble [1:41]: "Mi hermano es una persona muy noble" la convierte en un adjetivo que describe una cualidad. Pero en "El noble del castillo no quiere ayudar a su pueblo", funciona como sustantivo, refiriéndose a alguien de la realeza. Estas diferencias están vinculadas a lo que en gramática llamamos categorías gramaticales.

¿Cuántos tipos de ambigüedad existen en el lenguaje?

Se identifican al menos tres tipos principales [2:30]:

  • Ambigüedad por agrupamiento: depende de cómo se agrupan las palabras. "Pepe vio a Pablo enfurecido" cambia de sentido con una simple coma: "Pepe vio a Pablo, enfurecido".
  • Ambigüedad funcional: no puede resolverse solo con el texto. "La gallina está lista para comer" admite dos lecturas —la gallina come o alguien come la gallina— y necesita contexto externo para desambiguarse [3:13].
  • Ambigüedad léxica: depende de la categoría gramatical que adquiere una palabra según su contexto, como el ejemplo de "noble" [4:04].

En este curso, el foco está en las ambigüedades de tipo léxico, porque son las que los algoritmos de machine learning pueden atacar al analizar el contexto textual que rodea cada palabra.

¿Qué es Part of Speech tagging y cómo funciona?

El problema central que se aborda es el etiquetado POS (Part of Speech), que consiste en asignar a cada palabra su categoría gramatical correcta: verbo, sustantivo, adjetivo, determinante, entre otras [4:28]. Para ilustrarlo, se utiliza la API de Google Natural Language, que ofrece una versión demo en línea donde se puede analizar cualquier texto.

Al introducir la frase "El noble del castillo" en la API [5:16], el sistema devuelve etiquetas como:

  • DET (determinant): para "el".
  • NOUN (noun): para "noble".
  • ADP (adposition): para "del".
  • NOUN: para "castillo".

Estas etiquetas siguen una convención universal que se estudia con más detalle a lo largo del curso. Lo importante es que la API demuestra que es posible construir sistemas que identifiquen automáticamente la función gramatical de cada palabra.

¿Por qué no empezar directamente con deep learning?

La API de Google utiliza modelos de aprendizaje profundo (deep learning) de última generación [6:07]. Sin embargo, antes de llegar a redes neuronales, es fundamental comprender los algoritmos base que las preceden. Este curso comienza con modelos que no involucran redes neuronales pero que siguen siendo muy potentes para tareas de clasificación.

¿Qué aplicaciones tiene la clasificación de texto en el mundo real?

Las aplicaciones del etiquetado y la clasificación de texto son amplias [6:30]:

  • Mejorar motores de búsqueda y plataformas de e-commerce.
  • Automatizar CRMs de forma eficiente.
  • Implementar sistemas de moderación de contenido en redes sociales.
  • Ordenar datos no estructurados, transformando texto libre en información procesable.

Este curso se posiciona como el segundo bloque dentro del roadmap de NLP, incorporando NLTK junto con herramientas como SpaCy [7:00]. Si te interesa construir tus propios modelos de clasificación de texto en Python, comparte qué tipo de ambigüedad te resulta más desafiante y cómo la resolverías.