--- tags: diffusion, conf --- # Recursos para el procesamiento de las lenguas de corpus : las librerías python CLTK y stanza. ![](https://i.imgur.com/64FCkgt.jpg) **Sobre el uso de *pipelines*.** En el campo de procesamiento del lenguaje natural, se hace uso de las llamadas *pipelines*, que permiten hacer un análisis secuencial de documentos. En otros términos, para el análisis de un texto, una *pipeline* representa una cadena de tareas de transformación y anotación previas del texto, tales como la tokenización, el etiquetado de parte de la oración, la lematización etc. (Burns 160). Estas tareas permiten transformar cualquier texto plano en datos anotados cuya información, gracias a estos componentes básicos de anotación, luego se puede extraer automáticamente y permite generar nuevos datos cuantitativos de naturaleza lingüística, literaria, histórica, socio-económica, etc. para alimentar los estudios de los especialistas de la lengua correspondiente y de su cultura. Por esta razón, estas tareas son cruciales para cualquier análisis computacional y aplicación digital posterior de uso científico y asimismo los estandares de *pipeline* son muy útiles para normalizar estos procesos. El desarollo de una *pipeline* se puede hacer de manera *ad hoc* con las diferentes fuentes disponibles para una lengua. Por ejemplo, la NLTK (Natural Language Toolkit) ofrece una serie de módulos de análisis configurables para los datos del usuario que se encarga de crear por sí mismo una *pipeline* y de ordenar la secuencia de sus diferentes procesos (tareas básicas). También existen modelos pre-entrenados a partir de *corpora* anotados dedicados a varias lenguas. Estos modelos pre-entrenados son muy útiles pero están más desarollados para las lenguas modernas, lo que en sí representa el primer problema a la hora de analizar textos de lenguas de corpus. **Desarollo y uso en el campo de las lenguas de corpus**. Sin embargo, existen iniciativas para ofrecer una serie de *pipelines* adecuadas para el tratamiento automático de lenguas de corpus. En primer lugar, conviene mencionar la librería python stanza (Qi et al), que ofrece modelos pre-entrenados a partir de los datos de los treebanks del proyecto Universal Dependencies (Nivre et al.). Dentro de los 66 modelos que ofrece la librería, ocho corresponden a lenguas de corpus. El uso de *pipelines* para el análisis de lenguas de corpus requiere también la adaptación de sus componentes a la naturaleza de los datos y de su estudio. Por ejemplo, Burns menciona la utilidad de incluir en los procesos de etiquetado la macronización y la prosodia para lenguas como el griego y el latín (169). En otras palabras, la estructura de una *pipeline* aplicada a una lengua de corpus se debe adaptar a procesos que no se suelen utilizar usualmente para las lenguas modernas. Para responder la necesidad de incluir tareas de anotación específicas, se desarolló la librería CLTK (Classical Language Toolkit) que ofrece modelos pre-entrenados para el tratamiento automático de lenguas de corpus (Johnson et al.). La CLTK ofrece *corpora* y *pipelines* para 17 lenguas de corpus. Al tratarse de un proyecto colaborativo y en desarollo contínuo, la serie de procesos disponibles para cada lengua varia y es a veces escasa pero tiene la ventaja de proponer una estructura de *pipeline* altamente flexible, por lo cual es una herramienta imprescindible para crear una *pipeline* adecuada al tratamiento de una lengua de corpus o para personalizar una ya existente. **Presentación del uso de la librería CLTK**. El primer objetivo de esta conferencia es el de presentar la estructura de las *pipelines* ofrecidas por la CLTK, ejemplificar su uso a través de programas de demostración tratando varias lenguas de estudio de interés para los investigadores del ILC y demostrar la flexibilidad de la librería para añadir procesos a una *pipeline* existente. Con este úlitmo fin, tomaremos el caso del acadio para el cual añadiremos procesos personalizados a partir de la incorporación de código y de datos externos a la propria librería. En efecto, la CLTK ofrece una solución para la normalización y la centralización de herramientas desarolladas por proyectos varios y a veces en lenguajes de programación distintos al propio python. **El aporte de los datos obtenidos para los estudios en humanidades**. Un segundo objetivo de esta conferencia es ofrecer una ojeada a posibles aplicaciones de los resultados obtenidos para análisis más avanzados en varias disciplinas de interés para los investigadores del ILC. Por una parte, a través de programas propios ejemplificaremos posibles aplicaciones a estudios lingüísticos y prosódicos para el griego antiguo y el latín. Por otra parte, presentaremos los resultados obtenidos por los proyectos de Veldhuis y Anderson para la construcción de redes socio-económicas a partir de la información de los textos administrativos sumerios de Ur III, y de Strugnoli, Moretti y Passarotti, para el estudio de cambio histórico de uso de palabras en latín, basado en el estudio de su similitud semántica con otras palabras en varias épocas. ### Referencias Bird, Steven, Ewan Klein, and Edward Loper. Natural Language Processing with Python. O’Reilly Media Inc, 2009. https://www.nltk.org/book/ Burns, Patrick J.. "Building a Text Analysis Pipeline for Classical Languages". Digital Classical Philology: Ancient Greek and Latin in the Digital Revolution, edited by Monica Berti, Berlin, Boston: De Gruyter Saur, 2019, pp. 159-176. https://doi.org/10.1515/9783110599572-010 Johnson, Kyle P. et al. "The Classical Language Toolkit: An NLP Framework for Pre-Modern Languages". Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing: System Demonstrations. Association for Computational Linguistics, Online, 2021, pp. 20–29. Nivre, Joakim et al. "Universal Dependencies v1: A Multilingual Treebank Collection". Proceedings of the Tenth International Conference on Language Resources and Evaluation (LREC'16), Portorož, Slovenia: European Language Resources Association (ELRA), 2016, pp. 1659–1666. https://aclanthology.org/L16-1262.pdf Sprugnoli, Rachele, Giovanni Moretti, and Marco Passarotti. "Building and Comparing Lemma Embeddings for Latin. Classical Latin versus Thomas Aquinas." IJCoL. Italian Journal of Computational Linguistics 6.6-1 (2020): 29-45. URL: http://journals.openedition.org/ijcol/624; DOI: https://doi.org/10.4000/ijcol.624 Veldhuis, Niek, Adam Anderson et al. Sumerian Networks JupyterBooks, 2021, https://niekveldhuis.github.io/sumnet/welcome.html Qi, Peng, et al. "Stanza: A python natural language processing toolkit for many human languages." arXiv preprint arXiv:2003.07082 (2020). https://doi.org/10.48550/arXiv.2003.07082 ### Documentación técnica: - Classical Language Toolkit (CLTK) : https://docs.cltk.org/en/latest/ - Natural Language Toolkit (NLTK) : https://www.nltk.org/ - stanza : https://stanfordnlp.github.io/stanza/ - Universal Dependencies (UD) : https://universaldependencies.org/