Goobi workflow Plugins
DokumentationenGoobi workflow HandbuchGoobi workflow Digests
Deutsch
Deutsch
  • Übersicht
  • Administration
    • Archiv-Management
      • Bedienung des Plugins
      • Konfiguration des Plugins
    • Konfigurationseditor
    • Copy Master-Anchor
    • Data Poller
    • Goobi-to-Goobi
      • Installation und Konfiguration
      • Erzeugung der Export-Verzeichnisse
      • Transfer der Export-Verzeichnisse
      • Einspielen der Export-Verzeichnisse
    • Paginierung zurücksetzen
    • Wiederherstellung von archivierten Bildordnern
    • Kompatibilität mit Regelsatz
    • Regelsatzeditor
  • Dashboards
    • Barcode Scanner Dashboard
    • Erweitertes Dashboard
  • Exporte
    • Individueller Export für das DMS Imagen Media Archive Management
    • Einzelseitenexport
    • Konfigurierbarer Export
    • Fedora Export
    • Fedora Export PROV
    • Heris Export
    • Export für Zeitungen in das Portal der Deutschen Digitalen Bibliothek
    • PDF-Export in Verzeichnisstruktur der NLI
    • Export ausgewählter Bilder
    • Stanford Export
    • VLM Export
    • HAAB Export
    • ZOP Export
  • Generisch
    • Barcode Scanner
  • Importe
    • Altdatenimport für das Bundesdenkmalamt Österreich
    • Archiv-Daten-Import
    • Datenimport ohne Katalogabfrage für die ETH Zürich
    • Import von Datensätzen aus einer Excel-Datei
    • Import von Zettelkatalogen aus KatZoom
    • MAB-Dateien einlesen
    • Import von Sisis SunRise Dateien
    • Import für Zeitschriftenartikel aus einem Endnote Export
    • Datenimport mit ALMA-Katalogabfrage für die Zentralbibliothek Zürich
    • Datenimport mit CMI-Katalogabfrage für die Zentralbibliothek Zürich
    • Datenimport ohne Katalogabfrage für die Zentralbibliothek Zürich
  • Metadaten
    • Publikationstyp ändern
    • Metadatenerweiterung zur Erstellung von Strukturelementen pro Bild
  • OPAC
    • Ariadne Import
    • EAD Datenübernahme
    • Generischer XML Import
    • Generischer JSON Import
    • Kalliope Import
    • MARC Import
    • PICA Import
    • Soutron Import
  • Wiederholte Jobs
    • Datenimport für Wohnbauförderungsfond Österreich
    • HERIS Vokabular Aktualisierung
  • Statistiken
    • Sudan Memory Übersetzungen
    • Visualisierung des Durchsatzes pro Nutzer
  • Arbeitsschritte
    • ALMA API Plugin
    • Automatische Paginierung auf Basis der Dateinamen
    • Archivierung von Bildordnern
    • Erzeugen von Archival Resource Keys (ARK)
    • Libsafe Integration
    • Batch zuweisen
    • Batch Progress Plugin
    • Katalogabfrage
    • Ändern des Workflows auf Grundlage von Vorgangseigenschaften
    • Generierung von PDF-Dateien
    • Plugin zur Registrierung von DOIs via DataCite API
    • Workflow pausieren
    • Bedingte Verzögerung des Workflow Status
    • Inhalte löschen
    • Anzeige von Metadaten in einer Aufgabe
    • Plugin zur DOI-Registrierung
    • Download und Verifizieren von Dateien
    • Duplikation von Arbeitsschritten
    • ePIC PID Registrierung (Handle & DOI)
    • EWIG Langzeitarchivierung
    • Metadatenanreicherung via Excel-Datei
    • Package Export
    • Kopieren von Dateien aus Metadatenfeldern
    • Upload von Dateien
    • Validierung von Dateien
    • Flex Editor
    • Generate ALTO IDs
    • Identifier generieren
    • Automatische Geonames Annotierung
    • GeoNames Korrektur
    • Automatische Handlevergabe
    • Heris Datenimport
    • Extraktion von Bildmetadaten
    • Bildskalierung und Wasserzeichen rendern
    • Auswahl von Bildern
    • Qualitätskontrolle von Bildern
    • Metatatenübernahme aus einem Verzeichnis
    • Bereinigung von Metadaten
    • Layout Wizzard
      • Verwendung des Plugins
        • Vorschauansicht
          • Bildbereich
          • Anzeige- und Navigationsoptionen
        • Einzelseitenansicht
          • Ordner- und Dateioptionen
          • Aktuelles Bild
          • Allgemeine Einstellungen
          • Dateiliste
          • Speicheransicht
          • Arbeitsschritte
          • Ausgewählter Analyseschritt
          • Globale Zuschneideoptionen
      • Technische Details
        • Installation
        • Konfiguration des LayoutWizzards
        • Konfiguration der Nutzeroberfläche
        • Workflow
    • Metadaten bearbeiten
    • Metadaten pro Bild erfassen
    • Automatische Anreicherung von Metadaten aus eigenen Vokabularen
    • Strukturdatenimport aus einer Exceldatei
    • Metadatenfelder aktualisieren
    • Automatische METS-Anreicherung mit Bilddateien und Paginierung
    • METS-Datei anreichern
    • Datenmigration aus Visual Library
    • MIX Metadata Enrichment Plugin
    • OCR-Durchführung mit gemischten Schrifttypen
    • OCR Seitenauswahl
    • OCR-Ergebnis in Metadatenfeld übernehmen
    • Object Identifier Generierung
    • Korrektur von Inhaltverzeichnissen nach einer OLR
    • Datenimport für Book Interchange Dateien
    • PDFs aufsplitten, Volltext extrahieren und Inhaltsverzeichnis auslesen
    • Elektronische Publikationen
    • Generierung von Platzhalterbildern
    • Migration von Vorgangsverzeichnissen
    • Umbenennung von Dateien
    • Umbenennung von Dateien vor dem Rosetta-Ingest
    • Umbenennen von Vorgängen
    • Bilder sortieren
    • Ersetzen von Bildern
    • Automatisches Setzen des Repräsentanten
    • Bildreihenfolge umkehren
    • Generierung von Laufzetteln
    • Versenden von E-Mails
    • Import von ECHO-Dateien als TEI
    • Tif-Validierung
    • Transkription von Bildinhalten
    • OCR mittels Transkribus
    • Einspielen und Download aus Transkribus Collections
    • Erzeugung von Uniform Resource Names (URN)
    • Benutzerzuweisung
    • Vokabularanreicherung
    • Schreiben von XMP Metadaten in Bilddateien
    • Metadaten-Validierung innerhalb einer Aufgabe
    • Rechnungen und Lieferscheine für Nutzerbestellungen
  • Workflow
    • AEON Datenübernahme
    • Barcode Generator
    • Arbeitsschritte schließen
    • Entitäten Editor - Artist Dictionary
    • Generisches Import Plugin für Excel-Dateien inklusive Validierung
    • Vorgangserstellung durch Dateiupload
    • Massenimport aus Excel-Dateien mit EAD-Anreicherung
    • Generisches Import-Plugin für JSON-Dateien
    • LayoutWizzard workflow plugin
    • Vorgangsbeziehungen anlegen
    • Massenupload
    • Import von Zeitungsausgaben als Einzelseiten
    • Projektexport als Ordner mit Bildern und Excel-Datei
    • Massenimport für Markenstudien und Werbemittel
    • Datenübernahme aus AIM25
