Ligüística computacional - Computational linguistics

La lingüística computacional es un campo interdisciplinario que se ocupa del modelado computacional del lenguaje natural , así como del estudio de enfoques computacionales apropiados para cuestiones lingüísticas. En general, la lingüística computacional recurre a la lingüística , la informática , la inteligencia artificial , las matemáticas , la lógica , la filosofía , las ciencias cognitivas , 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 inteligencia artificial realizada por científicos 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 Association for Computational Linguistics 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 de NLP / ACL, aunque se refieren específicamente al subcampo de la lingüística computacional aplicada únicamente.

La lingüística computacional tiene componentes teóricos y 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 enfoques lógicos formales y 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 Deep Learning en la ACL 2012 y despertó tanto el interés como (en ese momento) el escepticismo de la mayoría de los participantes. Hasta entonces, el aprendizaje neuronal fue básicamente rechazado 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 abordadas por la lingüística computacional aplicada, consulte el artículo sobre 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, la traducción automática de idiomas se ha considerado una rama notoriamente difícil de la lingüística computacional.

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

  • medio del lenguaje que se procesa, ya sea hablado o textual: el reconocimiento de voz y la síntesis de voz se ocupan de cómo se puede entender o crear el lenguaje hablado utilizando computadoras.
  • tarea que se está realizando, por ejemplo, ya sea analizar el lenguaje (reconocimiento) o sintetizar el lenguaje (generación) : el análisis y la generación son subdivisiones de la lingüística computacional que se ocupan, respectivamente, de separar y ensamblar el lenguaje.

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 una 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 lenguajes modernos y en el subgrupo de lenguajes modernos en familias de lenguas. Se ha demostrado que los métodos anteriores, como la lexicoestadística y la glotocronología , eran prematuros e inexactos. Sin embargo, estudios interdisciplinarios recientes que toman prestados conceptos de estudios biológicos, especialmente 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 produjo traducciones precisas de inmediato, se reconoció que el procesamiento automatizado de los lenguajes humanos era mucho más complejo de lo que se suponía 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" fue acuñado por primera vez por David Hays , miembro fundador de la Asociación de Lingüística Computacional (ACL) y del Comité Internacional de Lingüística Computacional (ICCL).

Para traducir un idioma a otro, se observó que era necesario 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 la oración). Para comprender la sintaxis, también había que comprender 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 toda una disciplina dedicada a comprender cómo representar y procesar los lenguajes naturales utilizando 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 texto o voz 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, los campos de investigación también pueden abordar una amplia gama de temas. Las siguientes secciones discuten 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 se ha examinado utilizando varias técnicas, y un enfoque computacional es una de ellas. El desarrollo del lenguaje humano presenta 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 están expuestos en gran medida solo a pruebas positivas. 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 procedimiento de prueba de hipótesis simple para información tan compleja como el lenguaje, y por lo tanto proporciona ciertos límites para un enfoque computacional para modelar el desarrollo y la adquisición del lenguaje en un individuo.

Se ha intentado 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. Usando modelos, se ha demostrado que los idiomas se pueden aprender con una combinación de información simple presentada de manera incremental 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 las teorías lingüísticas. Habilitados para aprender como lo harían los niños, se creó un modelo basado en un modelo de accesibilidad en el que se crearon mapeos entre acciones, percepciones y efectos y se vincularon a las palabras habladas. Fundamentalmente, estos robots pudieron adquirir asignaciones funcionales de palabras a significados sin necesidad de una estructura gramatical, simplificando enormemente el proceso de aprendizaje y arrojando luz sobre la información que fomenta la comprensión actual del desarrollo lingüístico. Es importante señalar que esta información solo pudo haber sido probada empíricamente usando un enfoque computacional.

Dado que nuestra comprensión del desarrollo lingüístico de un individuo a lo largo de su vida se mejora continuamente mediante el uso de redes neuronales y sistemas robóticos de aprendizaje , también es importante tener en cuenta que los idiomas cambian y se desarrollan a lo largo del tiempo. Los enfoques computacionales para comprender este fenómeno han desenterrado información muy interesante. Utilizando 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 las lenguas modernas. 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 seres humanos, así como a lo largo del tiempo evolutivo, se ha mejorado fantásticamente gracias a los avances en la lingüística computacional. La capacidad de modelar y modificar sistemas a voluntad proporciona 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 en bruto 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 . Este corpus, derivado de fuentes muy diferentes, como los manuales informáticos de IBM y las conversaciones telefónicas transcritas, contiene más de 4,5 millones de palabras en inglés estadounidense. Este corpus se ha anotado principalmente mediante el etiquetado de parte del discurso y el corchete sintáctico y ha producido observaciones empíricas sustanciales 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 promoverán la comprensión del idioma de muchas maneras. 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 los lingüistas computacionales respondieran: ¿cómo aprende un bebé una gramática específica y no normal ( forma normal de Chomsky ) sin aprender una versión sobregeneralizada y quedarse atascado? Esfuerzos teóricos como estos marcan la dirección para que la investigación avance temprano en la vida 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 similitudes entre pares de expresiones de texto. Por ejemplo, se ha demostrado recientemente que, basándose en la información estructural presente en los patrones del discurso humano, las gráficas de recurrencia conceptual pueden usarse para modelar y visualizar tendencias en datos y crear medidas confiables de similitud entre enunciados textuales naturales. Esta técnica es una herramienta poderosa para profundizar en 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 . Utilizando métodos computacionales, se analizaron los 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 sigue siendo desconocida, es precisamente este tipo de información la que la lingüística computacional está diseñada para descubrir. Esta información podría conducir a nuevos descubrimientos importantes con respecto a la estructura subyacente del japonés y podría tener una serie de efectos en la comprensión del japonés como idioma. La lingüística computacional permite que se realicen adiciones muy interesantes a la base de conocimientos científicos de forma rápida y con muy poco margen de duda.

