Lingüística computacional

Ajustar Compartir Imprimir Citar

La lingüística computacional es un campo interdisciplinario relacionado con el modelado computacional del lenguaje natural, así como el estudio de enfoques computacionales apropiados para cuestiones lingüísticas. En general, la lingüística computacional se basa en la lingüística, la informática, la inteligencia artificial, las matemáticas, la lógica, la filosofía, la ciencia cognitiva, la psicología cognitiva, la psicolingüística, la antropología y la neurociencia, entre otras.

Subcampos y áreas relacionadas

Tradicionalmente, la lingüística computacional surgió como un área de la inteligencia artificial realizada por informáticos que se habían especializado en la aplicación de las computadoras al procesamiento de un lenguaje natural. Con la formación de la Asociación de Lingüística Computacional (ACL) y el establecimiento de series de conferencias independientes, el campo se consolidó durante las décadas de 1970 y 1980.

La Asociación de Lingüística Computacional define la lingüística computacional como:

...el estudio científico del lenguaje desde una perspectiva computacional. Los lingüistas computacionales están interesados ​​en proporcionar modelos computacionales de varios tipos de fenómenos lingüísticos.

El término "lingüística computacional" se considera hoy en día (2020) como casi sinónimo de procesamiento del lenguaje natural (PNL) y tecnología del lenguaje (humano). Estos términos ponen un mayor énfasis en los aspectos de las aplicaciones prácticas en lugar de la investigación teórica y desde la década de 2000. En la práctica, han reemplazado en gran medida el término "lingüística computacional" en la comunidad NLP/ACL, aunque se refieren específicamente al subcampo de la lingüística computacional aplicada, únicamente.

La lingüística computacional tiene componentes tanto teóricos como aplicados. La lingüística computacional teórica se centra en cuestiones de lingüística teórica y ciencia cognitiva. La lingüística computacional aplicada se centra en el resultado práctico de modelar el uso del lenguaje humano.

La lingüística computacional teórica incluye el desarrollo de teorías formales de gramática (análisis sintáctico) y semántica, a menudo basadas en lógicas formales y enfoques simbólicos (basados ​​en el conocimiento). Las áreas de investigación que son estudiadas por la lingüística computacional teórica incluyen:

La lingüística computacional aplicada está dominada por el aprendizaje automático, tradicionalmente utilizando métodos estadísticos, desde mediados de la década de 2010 por redes neuronales: Socher et al. (2012)fue uno de los primeros tutoriales de aprendizaje profundo en la ACL 2012 y despertó el interés y (en ese momento) el escepticismo de la mayoría de los participantes. Hasta entonces, el aprendizaje neuronal se rechazaba básicamente por su falta de interpretabilidad estadística. Hasta 2015, el aprendizaje profundo se había convertido en el marco principal de la PNL. En cuanto a las tareas que aborda la lingüística computacional aplicada, véase el artículo Procesamiento del lenguaje natural. Esto incluye problemas clásicos como el diseño de etiquetadores POS (etiquetadores de parte del discurso), analizadores para lenguajes naturales o tareas como la traducción automática (MT), la subdivisión de la lingüística computacional que se ocupa de que las computadoras traduzcan entre idiomas.. Como una de las primeras y más difíciles aplicaciones de la lingüística computacional, la MT se basa en muchos subcampos y aspectos tanto teóricos como aplicados. Tradicionalmente,

Además de la dicotomía entre la lingüística computacional teórica y aplicada, existen otras divisiones de la computación en áreas principales de acuerdo con diferentes criterios, que incluyen:

Tradicionalmente, las aplicaciones de las computadoras para abordar problemas de investigación en otras ramas de la lingüística se han descrito como tareas dentro de la lingüística computacional. Entre otros aspectos, esto incluye

Orígenes

