Procesamiento del Lenguaje Natural: La clave de la comunicación entre humanos y máquinas

“Una máquina puede hacer el trabajo de cincuenta hombres ordinarios. Ninguna máquina puede hacer el trabajo de un hombre extraordinario”. – Elbert Hubbard

¿Empleas algún programa para traducir textos o revisar la ortografía? ¿Utilizas Google Assistant para programar tu agenda? Entonces, sin darte cuenta, te has estado beneficiando de la capacidad del Procesamiento del Lenguaje Natural PLN.  

Realmente el PLN no es nuevo. Tiene sus raíces en el documento «Computing Machinery and Intelligence» publicado hace más de 70 años por Alan Turing. Este genio sostuvo que no existe ningún argumento para creer que las máquinas no puedan pensar como los seres humanos. ¿Tenía razón? Sí. Estamos muy cerca. 

Como prueba, en este post nos centramos en el Procesamiento del Lenguaje Natural. Explicamos los análisis y técnicas que utilizan las máquinas para procesar y comprender nuestro idioma.

¿Qué es el Procesamiento del Lenguaje Natural PLN? 

El Procesamiento del Lenguaje Natural, o Natural Language Processing (NLP), es un campo multidisciplinario que combina métodos de la Inteligencia Artificial, la Lingüística Computacional, la Ciencia de Datos y la Informática, con el fin de desarrollar sistemas inteligentes capaces de dominar el lenguaje humano y que puedan simular la forma en que una persona procesa el lenguaje, lo escribe y lo habla. 

Básicamente, el PLN es una disciplina que se encarga de desarrollar tecnologías para hacer que los ordenadores y aplicaciones analicen, comprendan y generen en diversos formatos (oral o escrito) el lenguaje humano. 

Para lograrlo, el Procesamiento del Lenguaje Natural se entrecruza con otros campos de la IA en el diseño y entrenamiento de modelos de lenguaje, como el Aprendizaje Automático (Machine Learning ML) y el Aprendizaje Profundo (Deep Learning DL). Muestra de ello es el modelo de Chat GPT.

Áreas del PLN

El Natural Language Processing (NLP) es un campo amplio de técnicas y tecnologías que cuenta con las siguientes áreas:

Áreas del PLN

Fuente: https://www.ibm.com/blog/wp-content/uploads/2020/11/inline_diagram.jpg

  • Compresión del Lenguaje Natural CLN (Natural Language Understanding NLU). El objetivo principal de este campo es que la máquina entienda el significado de un texto o del habla para responder mejor. Para ello, convierte los datos no estructurados en datos estructurados (datos que tienen un formato estandarizado, por ejemplo, organizados en tablas) y emplea análisis semánticos (significado) y sintácticos (estructura gramatical de la oración). Además, establece relaciones entre frases y palabras. 
    • Por ejemplo, la Comprensión del Lenguaje Natural se aplica cuando un programa clasifica documentos de forma automática. En este caso el modelo comprende el texto, lo categoriza y lo agrupa. Una aplicación muy conocida es la función de filtrar correos no deseados de Gmail.
  • Generación del Lenguaje Natural GLN (Natural Language Generation NLG). Este es el subconjunto del Procesamiento del Lenguaje Natural que permite a las máquinas producir una respuesta de texto en lenguaje humano, con base en datos estructurados (ordenados en un formato estándar). También es posible convertir estas respuestas de texto en un formato de audio. 
    • Por ejemplo, la Generación del Lenguaje Natural está presente en el asistente virtual Alexa o en Google Assistant de tu móvil.

¿Cómo funciona el Natural Language Processing (NLP)? 

“Para 2029, los ordenadores tendrán inteligencia a nivel humano» – Ray Kurzweil 

El PLN analiza los múltiples componentes del lenguaje humano, a través de la semántica, la sintaxis, la morfología y la pragmática (estudio de la relación del lenguaje con el contexto social y cultural), así comprende tanto el significado como la estructura. Después, toda esta información de naturaleza lingüística la lleva a lenguaje de máquina.

Detallemos ahora los principales análisis que se ejecutan en el Procesamiento del Lenguaje Natural:

Análisis morfológico o léxico

Este es el paso inicial en el Procesamiento del Lenguaje Natural. Es un análisis que se centra en reconocer y estudiar la estructura de las palabras.

