11
SUB OCR Implementierung GOOBI Steuerungsgremium, 23.9.2011, Berlin Christian Mahnke, SUB Göttingen

SUB OCR Implementierung

  • Upload
    cmahnke

  • View
    407

  • Download
    3

Embed Size (px)

Citation preview

Page 1: SUB OCR Implementierung

SUB OCR Implementierung

GOOBI – Steuerungsgremium, 23.9.2011, Berlin

Christian Mahnke, SUB Göttingen

Page 2: SUB OCR Implementierung

Anforderungen Prozesssteuerung

• Synchrone Bearbeitung

– Webservice

– GUI (Metadateneditor)

• Asynchrone Bearbeitung

– Massenverarbeitung (Ganze Bände)

– Benachrichtigungen

– Fortschrittsinformationen

• Gemeinsam

– Prioritäten

Page 3: SUB OCR Implementierung

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)

Page 4: SUB OCR Implementierung

Gesamtarchitektur

Frontend

API

Backend

GoobiMetadaten

editorCLI

IMPACT Webservice

Prozessmetadaten API

OCR API

AbbyyRecognitio

n ServerAbbyy CLEI Tesseract

Page 5: SUB OCR Implementierung

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

Page 6: SUB OCR Implementierung

Architektur Abbyy Recognition Server

Backend

Storage

Prozessverwaltung

Sardine (WebDAV)

Apache Commons

VFS

Prozesssteuerung

Jackrabbit

TicketBeans

Thread Pool Executor

Hazelcast Executor

Page 7: SUB OCR Implementierung

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

Page 8: SUB OCR Implementierung

//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

Page 9: SUB OCR Implementierung

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

Page 10: SUB OCR Implementierung

Goobi Integration (zukünftig)

• „Modul“?

• Schnittstelle dafür noch nicht ganz vorhanden

– Schnittstelle sowohl als Goobi Schritt als

auch im Metadateneditor notwendig

Page 11: SUB OCR Implementierung

Vielen Dank!

Fragen?

[email protected]

11