LAVERIX

¿Cómo funcionan los modelos de entendimiento de lenguaje natural, motor de nuestros agentes virtuales?

Modelos de Lenguaje y Transferencia de Conocimiento

Existen varias aplicaciones que pueden beneficiarse de una rama de la inteligencia artificial: procesamiento de lenguaje natural. Clasificación de texto es una de las más relevantes que se ha convertido en pilar fundamental de varias aplicaciones, desde las más conocidas, a) prevención de spam, b) análisis de sentimientos, c) identificación de noticias falsas, como aplicaciones más complejas y nuevas: d) encontrar diagnósticos de reportes médicos y e) construcción de agentes virtuales.

 

La pregunta que muchos nos hemos hecho es ¿cómo funcionan? Y ¿qué pasos se deben seguir para conseguir estos resultados? Para esto necesitamos entender dos conceptos clave: modelo de lenguaje y transferencia de conocimiento.

 

Primero, debemos entender lo que significa un modelo de lenguaje. Para ejemplificar, analicemos los sentimientos de las personas sobre películas. Bases de datos como IMDb cuentan con más de 20 mil ejemplos de comentarios clasificados en “positivos” si les gusto y “negativos” si no fue así.

 

Si bien la solución técnica por defecto ha sido implementar arquitecturas específicas de redes neuronales usando bases de datos específicas como IMDb, éstas no habían sido capaces de generar resultados robustos que puedan ser utilizadas en soluciones prácticas y escalables. Y es que el lenguaje y forma de expresarse de las personas es muy compleja y variada.

 

El problema fundamental es que no existía la capacidad de alimentar a nuestra red neuronal con suficiente información o datos para que haga un buen trabajo, ya que no era esperable que tan solo con nuestra base restringida el modelo pueda tener una comprensión adecuada del lenguaje. Afortunadamente, los modelos de lenguaje han venido a nuestro rescate.

 

¿Qué es un modelo de lenguaje? La respuesta es muy simple. Es un modelo que nos permite predecir la siguiente palabra en una oración. ¿Cómo se realiza la predicción? La respuesta es utilizar redes neuronales, pero no solamente en comentarios de películas sino en millones y variados tipos de documentos que puedan enseñar a nuestro modelo cómo las personas hablan un idioma. Si nuestro modelo conoce cómo completar oraciones podemos intuir que conoce bastante la estructura del idioma, acerca del mundo y cómo funciona.

 

El problema es que entrenar estos modelos es excesivamente costoso en tiempo y recursos, muy por fuera de los presupuestos del 99% de empresas. A pesar de esto, para nuestra suerte, muchos de estos modelos se encuentran disponibles sin costo y ahora pueden están accesibles a través de servicios prestados por compañías como Open AI (véase GPT3). Pero ¿cómo podemos tomar ventaja de estos modelos? En este punto necesitamos introducir nuestro siguiente concepto: transferencia de conocimiento.

 

La solución radica en la capacidad de transferir este conocimiento que le hace falta a nuestro modelo específico, de otro modelo mucho más general y robusto - modelo de lenguaje- el mismo que ha sido pre-entrenado en millones de ejemplos, que no necesariamente tienen relación con nuestro problema. Técnicamente, esto puede ser implementado utilizando múltiples librerías de código abierto como fastaAI, huggingface, sparkNLP, y lenguajes creados específicamente para aprendizaje profundo o eep learning, como pythorch y tensorflow.

 

Esta simple solución junto con arquitecturas más robustas para extraer conocimiento del texto mediante técnicas de aprendizaje auto supervisado, han revolucionado el mundo del lenguaje y han permitido la construcción de agentes virtuales más robustos (aunque todavía falta mucho camino para llegar a un entendimiento cercano al humano), que pueden ser usados en problemas reales fuera del laboratorio de unos pocos investigadores y científicos de datos.

 

LAVERIX CIA LTDA

Departamento de Ingeniería de Datos