Para una máquina, el archivo de texto resulta una secuencia de caracteres ininteligibles. Por lo tanto, el texto es dividido en párrafos, frases y palabras, para que mediante el análisis léxico se estudien los términos en busca de morfemas (las unidades o fragmentos mínimos dentro de las palabras, pero que poseen significado) y se identifique la relación entre dichos morfemas.

Como sabes, las palabras de nuestro lenguaje no son tan simples como parecen a primera vista. Muchas pueden dividirse en pequeños componentes (raíces, sufijos y prefijos) con significados individuales. Por ejemplo:

Análisis morfológico o léxico

Por supuesto, todo este análisis se lleva a cabo dentro del contexto. Por ejemplo, en la siguiente frase: 

  • El banco me aprobó el préstamo”. 

La máquina necesita comprender cada una de estas palabras. Pero la palabra “banco”, podría significar un asiento, un conjunto de peces o una institución financiera. Allí es donde el contexto debe analizarse. Así, gracias a la relación con la palabra “aprobar”  y “préstamo” la frase empieza a tener sentido. 

De esta forma, se le se asignan a las palabras la posible parte del discurso (Part-of-Speech POS), es decir, que a cada término se le identifica como verbo, sustantivo, adjetivo, preposición, adverbio, etc. Tomando en cuenta las palabras que pueden utilizarse en distintas partes del discurso. Por ejemplo:

Análisis morfológico o léxico

 


Análisis sintáctico

En esta fase se analiza el lenguaje natural bajo las reglas gramaticales formales, para comprobar que la estructura, el orden y la gramática de las oraciones sean correctas. Para esto, el modelo verifica el significado de grupos de palabras del texto al compararlas con las reglas gramaticales (para un determinado idioma) que previamente el programa ha aprendido. 

Además, a cada término se le asigna una etiqueta con la categoría gramatical (etiquetado POS), tomando en cuenta el “posible POS” realizado en el análisis anterior. Así, se garantiza que los fragmentos del texto tengan una estructura correcta y se elimina la ambigüedad en las palabras que tengan múltiples significados.

Por ejemplo:

Análisis sintáctico

Análisis semántico

Mientras que el análisis sintáctico estudia la estructura gramatical del lenguaje, el análisis semántico busca el significado real de la oración. En esta fase se mapea la estructura sintáctica de la frase y se verifican las relaciones lógicas entre las palabras y frases del texto. 

Para esto se toma en cuenta el significado de cada palabra según el diccionario del idioma. Después se integran todos estos significados para conseguir la correlación entre dichas palabras.

Este análisis garantiza que las oraciones cumplan con las reglas del idioma y puedan utilizarse, en conjunto, como datos para generar información coherente. Por esto las frases que tengan problemas semánticos son rechazadas por el programa.

Por ejemplo:

  • «El helado está caliente” es una frase que cumple con la estructura básica de una oración en español, por lo que sintácticamente es correcta. Pero es contradictoria, por lo que en un contexto no literario, la frase no tendría sentido 

Integración del discurso

La Integración del discurso significa contextualizar. Consiste en estudiar e identificar un contexto más amplio para una palabra, frase u oración. La principal premisa de este análisis es que el significado de toda oración se puede determinar por el significado de la frase inmediatamente anterior

Por lo tanto, en el Natural Language Processing (NLP), además de estudiar la estructura y lógica de las oraciones, también se analizan las oraciones que las preceden o que les siguen, para conocer el impacto que tiene sobre el significado de la oración o de una palabra.

Por ejemplo, en la frase;

  • «Ana lo tiene«. 

La palabra «lo» depende del contexto de la frase anterior. Sin este contexto no puedes entender qué es lo que tiene Ana. Por lo tanto, la integración del discurso proporciona la contextualización adecuada para que el modelo obtenga una referencia que lo haga entender qué es «lo».

En la integración del discurso no sólo es posible comprender el significado que subyace en una oración o palabra. También permite comprender el contexto histórico o social de las palabras o la temática de la frase.

Análisis pragmático

El análisis pragmático se ocupa de interpretar lo que realmente significa una frase u oración, más allá del sentido semántico. En esta etapa se examinan las frases que pueden tener una sentido literal u otro de mayor profundidad, tomando en consideración las intenciones del escritor o hablante y la información adicional del mundo exterior (cultura, idioma, etc.), para formar un contexto integral.

Por ejemplo:

  • La frase “Luis tiró la casa por la ventana” ¿A qué se refiere? En un sentido literal, Luis destruyó la casa. Pero el análisis pragmático deduce que Luis gastó mucho dinero. 