La lingüística computacional a menudo se agrupa dentro del campo de la inteligencia artificial, pero estuvo presente antes del desarrollo de la inteligencia artificial. La lingüística computacional se originó con los esfuerzos en los Estados Unidos en la década de 1950 para usar computadoras para traducir automáticamente textos de idiomas extranjeros, particularmente revistas científicas rusas, al inglés. Dado que las computadoras pueden hacer cálculos aritméticos (sistemáticos) mucho más rápido y con mayor precisión que los humanos, se pensó que era solo cuestión de tiempo antes de que también pudieran comenzar a procesar el lenguaje.Los métodos computacionales y cuantitativos también se utilizan históricamente en el intento de reconstrucción de formas anteriores de idiomas modernos y en la subagrupación de idiomas modernos en familias de idiomas. Se ha demostrado que los métodos anteriores, como la lexicoestadística y la glotocronología, son prematuros e inexactos. Sin embargo, estudios interdisciplinarios recientes que toman prestados conceptos de estudios biológicos, especialmente el mapeo de genes, han demostrado producir herramientas analíticas más sofisticadas y resultados más confiables.

Cuando la traducción automática (también conocida como traducción mecánica) no pudo producir traducciones precisas de inmediato, se reconoció que el procesamiento automatizado de los lenguajes humanos era mucho más complejo de lo que se había supuesto originalmente. La lingüística computacional nació como el nombre del nuevo campo de estudio dedicado al desarrollo de algoritmos y software para el procesamiento inteligente de datos lingüísticos. El término "lingüística computacional" en sí mismo fue acuñado por primera vez por David Hays, miembro fundador tanto de la Asociación de Lingüística Computacional (ACL) como del Comité Internacional de Lingüística Computacional (ICCL).

Para traducir un idioma a otro, se observó que uno tenía que comprender la gramática de ambos idiomas, incluida la morfología (la gramática de las formas de las palabras) y la sintaxis (la gramática de la estructura de las oraciones). Para entender la sintaxis, también había que entender la semántica y el léxico (o 'vocabulario'), e incluso algo de la pragmática del uso del lenguaje. Por lo tanto, lo que comenzó como un esfuerzo por traducir entre idiomas se convirtió en una disciplina completa dedicada a comprender cómo representar y procesar los lenguajes naturales usando computadoras.

En la actualidad, la investigación en el ámbito de la lingüística computacional se realiza en departamentos de lingüística computacional, laboratorios de lingüística computacional, departamentos de informática y departamentos de lingüística. Algunas investigaciones en el campo de la lingüística computacional tienen como objetivo crear sistemas de procesamiento de voz o texto que funcionen, mientras que otras tienen como objetivo crear un sistema que permita la interacción hombre-máquina. Los programas destinados a la comunicación hombre-máquina se denominan agentes conversacionales.

Enfoques

Así como la lingüística computacional puede ser realizada por expertos en una variedad de campos y a través de una amplia variedad de departamentos, también los campos de investigación pueden abordar una amplia gama de temas. Las siguientes secciones analizan parte de la literatura disponible en todo el campo dividida en cuatro áreas principales del discurso: lingüística del desarrollo, lingüística estructural, producción lingüística y comprensión lingüística.

Enfoques de desarrollo

El lenguaje es una habilidad cognitiva que se desarrolla a lo largo de la vida de un individuo. Este proceso de desarrollo ha sido examinado usando varias técnicas, y un enfoque computacional es una de ellas. El desarrollo del lenguaje humano proporciona algunas limitaciones que dificultan la aplicación de un método computacional para comprenderlo. Por ejemplo, durante la adquisición del lenguaje, los niños humanos en gran medida solo están expuestos a evidencia positiva. Esto significa que durante el desarrollo lingüístico de un individuo, se proporciona la única evidencia de lo que es una forma correcta y ninguna evidencia de lo que no es correcto. Esta es información insuficiente para un simple procedimiento de prueba de hipótesis para información tan compleja como el lenguaje,y así proporciona ciertos límites para un enfoque computacional para modelar el desarrollo y la adquisición del lenguaje en un individuo.

