Un elemento clave de nuestra investigación sobre las Relaciones Geográficas es el análisis de la información textual contenida en los informes del siglo XVI. Para ello, utilizaremos técnicas computacionales, concretamente procesamiento de lenguaje natural (NLP) y aprendizaje automático (ML). Si bien estas disciplinas presentan un amplio recorrido, la gran mayoría de la investigación la han realizado utilizando idiomas modernos y, mayoritariamente, inglés.

Nuestro corpus no es ni moderno ni está en inglés. Las Relaciones Geográficas fueron escritas en el siglo XVI por funcionarios españoles, en las que contribuyeron indígenas de todo México. La mezcla de idiomas español e indígenas a lo largo de las Relaciones plantea un desafío para estos métodos computacionales que, en su mayoría, han sido entrenados con textos recientes. Por ello, nos enfrentamos a la tarea de entrenar nuestro propio sistema de NLP que tiene en cuenta los desafíos únicos que presentan las Relaciones Geográficas.

Anotación del Corpus

Recientemente, hemos establecido una colaboración con Tagtog, una compañía de tecnología NLP, que ha desarrollado una herramienta de anotación de texto en línea capaz de desarrollar modelos para anotar grandes cantidades de información textual. Tagtog ofrece una versión gratuita que permite a un único usuario trabajar con hasta 100 documentos y utilizar sus capacidades de anotación automática de Machine Learning. Puedes consultar sus planes gratuitos y pagos en su sitio web.

Por el momento, hemos utilizado Tagtog para anotar algunos extractos de nuestro corpus. Entendemos por anotación el hecho de asignar metadatos a términos o frases específicos para entrenar a la máquina y que sea capaz de reconocer palabras clave. Por ejemplo, en el siguiente fragmento de texto hemos etiquetado “Yenynguia” como un topónimo -se puede observar como este lugar también se conoce como Coyula, hecho que se puede registrar mediante el uso de diccionarios, como explicaremos más adelante en este post-.

an excerpt from the Relacion de Papaloticpac (in Antequera) which shows some annotation of our corpus using the tagtog interface

Antes de comenzar a anotar, es importante definir los tipos de entidades que necesitamos identificar dentro del texto. Comenzamos con algunas categorías clave -como topónimos, instituciones y características geográficas-, y desde entonces hemos ampliado el número de categorías a cuarenta, para que sean capaces de reflejar la diversa naturaleza de la información que contienen las Relaciones. Este es un número ingente de categorías para la anotación y ¡Tagtog se está portando maravillosamente bien hasta ahora!

A continuación, se muestra un extracto de la Relación de Papaloticpac (Antequera) que una idea del tipo de información que hemos estado anotando con Tagtog.

a screenshot showing an excerpt from the Relacion de Papaloticpac (in Antequera) which shows the tagtog interface

Dentro de las primeras 800 palabras de esta Relación, encontramos información útil entre la que destacan los numerosos pueblos del área y la ubicación de los unos respecto a los otros. También, los nombres de aquellos señores relevantes, calificados de “ilustres” y “muy excelentes”, involucrados en la producción de este informe, así como algunas pinceladas de las características geográficas del área, con cerros, sierras y quebradas. Toda esta valiosa información es la que queremos ser capaces de extraer con el análisis de los textos.

Diccionarios

Como se mencionó anteriormente, en los casos en que tenemos nombres alternativos para un topónimo (Yenynguia = Coyula), es posible utilizar diccionarios para decirle a la computadora que estas entidades son una misma cosa. Con las inconsistencias de la ortografía en las Relaciones Geográficas, la normalización de las entidades es esencial. Fíjate en las primeras líneas del texto anterior, se nos dan tres formas diferentes de deletrear el nombre del pueblo: tras ‘Papaloticpac’, tenemos ‘Papaloticpaque’ y ‘Papalotiquipaque’. Por supuesto, todas se refieren al mismo lugar, pero el ordenador necesita que se lo especifiquen. En Tagtog, esto es posible gracias al uso de diccionarios que permiten la normalización de las entidades. Por ello, en el caso de “Papaloticpac”, incluiríamos cada ortografía en el “diccionario” de la siguiente manera:

an example to show how to format a dictionary entry in tagtog

(Ten en cuenta que las mayúsculas de cada palabra también han de incluirse para que la máquina reconozca esto como una coincidencia)

Nuestros siguientes pasos, una vez que hayamos anotado algo más del corpus, serán entrenar un modelo usando las anotaciones que hemos creado. Para hacer esto, añadiremos texto “sin procesar”, sin anotaciones, para que la máquina lo anote automáticamente con lo que ha aprendido de nuestras anotaciones manuales y diccionarios. Por supuesto, esto no producirá un modelo de anotación 100% preciso, por lo que corregiremos manualmente cualquier error, repitiendo este proceso hasta que consigamos un nivel alto de precisión. La capacidad de que un modelo pueda producir anotaciones automáticas con exactitud permitirá una interacción mucho más intuitiva con nuestro corpus multilingüe de más de 3 millones de palabras.