¿Qué es el procesamiento del lenguaje natural (PNL) y cómo funciona?

El procesamiento del lenguaje natural es algo que encontramos de forma regular, pero probablemente no lo sabías a menos que ya estés bien versado en todo lo relacionado con la IA.

PNL, o procesamiento de lenguaje natural, se usa de muchas maneras y aplicaciones que damos por sentado: asistentes de teléfonos inteligentes, procesadores de texto, aplicaciones de traducción y respuesta automática de voz en llamadas de servicio al cliente, entre otras cosas.

Interactúas con PNL todo el tiempo sin siquiera darte cuenta.

Los teléfonos inteligentes vienen con asistentes de voz descargados previamente que utilizan PNL para comprender e interpretar el habla humana y brindan respuestas basadas en texto o voz a las consultas de los usuarios.

Los procesadores de texto verifican la precisión en términos de gramática, sintaxis y lógica de la entrada escrita del usuario. Las aplicaciones de traducción procesan un idioma y lo cambian, ya sea por escrito o hablado, a otro idioma.

Y las aplicaciones de respuesta de voz interactiva (IVR) se emplean para escuchar solicitudes verbales y comandos por teléfono para guiar a las personas hacia el representante de servicio al cliente humano correcto.

Aunque todos los ejemplos anteriores se utilizan con regularidad, pocas personas comprenden cómo pueden funcionar. La respuesta es PNL.

¿Qué es el procesamiento del lenguaje natural?

El procesamiento del lenguaje natural se extrae de múltiples disciplinas, incluidas la informática y la lingüística con raíces en la inteligencia artificial. A medida que la dependencia humana de las computadoras ha aumentado en las últimas décadas, también lo ha hecho la necesidad de comprender cómo comunicarse con ellas en un lenguaje universalmente comprensible.

El propósito de la PNL es borrar la brecha entre la computadora y la comunicación humana. En resumen, la PNL se desarrolló para facilitar que las computadoras nos entiendan y que nosotros las comprendamos.

Para simplificar, los humanos hablan un idioma nativo (por ejemplo, inglés, español o alemán). Lo mismo ocurre con las computadoras, excepto que su lenguaje consiste en unos y ceros que lingüísticamente no significan nada para nosotros a menos que y hasta que sean traducidos.

El procesamiento del lenguaje natural (PNL) ayuda a las computadoras a comprender, interpretar y replicar las características del lenguaje humano.

Historia del PNL

El procesamiento del lenguaje natural fue teorizado ya en el siglo XVII por René Descartes y Gottfried Wilhelm Leibniz, quienes propusieron códigos que podían relacionar palabras entre idiomas. Sin embargo, debido a las barreras tecnológicas, los resultados procesables con respecto a la PNL no se materializaron hasta mucho más tarde.

Década de 1950: los primeros días del PNL moderno

No fue hasta 1954 cuando tuvo lugar el experimento Georgetown-IBM. Este experimento fue el primero de su tipo en demostrar la traducción automática de más de 60 oraciones en ruso al inglés.

Donde la traducción automática parecía una hazaña imposible de comprender para la gente común, hoy en día existe una gran cantidad de software de traducción automática.

Después del éxito del experimento Georgetown-IBM, una combinación de avances en inteligencia artificial y traducción automática impulsó la discusión sobre la continuación de la investigación del PNL. Así surgieron hallazgos en lingüística, particularmente los de Noam Chomsky, sobre la gramática universal y las reglas estandarizadas que luego se aplicaron a los sistemas de traducción automática.

La aplicación de estas reglas a los sistemas de traducción automática hizo posible que las computadoras se adhirieran a una comprensión estándar del idioma a partir de la cual podían aprender a leer e interpretar texto o voz.

Década de 1960: PNL da un gran paso adelante

En 1969, el teórico de la IA y psicólogo cognitivo Roger Schank desarrolló el modelo de la teoría de la dependencia conceptual para la comprensión del lenguaje natural. El objetivo de Schank era hacer que el significado (intención) fuera independiente de la entrada (las palabras realmente escritas). Esto significa que independientemente de cómo se introduzcan las palabras en los sistemas informáticos, si su intención era la misma, la forma en que se escribieron no importaba.

