El procesamiento del lenguaje natural, abreviado en español como PLN y, conocido más popularmente por su abreviatura en inglés NLP (Natural Language Processing), es un campo que engloba todo lo relacionado con el procesamiento y el análisis del lenguaje por parte de los ordenadores.
El NLP es una de las ramas más complejas del campo de la Inteligencia Artificial porque el lenguaje es una de las características más distintivas de los seres humanos. Los lenguajes son sistemas de símbolos que nos permiten comunicarnos y transmitir ideas sobre el entorno con el que interactuamos. Estos símbolos, su comprensión, su relación con otros símbolos y cómo se estructuran, dependen de una cantidad de reglas muy extensas, cuya dificultad ignoramos ya que las aprendemos de forma prácticamente innata, especialmente cuando se trata de nuestra lengua materna. Además, los lenguajes tienen la complejidad añadida de ser dependientes del contexto y también de evolucionar con el tiempo.
Hoy en día las nuevas soluciones tecnológicas permiten que los ordenadores sean capaces de resolver tareas específicas de NLP de forma muy eficaz. Actualmente es común resolver estas tareas con modelos basados en el Aprendizaje Profundo (Deep Learning). Estos modelos son capaces, a raíz de textos de entrada denominados como conjunto de entrenamiento, de encontrar patrones complejos y extrapolarlos a nuevos textos de entrada nunca vistos por el modelo.
Hoy en día las nuevas soluciones tecnológicas permiten que los ordenadores sean capaces de resolver tareas específicas de NLP de forma muy eficaz. Actualmente es común resolver estas tareas con modelos basados en el Aprendizaje Profundo (Deep Learning).
Como ya comentamos en nuestro programa nº201 de “Data is in the Air”, la aplicación del NLP destaca en ciertos sectores como en la banca y las aseguradoras. No obstante, numerosas empresas de diferentes sectores poseen datos de texto, por ejemplo, empieza a extenderse esta técnica entre el sector legal o en eCommerce. Equipos de científicos de datos pueden tratarlos y, con ellos, automatizar procesos ya existentes o crear nuevas utilidades que sirvan para generar valor en tareas que ya se llevan a cabo en dichos sectores. A continuación, vamos a ver por encima cuales son los tipos de tareas más comunes del NLP y comentar algunos casos de uso desarrollados por PiperLab y por otras entidades.
Clasificación de texto
Esta tarea consiste en clasificar textos en distintas categorías que han sido definidas de antemano. Es una de las tareas más comunes del NLP y suele ofrecer muy buenos resultados.
Una aplicación la encontramos en los servicios de atención al cliente. Las compañías cada vez ofrecen más canales para este propósito. Por ejemplo, hoy en día es común que podamos contactar con los servicios de atención de nuestras operadoras mediante WhatsApp. Los modelos de NLP categorizan estos mensajes y los envían al equipo correspondiente para resolverlos. Esta automatización mejora la calidad del servicio, facilitando una respuesta más rápida y eficiente que una clasificación manual.
Una aplicación la encontramos en los servicios de atención al cliente. Las compañías cada vez ofrecen más canales para este propósito. Por ejemplo, hoy en día es común que podamos contactar con los servicios de atención de nuestras operadoras mediante WhatsApp.
En uno de los proyectos de NLP desarrollados por PiperLab, se construyó un sistema capaz de clasificar de forma jerárquica y automática cursos y formaciones en función del texto de sus descripciones. Este sistema de NLP es de especial utilidad ya que permite de forma efectiva categorizar una gran cantidad de este tipo de contenidos, que no podrían haber sido categorizados de forma manual por su extensión y creciente tamaño.
Generación de texto
En esta tarea una entrada, que no tiene por qué ser texto, se introduce en un modelo encargado de generar texto acorde a esa entrada. El texto que generará dependerá del objetivo con el que se haya entrenado el modelo.
Ejemplo de generación automática de descripciones a raíz de imágenes.
Una aplicación conocida es la traducción del lenguaje, un modelo recibe un texto en un idioma y lo traduce a otro. Algunos de los mayores exponentes en este ámbito son el traductor de Google o el de DeepL. Relacionado con la traducción y con el objetivo de facilitar la comprensión de los textos jurídicos para personas que se encuentren fuera de este ámbito, algunas compañías están desarrollando modelos que reciben como entrada texto en lenguaje legal y generan en su salida el mismo texto, pero en lenguaje común.
En otro de los proyectos desarrollados por Piperlab se creó un sistema, empleando estos modelos de texto, capaz de transformar contenido genérico en contenido adaptado y personalizado a nivel de usuario. De esta manera, los usuarios perciben que el contenido que se les está sirviendo está hecho a su medida.
Extracción de información
Esta tarea consiste en extraer información estructurada del texto. Una subtarea importante de la misma es lo que se denomina como extracción de «entidades». Estas entidades pueden ser palabras claves, organizaciones, personas, fechas, direcciones, etc. No solo la propia extracción de estas entidades resulta útil, sino que además se puede extraer la relación que tienen estas entidades entre sí.
Una aplicación de esta tarea es DBpedia, un proyecto que intenta estructurar todo el contenido de Wikipedia. Esta información estructurada permite, mediante un lenguaje de consulta, construir consultas y obtener respuestas a preguntas. Por ejemplo, podríamos hacer una consulta para conocer qué poetas españoles nacieron entre el 1900 y el 1950.
Otras aplicaciones
Otras categorías que no hemos cubierto podrían ser los agentes conversacionales como Siri o Alexa, los chatbots, la búsqueda o recuperación de información, el modelado de tópicos, entre otros.
No obstante, no podíamos terminar este post sin antes mencionar la aparición, a finales del año pasado, de una nueva inteligencia artificial llamada ChatGPT. Esta inteligencia artificial es un chatbot que sin duda ha sorprendido al mundo por su increíble rendimiento en su ámbito y en la generación de texto. En este post explicamos en detalle en que consiste, cubrimos sus posibles casos de uso y analizamos el impacto que, esta revolucionaria inteligencia artificial, tendrá en la industria a corto y medio plazo.
Conclusión
Es innegable que el rápido avance tecnológico ha provocado un crecimiento exponencial de los datos, especialmente de los de texto. Como ya hemos comentado, en la actualidad no solo se han abierto nuevos canales que aceptan texto, sino que también la transcripción automática del lenguaje hablado permite almacenar estos datos, incluso en tiempo real. En definitiva, de nosotros depende explorar estas fuentes de texto que tienen un gran potencial para poder generar valor añadido sobre nuestros servicios y también para descubrir nuevas oportunidades.