Usando Transkribus con manuscritos medievales (1): primeros pasos

Transkribus es una plataforma de reconocimiento de textos escritos que ha demostrado ser muy útil para el trabajo con manuscritos medievales. Tiene dos versiones, Transkribus Lite, un aplicativo web, y Transkribus eXpert, un cliente que se instala en el ordenador, pero cuyas funciones avanzadas se ejecutan en los servidores de Read Coop, la empresa detrás de la plataforma.

Detrás de Transkribus se encuentra una poderosa máquina de reconocimiento de textos escritos (Handwritten Text Recognition engine). Hasta noviembre de 2022, eran dos máquinas: PyLaia y CITLab HTR+. Esta última, desarrollada por un equipo de la Universität Rostock, tuvo una jubilación anticipada por un problema de derechos intelectuales sobre el código empleado.

Transkribus no es un sistema con una curva de aprendizaje corta. Todo lo contrario, requiere invertir una buena cantidad de tiempo para conocer su ecosistema y manejarlo con soltura. Un usuario nuevo necesitará al menos un par de semanas de uso intensivo para poder trabajar bien con él. Por esto mismo, el propósito de las entradas que publicaré, documentando mi trabajo con el cliente experto de Transkribus y los testimonios del Lucidario, no es explicar completamente cómo trabajar con el sistema y descubrir todo su potencial, sino glosar los puntos más importantes del proceso y ofrecer reflexiones pertinentes para quienes lo utilicen para trabajar sobre manuscritos medievales. Lectores interesados pueden ver este vídeo donde encontrarán algunas funciones que no discutiré.

Invito, entonces, a quien se aventure a leer esta entrada a antes crear una cuenta en Read Coop, descargar el cliente, instalarlo y ponerse a jugar un poco. Meter el dedo en el enchufe a ver si pasa o no corriente. Esta es una parte fundamental de la curva de aprendizaje de la que hablé arriba: Transkribus necesita en gran medida de un usuario curioso y dispuesto a explorar para aprender. Que hay tutoriales en línea, los hay, en inglés, francés (canadiense) y alemán (aún falta uno en castellano), pero no hay nada mejor que descargar un programa desconocido y dar clic a todo para ver qué hace explotar el ordenador. Así, se aprende a no volver a dar clic en ese lugar.

En este recorrido, como dije, pondré como ejemplo mi experiencia. En esta entrada solo explicaré cuáles son los pasos iniciales para comenzar a trabajar con un manuscrito. En futuras entradas explicaré cómo desarrollar modelos de transcripción (base models) y los baches en el camino.

El primer paso, como siempre en Transkribus, es subir un archivo. Hay que dar clic en el botón subir en la barra de menús (el sétimo ícono: la carpeta con la flecha apuntando a la izquierda).

Barra de menús

Hay varias opciones para subir el archivo, las más fáciles son buscar un documento en formato PDF en el ordenador o, si uno sabe de esas cosas arcanas que conocemos los miembros de la generación Napster, subir las imágenes individuales empleando un servidor FTP (basta un cliente gratuito como Filezilla).

Subiendo el manuscrito en PDF

Para el primer caso, la subida de un documento, el aplicativo se encarga de extraer las imágenes individuales y procesarlas. Esto puede tomar algún tiempo si se trata de un documento con muchas páginas o de gran tamaño. En promedio, subir y procesar un documento de 150 páginas de 100 MB puede tomar entre 10 o 15 minutos.

Extrayendo las imágenes del archivo

Tenemos ahora un documento limpio sobre el que se puede trabajar.

Documento limpio

Lo siguiente que hay que hacer es establecer las regiones de texto y las líneas donde queremos que el aplicativo reconozca el texto. Esto se conoce como análisis del entorno (layout analysis). Es un proceso doble: primero se crean regiones de texto (text regions), secciones rectangulares de la imagen que contienen texto. Todo el espacio exterior es descartado por la máquina. Luego, se crean líneas (line regions), los espacios que corresponden a las líneas del documento sobre las que se realizará la transcripción. Ambas etapas pueden ser realizadas al mismo tiempo empleando la función Layout Analysis del menú herramientas (Tools) del cliente.

Análisis del entorno automatizado

Primero, la máquina detectará las regiones de texto. Establecidas estas, buscará dentro de ellas lo que cree que son líneas. El resultado en el primer folio del testimonio D del Lucidario es este.

Resultado del análisis del entorno

Un problema que salta a la vista inmediatamente es que la máquina ha identificado tres secciones adicionales a las que interesan transcribir: dos en la parte superior derecha (la numeración moderna del folio en arábigos y un pasaje que se ha colado del folio siguiente) y una en la parte inferior (la marca de agua de la biblioteca). Ha hecho bien su trabajo, no ha omitido ningún elemento gráfico de la página. Sin embargo, al hacerlo ha creado fantasmas que no interesan en la transcripción y que habrá que eliminar manualmente (para no alargar la entrada, pueden ver cómo hacerlo aquí).

Estos fantasmas aparecen porque la herramienta de reconocimiento del entorno no diferencia entre notas marginales, numeración moderna, sellos, probationes pennae. Texto es texto. A veces, incluso, se deja confundir por los trazos de las iniciales coloreadas o los astiles alargados de las letras de la primera línea. Las manchas no son un desafío, si se tratan de decoloraciones ligeras (de eso hablaré en otra entrada).

Estas líneas fantasmas son un problema al realizar transcripciones, especialmente en un medio tan poco gentil como el pergamino o el papel antiguo, pues rara vez existen folios completamente limpios, sin anotaciones y otras modificaciones que confunden al reconocimiento automático. Esto ha pasado con el siguiente folio del BNE ms. 10815, el testimonio Q2 de la refundición castellana de la Crónica de 1344.

Reconocimiento automático del fol. 1r del BNE 10815

Para evitar tener que corregir los errores de cada una de las páginas del documento (que podría tomar varios días), hay una segunda forma de trabajo que ayuda a minimizar estos errores: realizar una delimitación manual de las regiones de texto antes del análisis del entorno. Aquí vemos el fol. 1r de D.

Delimitación manual de las regiones de texto

Una vez delimitadas las regiones en todas las páginas, se le ordena al cliente que reconozca el entorno, pero que no busque las regiones de texto, pues estas ya están creadas.

Análisis del entorno sin regiones

El resultado es mucho mejor, las líneas son iguales a las del texto y ya no hay fantasmas (he tenido suerte, como explicaré abajo).

Resultado de análisis del entorno sin regiones

El tercer, y final, paso de esta primera etapa de preparación del documento es revisar visualmente que todas las líneas identificadas correspondan fielmente con las líneas del manuscrito. Este trabajo es bastante fácil al poder activar un símbolo que identifica las líneas con números. Acudimos a la barra de menús, damos clic en el ojo

Barra de menús

Y elegimos Show lines reading order (el orden de lectura, además, es importante para el momento de la transcripción).

Menú de visibilidad de elementos

Algunas veces encontraremos líneas adicionales por defectos materiales del manuscrito o cuando notas en los márgenes se cuelan hacia la caja de escritura, incluso tras haber limitado el tamaño de la región de texto. Otras veces alguna característica del texto, como una enmienda interlineal o una laguna, hará creer a la máquina que la línea ha terminado y que debe comenzar una nueva, como ocurre en la siguiente imagen.

fol. 15v de C

Para terminar, quiero hablar de lo que dejé en el tintero: este proceso inicial nunca es tan fácil como lo he explicado (al menos no las primeras dos o tres veces que se realiza, pero con la práctica se hace más fácil). El manuscrito con el que trabajé aquí, que fue el tercero que pasé por Transkribus, es un manuscrito excepcionalmente limpio, con una letra clara, de trazo horizontal y muy fácil de distinguir. Lo mismo no se puede decir de otros manuscritos, como el testimonio C, por ejemplo, lleno de enmiendas interlineales y en los márgenes.

fols. 76v-77r de C

La preparación necesaria para que un manuscrito pueda ser transcrito automáticamente es un proceso que varía de acuerdo con la condición de la mise en page. Realizar un análisis de entorno y reconocimiento de líneas perfecto en D me tomó cuatro o cinco horas. Lo mismo en C me llevó tres días.

Aunque esto suene excesivo, Transkribus sigue siendo una de las mejores herramientas para transcribir textos. El tiempo total de preparación, entrenamiento y transcripción automática es una fracción del que tomar una transcripción y corrección manual, old school. Durante la primavera de 2022 transcribí manualmente el BNE ms. 10814, la primera parte de la refundición castellana de la Crónica de 1344, un manuscrito en folio de 151 folios (recto y verso, es decir, 302 páginas) a dos columnas, con un total de 187.247 palabras o 852.278 caracteres. Este proceso, que se alargó durante tres meses (porque las manos se cansan después de tres horas de copiar), terminó empleando 120 horas, incluyendo la transcripción y la revisión.

En otoño de 2022 continué con la segunda parte del testimonio, el BNE ms. 10815, un manuscrito de 223 folios, con las mismas características que el anterior, que terminó ocupando 273.225 palabras o 1.356.896 caracteres.  Esta vez la transcripción fue hecha por Transkribus, gracias a un modelo desarrollado con la transcripción del manuscrito anterior. Preparar el documento, entrenar un modelo de transcripción automatizada y la revisión posterior a la transcripción tomaron en total 60 horas. La transcripción automatizada de los 223 folios (446 páginas) tomó 71 minutos.

Dejo esto aquí, que ya es largo. En la siguiente entrada, más filosófica, explicaré por qué es necesaria una transcripción inicial, el paso final antes de entrenar un modelo en Transkribus.


Imagen de miniatura: fol. 87r de D



Citar este post
Cossío Olavide, Mario (2022, 30 noviembre). Usando Transkribus con manuscritos medievales (1): primeros pasos. Lucidarios. Recuperado 22 de mayo de 2024, de https://doi.org/10.58079/r3c5

También te podría gustar...

Buscar en OpenEdition Search

Se le redirigirá a OpenEdition Search