Sin un enfoque computacional de la estructura de los datos lingüísticos, gran parte de la información que está disponible ahora todavía estaría oculta bajo la inmensidad de los datos dentro de cualquier 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 cuanto a la información que proporciona y las habilidades necesarias que debe tener un productor fluido. Es decir, la comprensión es solo la mitad del problema de la comunicación. La otra mitad es cómo un sistema produce el lenguaje, y la lingüística computacional ha hecho interesantes descubrimientos en esta área.

Alan Turing : informático y homónimo desarrollador de la prueba de Turing como método para medir la inteligencia de una máquina.

En un artículo ahora famoso publicado en 1950, Alan Turing propuso la posibilidad de que las máquinas algún día tengan la capacidad de "pensar". Como un experimento mental para 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 distinguir entre el ser 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 prueba de Turing y sigue siendo una idea influyente en el área de la inteligencia artificial.

Joseph Weizenbaum : ex profesor del MIT y científico informático que desarrolló ELIZA , un programa informático primitivo que utiliza el procesamiento del lenguaje natural .

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 cuando respondía a declaraciones escritas y preguntas formuladas por un usuario. Parecía capaz de entender lo que se le decía y de responder inteligentemente, 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 traducidas correctamente de las palabras conocidas. Por ejemplo, en la frase "Parece que me odias", ELIZA entiende "tú" y "yo", que coincide con el patrón general "tú [algunas palabras] yo", lo que permite 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 entiende la palabra "odio", pero no es necesaria 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 los mismos para aplicarlos a la traducción de verbos. El modelo que produjo las traducciones más naturales de las 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 dar 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 hacer que las computadoras produzcan el lenguaje de una manera más naturalista. Utilizando 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 ser 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 persona-computadora 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 desde 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 voz. Estos sistemas, como Siri del sistema operativo iOS , operan 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 la acústica y los patrones del lenguaje 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 en comprensión incluyeron la aplicación de la estadística bayesiana 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 posibles letras "aprendiendo" a partir de letras de ejemplo y luego la probabilidad de que cualquiera de ellas Los ejemplos aprendidos coincidieron con los nuevos aportes y se combinaron para tomar una decisión final. Otros intentos de aplicar la estadística bayesiana al análisis del lenguaje incluyeron el trabajo de Mosteller y Wallace (1963) en el que se utilizó 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 las publicaciones). documentos).

En 1971, Terry Winograd desarrolló un motor de procesamiento de lenguaje natural temprano capaz de interpretar comandos escritos de forma natural dentro de un entorno simple gobernado por reglas. El programa de análisis del idioma principal en este proyecto se llamaba SHRDLU , que era capaz de llevar a cabo una conversación algo natural con el usuario que le daba comandos, 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 del juguete. De manera similar, un proyecto desarrollado por la NASA llamado LUNAR fue diseñado para proporcionar respuestas a preguntas escritas naturalmente sobre el análisis geológico de 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 detalla Rabiner en 1989. Este enfoque intenta determinar las probabilidades para el número arbitrario de modelos que podrían estar siendo usados ​​para generar habla, así como modelar las probabilidades para varias palabras generadas a partir de cada uno de estos posibles modelos. Se emplearon enfoques similares en los primeros intentos de reconocimiento de voz a partir de finales de los 70 en IBM utilizando probabilidades de pares palabra / parte de la voz.

Más recientemente, este tipo de enfoques estadísticos se han aplicado a tareas más difíciles, como la identificación de temas, utilizando 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 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 utilizan para demostrar la pronunciación o ayudar a los discapacitados, y sitios web y programas 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 en búsquedas en sitios web, para agrupar y organizar contenido mediante 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 al hacer 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 lingüística comparativa cuantitativa o filogenética ), 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:

  • La franquicia Star Trek presenta aplicaciones de PNL muy clásicas, sobre todo traducción automática ( traductor universal ), interfaces de usuario en lenguaje natural y respuesta a preguntas .
  • La película de 1983 WarGames presenta a un joven pirata informático que interactúa con una supercomputadora artificialmente inteligente.
  • Una película de 1997, Conceiving Ada , se centra en Ada Lovelace , considerada una de las primeras programadoras de computadoras, así como en temas de lingüística computacional.
  • Her , una película de 2013, describe las interacciones de un hombre con el "primer sistema operativo artificialmente inteligente del mundo".
  • La película de 2014 The Imitation Game sigue la vida del científico informático Alan Turing, desarrollador de la prueba de Turing.
  • La película de 2015 Ex Machina se centra en la interacción humana con inteligencia artificial.
  • La película de 2016 de llegada , sobre la base de Ted Chiang 's historia de su vida , toma un enfoque completamente nuevo de la lingüística para comunicarse con avanzada raza alienígena llamada heptapods.

Ver también

Referencias

Otras lecturas

enlaces externos