Procesamiento de lenguajes naturales

subdisciplina de la inteligencia artificial y rama de la ingeniería lingüística computacional

El procesamiento de(l) lenguaje natural o de lengua(je)s naturales,[1][2]​ abreviado PLN[3][4]​ (o NLP por sus siglas en inglés), es un campo de las ciencias de la computación, de la inteligencia artificial y de la lingüística que estudia las interacciones entre las computadoras y el lenguaje humano, así como los detalles computacionales de las lenguas naturales. Se ocupa de la formulación e investigación de mecanismos eficaces computacionalmente para la comunicación entre personas y máquinas por medio del lenguaje natural, es decir, de las lenguas del mundo. No trata de la comunicación por medio de lenguas naturales de una forma abstracta, sino de diseñar mecanismos para comunicarse que sean eficaces computacionalmente —que se puedan realizar por medio de programas que ejecuten o simulen la comunicación—. Los modelos aplicados se enfocan no solo a la comprensión del lenguaje de por sí, sino a aspectos generales cognitivos humanos y a la organización de la memoria. El lenguaje natural sirve solo de medio para estudiar estos fenómenos. Hasta la década de 1980, la mayoría de los sistemas de PLN se basaban en un complejo conjunto de reglas diseñadas a mano. A partir de finales de 1980, sin embargo, hubo una revolución en PLN con la introducción de algoritmos de aprendizaje automático para el procesamiento del lenguaje.[5][6]

Historia

editar

La historia del PLN empieza desde 1950, aunque se han encontrado trabajos anteriores. En 1950, Alan Turing publicó Computing machinery and intelligence, donde proponía lo que hoy se llama el test de Turing como criterio cualitativo de inteligencia superior. En 1954, el experimento de Georgetown involucró traducción automática de más de sesenta oraciones del ruso al inglés. Los autores sostuvieron que en tres o cinco años la traducción automática sería un problema resuelto. El avance real en traducción automática fue más lento, y en 1966 el reporte ALPAC demostró que la investigación había tenido un bajo desempeño. Más tarde, hasta finales de 1980, se llevaron a cabo investigaciones a menor escala en traducción automática, y se desarrollaron los primeros sistemas de traducción automática estadística. Esto se debió tanto al aumento constante del poder de cómputo resultante de la ley de Moore como a la disminución gradual del predominio de las teorías lingüísticas de Noam Chomsky (por ejemplo, la gramática transformacional), cuyos fundamentos teóricos desalentaron el tipo de lingüística de corpus, que se basa en el enfoque de aprendizaje de máquinas para el procesamiento del lenguaje. Se usaron entonces los primeros algoritmos de aprendizaje automático, como los árboles de decisión, sistemas producidos de sentencias si-entonces similares a las reglas escritas a mano. Se puede consultar un resumen de la historia de 50 años de publicaciones acerca del procesamiento automático después del proyecto NLP4NLP en una publicación doble en Frontiers in Research Metrics and Analytics.[7][8]

Entre finales de los años 1970 y 1985, los modelos de traducción más eficientes,como Systran se basaron en traducción basada en reglas y otros enfoques similares. Hacia principios del siglo XXI se vio que estos sistemas no eran los más eficientes, durante los años 2010, la mayor parte de sistemas de traducción automática que proporcionaban resultados de alta calidad se basaban en método de inteligencia artificial, en especial, las redes neuronales artificiales y aprendizaje profundo. A partir de 2020, la mayor parte de productos comerciales y traductores web ya basaban en dichas tecnologías. Más tarde los modelos de lenguaje colosales (LLM) como ChatGPT y Google Bard también se basaron en este tipo de tecnologías, y aunque eran más generales que un sistema de traducción automático también eran muy eficientes en traducción automática.

Dificultades en el procesamiento de lenguaje natural

editar

Ambigüedad

editar

Las lenguas naturales son inherentemente ambiguas en diferentes niveles:

  • En el nivel léxico, una misma palabra puede tener varios significados, y la selección del apropiado se debe deducir a partir del contexto oracional o conocimiento básico. Muchas investigaciones en el campo del procesamiento de lenguajes naturales han estudiado métodos de resolver las ambigüedades léxicas mediante diccionarios, gramáticas, bases de conocimiento y correlaciones estadísticas.
  • A nivel referencial, la resolución de anáforas y catáforas implica determinar la entidad lingüística previa o posterior a que hacen referencia.
  • En el nivel estructural, se requiere de la semántica para desambiguar la dependencia de los sintagmas preposicionales que conducen a la construcción de distintos árboles sintácticos. Por ejemplo, en la frase Rompió el dibujo de un ataque de nervios.
  • En el nivel pragmático, una oración, a menudo, no significa lo que realmente se está diciendo. Elementos tales como la ironía tienen un papel importante en la interpretación del mensaje.