Powered by GitBook
On this page
  • Übersicht
  • Einführung
  • Installation
  • Überblick und Funktionsweise
  • Einfacher Einblick in den Fortschritt
  • Einblick in die genauen Details des Fortschritts
  • Intervention im Fehlerfall
  • Auflistung der Bilder in bestimmtem Status
  • Bild noch einmal komplett neu verarbeiten
  • Ergebnis noch einmal herunterladen
  • Konfiguration
  • Allgemeine Parameter
  • Weitere Parameter
  • Konfiguration der Zeitsteuerung
Export as PDF
  1. Arbeitsschritte

OCR mittels Transkribus

Step Plugin für Goobi workflow zur Erzeugung von OCR mittels Transkribus

PreviousTranskription von BildinhaltenNextEinspielen und Download aus Transkribus Collections

Last updated 2 months ago

Übersicht

Name
Wert

Identifier

intranda_step_transkribus

Repository

Lizenz

Proprietary commercial

Letzte Änderung

25.01.2025 09:01:36

Einführung

Die vorliegende Dokumentation beschreibt die Installation, Konfiguration und den Einsatz des Step-Plugins für die OCR-Durchführung mittels Transkribus.

Installation

Um das Plugin nutzen zu können, müssen folgende Dateien installiert werden:

/opt/digiverso/goobi/plugins/step/plugin-step-transkribus-base.jar
/opt/digiverso/goobi/config/plugin_intranda_step_transkribus.xml