Se han realizado intentos para modelar el proceso de desarrollo de la adquisición del lenguaje en los niños desde un ángulo computacional, lo que lleva tanto a gramáticas estadísticas como a modelos conexionistas. El trabajo en este ámbito también se ha propuesto como método para explicar la evolución del lenguaje a lo largo de la historia. Mediante el uso de modelos, se ha demostrado que los idiomas se pueden aprender con una combinación de entradas simples presentadas gradualmente a medida que el niño desarrolla una mejor memoria y una mayor capacidad de atención. Esto se planteó simultáneamente como una razón para el largo período de desarrollo de los niños humanos. Ambas conclusiones se extrajeron debido a la fuerza de la red neuronal artificial que creó el proyecto.

La capacidad de los bebés para desarrollar el lenguaje también se ha modelado utilizando robots para probar teorías lingüísticas. Habilitado para aprender como lo harían los niños, se creó un modelo basado en un modelo de asequibilidad en el que se crearon mapeos entre acciones, percepciones y efectos y se vincularon a palabras habladas. De manera crucial, estos robots pudieron adquirir mapeos funcionales de palabra a significado sin necesidad de una estructura gramatical, lo que simplificó enormemente el proceso de aprendizaje y arrojó luz sobre información que promueve la comprensión actual del desarrollo lingüístico. Es importante tener en cuenta que esta información solo podría haberse probado empíricamente utilizando un enfoque computacional.

Dado que nuestra comprensión del desarrollo lingüístico de un individuo a lo largo de su vida mejora continuamente mediante el uso de redes neuronales y sistemas robóticos de aprendizaje, también es importante tener en cuenta que los propios idiomas cambian y se desarrollan a lo largo del tiempo. Los enfoques computacionales para comprender este fenómeno han desenterrado información muy interesante. Usando la ecuación de Price y la dinámica de la urna de Pólya, los investigadores han creado un sistema que no solo predice la evolución lingüística futura, sino que también da una idea de la historia evolutiva de los idiomas modernos. Este esfuerzo de modelado logró, a través de la lingüística computacional, lo que de otro modo hubiera sido imposible.

Está claro que la comprensión del desarrollo lingüístico en los humanos, así como a lo largo del tiempo evolutivo, ha mejorado fantásticamente gracias a los avances en la lingüística computacional. La capacidad de modelar y modificar sistemas a voluntad le brinda a la ciencia un método ético para probar hipótesis que de otro modo serían intratables.

Enfoques estructurales

Para crear mejores modelos computacionales del lenguaje, la comprensión de la estructura del lenguaje es crucial. Con este fin, el idioma inglés se ha estudiado meticulosamente utilizando enfoques computacionales para comprender mejor cómo funciona el idioma a nivel estructural. Una de las piezas más importantes para poder estudiar la estructura lingüística es la disponibilidad de grandes corpus o muestras lingüísticas. Esto otorga a los lingüistas computacionales los datos sin procesar necesarios para ejecutar sus modelos y obtener una mejor comprensión de las estructuras subyacentes presentes en la gran cantidad de datos que contiene un solo idioma. Uno de los corpus lingüísticos en inglés más citados es el Penn Treebank.Derivado de fuentes muy diferentes, como manuales de computadora de IBM y conversaciones telefónicas transcritas, este corpus contiene más de 4,5 millones de palabras de inglés estadounidense. Este corpus se ha anotado principalmente mediante el etiquetado de partes del discurso y el paréntesis sintáctico y ha producido importantes observaciones empíricas relacionadas con la estructura del lenguaje.

