Artículo de Lydia Petridi, analista de SDG Group dónde habla en profundidad sobre el Procesamiento del Lenguaje Natural, (NLP, por sus siglas en inglés).
Seguramente muchos os preguntáis cómo funciona la IA Generativa a través de sistemas tan conocidos como ChatGPT. ¿Cómo es posible que imite el lenguaje humano de forma tan realista? ¿Qué tipo de desarrollo es necesario? La respuesta está en el PLN, el Procesamiento del Lenguaje Natural, más conocido como NLP (Natural Language Processing en inglés).
En SDG estamos convencidos de que la IA Generativa será un catalizador de los proyectos de analítica más tradicionales, por su posibilidad de interactuar con información menos estructurada. Por ello, queremos profundizar a través de este artículo en sus fundamentos
básicos: Qué es EL NLP, cómo funciona y algunos modelos lingüísticos como GPT-3.
¿Qué es un NLP?
El Procesamiento del Lenguaje Natural (NLP) es un fascinante campo de la IA que trabaja para tender puentes entre el lenguaje humano y los sistemas informáticos. Se trata de enseñar a los ordenadores a entender, procesar, interpretar e incluso generar el lenguaje natural que los humanos utilizamos para comunicarnos. Pensemos en ello como una forma de hacer que los ordenadores nos entiendan y se comuniquen con nosotros de la misma manera que lo hacemos los seres humanos.
¿Dónde se utiliza el NLP?
Antes de analizar en profundidad los aspectos y procesos más técnicos de Procesamiento del Lenguaje Natural, una forma sencilla de entenderlo es conociendo sus aplicaciones en el mundo real. Las más comunes son las siguientes:
Resumen de textos
Consiste en convertir documentos o artículos extensos en versiones más breves y concisas, conservando la información esencial y facilitando la comprensión de los puntos principales sin necesidad de tener que leer todo el texto. El resumen de textos es útil para los usuarios que quieren captar rápidamente los puntos clave de un documento sin leer todo el contenido. Se utiliza en servicios de agregación de noticias, investigación y curación de contenidos. Por ejemplo, una herramienta basada en NLP puede resumir un largo trabajo de investigación, proporcionando un resumen ejecutivo que destaque los principales resultados y conclusiones.
Traducción de idiomas
Es otra aplicación fundamental del NLP y consiste en convertir texto de un idioma a otro, lo que permite a las personas comunicarse mejor entre ellas. En términos sencillos, consiste en analizar el texto de entrada, comprender su estructura y generar una traducción equivalente en el idioma deseado. Los servicios de traducción se utilizan ampliamente en plataformas como Google Translate, que permite a los usuarios traducir contenidos web, documentos y conversaciones en tiempo real. Desempeña un papel fundamental en la eliminación de las barreras lingüísticas de un mundo tan interconectado como el nuestro.
Análisis de tono
El análisis de tono es una valiosa aplicación del NLP que consiste en determinar el sentimiento o el tono emocional expresado en un texto, ya se trate de la opinión de un cliente, un mensaje en las redes sociales o cualquier otra forma de comunicación escrita. Ayuda a las empresas a comprender cómo se sienten los consumidores sobre sus productos, servicios o marca. Al analizar las opiniones de los clientes, las reseñas y los comentarios en las redes sociales, las empresas pueden medir el nivel de satisfacción, identificar áreas de mejora y tomar mejores decisiones basadas en datos. Por ejemplo, si un consumidor publica una opinión en la que dice: «el servicio de atención al cliente ha sido excepcional y estoy encantado con mi compra», el análisis de opiniones lo reconocerá como una opinión positiva.
Chatbots y asistentes virtuales
Los chatbots y los asistentes virtuales son agentes conversacionales basados en IA, diseñados para interactuar con los usuarios a través del lenguaje natural. Algunos de ellos, como Siri y Alexa, se basan en el NLP para entender y responder a las órdenes del usuario. Procesan la información hablada o escrita, extraen su significado y ofrecen respuestas adecuadas. Pueden basarse en texto o activarse por voz y se utilizan para servicios de atención al cliente, comercio electrónico y otras aplicaciones. Son capaces de responder preguntas, proporcionar recomendaciones, automatizar tareas y ofrecer una experiencia de usuario más personalizada. Así, si preguntas a un asistente virtual como Siri: «¿Cuál es la previsión meteorológica para mañana?», te responderá teniendo en cuenta los datos de tu ubicación.
¿Cómo funciona el NLP?
Es importante recordar que el Procesamiento del Lenguaje Natural (NLP) es la tecnología que está detrás de la capacidad que tienen los ordenadores para entender y trabajar con el lenguaje humano. Para lograrlo, se recurre a una serie de procesos fundamentales, cada uno de los cuales se basa en el otro. A continuación, echaremos un breve vistazo a cada uno de ellos.
Fundamentos del procesamiento de textos
En el corazón del NLP se encuentra el procesamiento de textos, que es el paso inicial para dar sentido al lenguaje humano. En esencia, es el proceso de descomponer un texto en partes más pequeñas y manejables para ayudar a los ordenadores a analizar y trabajar con datos de texto de forma eficaz. Se consigue realizando las siguientes acciones fundamentales:
- Tokenización. Es el proceso de descomponer un fragmento de texto, como una frase o un documento, en unidades más pequeñas llamadas tokens. Los tokens suelen ser palabras o signos de puntuación. La tokenización es crucial porque permite al ordenador tratar las palabras y los signos de puntuación como elementos individuales. Este paso permite analizar y procesar el texto con mayor eficacia. Por ejemplo, si tenemos la frase «Me gusta NLP», la tokenización la dividiría en tres tokens: «Me, «gusta» y «NLP».
- Eliminación de palabras vacías. Son palabras comunes como «el», «y», «en», «o», «de», que aparecen con frecuencia en el texto, pero que a menudo contienen poca información relevante. En muchas tareas de NLP, es habitual eliminar estas palabras para centrarse en el contenido más significativo. Eliminar palabras comunes simplifica los datos del texto y puede ayudar a que las tareas de NLP funcionen mejor al mostrar qué palabras son importantes. Por ejemplo, en la frase «El rápido zorro marrón salta por encima del perro perezoso», se eliminarían palabras como «el» y «por encima».
- Raíz y lematización. El “stemming” y la lematización son técnicas utilizadas para reducir las palabras a sus formas básicas o raíces. Estas técnicas ayudan a garantizar que las distintas formas de una palabra se traten como si fueran la misma palabra. Esto simplifica el análisis del texto al agrupar palabras similares. Por ejemplo, las palabras «correr», «corrió» y «corredor», pueden reducirse a la forma raíz «correr».
- Minúsculas. Consiste en convertir todo el texto a minúsculas. Las minúsculas garantizan que las palabras reciban el mismo tratamiento independientemente de su mayúscula. Ayuda a normalizar los datos de texto para su análisis.
- Manejo de caracteres especiales y signos de puntuación. Los caracteres especiales y los signos de puntuación, como los puntos, las comas y los signos de exclamación, suelen eliminarse o tratarse de formas específicas en función de la tarea de NLP. Los caracteres especiales y los signos de puntuación pueden contener o no información significativa, dependiendo del contexto. A menudo se eliminan para simplificar el análisis del texto. Por ejemplo, supongamos que tenemos una frase de texto que dice «¡¡¡Vaya!!! Ha sido increíble». En este ejemplo, tenemos seis signos de exclamación. Dependiendo de la tarea de NLP, podemos optar por eliminarlos o tratarlos de otra manera:
- En una tarea de resumen de texto, al eliminarlos, la frase se convierte en: «Vaya, ha sido increíble». Esto simplifica el texto y facilita que el ordenador lo entienda y complete la tarea.
- En una tarea de análisis de sentimientos, podríamos manejarlos como un indicador de la intensidad de un sentimiento, lo que significa que la «¡¡¡Vaya!!! Ha sido increíble» no sólo es positiva, sino que también es más positiva que la alternativa «Vaya, ha sido increíble”.
Extracción de características
Una vez que el texto está en un formato manejable, el siguiente paso del NLP consiste en extraer sus principales características. En un modelo NLP, las «características» son rasgos o elementos específicos extraídos de los datos del texto, como palabras, patrones o estructuras particulares. Estas características funcionan como pistas o marcadores en los que se basan los modelos y algoritmos de aprendizaje automático para predecir, generar o comprender mejor el lenguaje humano.
En definitiva, son como piezas de un rompecabezas que ayudan a los modelos y algoritmos a reconstruir el lenguaje. Pero la pregunta sigue siendo ¿cómo consiguen los ordenadores analizar y comprender este texto, incluso después de haberlo limpiado? La respuesta está en su incapacidad para interpretar directamente el texto, ya que los ordenadores procesan la información fundamentalmente de forma numérica (principalmente con 0 y 1). De ahí la necesidad de codificar el texto, un paso esencial que hace que los datos de texto sean utilizables y procesables por los ordenadores.
- Codificación de texto. Consiste en representar el texto procesado en un formato numérico que permita a los ordenadores comprenderlo. Al codificar el texto, se convierten palabras, frases, documentos o estructuras en representaciones numéricas, lo que permite a los modelos NLP trabajar con ellos. Estas representaciones numéricas se utilizan después como características para diversas tareas. Aunque profundizar en los detalles de las representaciones numéricas de la codificación de textos excede el alcance de este artículo, explicaremos brevemente tres técnicas comunes utilizadas para crear estas representaciones numéricas o características: Bolsa de palabras (BoW), Frecuencia de términos – Frecuencia inversa de documentos (TF-IDF) y N-gramas.
- Bolsa de palabras (BoW). Es como crear un diccionario de palabras a partir de una serie de textos. Pero en lugar de tener la definición de cada palabra, se utiliza un número que representa cuántas veces aparece esa palabra en todos esos textos. Este sencillo método nos ayuda a convertir un texto desordenado en algo que los ordenadores puedan entender mejor. Imaginemos que tenemos dos frases: «Me gusta NLP» y «Me encanta machine learning». BoW crearía un diccionario con palabras únicas como «Me», «gusta», «NLP» «encanta» y «machine learning» y calcularía cuántas veces aparece cada palabra, de ésta forma:
- «Me»: 2
- «gusta»: 2
- «NLP»: 1
- «encanta»: 1
- «machine learning»: 1
Esta sencilla representación permite a un ordenador comparar y analizar frases basándose en la frecuencia con la que aparecen sus palabras. Al crear una lista de palabras únicas y contar cuántas veces aparece cada una en un texto, BoW destaca las palabras clave que definen el contenido del documento. Esto simplifica las tareas de análisis y permite a los ordenadores reconocer patrones, lo que es importante para tareas como el análisis de sentimientos, la detección de spam o la clasificación de textos, en las que se quieren entender las palabras clave de un documento. Aunque no capta el orden de las palabras ni el contexto, proporciona una forma básica para que los ordenadores trabajen con datos de texto y los comprendan.
2. Frecuencia de términos – Frecuencia inversa de documentos (TF-IDF). TF-IDF es otra forma de representar datos de texto. No sólo tiene en cuenta la frecuencia con la que aparece una palabra en un documento, como BoW, sino también lo única que es esa palabra en todos los documentos de una colección. En términos más sencillos, da más importancia a las palabras que son específicas de un documento concreto. Por ejemplo, «NLP» aparece con frecuencia en un documento, pero rara vez en otros, TF-IDF le asignará una mayor relevancia para destacar su singularidad e importancia dentro de ese documento concreto. De este modo, TF-IDF se centra en las palabras que diferencian un documento de otro, a diferencia de BoW, que cuenta cuántas veces aparece cada palabra en un documento sin tener en cuenta su singularidad en cada uno de ellos.
Imaginemos que tenemos una gran colección de documentos y queremos averiguar qué palabras son las más significativas en cada uno. Algunas palabras pueden aparecer con frecuencia en la mayoría de ellos y obtener una posición elevada según el método BoW. Pero en realidad, estas palabras no dicen mucho sobre el contenido del documento porque son comunes en muchos textos. Sin embargo, otras son exclusivas y probablemente contengan información esencial sobre el tema del que trata el texto. Al asignarles un peso mayor, TF-IDF ayuda a identificar y destacar las palabras clave que hacen que cada documento sea especial. De este modo, ayuda en la recuperación de información, el análisis de textos y la clasificación de documentos.
3. N-gramas. Los N-gramas son una forma de analizar la estructura de frases o textos. Desglosan el texto en grupos de palabras (pares o grupos de tres) y muestran cuáles van juntas con frecuencia. Por ejemplo, en la frase «Me gusta NLP», los 2-gramas (o bigramas) son «Me gusta» y «gusta NLP». Imaginemos leer una historia y saber que palabras como «érase una vez» suelen ir juntas. Los N-gramas hacen eso por los ordenadores. Esto ayuda a predecir qué palabra puede venir a continuación en una frase o a comprender el significado general de un párrafo. Es como dar a los ordenadores una pista sobre cómo se conectan las palabras en nuestro lenguaje, lo que hace que el análisis de textos sea más preciso.
Modelos lingüísticos
Y, por último, profundicemos en lo que es la piedra angular del NLP: los modelos lingüísticos. Permiten a los ordenadores comprender contextualmente los matices del lenguaje. Son marcos informáticos diseñados para comprender, crear y predecir el lenguaje humano. Estos modelos, que se entrenan a partir de una gran cantidad de datos textuales, imitan la generación de textos de tipo humano al captar patrones, relaciones entre palabras y usos contextuales. Aprovechan los métodos estadísticos y probabilísticos para identificar las estructuras y significados de los textos, con habilidades como autocompletar frases, traducir idiomas, analizar sentimientos, resumir contenidos y elaborar párrafos
coherentes. En términos más sencillos, podemos pensar en ellos como expertos lingüísticos para ordenadores.
¿Qué hacen los modelos lingüísticos?
Aprenden cómo funciona el lenguaje y sus reglas estudiando muchos textos, como libros, artículos o conversaciones. ¿Por qué lo hacen? Porque de este modo, pueden averiguar qué palabras suelen ir después de otras (patrones), cómo se forman las frases (gramática) y qué tiene sentido en distintos contextos. ¿Y cómo lo hacen? Para ello, utilizan sofisticados marcos matemáticos y patrones estadísticos, que les ayudan a aprender los entresijos del lenguaje.
¿Cómo funcionan?
Utilizan algoritmos complejos que se basan en probabilidades y patrones observados en las enormes cantidades de texto con las que se han entrenado. Por ejemplo, determinan la probabilidad de que aparezcan secuencias de palabras basándose en las co-ocurrencias en los datos de entrenamiento (¡como N-Grams!). También analizan las frecuencias de las secuencias de palabras, comprendiendo su uso contextual (como en BoW y TF-IDF), con lo que aprenden la sintaxis, la semántica y las relaciones que se forman entre ellas.
¿Para qué sirven?
Los modelos lingüísticos pueden servir para tareas tan sencillas como predecir la siguiente palabra de una frase o tan complejas como generar párrafos enteros. Por ejemplo, en la frase «Érase una vez un…», un modelo lingüístico podría sugerir palabras como «príncipe», «dragón», o
«castillo». Estos modelos son vitales para tareas de respuesta a preguntas, clasificación de correos electrónicos, traducción de idiomas, resumen de textos, análisis de sentimientos e incluso creación de contenidos.
Los modelos lingüísticos han evolucionado significativamente, incorporando técnicas de aprendizaje profundo como las redes neuronales y otras arquitecturas de aprendizaje automático. Estas representaciones pueden predecir la siguiente palabra de una frase o párrafo o generar frases o párrafos completamente nuevos, todo ello aprendido a partir de patrones establecidos. Estos avances se producen a través de capas de intrincados cálculos matemáticos y la exposición a diversos datos textuales, lo que permite a los modelos refinar su comprensión de los matices del lenguaje.
15-3, uno de los modelos lingüísticos más influyentes
Uno de los modelos lingüísticos más influyentes actualmente es el GPT-3 (Generative Pre-trained Transformer 3), desarrollado por OpenAI. Conocido por su capacidad para generar textos contextualmente relevantes y notablemente coherentes, GPT-3 tiene una amplia aplicación en chatbots, generación de contenidos, traducción de idiomas, etc. Modelos como el GPT-3 han elevado drásticamente las capacidades de los sistemas de NLP, abriendo las puertas a nuevas oportunidades para la comprensión y la generación de lenguaje natural impulsadas por la IA.
Como parte de este artículo, hemos querido hacer uso de Chat GPT-3, y le hemos pedido una conclusión para todo este texto. Esta ha sido su elaboración: