Así, a bote pronto, me pareció que tenía mucha razón. Me pareció que, en efecto, la lingüística computacional aunaba, por una parte, los necesarios conocimientos de lingüística que aporta un titulado o titulada en filología, con una aplicación muy práctica y creciente dentro del poderoso campo de la inteligencia artificial. Me pareció que era una forma perfecta de desarrollar una profesión dentro del propio área de conocimiento, y un área de conocimiento que, docencia aparte, no parecía tener otras muchas salidas profesionales. Y al mismo tiempo subirse a un carro lleno de oportunidades: la inteligencia artificial.
Aparte de eso a mi que, evidentemente, me gusta e interesa la inteligencia artificial, y que me encantan las áreas transversales de conocimiento y la multidisciplinariedad, me parecía un campo precioso.
Sin embargo en estos días, y precisamente a partir de un estudio más detallado del campo de la lingüística computacional, me han surgido dudas sobre el posible papel de los lingüistas en inteligencia artificial y, en concreto, en el del procesamiento del lenguaje natural.
Veamos.
La lingüística
Aunque por nuestra formación escolar, más o menos todos tenemos una idea siquiera vaga e intuitiva de lo que es la lingüística, recurro al libro clásico 'Lingüística' de Ángel Alonso-Cortés. Tengo que decir que, como por desgracia sucede con demasiada frecuencia en las disciplinas humanísticas, el autor peca, en mi opinión, un poco de exceso de erudición, una erudición muy poco práctica, y aporta varias definiciones aportadas históricamente por diversos autores, y las comenta, pero sin acabar concluyendo con una definición limpia y clara, una del propio autor, que cierre el tema.
Aunque es un poco vaga, apunto la siguiente que aparece al principio del segundo capítulo:
La lingüística es el estudio científico de las lenguas como manifestación universal del lenguaje.
pero añadiéndole esta observación que me parece interesante y que aparece unas líneas más adelante:
El estudio del lenguaje parte del hablar de una lengua como una actividad dirigida por un sistema de reglas o modelos estructurales que el hablante tiene en su consciencia.
Entiendo que el estudio científico de la lengua, del lenguaje, tiene sentido porque existen una serie de reglas o modelos estructurales, y que buena parte de la labor lingüística se encuentra en descubrir, explicitar y entender esos reglas y modelos estructurales. Y se me ocurre añadir que el uso del 'machine learning' como manera de realizar un procesamiento del lenguaje tiene sentido precisamente porque existen una patrones, unas reglas que podemos descubrir, y ese descubrimiento de patrones subyacentes es algo que 'machine learning' hace particularmente bien, casi diría que es su propia naturaleza.
Más allá de definiciones, todos tenemos la imagen de lo que incluye la lengua: la fonología, la sintaxis, la morfología y todas esas cosas que, con mayor o menor profundidad y mayor o menor interés, estudiamos de niños.
Aprovecho para citar dos aspectos que aparecen mucho en las disertaciones de Alonso-Cortés. Por un lado que, aunque en la definición que he aportado no aparece, en el análisis del autor sí que menciona mucho la importancia del análisis comparado entre diferentes lenguas, diferentes idiomas. Y, por otro, la distinción entre filología y lingüística, una diferenciación que debo reconocer que ignoraba. Me quedo con la idea de que la filología es un campo más amplio que incluye la literatura (lo que en el colegio se denominaba típicamente 'lengua y literatura') mientas que la lingüística se centra en el lenguaje propiamente dicho, bastante desconectado de su manifestación literaria.
Lingüística computacional y procesamiento del lenguaje natural
Centrado, siquiera someramente, el campo de la lingüística, vamos a saltar por un momento a la lingüística computacional. En otro libro, este menos sesudo y bastante breve, 'Computational Linguistics: The Science of Language and Machines' de Sam Claydon, me encuentro esta definición:
Computational Linguistics (CL) is the interdisciplinary field that combines linguistics, computer science, and artificial intelligence to enable machines to understand, interpret, and generate human language.
un campo interdisciplinar como se destaca en la siguiente afirmación procedente de la misma fuente
Computational Linguistics (CL) is inherently interdisciplinary, drawing from several fields to create systems that can process and understand human language.
En cualquier caso, estamos hablando de tratamiento del lenguaje por máquinas.
Procesamiento de Lenguaje Natural
Por su lado, y continuando con la misma fuente, podemos extraer la siguiente definición de procesamiento del lenguaje natural
Natural Language Processing (NLP) is a subfield of artificial intelligence (AI) that focuses on enabling machines to understand, interpret, generate, and interact with human language in a meaningful way.
y unas líneas más abajo
NLP combines computational techniques with linguistic insights to address the complexities of natural language, such as grammar, syntax, semantics, and context.
Lingüística computacional frente a procesamiento del lenguaje matural
¿En qué se diferencia entonces la lingüística computacional del procesamiento del lenguaje natural (NLP, 'Natural Language Processing')?
Creo que, en el fondo, en poco, y menos aún con las tecnologías dominantes hoy en día, algo a lo que volveré más abajo. Sin embargo en más de una fuente, incluida la citada, he visto una distinción, un matiz que es básicamente de foco.
En general se reconoce el fuerte solape entre ambas disciplinas, lingüística computacional y procesamiento del lenguaje natural, pero se destaca que, mientras que en el procesamiento del lenguaje natural lo que importa es el tratamiento automatizado, son los algoritmos y la obtención de resultados, en lingüística computacional, el foco está en el lenguaje propiamente dicho y el conocimiento lingüístico, un conocimiento lingüístico que, por una parte, puede aportar reglas e ideas de cómo hacer un mejor tratamiento automatizado y que, a la vez, se puede beneficiar de las conclusiones, resultados y experiencias que ofrecen los algoritmos.
La evolución de las soluciones tecnológicas
En el segundo de los libros que he citado, identifica cuatro fases en cuanto a las soluciones técnicas aplicadas en el campo de la lingüística computacional que vendría a ser lo mismo que el procesamiento del lenguaje natural. Serían estas:
- Sistemas basados en reglas: Aplicaban reglas basadas de la teoría lingüística, y con frecuencia procedente del campo de la sintaxis, para analizar y generar lenguaje. Se apoyaban en conceptos como gramáticas y ontologías.
- Sistemas estadísticos: En lugar de ir a una visión más estructural, se trabaja con las propiedades estadísticas de las lenguas. Es la época de los n-gramas o de los famosos y muy fructíferos Modelos Ocultos de Markov (HMM, 'Hidden Markov Models')
- Sistemas de deep learning: Entran en escena las redes neuronales, y cobran relevancia, sobre todo, las redes neuronales recurrentes (RNN, 'Recurrent Neural Networks') donde, en realidad, el diseñador ya sabe poco del lenguaje y el conocimiento cada vez queda más distribuido en los pesos de la red
- Transfer learning y grandes modelos de lenguaje: Desarrollo de modelos preentrenados cuyo conocimiento se puede trabnferir o reutilizar en multitud de aplicaciones y casos de uso. Nos hallamos ante modelos basados de una forma u otra en la arquitectura Transformer, en el uso de los mecanismos de atención y en una extensión multiuso y multimodal que nos lleva a hablar de modelos fundacionales.
Reflexiones sobre el papel de los lingüistas
Y es a raíz de esa evolución tecnológica donde me ha dado por reflexionar y replantearme el papel de los lingüistas en la lingüística computacional y el procesamiento del lenguaje natural.
En la primera de las fases, la que se apoya en reglas procedentes de la lingüística, su papel es clarísimo: se necesitan especialistas en lingüística para investigar y guiar los desarrollos de algoritmos que se apoyen en esas reglas. Y seguramente también su aportación es útil e incluso necesaria, en la definición de gramáticas y ontologías, e incluso en la conformación de corpora de trabajo.
Sin embargo, a medida que han ido evolucionando las tecnologías, cada vez usan menos un conocimiento del lenguaje como tal, cada vez tienen una naturaleza más estadística y más autónoma, entendiendo en este caso por autónoma que, en cierto sentido, son los propios algoritmos los que descubren las regularidades sintácticas, morfológicas, fonológicas y de todo tipo que subyacen al lenguaje humano, sin necesidad de que les proporcionemos desde el exterior las reglas lingüísticas y necesitando 'sólo' ejemplos (eso sí, muchísimos ejemplos) de cómo utiliza el ser humano su lenguaje.
En esta situación me cuesta mucho más ver el papel de los lingüistas. No me atrevo a decir que no exista. Quizá puedan, a pesar de todo, orientar a alto nivel, hacia dónde trabajar con algoritmos o quizá, y aquí lo veo algo más claro, puedan trabajar en la evaluación y validación de modelos, una tarea que aunque se intenta automatizar, todavía tiene componente humano.
Pero de todas formas, me parece apreciar que su papel se diluye, que en la medida que los algoritmos ya no reciben como entrada, o no se apoyan en el diseño, en características estructurales del lenguaje humano, la aportación del lingüista es mucho menor.
¿Es cierta mi percepción?
Me encantaría tener la opinión de lingüistas que hayan trabajado alguna vez en lingüística computacional o en procesamiento de lenguaje natural, o de personas que hayan participado en la construcción de modelos y algoritmos de procesamiento del lenguaje, a ver si comparten mi percepción o, por el contrario, me descubren grandes áreas de trabajo de los lingüistas en lingüística computacional y procesamiento del lenguaje natural.
Me alegraría mucho, tengo que decir, de que existiesen esas áreas.
Conclusiones
Aunque los campos de la lingüística computacional y del procesamiento del lenguaje natural se centran en el lenguaje, la aportación de la disciplina por excelencia del campo del lenguaje, la lingüística, parece diluirse a medida que los algoritmos se apoyan menos en conocimiento y reglas explícitos y más en propiedades estadísticas y descubrimiento automatizado de los patrones subyacentes.
No hay comentarios:
Publicar un comentario