Nach der Installation des Plugins kann dieses innerhalb des Workflows für den jeweiligen Arbeitsschritt ausgewählt und damit automatisch ausgeführt werden. Ein Workflow könnte dabei beispielhaft wie folgt aussehen:

Dabei muss der Arbeitsschritt so konfiguriert werden, dass das Plugin ausgewählt wird und die Checkbox für die Zeitverzögerung gesetzt sein.

Überblick und Funktionsweise

Das Plugin ist so konzipiert, dass es beim Start zunächst alle Bilder eines Vorgangs zu Transkribus hochlädt und den Arbeitsschritt anschließend in Bearbeitung läßt. Im Dateisystem innerhalb des Unterverzeichnisses ocr des Vorgangs wird dabei eine Datei processing.json erzeugt, die einen genauen Status der jeweiligen Seiten abbildet. Diese sieht beispielhaft so aus:

{
  "uuid" : "468ec642-10ab-4748-952d-07fa1d89dff5",
  "model" : "36202",
  "pages" : [ {
    "image" : "/opt/digiverso/goobi/metadata/2298/images/buch3_03_media/00000010.jpg",
    "alto" : "/opt/digiverso/goobi/metadata/2298/ocr/buch3_03_alto/00000010.xml",
    "transkribusId" : "13121160",
    "failCounter" : 0,
    "downloadCounter" : 4,
    "numberInQueue" : 0,
    "status" : "FINISHED"
  }, {
    "image" : "/opt/digiverso/goobi/metadata/2298/images/buch3_03_media/00000011.jpg",
    "alto" : "/opt/digiverso/goobi/metadata/2298/ocr/buch3_03_alto/00000011.xml",
    "transkribusId" : "13121161",
    "failCounter" : 0,
    "downloadCounter" : 4,
    "numberInQueue" : 0,
    "status" : "FINISHED"
  }, {
    "image" : "/opt/digiverso/goobi/metadata/2298/images/buch3_03_media/00000012.jpg",
    "alto" : "/opt/digiverso/goobi/metadata/2298/ocr/buch3_03_alto/00000012.xml",
    "transkribusId" : "13121162",
    "failCounter" : 0,
    "downloadCounter" : 4,
    "numberInQueue" : 0,
    "status" : "FINISHED"
  } ],
  "lastCheck" : "2024-11-27T19:21:04",
  "created" : "2024-11-27T19:17:55"
}

Periodisch ruft Goobi im Hintergrund alle Delay-Plugins auf, so auch dieses. Bei jedem automatischen Aufruf und auch jedem manuellen Aufruf über die administrative Oberfläche für die regelmäßigen Aufgaben, versucht das Plugin die noch nicht abgeschlossenen Seiten herunterzuladen.

Im Fall, dass alle Seiten heruntergeladen werden konnten, wird der Arbeitsschritt geschlossen und der Workflow fortgesetzt. Im Fehlerfall hingegen, ändert der Schritt seinen Status zu einem Fehler weist entsprechende Fehlermeldungen im Journal auf.

Einfacher Einblick in den Fortschritt

Während der Transkribus-Verarbeitung aktualisiert das Plugin den genauen Fortschritt innerhalb der Datei processing.json. Zusätzlich wird jedoch außerdem der Fortschritt der Verarbeitung als Vorgangseigenschaft mit dem Namen Transkribus Processing gespeichert. Diese Eigenschaft sich sich innerhalb der tabellarischen Vorgangsliste einblenden, indem Nutzer diese als zusätzliche Spalte für die Anzeige konfigurieren.