Para resolver estos tipos de ambigüedades y otros, el problema central en el PLN es la traducción de entradas en lenguas naturales a una representación interna sin ambigüedad, como árboles de análisis.

Detección de separación entre las palabras

editar

En la lengua hablada no se suelen hacer pausas entre palabra y palabra. El lugar en el que se deben separar las palabras a menudo depende de cuál es la posibilidad de que mantenga un sentido lógico tanto gramatical como contextual. En la lengua escrita, lenguas como el chino mandarín tampoco tienen separaciones entre las palabras.

Recepción imperfecta de datos

editar

Acentos extranjeros, regionalismos o dificultades en la producción del habla, errores de mecanografiado o expresiones no gramaticales, errores en la lectura de textos mediante OCR.

Componentes

editar
  • Análisis morfológico. El análisis de las palabras para extraer raíces, rasgos flexivos, unidades léxicas compuestas y otros fenómenos.
  • Análisis sintáctico. El análisis de la estructura sintáctica de la frase mediante una gramática de la lengua en cuestión.
  • Análisis semántico. La extracción del significado de la frase, y la resolución de ambigüedades léxicas y estructurales.
  • Análisis pragmático. El análisis del texto más allá de los límites de la frase, por ejemplo, para determinar los antecedentes referenciales de los pronombres.
  • Planificación de la frase. Estructurar cada frase del texto con el fin de expresar el significado adecuado.
  • Generación de la frase. La generación de la cadena lineal de palabras a partir de la estructura general de la frase, con sus correspondientes flexiones, concordancias y restantes fenómenos sintácticos y morfológicos.

Procesamiento del lenguaje natural y Comprensión del lenguaje natural

editar
 
Procesamiento del lenguaje natural y Comprensión del lenguaje natural

Es posible identificar dentro del PLN un subcampo especializado en las relaciones semánticas y pragmáticas, denominado Comprensión del lenguaje natural (CLN, en inglés Natural Language Understanding - NLU). La CLN agruparía, entonces, las áreas de resumen automático, paráfrasis, análisis de sentimientos y búsqueda de respuestas. De esta, la principal aplicación serían los chatbot o bot conversacionales. [9]

Aplicaciones

editar

Las principales tareas de trabajo en el PLN son:

Véase también

editar

Referencias

editar
  1. Vásquez, Augusto Cortez; Huerta, Hugo Vega; Quispe, Jaime Pariona; Huayna, Ana Maria (2009). «Procesamiento de lenguaje natural». Revista de investigación de Sistemas e Informática 6 (2): 45-54. ISSN 1816-3823. Consultado el 7 de febrero de 2021. 
  2. Hernández, Myriam Beatriz; Gómez, José M. (31 de julio de 2013). «Aplicaciones de Procesamiento de Lenguaje Natural». Revista Politécnica 32. ISSN 2477-8990. Consultado el 7 de febrero de 2021. 
  3. «Inter-Active Terminology for Europe». 
  4. ««PLN», mejor que «NLP», sigla de «procesamiento del lenguaje natural»». www.fundeu.es. Consultado el 10 de julio de 2019. 
  5. Plan de impulso de Tecnologías del Lenguaje / Plan for the Advancement of Language Technology (en inglés). 2015. 
  6. Cervantes, Instituto (20 de octubre de 2015). Presentación del «Plan de Impulso de las Tecnologías del Lenguaje». OCLC 1164865977. Consultado el 21 de abril de 2021. 
  7. Mariani, Joseph; Francopoulo, Gil; Paroubek, Patrick (2019), «The NLP4NLP Corpus (I): 50 Years of Publication Collaboration and Citation in Speech and Language Processing», Frontiers in Research Metrics and Analytics .
  8. Mariani, Joseph; Francopoulo, Gil; Paroubek, Patrick; Vernier, Frédéric (2019), «The NLP4NLP Corpus (I): 50 Years of Research in Speech and Language Processing», Frontiers in Research Metrics and Analytics .
  9. Mattingly, William (27 de septiembre de 2021). «Natural Language Processing with spaCy & Python - Course for Beginners». 

Bibliografía

editar

Enlaces externos

editar