Por ejemplo, las oraciones «Juan le dio un libro a María» y «Juan le dio un libro a María». significan lo mismo, pero cuando los humanos pueden distinguir que la intención es idéntica, los sistemas informáticos deben ser entrenados para comprender que la intención puede ser idéntica incluso si la disposición de las palabras difiere; de ​​ahí la necesidad de sistemas de enseñanza para comprender la inferencia lógica.

Década de 1970: PNL ve un crecimiento continuo

El investigador de PNL William A. Woods introdujo la red de transición aumentada (ATN) en 1970. Los ATN representan la entrada del lenguaje natural y pueden analizar teóricamente la estructura de la oración independientemente de la complejidad.

Las ATN son una extensión de las RTN o redes de transición recursivas. Tanto los ATN como los RTN son esquemas teóricos de gráficos que se utilizan para representar reglas de gramática libre de contexto, que se utilizan en aplicaciones para lenguajes de programación, PNL y análisis léxico.

Los ATN se basan en el concepto de análisis sintáctico eficiente de oraciones (gramática).

A lo largo de los años 70, los programadores comenzaron a escribir ontologías conceptuales, que en términos sencillos es una denominación o representación formal de categorías y relaciones dentro de un conjunto universal de variables.

Década de 1980: PNL se expande a nuevos modelos

Durante gran parte de la década de 1980, los sistemas de PNL existentes se basaron principalmente en modelos escritos a mano basados ​​en reglas hasta el momento en que los algoritmos de aprendizaje automático (ML) para el procesamiento del lenguaje se volvieron más frecuentes.

En este momento, los primeros algoritmos de aprendizaje automático conocidos eran árboles de decisión que se centraban en reglas de «si X, entonces Y» que eran similares a los complejos conjuntos de reglas escritas a mano que vinieron antes.

Por el contrario, los sistemas modernos de PNL se centran en modelos estadísticos que evalúan las entradas de datos, incluso aquellos que contienen errores, con un mayor nivel de precisión que los sistemas anteriores.

Además, la investigación reciente de PNL se centra en algoritmos de aprendizaje supervisados ​​y no supervisados. Estos algoritmos tienen la capacidad de aprender de datos que no se han anotado a mano o utilizan una combinación de datos anotados a mano y otros que no lo están.

2000 y más allá: PNL como un producto moderno

Hoy en día, vemos el PNL en nuestra vida cotidiana. El boom tecnológico del nuevo milenio ha dado paso a más aplicaciones para el PNL que nunca. Mirar hacia el crecimiento es la IA, no debería sorprendernos saber que PNL seguirá desempeñando un papel clave en el futuro de la tecnología.

Modelado basado en reglas frente a modelado estadístico en sistemas de PNL

Como se mencionó anteriormente, los primeros sistemas de PNL se desarrollaron utilizando modelos basados ​​en reglas que fueron escritos y codificados a mano. Sin embargo, la naturaleza estricta y fija de estos modelos es muy inferior a la de los modelos estadísticos que se utilizan en los sistemas modernos de PNL.

Los modelos estadísticos recurren al aprendizaje automático para inferir e interpretar las reglas de aprendizaje de idiomas mediante el análisis de ejemplos del mundo real de grandes conjuntos de datos. Este sistema de modelado es más fluido en términos de variaciones lingüísticas que ocurren naturalmente en los patrones del habla humana.

Debido a que los algoritmos de aprendizaje automático en el modelado estadístico se basan en patrones e inferencias, los algoritmos pueden inferir e interpretar el lenguaje en un grado más alto que el de los modelos basados ​​en reglas.

Los algoritmos ML están programados para aprender de patrones recurrentes, de modo que puedan aprender a enfocarse automáticamente en ciertas áreas del texto de entrada. No se puede decir lo mismo de los modelos basados ​​en reglas. Para «aprender» bajo los modelos basados ​​en reglas, los sistemas de reglas escritas a mano deben modificarse a mano, dejando espacio para errores.

Por lo tanto, los modelos estadísticos son superiores y más eficientes debido a su capacidad automatizada para adaptarse a los cambios con velocidad y destreza de una manera que los modelos basados ​​en reglas no pueden.

En resumen, los modelos estadísticos basados ​​en datos se pueden hacer más precisos aumentando la entrada de datos, mientras que los modelos basados ​​en reglas solo se pueden hacer más precisos aumentando la complejidad de las reglas escritas a mano, lo cual es laborioso y propenso a errores.

¿Cómo funciona el procesamiento del lenguaje natural?

El procesamiento del lenguaje natural ofrece una variedad de técnicas de interpretación del lenguaje, como se enumeran anteriormente. Existen algoritmos de aprendizaje automático, modelos estadísticos y enfoques de modelos basados ​​en reglas. La mayoría de las veces, se utiliza una combinación de estas técnicas para ayudar a los sistemas informáticos a procesar los datos del lenguaje humano.

PNL se creó con la intención de dividir grandes conjuntos de datos del lenguaje humano en componentes más pequeños, más cortos y más lógicos que se construyen para entender el propósito semántico y sintáctico de nuestro lenguaje hablado y escrito. PNL también sirve para proporcionar relaciones y significado a la naturaleza de nuestras elecciones lingüísticas.

Algunos aspectos del PNL incluyen:

  • conversión de texto a voz o de voz a texto;
  • traducción automática de un idioma a otro;
  • categorizar, indexar y resumir documentos escritos; e
  • identificar el estado de ánimo y las opiniones en datos basados ​​en texto y voz.

El propósito general es tomar las entradas del lenguaje y usar algoritmos para transformar el punto de valor de los datos en algo mayor.

¿Por qué es importante PNL?

La complejidad y diversidad del lenguaje humano es asombrosa y tan vasta que incluso los propios humanos no pueden comprenderlo todo. Dado esto, las máquinas y los sistemas informáticos modernos tienen la tarea de comprender el texto y el habla mientras lo interpretan y dan sentido a la intención.

Ayuda a las computadoras a analizar datos más rápido

Con volúmenes tan grandes de datos basados ​​en el lenguaje en correspondencia con la cantidad de sistemas inteligentes que existen hoy en día, es crucial que las computadoras y otros sistemas puedan comunicarse con sus contrapartes humanas.

Las máquinas equipadas con algoritmos ML pueden analizar y comprender más datos lingüísticos que los humanos porque tienen la capacidad de aprender de los patrones que se encuentran en los datos almacenados.

Ayuda con el crecimiento tecnológico acelerado

A medida que se introduzcan más dispositivos en la sociedad, la necesidad del procesamiento del lenguaje natural para los sistemas inteligentes seguirá creciendo. La dificultad detrás del análisis de datos lingüísticos para los sistemas de PNL proviene de los datos no estructurados.

Dentro de nuestros cientos de miles de idiomas hay subconjuntos de dialectos regionales, jerga y palabras inventadas en nuestros vocabularios.

En la entrada basada en texto, ocurre lo mismo. La gente escribe en jerga, con emojis y símbolos, abreviaturas y sin los estándares gramaticales o la puntuación adecuados. Estas variaciones pueden causar confusión en los sistemas de PNL porque carecen de estructura.

Los sistemas de PNL se desarrollaron para ayudar a llevar la comprensión semántica a los lenguajes de modo que la comunicación entre el hombre y la máquina pueda resultar en interacciones lógicas y positivas.

En general, los sistemas de PNL ayudan a resolver el lenguaje confuso y ambiguo al agregar estructura (mediante reconocimiento de voz y análisis de texto) a los datos que reciben.

Ejemplos y casos de uso de PNL

Identificar ejemplos del mundo real de cosas que utilizan el procesamiento del lenguaje natural es mucho más fácil que analizar las complejidades de la ciencia que lo respalda. En nuestro día a día, utilizamos la PNL de forma regular.

El caso de uso más obvio de la PNL son los asistentes de voz como Alexa, Google Home, Cortana y Siri. Cada vez que digas la palabra de «activación» a tu dispositivo doméstico inteligente o le pidas a tu teléfono que busque algo, se utilizará el procesamiento del lenguaje natural. De hecho, las estadísticas de búsqueda por voz muestran que el uso del asistente de voz está aumentando para las generaciones X, Y y Z.

Otros ejemplos de PNL en acción incluyen el filtrado de correo electrónico (por ejemplo, identificación de palabras clave de correo no deseado) y la transcripción de teléfono a texto (es decir, cuando recibes un correo de voz en tu teléfono, pero en lugar de marcar para escuchar el mensaje, una transcripción del mensaje de voz aparece en tu pantalla).