Skip to content
Stefan Weil edited this page Jul 5, 2022 · 4 revisions

Welcome to the digi-gt wiki!

Die folgenden Hinweise beschreiben den Umgang mit Ergebnissen aus eScriptorium an der Universitätsbibliothek Mannheim.

PAGE-Export aus eScriptorium für Ground Truth

Die in eScriptorium manuell erzeugten bzw. korrigierten Volltexte können von dort im PAGE XML-Format in einer ZIP-Datei exportiert werden. Diese ZIP-Datei holt man z. B. mit wget oder curl und entpackt sie. Die Namenskonvention für die einzelnen Dateien, die eCriptorium verwendet, entspricht nicht unserem gewünschten Namensschema, bei dem PAGE-Dateien den gleichen Basisnamen wie die zugehörigen Bilddateien haben sollen. Deshalb ist eine Umbenennung notwendig:

# Leerzeilen entfernen.
perl -i -ne "tr|\r||d; next if /^\s*$/;print" *.xml
# PPN wählen (Beispiel, anzupassen).
ppn=477366015
# Dateien umbenennen.
for i in $(ls *.xml | sort -n | sed "s/_.*//"); do mv -v ${i}_*xml ${ppn}_$(printf %04u $(expr $i + 1)).xml; done
# Links zu Bilddateien korrigieren.
for f in *.xml; do i=$(echo $f|sed 's/.*_//'|sed s/.xml//); perl -pi -e "s,externalRef=.*jpg.,externalRef=\"https://digi.bib.uni-mannheim.de/fileadmin/digi/${ppn}/default/${ppn}_${i}.jpg\"," $f; done
# Namen der Bilddateien korrigieren.
for f in *.xml; do i=$(echo $f|sed 's/.*_//'|sed s/.xml//); perl -pi -e "s,imageFilename=.*jpg.,imageFilename=\"${ppn}_${i}.jpg\"," $f; done                

ALTO-Export aus eScriptorium und Verwendung für Präsentation

ALTO-Export automatisiert erstellter Transkriptionen

Die in eScriptorium automatisiert erzeugten Volltexte können von dort im ALTO XML-Format in einer ZIP-Datei exportiert werden. Diese ZIP-Datei holt man z. B. mit wget oder curl auf den Digitalisierungsserver und entpackt sie dort. Alt Verzeichnisname wählen wir kraken (für die OCR-Software, mit der die Volltexte erzeugt wurden). Beispiel: https://digi.bib.uni-mannheim.de/fileadmin/digi/477366015/kraken/.

Ein eventuell bereits vorhandenes Verzeichnis alto mit Volltexten von ABBYY Finereader verschieben wir nach abbyy/alto. Beispiel: https://digi.bib.uni-mannheim.de/fileadmin/digi/477366015/abbyy/alto/.

Jetzt kann ein neues Verzeichnis alto angelegt und befüllt werden. Wichtig ist auch, die ALTO-Dateien lesbar zu machen. Außerdem entfernen wir überflüssige Leerzeilen in den ALTO-Dateien:

ppn=477366015
mkdir alto
cd alto
for i in $(ls ../kraken | sort -n | sed s/_.*//); do ln -svf ../kraken/${i}_*xml ${ppn}_$(printf %04u $(expr $i + 1)).xml; done
chmod +r ../kraken/*.xml
perl -i -ne "tr|\r||d; next if /^\s*$/;print" *.xml

Das Ergebnis ist dann mit den neu installierten Volltexten abrufbar, siehe Beispiel.

ALTO-Export manuell und automatisiert erstellter Transkriptionen

Wenn die Seiten eines Werks teilweise manuell transkribiert oder nachkorrigiert sind und für alle Seiten automatisiert erstellte Volltexte vorliegen, bietet es sich an, beides zu exportieren und für die Präsentation das jeweils bestmögliche Ergebnis zu verwenden. Es werden also zwei ZIP-Dateien mit Transkriptionen im ALTO XML-Format exportiert, einmal für "manual" und einmal für das ausgewählte OCR-Modell. Am einfachsten geht das, wenn man in beiden Fällen dabei alle Seiten auswählt. Dabei werden allerdings bei "manual" auch Seiten ohne manuelle Transkription exportiert. Diese müssen daher zuerst entfernt werden:

# PPN wählen (Beispiel, anzupassen).
ppn=477366015

# Erzeuge Verzeichnis für manuelle Transkriptionen.
mkdir gt
cd gt
# Fülle Verzeichnis mit den exportierten Daten (URL ist anzupassen).
wget URL
unzip *.zip
rm *.zip
# Entferne ALTO-XML-Dateien, die keine oder nur leere Texte enthalten.
rm -v $(grep -L 'CONTENT="..*"' *xml)
# Dateinamen anpassen.
for i in $(ls *_default.xml | sort -n | sed s/_.*//); do mv -v ${i}_*xml ${ppn}_$(printf %04u $(expr $i + 1)).xml; done
# Entferne Leerzeilen in den ALTO-XML-Dateien.
perl -i -ne "tr|\r||d; next if /^\s*$/;print" *.xml
# TODO: Korrigiere fileIdentifier in den ALTO-XML-Dateien.
chmod +r *.xml
cd ..

# Erzeuge Verzeichnis für Transkriptionen aus OCR.
mkdir kraken
cd kraken
# Fülle Verzeichnis mit den exportierten Daten (URL ist anzupassen).
wget URL
unzip *.zip
rm *.zip
# Dateinamen anpassen.
for i in $(ls *_default.xml | sort -n | sed s/_.*//); do mv -v ${i}_*xml ${ppn}_$(printf %04u $(expr $i + 1)).xml; done
# Entferne Leerzeilen in den ALTO-XML-Dateien.
perl -i -ne "tr|\r||d; next if /^\s*$/;print" *.xml
# TODO: Korrigiere fileIdentifier in den ALTO-XML-Dateien.
chmod +r *.xml
cd ..

# Führe GT und OCR-Ergebnisse für die Präsentation zusammen.
cd alto
ln -sv ../kraken/*.xml .
ln -svf ../gt/*.xml .