In der so angezeigten Darstellung läßt sich anschließend gut überblicken, wie der genaue Status der Verarbeitung ist. Befinden sich mehrere Vorgänge in der Verarbeitung, wird dabei nicht nur die Anzahl der noch zu verarbeitenden Bilder angezeigt sondern ebenso die Anzahl der Transkribus-Jobs, die vor der Verabeitung des Vorgangs erst noch verarbeitet werden und auf deren Abschluß gewartet werden muss.

Einblick in die genauen Details des Fortschritts

Für den Fall, dass der genaue Fortschritt gegutachtet werden soll, kann dieser im Unterordner ocr des Vorgangs eingesehen werden. Dort befindet sich ein Verzeichnis mit den erzeugten ALTO-Dateien sowie die oben bereits erwähnte Datei processing.json.

Ein einfaches Script, dass den Pfad zu dem jeweiligen Verzeichnis des gewünschten Vorgangs öffnet, sieht so so aus und könnte unter /usr/local/sbin/ocr-folder.sh abgelegt werden:

#!/bin/sh
cd /opt/digiverso/goobi/metadata/$1/ocr/
$SHELL

Intervention im Fehlerfall

Sollte der Fall eintreten, dass eine Seite nicht richtig hochgeladen, verarbeitet oder heruntergeladen wird, empfiehlt es sich, abhängig vom Fehlerfall folgendermaßen vorzugehen:

Auflistung der Bilder in bestimmtem Status

Zuminst einmal sollte herausgefunden werden, welche Bilder sich gerade in einem ungewünschten Status befinden. Mit dem folgenden Aufruf läßt sich beispielsweise ermitteln, welche Bilder eines Vorgangs nicht bereits abgeschlossen sind:

jq '.pages[] | select(.status != "FINISHED") | {image, status}' processing.json

Bild noch einmal komplett neu verarbeiten

Wenn einzelne Bilder in der Verarbeitung gescheitert sind, können sie noch einmal komplett neu verarbeitet werden, ohne dass die anderen Bilder aus dem gleichen Verzeichnis davon betroffen sind. Dazu geht man am besten so vor:

  • Öffnen der entsprechenden processing.json-Datei aus dem ocr-Verzeichnis des Vorgangs

  • Setzen des Wertes in status auf RETRY für das entsprechende Bild

  • Den Arbeitsschritt im Workflow wieder auf In Bearbeitung setzen

  • Manuell aus der administrative Oberfläche für die regelmäßigen Aufgaben den Delay-Job neu starten

Sind mehrere Bilder beispielsweise fälschlicherweise im Status NEW, läßt sich dies für einen Vorgang wie folgt einfach ändern:

cd /opt/digiverso/goobi/metadata/123456/ocr/
sed -i "s/NEW/RETRY/g" processing.json

Ergebnis noch einmal herunterladen

Sollte es zu einem Problem mit dem Herunterladen der Ergebnisse gekommemn sind, weil beispielsweise die Internetanbindung verlorgen gegangen ist und die Anzahl der Download-Versuche das konfigurierte Maximum überschritten wurde, kann man die ausgewählten Bilder neu vom Transkribus-Server herunterladen lassen:

  • Öffnen der entsprechenden processing.json-Datei aus dem ocr-Verzeichnis des Vorgangs

  • Setzen des Wertes in status auf RUNNING für das entsprechende Bild

  • Den Arbeitsschritt im Workflow wieder auf In Bearbeitung setzen

  • Manuell aus der administrative Oberfläche für die regelmäßigen Aufgaben den Delay-Job neu starten

Sind viele Bilder davon betroffen, dass sie fälschlicherweise im Status CANCELED sind, läßt sich dies für einen Vorgang wie folgt einfach ändern:

cd /opt/digiverso/goobi/metadata/123456/ocr/
sed -i "s/CANCELED/RUNNING/g" processing.json

Konfiguration

Die Konfiguration des Plugins erfolgt in der Datei plugin_intranda_step_transkribus.xml wie hier aufgezeigt:

<config_plugin>
    <!--
        order of configuration is:
          1.) project name and step name matches
          2.) step name matches and project is *
          3.) project name matches and step name is *
          4.) project name and step name are *
	-->
    
    <config>
        <!-- which projects to use for (can be more then one, otherwise use *) -->
        <project>*</project>
        <step>*</step>
        
       	<!-- URL for the licence server application api -->
		<url>https://lic.intranda.com/api</url>
	
		<!-- Login and Password for the licence server -->
		<login>customer</login>
		<password>user</password>
    
    	<!-- name of the property to read the model ID from -->
    	<model>Transkribus Model</model>

		<!-- defaul model ID to use in case of missing process property -->
    	<model-default>36202</model-default>
    	
		<!-- how often should a file be re-uploaded to Transkribus in the event of an error?  -->
    	<max-failed>10</max-failed>

    	<!-- how many times should an attempt be made to download a result file before it is deemed to have failed? -->
    	<max-download>100</max-download>
    
    </config>

</config_plugin>

Allgemeine Parameter

Der Block <config> kann für verschiedene Projekte oder Arbeitsschritte wiederholt vorkommen, um innerhalb verschiedener Workflows unterschiedliche Aktionen durchführen zu können. Die weiteren Parameter innerhalb dieser Konfigurationsdatei haben folgende Bedeutungen:

Parameter
Erläuterung

project

Dieser Parameter legt fest, für welches Projekt der aktuelle Block <config> gelten soll. Verwendet wird hierbei der Name des Projektes. Dieser Parameter kann mehrfach pro <config> Block vorkommen.

step

Dieser Parameter steuert, für welche Arbeitsschritte der Block <config> gelten soll. Verwendet wird hier der Name des Arbeitsschritts. Dieser Parameter kann mehrfach pro <config> Block vorkommen.

Weitere Parameter

Neben diesen allgemeinen Parametern stehen die folgenden Parameter für die weitergehende Konfiguration zur Verfügung:

Parameter
Erläuterung

url

URL für den Lizenzserver von intranda

login

Login für den Lizenzserver von intranda

password

Passwort für den Lizenzserver von intranda

model

Zu verwendende Vorgangseigenschaft, in der die Transkribus-Model-ID hinterlegt ist. Üblicherweise heisst diese Eigenschaft Transkribus Model

model-default

Zu verwendende Transkribus-Model-ID im Fall, dass im Vorgang keine Eigenschaft mit einem Wert vorhanden ist. Beispiel: 36202

max-failed

Anzahl der maximalen neuen Versuche, falls eine OCR für eine Seite nicht durchgeführt werden kann. Der Arbeitsschritt verbleibt beim Überschreiten der Versuche im Fehlerstatus.

max-download

Anzahl der maximalen Versuche, das Ergebnis der OCR von Transkribus herunterzuladen. Der Arbeitsschritt verbleibt beim Überschreiten der Versuche im Fehlerstatus.

Konfiguration der Zeitsteuerung

Da das Plugin als Delay-Plugin entworfen wurde, wird es durch den Scheduler von Goobi periodisch aufgerufen, um neue abgeschlossenen Seiten aus Transkribus abzufragen. Für diese periodische Abfrage greift dabei die Zeitsteuerung des dailyDelayJob. Diese kann mit der folgenden Syntax allerdings in der Konfigurationsdatei goobi_config.properties auch anders konfiguriert werden:

# Ausführung täglich um Mitternacht 
dailyDelayJob=0 0 0 * * ? 

# Ausführung alle 15 Minuten
dailyDelayJob=0 */15 * * * ?

# Ausführung jede Stunde
dailyDelayJob=0 0 */1 * * ? 

https://github.com/intranda/goobi-plugin-step-transkribus
Beispielhafter Aufbau eines Workflows
Konfiguration des Plugins innerhalb eines Arbeitsschritts
Manueller Aufruf des Plugins als Delay Job aus den regelmäßigen Aufgaben
Konfiguration der Spaltenanzeige in den Einstellungen des Nutzers
Einfache Anzeige des Fortschritts in der Vorgangsliste