Historia y actualidad del procesamiento del lenguaje natural

5 minutos

Los comienzos (1950-1970)

El Procesamiento del Lenguaje Natural (PLN) es una disciplina con una larga historia. Nació en los años 50 como una subárea de la Inteligencia Artificial y la Lingüística, con el objetivo de estudiar los problemas derivados de la generación y comprensión automática del lenguaje natural. Aunque se pueden encontrar trabajos de épocas anteriores, fue en 1950 cuando Alan Turing publicó un artículo titulado "Intelligence" en el que proponía lo que hoy se llama el test de Turing como criterio de inteligencia (véase test de Turing).

DIAGRAMA DE FLUJO DE PARTE DE LOS PROCEDIMIENTOS DE BÚSQUEDA EN EL DICCIONARIO DE IBM.

La PNL es una técnica utilizada para salvar la brecha de comunicación entre el ordenador y el ser humano y tiene su origen en las primeras ideas de traducción automática (TA) que nacieron durante la Segunda Guerra Mundial. El experimento de Georgetown de 1954 consistió en la traducción automática de más de sesenta frases rusas al inglés en una colaboración entre IBM y la Universidad de Georgetown. Los autores afirmaban que en un plazo de tres a cinco años la traducción automática sería un problema resuelto. Sin embargo, los avances reales fueron mucho más lentos y, tras el informe ALPAC de 1966, en el que se constataba que los diez años de investigación no habían estado a la altura de las expectativas, la financiación de la traducción automática se redujo drásticamente.

Entre los sistemas de procesamiento del lenguaje natural desarrollados en los años sesenta destaca SHRDLU (cuyas siglas no tienen ningún significado concreto), escrito por Terry Winograd en el MIT. SHRDLU era un sistema de lenguaje natural que trabajaba con "bloques" en un marco de vocabulario restringido. Uno podía darle instrucciones en lenguaje coloquial como "¿Puedes poner el cono rojo encima del bloque verde?" y el programa entendía ejecutar la acción. Otro ejemplo fue el programa ELIZA, una simulación del psicoterapeuta Carl Rogers, escrita por Joseph Weizenbaum entre 1964 y 1966. Sin información sobre el pensamiento o las emociones humanas, ELIZA proporcionaba una interacción sorprendentemente parecida a la humana. Cuando el "paciente" superaba la pequeñísima base de conocimientos, ELIZA podía dar una respuesta genérica, por ejemplo, responder a "Me duele la cabeza" con "¿Por qué dice que le duele la cabeza?". ELIZA fue quizás el primer antecedente del BOT conversacional y uno de los primeros programas capaces de enfrentarse al test de Turing.

...un poco más tarde (1970-1990)

En los años 70, muchos programadores empezaron a escribir "sistemas conceptuales" que estructuraban la información del mundo real en datos comprensibles para el ordenador y, en los 80, la mayoría de los sistemas de procesamiento del lenguaje natural se basaban en complejos conjuntos de reglas escritas a mano. Sin embargo, debido al aumento constante de la potencia computacional y al descenso gradual del dominio de las teorías chomskyanas (lenguaje estructural), a finales de los 80 se produjo una revolución en el procesamiento del lenguaje natural con la introducción de algoritmos conocidos como algoritmos de aprendizaje automático. Había nacido un nuevo paradigma.

PNL con aprendizaje automático (1990-2000)

Algunos de los algoritmos de aprendizaje automático más antiguos, como los árboles de decisión, producían sistemas de reglas rígidos similares a las reglas manuscritas existentes. Sin embargo, el etiquetado de partes del habla introdujo el uso de modelos ocultos de Markov (HMM) en el procesamiento del lenguaje natural y, cada vez más, la investigación se centró en modelos estadísticos, que toman decisiones probabilísticas suaves.

Los procedimientos de aprendizaje automático pueden hacer uso de algoritmos de inferencia estadística para producir modelos más robustos y fiables ante entradas desconocidas (por ejemplo, que contengan palabras o estructuras que no se hayan visto antes) o erróneas (por ejemplo, con palabras mal escritas u omitidas accidentalmente). Esto último es muy común en los datos del mundo real. A diferencia de los sistemas de procesamiento del lenguaje, que se diseñaban codificando a mano un conjunto de reglas, como las gramáticas, o ideando reglas heurísticas de derivación, el paradigma del aprendizaje automático requiere, en cambio, el uso de la inferencia estadística para aprender automáticamente tales reglas mediante el análisis de un gran número de ejemplos típicos del mundo real. Por esta razón, estos últimos pueden ser más precisos simplemente proporcionando más datos de entrada. Los otros, en cambio, sólo pueden hacerse más precisos aumentando la complejidad de las reglas, lo cual es una tarea mucho más difícil.

En la década de 1990, la popularidad de los modelos estadísticos aumentó espectacularmente. La investigación reciente se ha centrado cada vez más en algoritmos de aprendizaje no supervisados y semisupervisados. Estos algoritmos pueden aprender a partir de datos que no han sido anotados manualmente con las respuestas deseadas, o utilizando una combinación de datos anotados y no anotados. En general, esta tarea es mucho más difícil que el aprendizaje supervisado y suele producir resultados menos precisos para una cantidad dada de datos de entrada. Sin embargo, se dispone de una enorme cantidad de datos no anotados, como, por ejemplo, todo el contenido de la World Wide Web.

Las redes neuronales vuelven a estar de moda (2000-2020)

En 2001, Yoshio Bengio y su equipo propusieron el primer modelo de "lenguaje" basado en redes neuronales, utilizando una red "FeedForward". En este tipo de red, los datos se mueven sólo en una dirección, desde los nodos de entrada, pasando por los nodos ocultos, y luego a los nodos de salida. La red neuronal feed-forward no tiene ciclos ni bucles, y es muy diferente de las redes neuronales recurrentes.

En la década de 2010, el aprendizaje de representación y los métodos de aprendizaje automático basados en redes neuronales se generalizaron en el procesamiento del lenguaje natural, debido en parte a una serie de resultados que demuestran que dichas técnicas pueden lograr resultados de vanguardia en muchas tareas del lenguaje natural como, por ejemplo, responder preguntas con precisión. Así pues, los enfoques basados en redes neuronales profundas pueden considerarse un nuevo paradigma distinto del simple procesamiento estadístico del lenguaje natural.

En 2011, Siri, de Apple, se dio a conocer como uno de los primeros asistentes de PNL / IA del mundo utilizados con éxito por los consumidores en general. En Siri, el módulo de reconocimiento automático de voz traduce las palabras del usuario en conceptos interpretados digitalmente. A continuación, el sistema de comandos de voz empareja esos conceptos con órdenes predefinidas, iniciando acciones específicas. Por ejemplo, si Siri pregunta: "¿Quieres escuchar tu balanza?", entendería una respuesta "Sí" o "No" y actuaría en consecuencia.

Al utilizar técnicas de aprendizaje automático, el patrón de habla del usuario no tiene por qué coincidir exactamente con expresiones predefinidas. Basta con que los sonidos sean razonablemente parecidos para que un sistema PLN traduzca correctamente el significado. Combinar un gestor de diálogos con PLN permite desarrollar un sistema capaz de mantener una conversación y sonar como un humano, con preguntas, avisos y respuestas de ida y vuelta. Sin embargo, nuestras IA modernas aún no han superado la prueba de Alan Turing y no suenan como humanos reales. Al menos, todavía no.

El futuro ya está aquí: PNL SIN CÓDIGO (2020~∞)

Extraer conocimiento de un corpus de documentos sin generar código es posible. Así de sencillo. No tienes que instalar Python o R o cualquier otro lenguaje de programación, sin entornos de desarrollo, no tendrás que luchar con errores de dependencias, sintaxis o actualización de librerías, si te sientes más cómodo con los flujos de trabajo y la programación visual, tienes la opción de NLP sin código.

Las áreas de Customer Experience y Customer Success o Product Management entre otras se beneficiarán de este tipo de herramientas. Aquí mencionaremos 5 de las más importantes: DeepTalk, KNIME Analytics Platform y Orange Data Mining, Obviously y Levity.

Al ser programación visual, la curva de aprendizaje para un profano en programación es menor. Todos ellos disponen de canales de formación con tutoriales que permiten empezar a probar muy fácilmente. Además, los resultados no son un "hola mundo". Son, o pueden ser, reales. Sólo depende de los datos que tengas.

Bienvenido a nuestro blog