También se han desarrollado enfoques teóricos de la estructura de las lenguas. Estos trabajos permiten que la lingüística computacional tenga un marco dentro del cual elaborar hipótesis que mejorarán la comprensión del lenguaje en una miríada de formas. Una de las tesis teóricas originales sobre la internalización de la gramática y la estructura del lenguaje proponía dos tipos de modelos. En estos modelos, las reglas o patrones aprendidos aumentan en fuerza con la frecuencia de su encuentro. El trabajo también creó una pregunta para que respondieran los lingüistas computacionales: ¿cómo aprende un bebé una gramática específica y no normal (forma normal de Chomsky) sin aprender una versión demasiado generalizada y quedarse atascado?Esfuerzos teóricos como estos marcan la dirección para que la investigación avance temprano en la vida útil de un campo de estudio y son cruciales para el crecimiento del campo.

La información estructural sobre los idiomas permite el descubrimiento y la implementación del reconocimiento de similitud entre pares de expresiones de texto. Por ejemplo, recientemente se ha demostrado que, basándose en la información estructural presente en los patrones del discurso humano, se pueden usar diagramas de recurrencia conceptual para modelar y visualizar tendencias en los datos y crear medidas confiables de similitud entre expresiones textuales naturales. Esta técnica es una herramienta sólida para seguir investigando la estructura del discurso humano. Sin el enfoque computacional de esta pregunta, la información sumamente compleja presente en los datos del discurso habría permanecido inaccesible para los científicos.

La información sobre los datos estructurales de un idioma está disponible para el inglés y para otros idiomas, como el japonés. Usando métodos computacionales, se analizaron corpus de oraciones japonesas y se encontró un patrón de normalidad logarítmica en relación con la longitud de la oración. Aunque la causa exacta de esta lognormalidad permanece desconocida, es precisamente este tipo de información lo que la lingüística computacional está diseñada para descubrir. Esta información podría conducir a nuevos descubrimientos importantes sobre la estructura subyacente del japonés y podría tener varios efectos en la comprensión del japonés como idioma. La lingüística computacional permite adiciones muy emocionantes a la base de conocimiento científico que ocurren rápidamente y con muy poco espacio para la duda.

Sin un enfoque computacional de la estructura de los datos lingüísticos, gran parte de la información que está disponible ahora aún estaría oculta bajo la inmensidad de los datos dentro de un solo idioma. La lingüística computacional permite a los científicos analizar grandes cantidades de datos de manera confiable y eficiente, creando la posibilidad de descubrimientos diferentes a los que se ven en la mayoría de los otros enfoques.

Enfoques de producción

La producción del lenguaje es igualmente compleja en la información que proporciona y las habilidades necesarias que debe tener un productor fluido. Es decir, la comprensión es sólo la mitad del problema de la comunicación. La otra mitad es cómo un sistema produce lenguaje, y la lingüística computacional ha hecho descubrimientos interesantes en esta área.

En un artículo ahora famoso publicado en 1950, Alan Turing propuso la posibilidad de que las máquinas algún día pudieran tener la capacidad de "pensar". Como experimento mental de lo que podría definir el concepto de pensamiento en las máquinas, propuso una "prueba de imitación" en la que un sujeto humano tiene dos conversaciones de solo texto, una con un compañero humano y otra con una máquina que intenta responder como un humano.. Turing propone que si el sujeto no puede diferenciar entre el humano y la máquina, se puede concluir que la máquina es capaz de pensar. Hoy en día, esta prueba se conoce como la prueba de Turing y sigue siendo una idea influyente en el área de la inteligencia artificial.

Uno de los primeros y más conocidos ejemplos de un programa informático diseñado para conversar de forma natural con humanos es el programa ELIZA desarrollado por Joseph Weizenbaum en el MIT en 1966. El programa emulaba a un psicoterapeuta rogeriano al responder a declaraciones escritas y preguntas planteadas por un usuario. Parecía capaz de comprender lo que se le decía y responder de manera inteligente, pero en realidad, simplemente siguió una rutina de coincidencia de patrones que se basaba en comprender solo unas pocas palabras clave en cada oración. Sus respuestas se generaron recombinando las partes desconocidas de la oración en torno a versiones correctamente traducidas de las palabras conocidas. Por ejemplo, en la frase "Parece que me odias" ELIZA entiende "tú" y "yo" lo que coincide con el patrón general "tú [algunas palabras] yo", permitiendo que ELIZA actualice las palabras "tú" y "yo" a "yo" y "tú" y respondiendo "¿Qué te hace pensar que te odio?". En este ejemplo, ELIZA no comprende la palabra "odio", pero no se requiere para una respuesta lógica en el contexto de este tipo de psicoterapia.