Principales técnicas del Procesamiento del Lenguaje Natural

Alguna de las técnicas más importantes que se utilizan para preparar los datos y hacerlos entendibles y procesables por un modelo de PLN son las siguientes:

Tokenización

La tokenización consiste en analizar el texto y segmentarlo en pequeñas unidades denominadas tokens. Cada token es una palabra o un fragmento de una palabra, que se representa mediante una secuencia de números. Después, cada secuencia es simplificada, por lo que cada token pasa a ser representado por sólo un código numérico.

Por ejemplo, en la siguiente imagen se puede ver como tokenizador de OpenAI lleva a cabo la fragmentación del texto que hemos introducido en tokens.

Texto:

 “El verdadero peligro no es que las computadoras empiecen a pensar como hombres, sino que los hombres empiecen a pensar como computadoras. Sydney G. Harris

tokenizador de OpenAI

Captura de pantalla del tokenizador de OpenAI

Tokenización

Mientras que en la segunda imagen se observa como cada token está identificado por un número. 

Eliminar palabras vacías

Se les denomina palabras vacías a aquellas que aparecen con una alta frecuencia en el texto, pero no añaden ninguna información significativa. Por lo tanto no son necesarias. Por ejemplo, suelen ser palabras vacías los pronombres, las preposiciones o los artículos, como: y, del, los, la, el, a, que, se, etc.

Si tienes el texto:

  • El Procesamiento del Lenguaje Natural representa una de las ramas de la Inteligencia Artificial o IA”.

Al eliminar las palabras vacías, el resultado es el siguiente:

  • Procesamiento Lenguaje Natural representa ramas Inteligencia Artificial IA”.

Derivación o stemming

Es una de las técnicas que se emplea para simplificar el texto y facilitar su procesamiento en los modelos de PLN. La derivación consiste en reducir las palabras a su raíz (porción silábica que da origen a la palabra y que contiene su significado original), mediante la remoción de sufijos y prefijos.

Por ejemplo:

  • Las palabras «florero«, «floristería» y «florecer» son reducidas a su raíz «flor«.

Etiquetado POS

El Part-of-speech (POS) tagging es el proceso de etiquetar cada una de las partes del discurso presentes en una oración, como los verbos, sustantivos, adjetivos, preposiciones, etc. 

Por ejemplo, en la siguiente frase se etiquetan cada una de la palabras con su correspondiente parte del discurso: 

Lematización

También es una técnica para simplificar vocabulario. Consiste en agrupar las diversas formas flexionadas de una palabra (conjugada, en plural, en femenino, etc.) y convertirlas  en su forma básica o lema

Por ejemplo,

  • Las palabras «cantaré«, «cantando» y»cantaba » se reducen a su forma base que es «cantar«. Así, todas las diversas formas de una misma palabra se tratan como una sola entidad.

Para diferenciar esta técnica de la derivación, ten en cuenta que la lematización de una palabra siempre arroja una palabra real que puedes encontrar en un diccionario tradicional.

Embedding

Después del preprocesamiento del texto, es indispensable representar numéricamente la información para que pueda ser interpretada por la máquina. 

Las técnicas para llevar a cabo esta representación son diversas. Algunas son muy limitadas, como la técnica Bag-of-Words (Bolsa de Palabras) o la conocida como TF-IDF (Term frequency – Inverse document frequency). 

También está la técnica Word-Embedding que toma en cuenta el contexto y proporciona gran información sobre el significado de las palabras. Consiste en representar los tokens (palabras o fragmentos de palabras que se obtuvieron en la tokenización) por medio de vectores en un espacio de n-dimensiones (supera las tres dimensiones a la que estamos acostumbrados). 

Embedding

Imagina este espacio de embedding como una nube formada con millones de puntos (vectores numéricos) que representan las palabras. La mayor o menor proximidad entre los puntos representa la mayor o menor relación que existe entre los términos.  

Si esta estructura de vectores se lleva a un espacio tridimensional, para que lo podamos observar, sería parecida a esta imagen:

Embedding

Imágenes extraídas de https://www.youtube.com/watch?v=RkYuH_K7Fx4

 

¿Qué te ha parecido el Procesamiento del Lenguaje Natural? ¿Estaremos cerca de ver cómo una máquina supera a la inteligencia del ser humano? Déjanos saber qué piensas en los comentarios.

Otros artículos que te pueden interesar:

Deja un comentario