Upload
cmahnke
View
407
Download
3
Embed Size (px)
Citation preview
SUB OCR Implementierung
GOOBI – Steuerungsgremium, 23.9.2011, Berlin
Christian Mahnke, SUB Göttingen
Anforderungen Prozesssteuerung
• Synchrone Bearbeitung
– Webservice
– GUI (Metadateneditor)
• Asynchrone Bearbeitung
– Massenverarbeitung (Ganze Bände)
– Benachrichtigungen
– Fortschrittsinformationen
• Gemeinsam
– Prioritäten
Anforderungen Implementierung
• Austauschbarkeit der OCR-Engines
– Kosten und Qualität
– Auslastung und Lastverteilung
– Flexibilität bei existierenden Lizenzen
– Evaluierung
• Prozessmetadaten
– Prozessdokumentation für LZA
– Statistische Auswertungen (z.B. zur Erkennung von Fraktur, aber auch als Methode der automatischen QA)
Gesamtarchitektur
Frontend
API
Backend
GoobiMetadaten
editorCLI
IMPACT Webservice
Prozessmetadaten API
OCR API
AbbyyRecognitio
n ServerAbbyy CLEI Tesseract
API Schichten
• OCR API
– Bilddatei
– Sprache / Schrift
– Ausgabeformat
– Priorität
– Implementierungsspezifische Parameter
• Prozessmetadaten API
– Erkennungsrate (Zeichen- und Wortebene)
– Dauer
– Genutzte Software
– Encoding / Zeilenumbrüche
– Implementierungsspezifische Berichte
Architektur Abbyy Recognition Server
Backend
Storage
Prozessverwaltung
Sardine (WebDAV)
Apache Commons
VFS
Prozesssteuerung
Jackrabbit
TicketBeans
Thread Pool Executor
Hazelcast Executor
Technische Details
• Freie Rekombinierbarkeit von Frontend-
Modulen mit jedem Backend-Modul
• Wiring der Komponenten via Spring
• Kombinationen lassen sich als Maven Profile
abbilden
• Serialisierung der Prozessmetadaten über
textMD (LZA geeignet)
• Hazelcast erlaubt ein Clustering der Instanzen,
z.B. zur Synchronisation von unterschiedlichen
Prioritäten
//TODO
• Konvertierung als Teil der API
– Backend für existierende Dateien
• OCROpus Backend
• WebDAV Frontend (in Teilen bereits für Unit Tests realisiert)
• EoD Backend über FTP (asynchron)
• Webservice Backend (Anbindung IMPACT CoC Tools)
• Persistenz der Warteschlange(n)
– Derzeit nur im Hazelcast Cluster Modus, solange eine Instanz läuft
• GUI?
– Empfehlung: direkte Integration in die Workflowsteuerung
Goobi Integration (geplant Ende 2011)
• Bereitstellung als „Automatischer Schritt“
– Integration über Kommandozeile
• Anpassung der existierenden Workflows und Vorgänge notwendig
– Anpassung über „GoobiScript“?
• Zusätzliche METS „FileGroup“ etc.
– Keine Änderung an UGH Bibliothek notwendig
• Metadateneditor Integration als eigenes Servlet
• Nachteil: Abhängig von der jeweiligen Institution
Goobi Integration (zukünftig)
• „Modul“?
• Schnittstelle dafür noch nicht ganz vorhanden
– Schnittstelle sowohl als Goobi Schritt als
auch im Metadateneditor notwendig