Algunos proyectos todavía están tratando de resolver el problema que inició la lingüística computacional como su campo en primer lugar. Sin embargo, los métodos se han vuelto más refinados y, en consecuencia, los resultados generados por los lingüistas computacionales se han vuelto más esclarecedores. Para mejorar la traducción por computadora, se han comparado varios modelos, incluidos los modelos ocultos de Markov, las técnicas de suavizado y los refinamientos específicos de aquellos para aplicarlos a la traducción de verbos.El modelo que produjo las traducciones más naturales de palabras en alemán y francés fue un modelo de alineación refinado con una dependencia de primer orden y un modelo de fertilidad. También proporcionan algoritmos de entrenamiento eficientes para los modelos presentados, lo que puede brindar a otros científicos la capacidad de mejorar aún más sus resultados. Este tipo de trabajo es específico de la lingüística computacional y tiene aplicaciones que podrían mejorar enormemente la comprensión de cómo las computadoras producen y comprenden el lenguaje.

También se ha trabajado para que las computadoras produzcan lenguaje de una manera más naturalista. Usando la información lingüística de los humanos, se han construido algoritmos que pueden modificar el estilo de producción de un sistema en función de un factor como la información lingüística de un humano, o factores más abstractos como la cortesía o cualquiera de las cinco dimensiones principales de la personalidad. Este trabajo adopta un enfoque computacional a través de modelos de estimación de parámetros para categorizar la amplia gama de estilos lingüísticos que vemos en los individuos y simplificarlo para que una computadora funcione de la misma manera, haciendo que la interacción entre humanos y computadoras sea mucho más natural.

Enfoque interactivo basado en texto

Muchos de los primeros y más simples modelos de interacción humano-computadora, como ELIZA, por ejemplo, involucran una entrada basada en texto del usuario para generar una respuesta de la computadora. Mediante este método, las palabras escritas por un usuario hacen que la computadora reconozca patrones específicos y responda en consecuencia, a través de un proceso conocido como detección de palabras clave.

Enfoque interactivo basado en el habla

Las tecnologías recientes han puesto más énfasis en los sistemas interactivos basados ​​en el habla. Estos sistemas, como Siri del sistema operativo iOS, funcionan con una técnica de reconocimiento de patrones similar a la de los sistemas basados ​​en texto, pero con el primero, la entrada del usuario se realiza a través del reconocimiento de voz. Esta rama de la lingüística implica el procesamiento del habla del usuario como ondas sonoras y la interpretación de los patrones acústicos y lingüísticos para que la computadora reconozca la entrada.

Enfoques de comprensión

Gran parte del enfoque de la lingüística computacional moderna está en la comprensión. Con la proliferación de Internet y la abundancia de lenguaje humano escrito de fácil acceso, la capacidad de crear un programa capaz de comprender el lenguaje humano tendría muchas posibilidades amplias y emocionantes, incluidos motores de búsqueda mejorados, servicio al cliente automatizado y educación en línea.

Los primeros trabajos de comprensión incluyeron la aplicación de estadísticas bayesianas a la tarea de reconocimiento óptico de caracteres, como lo ilustraron Bledsoe y Browing en 1959, en el que se generó un gran diccionario de letras posibles "aprendiendo" de letras de ejemplo y luego la probabilidad de que cualquiera de esas los ejemplos aprendidos coincidieron con la nueva entrada se combinó para tomar una decisión final. Otros intentos de aplicar las estadísticas bayesianas al análisis del lenguaje incluyeron el trabajo de Mosteller y Wallace (1963) en el que se usó un análisis de las palabras utilizadas en The Federalist Papers para intentar determinar su autoría (concluyendo que Madison probablemente fue el autor de la mayoría de los documentos).

