Resumen

Automatizar la clasificación de textos cortos es una tarea fundamental cuando manejas comentarios, consultas o contenido generado por usuarios. Con Natural Language Classifier (NLC) de IBM Watson, es posible entrenar un modelo de inteligencia artificial que asigne categorías a textos de forma precisa, sin necesidad de conocer los algoritmos internos que operan como una caja negra [0:06].

¿Cómo funciona la clasificación supervisada de textos?

El servicio se basa en un enfoque de aprendizaje automático supervisado. Esto significa que un humano debe etiquetar previamente cada texto con la clase correspondiente antes de entrenar el modelo. En el ejemplo práctico utilizado, se ofrece un servicio de hospedaje alternativo: una persona alquila un cuarto de su casa a visitantes [0:22].

Los comentarios recibidos pueden hablar de dos temas distintos:

  • Ubicación: "está cerca del metro", "me queda cerca del transporte".
  • Servicio: "personas muy atentas", "servicio inmejorable".

Cada texto se asocia manualmente con su clase, y luego se entrena un modelo que replica esa clasificación de manera automática [0:48].

¿Qué pasos se siguen para preparar y entrenar el clasificador?

El proceso se divide en cuatro etapas claras [1:08]:

  • Preparar los datos de entrenamiento: identificar las clases, reunir los textos y asignar una clase a cada uno en una hoja de cálculo. La columna izquierda contiene los textos y la derecha la clase correspondiente.
  • Crear y entrenar el clasificador: se utiliza el API mediante cURL para enviar los datos de entrenamiento.
  • Consumir el clasificador: una vez entrenado, se envían textos nuevos para obtener su clasificación.
  • Evaluar y actualizar: los primeros entrenamientos rara vez son perfectos, por lo que conviene iterar y mejorar los datos [2:16].

Un detalle importante: por la codificación utilizada, no se pueden usar caracteres como Ñ ni acentos en los datos de entrenamiento [1:38].

¿Cuáles son los límites y consideraciones del servicio?

Antes de comenzar a trabajar, es necesario tener en cuenta varias restricciones [3:00]:

  • Cada frase de texto debe tener un máximo de sesenta palabras.
  • Se requieren entre cinco y diez frases mínimo por clase para un entrenamiento adecuado.
  • Cada instancia del servicio soporta hasta ocho clasificadores.
  • Se pueden clasificar hasta treinta frases en una sola solicitud.
  • En la capa gratuita (light), se obtiene un clasificador gratis por mes.

¿Cómo se entrena y consume el clasificador paso a paso?

Todo comienza en cloud.ibm.com, buscando el servicio Natural Language Classifier en el catálogo dentro de la sección de AI [3:36]. Al crearlo, se generan las credenciales del servicio, que incluyen un API key necesario para autenticar las peticiones.

El archivo de entrenamiento es un CSV sencillo con ejemplos de cada clase. Para el caso de hospedaje alternativo, el lado izquierdo tiene frases sobre ubicación y servicio, y el derecho indica la categoría [4:52].

El comando cURL para entrenar requiere tres elementos clave:

  • El API key obtenido de las credenciales.
  • El idioma de los textos (en este caso, español).
  • La URL del servicio.

Al ejecutar el entrenamiento, el servicio responde con un classifier ID y un status que indica que el modelo se sigue entrenando [5:30]. Para consultar el estado, se usa otro cURL con el mismo API key y el ID del clasificador, hasta que el status cambie a disponible [6:06].

¿Qué resultados entrega el clasificador entrenado?

Una vez disponible, se envía un texto nuevo mediante cURL. Por ejemplo, al enviar "son personas cálidas, amables y atentas", el servicio responde con la clase servicio con un 94% de certeza [6:50]. Al probar con "está cerca del metro", clasifica como ubicación con un 99% de certeza [7:18].

El resultado incluye la probabilidad de cada clase, lo que permite evaluar qué tan seguro está el modelo de su predicción.

¿Qué casos de uso puedes implementar con este servicio?

Más allá del hospedaje alternativo, las aplicaciones son variadas [2:28]:

  • Clasificar textos legales según su categoría.
  • Analizar currículums para asignar áreas temáticas.
  • Categorizar consultas de servicios tipo preguntas frecuentes.
  • Organizar publicaciones en redes sociales por tema.
  • Clasificar ofertas de productos por tipo.

En la práctica, podrías conectar tu página web al clasificador para que cada comentario recibido se categorice automáticamente y así priorizar la atención según tus necesidades [7:36]. También funciona a la inversa: clasificar contenido propio, como entradas de un blog, para que los usuarios accedan a categorías organizadas de forma inteligente [7:55].

Si quieres profundizar aún más en el análisis de textos, la herramienta complementaria es Natural Language Understanding, que permite extraer información más detallada de los contenidos escritos. ¿Ya tienes en mente un caso de uso para clasificar tus propios textos? Comparte tu idea en los comentarios.

      Watson Natural Language Classifier