Cahier de laboratoire : Analyse de manuscrits
Modèle:
GPT-4o
Édit de Nantes. Page 24 – Archives Nationales – AE-II-763
Prompt: You are a Image analysis engineer that only speaks in JSON. Do not generate output that isn’t in properly formatted JSON.
Results of each image analysis should be in the format: {“Text”: “Does this image contains a text ?. use format: True/False”, “NumberOfPages”:”How many pages contains this image?. use format integer”, “B/W”: “Does this images is black and white ?. use format: True/False”, “Colors”:”What colours are in this image?”, “Illuminated”:”Does this image is an illuminated manuscript?. use format: True/False”,”Handwriting”: “What is the handwriting style ?”,”NumberOfLines”:”How many lines contains this image ?. use format integer”,”NumberOfColumns”:”How many zones in this image ? . use format integer”}
Réponse:
{
"Text": "True",
"NumberOfPages": 1,
"B/W": "True",
"Colors": [],
"Illuminated": "False",
"Handwriting": "Unknown",
"NumberOfLines": 30,
"NumberOfColumns": 1
}
Interrogatoire des Templiers de la sénéchaussée de Carcassonne, AE/II/311
Prompt: You are a Image analysis engineer that only speaks in JSON. Do not generate output that isn’t in properly formatted JSON.
Results of each image analysis should be in the format: {“Text”: “Does this image contains a text ?. use format: True/False”, “NumberOfPages”:”How many pages contains this image?. use format integer”, “B/W”: “Does this images is black and white ?. use format: True/False”, “Colors”:”What colours are in this image?”, “Illuminated”:”Does this image is an illuminated manuscript?. use format: True/False”,”Handwriting”: “What is the handwriting style ?”,”NumberOfLines”:”How many lines contains this image ?. use format integer”,”NumberOfColumns”:”How many zones in this image ? . use format integer”}
Réponse:
{
"Text": true,
"NumberOfPages": 1,
"B/W": true,
"Colors": ["brown", "beige"],
"Illuminated": false,
"Handwriting": "Gothic cursive",
"NumberOfLines": 30,
"NumberOfColumns": 1
}
Bibliothèque nationale de France. Département des Manuscrits. Latin 6823 f.003r
Prompt: You are a Image analysis engineer that only speaks in JSON. Do not generate output that isn’t in properly formatted JSON.
Results of each image analysis should be in the format: {“Text”: “Does this image contains a text ?. use format: True/False”, “NumberOfPages”:”How many pages contains this image?. use format integer”, “B/W”: “Does this images is black and white ?. use format: True/False”, “Colors”:”What colours are in this image?”, “Illuminated”:”Does this image is an illuminated manuscript?. use format: True/False”,”Handwriting”: “What is the handwriting style ?”,”NumberOfLines”:”How many lines contains this image ?. use format integer”,”NumberOfColumns”:”How many zones in this image ? . use format integer”}
Réponse:
{
"Text": "True",
"NumberOfPages": 1,
"B/W": "False",
"Colors": ["blue", "red", "gold", "pink", "black"],
"Illuminated": "True",
"Handwriting": "Gothic",
"NumberOfLines": 40,
"NumberOfColumns": 2
}
Bibliothèque nationale de France. Département des Manuscrits. Latin 4677, f.0001r
Prompt: You are a Image analysis engineer that only speaks in JSON. Do not generate output that isn’t in properly formatted JSON.
Results of each image analysis should be in the format: {“Text”: “Does this image contains a text ?. use format: True/False”, “NumberOfPages”:”How many pages contains this image?. use format integer”, “B/W”: “Does this images is black and white ?. use format: True/False”, “Colors”:”What colours are in this image?”, “Illuminated”:”Does this image is an illuminated manuscript?. use format: True/False”,”Handwriting”: “What is the handwriting style ?”,”NumberOfLines”:”How many lines contains this image ?. use format integer”,”NumberOfColumns”:”How many zones in this image ? . use format integer”}
Réponse:
{
"Text": "True",
"NumberOfPages": 1,
"B/W": "True",
"Colors": ["black", "white"],
"Illuminated": "True",
"Handwriting": "Gothic",
"NumberOfLines": 61,
"NumberOfColumns": 2
}
Bibliothèque nationale de France. Département des Manuscrits. Latin 9604, f.0001r
Prompt: You are a Image analysis engineer that only speaks in JSON. Do not generate output that isn’t in properly formatted JSON.
Results of each image analysis should be in the format: {“Text”: “Does this image contains a text ?. use format: True/False”, “NumberOfPages”:”How many pages contains this image?. use format integer”, “B/W”: “Does this images is black and white ?. use format: True/False”, “Colors”:”What colours are in this image?”, “Illuminated”:”Does this image is an illuminated manuscript?. use format: True/False”,”Handwriting”: “What is the handwriting style ?”,”NumberOfLines”:”How many lines contains this image ?. use format integer”,”NumberOfColumns”:”How many zones in this image ? . use format integer”}
Réponse:
{
"Text": true,
"NumberOfPages": 1,
"B/W": false,
"Colors": ["Red", "White", "Black"],
"Illuminated": false,
"Handwriting": "Carolingian Minuscule",
"NumberOfLines": 38,
"NumberOfColumns": 2
}
Bibliothèque nationale de France. Département des Manuscrits. Latin 6823 f.171r
Prompt: You are a Image analysis engineer that only speaks in JSON. Do not generate output that isn’t in properly formatted JSON.
Results of each image analysis should be in the format: {“Text”: “Does this image contains a text ?. use format: True/False”, “NumberOfPages”:”How many pages contains this image?. use format integer”, “B/W”: “Does this images is black and white ?. use format: True/False”, “Colors”:”What colours are in this image?”, “Illuminated”:”Does this image is an illuminated manuscript?. use format: True/False”,”Handwriting”: “What is the handwriting style ?”,”NumberOfLines”:”How many lines contains this image ?. use format integer”,”NumberOfColumns”:”How many zones in this image ? . use format integer”}
Résultat:
{
"Text": true,
"NumberOfPages": 1,
"B/W": false,
"Colors": ["Green", "White", "Red", "Black"],
"Illuminated": true,
"Handwriting": "Gothic Minuscule",
"NumberOfLines": 1,
"NumberOfColumns": 1
}
Conclusion :
Une des questions sous-jacentes à cette expérimentation était de voir si un LLM peut aider à analyser automatiquement des manuscrits numérisés, dans une perspective codicologique. Les questions que l’on a posées ne visent donc pas à identifier ou à retranscrire un texte, mais plutôt à fournir des informations élémentaires sur la forme et la mise en page d’un codex.
GPT-4o a plutôt bien repéré le nombre de colonnes de texte, la présence d’enluminures ou d’ornements, la couleur des encres utilisées pour le texte et la décoration, et même le type d’écriture utilisé, même si il s’appuie sur une typologie assez grossière. De manière plus surprenante —mais il faut peut-être reformuler la question du prompt— le mode de l’image, en couleurs ou en noir et blanc, est souvent incorrect. Le nombre de lignes est systématiquement erroné, parfois avec des écarts importants (la page du manuscrit Paris, BnF, Latin 9604 compte 30 lignes et non 38).
Ceci semble confirmer que GPT-4o fait une analyse assez impressioniste des images qu’on lui soumet. Il parait capable de correctement identifier des caractéristiques assez générales (présence d’enluminures, disposition du texte), mais pas de décrire avec justesse des éléments plus précis et imprévisibles, tel que le nombre de ligne.
On peut faire l’hypothèse que l’entrainement de l’algorithme sur les images de manuscrits disponibles sur le web lui a fourni une typologie assez générale de la production manuscrite qui guide ses réponses : manuscrits enluminés ou non, avec une écriture gothique ou carolingienne, sur une ou deux colonnes, etc.
Pour vérifier cela, on pourra poursuivre cette expérience en testant GPT-4o sur des images de feuillets plus atypiques. Il faudrait aussi l’inciter à travers le prompt à utiliser des réponses “autre” ou “NA” pour éviter les réponses aberrantes ou hors de propos, telles que celles concernant le nombre de lignes ou de colonne dans l’illustration du manuscrit Paris, BnF, Latin 6823.
Pierre Brochard et Octave Julien
OpenEdition vous propose de citer ce billet de la manière suivante :
_ (21 juin 2024). Cahier de laboratoire : Analyse de manuscrits. Les carnets du LaMOP. Consulté le 17 septembre 2024 à l’adresse https://doi.org/10.58079/11vbe