En 1971, Terry Winograd desarrolló uno de los primeros motores de procesamiento de lenguaje natural capaz de interpretar comandos escritos naturalmente dentro de un entorno simple regido por reglas. El programa de análisis del lenguaje principal en este proyecto se llamaba SHRDLU, que era capaz de llevar a cabo una conversación un tanto natural con el usuario dándole órdenes, pero solo dentro del alcance del entorno de juguete diseñado para la tarea. Este entorno constaba de bloques de diferentes formas y colores, y SHRDLU era capaz de interpretar comandos como "Encuentra un bloque que sea más alto que el que estás sosteniendo y colócalo en la caja". y hacer preguntas como "No entiendo a qué pirámide te refieres". en respuesta a la entrada del usuario.Si bien es impresionante, este tipo de procesamiento del lenguaje natural ha demostrado ser mucho más difícil fuera del alcance limitado del entorno de los juguetes. De manera similar, un proyecto desarrollado por la NASA llamado LUNAR fue diseñado para brindar respuestas a preguntas escritas naturalmente sobre el análisis geológico de las rocas lunares devueltas por las misiones Apolo. Este tipo de problemas se conocen como respuesta a preguntas.

Los intentos iniciales de comprender el lenguaje hablado se basaron en el trabajo realizado en las décadas de 1960 y 1970 en el modelado de señales donde se analiza una señal desconocida para buscar patrones y hacer predicciones basadas en su historia. Un enfoque inicial y algo exitoso para aplicar este tipo de modelado de señales al lenguaje se logró con el uso de modelos ocultos de Markov como lo detalló Rabiner en 1989. Este enfoque intenta determinar las probabilidades para el número arbitrario de modelos que podrían usarse para generar discurso, así como modelar las probabilidades de varias palabras generadas a partir de cada uno de estos modelos posibles. Se emplearon enfoques similares en los primeros intentos de reconocimiento de voz que comenzaron a finales de los años 70 en IBM utilizando probabilidades de pares de palabra/parte del discurso.

Más recientemente, este tipo de enfoques estadísticos se han aplicado a tareas más difíciles, como la identificación de temas mediante la estimación de parámetros bayesianos para inferir probabilidades de temas en documentos de texto.

Aplicaciones

La lingüística computacional aplicada es en gran medida equivalente al procesamiento del lenguaje natural. Las aplicaciones de ejemplo para los usuarios finales incluyen software de reconocimiento de voz, como la función Siri de Apple, herramientas de corrección ortográfica, programas de síntesis de voz, que a menudo se usan para demostrar la pronunciación o ayudar a los discapacitados, y programas y sitios web de traducción automática, como Google Translate.

La lingüística computacional también es útil en situaciones que involucran redes sociales e Internet, por ejemplo, para proporcionar filtros de contenido en salas de chat o búsquedas en sitios web, para agrupar y organizar contenido a través de minería de redes sociales, recuperación de documentos y agrupamiento. Por ejemplo, si una persona busca "vehículo rojo, grande, de cuatro ruedas", para encontrar imágenes de un camión rojo, el motor de búsqueda seguirá encontrando la información deseada haciendo coincidir palabras como "cuatro ruedas" con "coche".

Los enfoques computacionales también son importantes para apoyar la investigación lingüística, por ejemplo, en lingüística de corpus o lingüística histórica. En cuanto al estudio del cambio a lo largo del tiempo, los métodos computacionales pueden contribuir al modelado e identificación de familias lingüísticas (ver más filogenética o lingüística comparativa cuantitativa), así como al modelado de cambios en el sonido y el significado.

Legado

El tema de la lingüística computacional ha tenido un impacto recurrente en la cultura popular: