Digital resources in the Social Sciences and Humanities OpenEdition Our platforms OpenEdition Books OpenEdition Journals Hypotheses Calenda Libraries OpenEdition Freemium Follow us

Usando Transkribus con manuscritos medievales (9): problemas en el paraíso digital

Ha pasado casi un año desde mi última entrada sobre Transkribus y varias cosas han cambiado. Poco después de la última entrada, en marzo de 2023, la mejor y más eficiente máquina de HTR de Transkribus, CITLab+ (de la que hablo en estas entradas), fue retirada por una disputa de propiedad intelectual sobre el código de la máquina. Con esto queda solo una máquina para entrenar modelos de transcripción de textos, PyLaia, toolkit de acceso abierto de deep learning para análisis de textos manuscritos desarrollado por Joan Puigcerver y Carlos Mocholí, empleado por Transkribus.

La relativamente baja popularidad de PyLaia se debe a que sus modelos de HTR contienen muchos errores y requieren un texto base más extenso que los relativamente cortos de CITLab+.

Modelos CITLab+ y PyLaia, ordenados por longitud de texto base

Esta es una lista de algunos modelos que he entrenado a lo largo de estos dos años ordenada por la longitud del texto base (en palabras). Rápidamente queda claro que los modelos con más palabras en CITLab+ tienen índices de error más bajo que los de PyLaia. Visto de otro modo:

Modelos CITLab+, ordenados por longitud de texto base
Modelos PyLaia, ordenados por longitud de texto base

Mientras que un texto de 28.000 palabras en CITLab+ podía tener una tasa de error en el set de validación de 2,04%, un texto con 29.000 palabras en PyLaia obtiene una tasa de error del 6,2%. Esta tendencia se mantiene en los rangos altos y bajos: con 4.500 palabras PyLaia tiene 7% de error, mientras que CITLab+ alcanzaba a reducir esta cifra a 3,68%.

Algo interesante ocurre al revisar los datos de entrenamiento. Las curvas que ilustran el proceso de aprendizaje de los modelos en CITLab+ son relativamente estables y la reducción de errores durante el entrenamiento es muy marcada después de tres o cuatro ciclos de aprendizaje, obteniéndose un modelo funcional después del décimo ciclo, como se ve en las siguientes curvas de dos modelos que entré el 2022:

Curva de aprendizaje en CITLab+, modelo Lucidario G
Curva de aprendizaje en CITLab+, modelo Gothic v. 1.7

Mientras tanto, los modelos entrenados en PyLaia tienen un comportamiento mucho más desordenado, como se ve en los siguientes dos gráficos:

Curva de aprendizaje en PyLaia, modelo Lucidario A v. 0.3
Curva de aprendizaje en PyLaia, modelo Spanish Calila B

Lo primero a notar es que PyLaia demora mucho más en reducir la tasa de error que CITLab+, pues al llegar a las 20 épocas (o ciclos), los CER siguen en valores superiores al 20% (mientras que estaban por debajo del 5% en 5 épocas en CITLab+). Lo segundo que notamos es que las curvas de validación tienen inexplicables ciclos de error. A veces el descenso de los ciclos de entrenamiento es interrumpido por saltos con valores de error que pueden ser el doble o el triple del último registrado, o incluso llegar al 100% de error.

Sospecho que esto se debe a que PyLaia es una máquina más sensible a los errores de transcripción en el texto base de entrenamiento que CITLab+. Mientras que CITLab+ era capaz de adaptarse a estos errores, parece que PyLaia no es tan maleable y cualquier error de transcripción del texto base encontrado por la máquina causa un efecto cascada visible durante el entrenamiento.

Actualmente estoy realizando un ejercicio para confirmar esta hipótesis con estos dos modelos, basados, respectivamente, en el manuscrito 43-13 de la Primera Partida de la Biblioteca Capitular de la Catedral de Toledo y el testimonio B del Lucidario:

Curva de aprendizaje en PyLaia, modelo 7P v. 0.8
Curva de aprendizaje en PyLaia, modelo Lucidario B v. 0.5

Estos modelos, que estoy desarrollando desde hace algunos meses, han demostrado este comportamiento inusual y han tenido muchos ciclos de entrenamiento fallidos donde los CER se disparan sin motivo aparente. El modelo 7P v. 0.8 tiene un CER en set de entrenamiento de 1,71%, pero en la versión 0.9 el CER sube a 1,81%, mientras que el modelo Lucidario B 0.4 tiene un CER en validación de 7,5% y la versión siguiente, que debería ser menor, sube a 7,8%.

Explicaré este ejercicio y sus resultados en la próxima entrada, pero antes de terminar esta entrega quiero aprovechar para apostillar lo dicho hasta aquí: aunque los problemas que he descrito son algo incómodos para el usuario de Transkribus, PyLaia sigue siendo una mucho mejor alternativa (en términos de tiempo) que largo proceso de transcripción manual.


Imagen de miniatura: detalle de curva de aprendizaje
modelo Lucidario B 0.5


OpenEdition le sugiere que cite este post de la siguiente manera:
Cossío Olavide, Mario (17 de enero de 2024). Usando Transkribus con manuscritos medievales (9): problemas en el paraíso digital. Lucidarios. Recuperado 5 de noviembre de 2024 de https://doi.org/10.58079/vm79


También te podría gustar...