Einführung in Apache UIMA

Transcrição

Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Einführung in Apache UIMA
Dr. Christian Herta
June 22, 2009
1 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Outline
1 Einführung und Übersicht
2 Wichtige UIMA Module
3 Multimodale Analyse
4 Entwicklung von Collection Processing Components
5 Weitere Möglichkeiten von UIMA
6 Beispiel Implementierungen
2 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Formen von Information
Recap Unterscheidung: Daten, Information, Wissen
3 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Formen von Information
Recap Unterscheidung: Daten, Information, Wissen
Strukturierte Information: Datenbanken, Ontologien,
XML-annotierter Text
3 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Formen von Information
Recap Unterscheidung: Daten, Information, Wissen
Strukturierte Information: Datenbanken, Ontologien,
XML-annotierter Text
Semi-strukturierte Information: Text mit Darstellungsmarkups
(Web-Seiten), Dokumente in XML-Formate (z.B. Trennung:
Überschrift, Zusammenfassung, Schlagworte, Haupttext)
3 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Formen von Information
Recap Unterscheidung: Daten, Information, Wissen
Strukturierte Information: Datenbanken, Ontologien,
XML-annotierter Text
Semi-strukturierte Information: Text mit Darstellungsmarkups
(Web-Seiten), Dokumente in XML-Formate (z.B. Trennung:
Überschrift, Zusammenfassung, Schlagworte, Haupttext)
Unstrukturierte Information: Text, Audio, Video
3 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Unstructured Information Management
Mehrheit der Daten liegt in unstrukturierter Form, wie
Text-Dokumenten, vor (vgl. Einführungsvorlesung)
4 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Unstructured Information Management
Mehrheit der Daten liegt in unstrukturierter Form, wie
Text-Dokumenten, vor (vgl. Einführungsvorlesung)
Automatische Anreicherung mit Meta-Daten kann
Anwendungen (zur Nutzung der Daten) erheblich verbessern,
z.B. für Informationsstyteme, Wissensmanagement und Suche
4 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Unstructured Information Management
Mehrheit der Daten liegt in unstrukturierter Form, wie
Text-Dokumenten, vor (vgl. Einführungsvorlesung)
Automatische Anreicherung mit Meta-Daten kann
Anwendungen (zur Nutzung der Daten) erheblich verbessern,
z.B. für Informationsstyteme, Wissensmanagement und Suche
Dies wird als Unstructured Information Management (UIM)
bezeichnet.
4 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Unstructured Information Management
Mehrheit der Daten liegt in unstrukturierter Form, wie
Text-Dokumenten, vor (vgl. Einführungsvorlesung)
Automatische Anreicherung mit Meta-Daten kann
Anwendungen (zur Nutzung der Daten) erheblich verbessern,
z.B. für Informationsstyteme, Wissensmanagement und Suche
Dies wird als Unstructured Information Management (UIM)
bezeichnet.
Dabei werden meist strukturierte Daten aus unstrukturierten
Daten gewonnen.
4 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Technologien die Unstructured Information Management
unterstützen
Statistical and rule-based Natural Language Processing
5 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Technologien die Unstructured Information Management
unterstützen
Statistical and rule-based Natural Language Processing
Information Retrieval
5 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Technologien die Unstructured Information Management
unterstützen
Statistical and rule-based Natural Language Processing
Information Retrieval
Machine Learning
5 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Technologien die Unstructured Information Management
unterstützen
Statistical and rule-based Natural Language Processing
Information Retrieval
Machine Learning
Ontologies
5 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Technologien die Unstructured Information Management
unterstützen
Statistical and rule-based Natural Language Processing
Information Retrieval
Machine Learning
Ontologies
Automated Resoning
5 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Technologien die Unstructured Information Management
unterstützen
Statistical and rule-based Natural Language Processing
Information Retrieval
Machine Learning
Ontologies
Automated Resoning
Knowledge Sources (CYC, DBpedia, WordNet, FrameNet,
Geonames etc.)
5 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
UIMA - Keyfacts
UIMA (you-eee-muh) steht für Unstructured Information
Management Architecture: Architektur zur Verwaltung
unstrukturierter Informationen
6 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
UIMA - Keyfacts
UIMA (you-eee-muh) steht für Unstructured Information
Management Architecture: Architektur zur Verwaltung
unstrukturierter Informationen
UIMA ist eine Architektur und ein Framework zu Erzeugung
von UIM-Anwendungen.
6 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
UIMA - Keyfacts
UIMA (you-eee-muh) steht für Unstructured Information
Management Architecture: Architektur zur Verwaltung
unstrukturierter Informationen
UIMA ist eine Architektur und ein Framework zu Erzeugung
von UIM-Anwendungen.
Apache Incubator Projekt; ursprünglich von IBM entwickelt
und als Open Source freigegeben
6 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
UIMA - Keyfacts
UIMA (you-eee-muh) steht für Unstructured Information
Management Architecture: Architektur zur Verwaltung
unstrukturierter Informationen
UIMA ist eine Architektur und ein Framework zu Erzeugung
von UIM-Anwendungen.
Apache Incubator Projekt; ursprünglich von IBM entwickelt
und als Open Source freigegeben
Lizenz: Apache Licence
6 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
UIMA - Keyfacts
UIMA (you-eee-muh) steht für Unstructured Information
Management Architecture: Architektur zur Verwaltung
unstrukturierter Informationen
UIMA ist eine Architektur und ein Framework zu Erzeugung
von UIM-Anwendungen.
Apache Incubator Projekt; ursprünglich von IBM entwickelt
und als Open Source freigegeben
Lizenz: Apache Licence
UIMA ist seit März 2009 OASIS Standard
6 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
UIMA - Keyfacts
UIMA (you-eee-muh) steht für Unstructured Information
Management Architecture: Architektur zur Verwaltung
unstrukturierter Informationen
UIMA ist eine Architektur und ein Framework zu Erzeugung
von UIM-Anwendungen.
Apache Incubator Projekt; ursprünglich von IBM entwickelt
und als Open Source freigegeben
Lizenz: Apache Licence
UIMA ist seit März 2009 OASIS Standard
Zweck von UIMA nach [1]
UIMA supports the development, discovery, composition and
deployment of multi-modal analytics for the analysis of unstructured
information and its integration with search technologies.
6 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Ziele und Vorteile von UIMA
7 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Ziele und Vorteile von UIMA
Standardisierte oene Plattform
7 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Ziele und Vorteile von UIMA
Standardisierte oene Plattform
Wiederverwendung von NLP-Komponenten
7 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Ziele und Vorteile von UIMA
Standardisierte oene Plattform
Wiederverwendung von NLP-Komponenten
performant, skalierbar durch Parallelisierbarkeit und Verteilung
7 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Ziele und Vorteile von UIMA
Standardisierte oene Plattform
Wiederverwendung von NLP-Komponenten
performant, skalierbar durch Parallelisierbarkeit und Verteilung
Verschiedene Programmiersprachen: Java, C++; (auch Perl,
Python, TCL)
7 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Modularitätsprinzip
8 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Modularitätsprinzip
Eigenständige wiederverwertbare Komponenten für
Teilaufgaben, wie
8 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Modularitätsprinzip
Eigenständige wiederverwertbare Komponenten für
Teilaufgaben, wie
Konvertierung des Formates (z.B. HTML Stripping)
8 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Modularitätsprinzip
Eigenständige wiederverwertbare Komponenten für
Teilaufgaben, wie
Konvertierung des Formates (z.B. HTML Stripping)
Klassikation
8 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Modularitätsprinzip
Eigenständige wiederverwertbare Komponenten für
Teilaufgaben, wie
Konvertierung des Formates (z.B. HTML Stripping)
Klassikation
Denoising von Web-Dokumenten
8 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Modularitätsprinzip
Eigenständige wiederverwertbare Komponenten für
Teilaufgaben, wie
Konvertierung des Formates (z.B. HTML Stripping)
Klassikation
Denoising von Web-Dokumenten
Tokenizer
8 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Modularitätsprinzip
Eigenständige wiederverwertbare Komponenten für
Teilaufgaben, wie
Konvertierung des Formates (z.B. HTML Stripping)
Klassikation
Denoising von Web-Dokumenten
Tokenizer
Sentencesplitter
8 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Modularitätsprinzip
Eigenständige wiederverwertbare Komponenten für
Teilaufgaben, wie
Konvertierung des Formates (z.B. HTML Stripping)
Klassikation
Denoising von Web-Dokumenten
Tokenizer
Sentencesplitter
POS-Tagger
8 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Modularitätsprinzip
Eigenständige wiederverwertbare Komponenten für
Teilaufgaben, wie
Konvertierung des Formates (z.B. HTML Stripping)
Klassikation
Denoising von Web-Dokumenten
Tokenizer
Sentencesplitter
POS-Tagger
Named Entity Recognition
8 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
UIMA als Brücke zwischen unstrukturierten und
strukturierten Daten
9 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Beispiel für Annotationen
Erklärung siehe Tafel
10 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Zusammenspiel der Verarbeitungskomponenten
11 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Zusammenspiel der Verarbeitungskomponenten
Zusammenschalten von Komponenten - Datenaustausch
mittels gemeinsamen, kompatiblen Austauschformat
11 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Zusammenspiel der Verarbeitungskomponenten
Zusammenschalten von Komponenten - Datenaustausch
mittels gemeinsamen, kompatiblen Austauschformat
Hintereinanderschaltung der Komponenten zu
Verarbeitungspipelines
11 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Zusammenspiel der Verarbeitungskomponenten
Zusammenschalten von Komponenten - Datenaustausch
mittels gemeinsamen, kompatiblen Austauschformat
Hintereinanderschaltung der Komponenten zu
Verarbeitungspipelines
Mischen von Komponenten verschiedener
Programmiersprachen innerhalb einer Verarbeitungspipline
möglich
11 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Zusammenspiel der Verarbeitungskomponenten
Zusammenschalten von Komponenten - Datenaustausch
mittels gemeinsamen, kompatiblen Austauschformat
Hintereinanderschaltung der Komponenten zu
Verarbeitungspipelines
Mischen von Komponenten verschiedener
Programmiersprachen innerhalb einer Verarbeitungspipline
möglich
Verarbeitungskomponenten werden in einem XML-File
beschrieben - unterstützt von Eclipse Plugins
11 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Zusammenspiel der Verarbeitungskomponenten
Zusammenschalten von Komponenten - Datenaustausch
mittels gemeinsamen, kompatiblen Austauschformat
Hintereinanderschaltung der Komponenten zu
Verarbeitungspipelines
Mischen von Komponenten verschiedener
Programmiersprachen innerhalb einer Verarbeitungspipline
möglich
Verarbeitungskomponenten werden in einem XML-File
beschrieben - unterstützt von Eclipse Plugins
Wiederverwendbarkeit und Integration unterschiedlicher Tools
möglich
11 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Outline
1 Einführung und Übersicht
2 Wichtige UIMA Module
3 Multimodale Analyse
4 Entwicklung von Collection Processing Components
5 Weitere Möglichkeiten von UIMA
6 Beispiel Implementierungen
12 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Übersicht: wichtige UIMA Module
UIMA Framework Core
CAS (Common Analysis Structur)
AE (Analysis Engines)
CPE (Collection Processing Engine)
CPM (Collection Processing Management)
13 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
UIMA Framework Core
Basis Infrastruktur und SDK
Stellt die Grundfunktionalität bereit
Apache UIMA Java Framework: Java-basierte Implementation
der UIMA Architektur: Stellt eine run-time environment bereit,
mit der Entwickler ihre Komponenten entwicklen,
zusammenschalten und deployen können.
14 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Analysis Engine (AE)
Analysis Engines
Verarbeitungskomponenten heiÿen Analysis Engines (AEs)
15 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Analysis Engine (AE)
Analysis Engines
Verarbeitungskomponenten heiÿen Analysis Engines (AEs)
Basic Building Blocks der Analyse
15 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Analysis Engine (AE)
Analysis Engines
Verarbeitungskomponenten heiÿen Analysis Engines (AEs)
Basic Building Blocks der Analyse
Erzeugen (in der Regel) von Meta-Daten zum Dokument-Inhalt
15 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Analysis Engine (AE)
Analysis Engines
Verarbeitungskomponenten heiÿen Analysis Engines (AEs)
Basic Building Blocks der Analyse
Erzeugen (in der Regel) von Meta-Daten zum Dokument-Inhalt
Verarbeitende Artefakte (Dokumente), sind nicht nur
Text-Dokumente sondern auch Audio, Video, Bilder etc.
15 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Analysis Engine (AE)
Analysis Engines
Verarbeitungskomponenten heiÿen Analysis Engines (AEs)
Basic Building Blocks der Analyse
Erzeugen (in der Regel) von Meta-Daten zum Dokument-Inhalt
Verarbeitende Artefakte (Dokumente), sind nicht nur
Text-Dokumente sondern auch Audio, Video, Bilder etc.
Text Analysis Engine (TAE) sind AEs, die auf Text operieren
15 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Analysis Engine (AE)
Analysis Engines
Verarbeitungskomponenten heiÿen Analysis Engines (AEs)
Basic Building Blocks der Analyse
Erzeugen (in der Regel) von Meta-Daten zum Dokument-Inhalt
Verarbeitende Artefakte (Dokumente), sind nicht nur
Text-Dokumente sondern auch Audio, Video, Bilder etc.
Text Analysis Engine (TAE) sind AEs, die auf Text operieren
Denition: Analysis Result
Das Ergebnis der Analyse (eines AEs) wird (Analysis Result)
genannt.
15 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Typen von Analysis Engine (AE)
zwei Typen von AEs
Primitive AEs: Einzel AEs
Aggregate AEs: mehrere AEs, die zu einem neuen Aggregate
AE zusammengeschaltet sind.
16 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
CAS: Common Analysis Structure
CAS - Common Analysis Structure
Die Ergebnisse der AEs (Analysis results) werden in einer speziellen
Datenstruktur repräsentiert. Diese wird CAS (Common Analysis
Structure) genannt.
17 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
CAS: Common Analysis Structure
CAS - Common Analysis Structure
Die Ergebnisse der AEs (Analysis results) werden in einer speziellen
Datenstruktur repräsentiert. Diese wird CAS (Common Analysis
Structure) genannt.
CAS besteht aus:
Artefakt (Dokument)
17 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
CAS: Common Analysis Structure
CAS - Common Analysis Structure
Die Ergebnisse der AEs (Analysis results) werden in einer speziellen
Datenstruktur repräsentiert. Diese wird CAS (Common Analysis
Structure) genannt.
CAS besteht aus:
Artefakt (Dokument)
Typsystem-Beschreibung
17 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
CAS: Common Analysis Structure
CAS - Common Analysis Structure
Die Ergebnisse der AEs (Analysis results) werden in einer speziellen
Datenstruktur repräsentiert. Diese wird CAS (Common Analysis
Structure) genannt.
CAS besteht aus:
Artefakt (Dokument)
Typsystem-Beschreibung
Metadaten der Analyse
17 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
CAS: Common Analysis Structure
CAS - Common Analysis Structure
Die Ergebnisse der AEs (Analysis results) werden in einer speziellen
Datenstruktur repräsentiert. Diese wird CAS (Common Analysis
Structure) genannt.
CAS besteht aus:
Artefakt (Dokument)
Typsystem-Beschreibung
Metadaten der Analyse
Indizes (zum Zugri auf die (Analysis results)
17 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
CAS: Common Analysis Structure
CAS - Common Analysis Structure
Die Ergebnisse der AEs (Analysis results) werden in einer speziellen
Datenstruktur repräsentiert. Diese wird CAS (Common Analysis
Structure) genannt.
CAS besteht aus:
Artefakt (Dokument)
Typsystem-Beschreibung
Metadaten der Analyse
Indizes (zum Zugri auf die (Analysis results)
CAS ist die Datenstruktur, die zwischen den AEs ausgetauscht
wird
17 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Typsystem
Im Typsystem (type system) wird speziziert, welche Daten in
den AEs manipuliert (und erzeugt) werden können
18 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Typsystem
Im Typsystem (type system) wird speziziert, welche Daten in
den AEs manipuliert (und erzeugt) werden können
Das Typsystem besteht aus:
Types (analog: Java-Klassen ohne Methoden)
Features (analog: Attribute der Klassen)
Feature Structures (analog: Instanzen der
Java-Klassen(Types))
Note: UIMA Typsystem unterstützt auch die Erweiterung von
Typen (kein Java Analogon)
18 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Beispiel für ein type system
19 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Types
Organisiert in Einfachvererbungshierarchie
20 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Types
Organisiert in Einfachvererbungshierarchie
Wurzel Oberklasse ist uima.cas.TOP (ohne Features)
Java Klasse: org.apache.uima.jcas.cas.TOP
20 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Types
Organisiert in Einfachvererbungshierarchie
Wurzel Oberklasse ist uima.cas.TOP (ohne Features)
Java Klasse: org.apache.uima.jcas.cas.TOP
Unterklassen erben alle Features der Oberklassen
20 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Annotationen
Annotationen sind ein Spezialfall der Types
Java Klasse: org.apache.uima.jcas.tcas.Annotation
zusätzliche Features von Annoations
Start-Oset
End-Oset
21 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Wichtige Methoden von Annotationen
setter und getter Funktionen für die Start- und Endposition
der Annotationen
22 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Wichtige Methoden von Annotationen
setter und getter Funktionen für die Start- und Endposition
der Annotationen
String getCoveredText():Get the text covered by an
annotation as a string.
22 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Collection Processing
Bisher: Komponenten zur Verarbeitung eines Dokuments
23 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Collection Processing
Bisher: Komponenten zur Verarbeitung eines Dokuments
Oen wie mit Dokument-Collections umgegangen wird
23 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Collection Processing
Bisher: Komponenten zur Verarbeitung eines Dokuments
Oen wie mit Dokument-Collections umgegangen wird
Collection Processing Architecture - Aufgaben
23 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Collection Processing
Bisher: Komponenten zur Verarbeitung eines Dokuments
Oen wie mit Dokument-Collections umgegangen wird
Collection Processing Architecture - Aufgaben
Lesen von raw data formats aus data collections
23 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Collection Processing
Bisher: Komponenten zur Verarbeitung eines Dokuments
Oen wie mit Dokument-Collections umgegangen wird
Collection Processing Architecture - Aufgaben
Lesen von raw data formats aus data collections
Präparieren der Daten (Erzeugung von Einzeldokumente für
die Verarbeitung
23 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Collection Processing
Bisher: Komponenten zur Verarbeitung eines Dokuments
Oen wie mit Dokument-Collections umgegangen wird
Collection Processing Architecture - Aufgaben
Lesen von raw data formats aus data collections
Präparieren der Daten (Erzeugung von Einzeldokumente für
die Verarbeitung
Steuerung und Ausführen der Analyse
23 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Collection Processing
Bisher: Komponenten zur Verarbeitung eines Dokuments
Oen wie mit Dokument-Collections umgegangen wird
Collection Processing Architecture - Aufgaben
Lesen von raw data formats aus data collections
Präparieren der Daten (Erzeugung von Einzeldokumente für
die Verarbeitung
Steuerung und Ausführen der Analyse
Deployment des ows: lokal und verteilt
23 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Collection Processing
Bisher: Komponenten zur Verarbeitung eines Dokuments
Oen wie mit Dokument-Collections umgegangen wird
Collection Processing Architecture - Aufgaben
Lesen von raw data formats aus data collections
Präparieren der Daten (Erzeugung von Einzeldokumente für
die Verarbeitung
Steuerung und Ausführen der Analyse
Deployment des ows: lokal und verteilt
Collection Processing Engine - CPE
Die Funktionalität des Collection Processing wird von CPEs
umgesetzt
23 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Komponenten einer Collection Processing Engines
CPEs werden deklarativ in einer XML-Datei beschrieben oder
mittels eines graphische Tools.
Komponenten einer CPE werden deklariert:
Collection Reader: Schnittstelle zum Einlesen von Daten
(Dokumenten); gibt CASes zu Analyse weiter
CAS Processors
Analysis Engines (
AEs):
Analyse des Inhaltes und
Füllen/Manipulation der CASes
CAS Consumer:
Konsumieren CASes - Schreiben den
CAS-Inhalt in der Regel in Datenbanken, Dateien oder Indizes
In Zukunft sollen AEs die Rolle der
übernehmen
24 von 45
Dr. Christian Herta
CAS Consumer
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Zusammenspiel der Module mittels CPE
25 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Einbinden von CPEs in eigenen Anwendungscode
Listing 1: Einbinden von CPEs in eigenen Anwendungscode
1 / / p a r s e CPE d e s c r i p t o r i n f i l e s p e c i f i e d o n command l i n e
2 C p e D e s c r i p t i o n c p e D e s c = UIMAFramework . g e t X M L P a r s e r ( ) .
3
p a r s e C p e D e s c r i p t i o n ( new X M L I n p u t S o u r c e ( a r g s [ 0 ] ) ) ;
4
5
/ / i n s t a n t i a t e CPE
6 mCPE = UIMAFramework . p r o d u c e C o l l e c t i o n P r o c e s s i n g E n g i n e ( c p e D e s c ) ;
7
8
// C r e a t e and
register
a Status
Callback
Listener
9 mCPE . a d d S t a t u s C a l l b a c k L i s t e n e r ( new S t a t u s C a l l b a c k L i s t e n e r I m p l ( ) ) ;
10
11
// S t a r t
Processing
12 mCPE . p r o c e s s ( ) ;
26 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Manager
Collection Processing Manager (CPM)
CPMs managen die Ausführung von CPEs
27 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Collection Processing Manager
Collection Processing Manager (CPM)
CPMs managen die Ausführung von CPEs
Aufgaben der CPM
Lesen der CPE-Spezikation und instanziieren und starten
einer CPE Instanz
27 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Collection Processing Manager
Collection Processing Manager (CPM)
CPMs managen die Ausführung von CPEs
Aufgaben der CPM
Lesen der CPE-Spezikation und instanziieren und starten
einer CPE Instanz
Orchestrierung des Datenuss innerhalb einer CPE
27 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Collection Processing Manager
Collection Processing Manager (CPM)
CPMs managen die Ausführung von CPEs
Aufgaben der CPM
Lesen der CPE-Spezikation und instanziieren und starten
einer CPE Instanz
Orchestrierung des Datenuss innerhalb einer CPE
Monitoring des Status
27 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Collection Processing Manager
Collection Processing Manager (CPM)
CPMs managen die Ausführung von CPEs
Aufgaben der CPM
Lesen der CPE-Spezikation und instanziieren und starten
einer CPE Instanz
Orchestrierung des Datenuss innerhalb einer CPE
Monitoring des Status
Managing des life-cycle von internen Komponenten
27 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Collection Processing Manager
Collection Processing Manager (CPM)
CPMs managen die Ausführung von CPEs
Aufgaben der CPM
Lesen der CPE-Spezikation und instanziieren und starten
einer CPE Instanz
Orchestrierung des Datenuss innerhalb einer CPE
Monitoring des Status
Managing des life-cycle von internen Komponenten
Erstellen von Collection Statistik
27 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Aufgabe des CPM
28 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Outline
1 Einführung und Übersicht
2 Wichtige UIMA Module
3 Multimodale Analyse
4 Entwicklung von Collection Processing Components
5 Weitere Möglichkeiten von UIMA
6 Beispiel Implementierungen
29 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Views und Sofas
(Gleichzeitige) Analyse von verschiedenen Sichten (views) auf
ein Artefakt (und assozierten Types) ist möglich
CAS Views
Sofa Subject-of-Analysis: Dokument, FS und URI
Eins-zu-ein Korrespondenz zwischen View und Sofa: jedes CAS
View hat ein assoziertes Sofa
Beispiel für zwei Sichten (views):
HTML-Sicht und Textsicht eines Web-Dokumentes
30 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Views und Sofas
Views und assoziierte Sofas haben einen Namen
Der Name wird wird aus historischen Gründen sofa name
genannt
Namen werden deklariert in den XML-Matadaten der
Komponente
31 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Outline
1 Einführung und Übersicht
2 Wichtige UIMA Module
3 Multimodale Analyse
4 Entwicklung von Collection Processing Components
5 Weitere Möglichkeiten von UIMA
6 Beispiel Implementierungen
32 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Entwicklung von Collection Reader
33 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Entwicklung von Collection Reader
Collection Reader müssen die Schnittstelle
org.apache.uima.collection.CollectionReader
implementieren
33 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Entwicklung von Collection Reader
Collection Reader müssen die Schnittstelle
org.apache.uima.collection.CollectionReader
implementieren
einfacher: Erweiterung der Convenience base class
org.apache.uima.collection.CollectionReader_ImplBase
33 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Entwicklung von Collection Reader
Collection Reader müssen die Schnittstelle
org.apache.uima.collection.CollectionReader
implementieren
einfacher: Erweiterung der Convenience base class
org.apache.uima.collection.CollectionReader_ImplBase
Implementierung der abstrakten Methoden nötig
initialize()(nicht abstrakt): Resourcen initialisieren,
Zugri auf Parameter
33 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Entwicklung von Collection Reader
Collection Reader müssen die Schnittstelle
org.apache.uima.collection.CollectionReader
implementieren
einfacher: Erweiterung der Convenience base class
org.apache.uima.collection.CollectionReader_ImplBase
Implementierung der abstrakten Methoden nötig
initialize()(nicht abstrakt): Resourcen initialisieren,
Zugri auf Parameter
hasNext(): Rückgabe, ob noch Dokumente zum Einlesen
vorhanden sind
33 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Entwicklung von Collection Reader
Collection Reader müssen die Schnittstelle
org.apache.uima.collection.CollectionReader
implementieren
einfacher: Erweiterung der Convenience base class
org.apache.uima.collection.CollectionReader_ImplBase
Implementierung der abstrakten Methoden nötig
initialize()(nicht abstrakt): Resourcen initialisieren,
Zugri auf Parameter
hasNext(): Rückgabe, ob noch Dokumente zum Einlesen
vorhanden sind
getNext(CAS): Einlesen des nächsten Dokumentes und
Populierung eines CAS
33 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Entwicklung von Collection Reader
Collection Reader müssen die Schnittstelle
org.apache.uima.collection.CollectionReader
implementieren
einfacher: Erweiterung der Convenience base class
org.apache.uima.collection.CollectionReader_ImplBase
Implementierung der abstrakten Methoden nötig
initialize()(nicht abstrakt): Resourcen initialisieren,
Zugri auf Parameter
hasNext(): Rückgabe, ob noch Dokumente zum Einlesen
vorhanden sind
getNext(CAS): Einlesen des nächsten Dokumentes und
Populierung eines CAS
getProgress(): Fortschritt-Status Abfrage
33 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Entwicklung von Collection Reader
Collection Reader müssen die Schnittstelle
org.apache.uima.collection.CollectionReader
implementieren
einfacher: Erweiterung der Convenience base class
org.apache.uima.collection.CollectionReader_ImplBase
Implementierung der abstrakten Methoden nötig
initialize()(nicht abstrakt): Resourcen initialisieren,
Zugri auf Parameter
hasNext(): Rückgabe, ob noch Dokumente zum Einlesen
vorhanden sind
getNext(CAS): Einlesen des nächsten Dokumentes und
Populierung eines CAS
getProgress(): Fortschritt-Status Abfrage
close(): Freigeben benutzter Resourcen
33 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Beispielcode zum Setzen von CAS Content
Listing 2: Beispielcode zum Setzen von CAS Content
1 p u b l i c v o i d g e t N e x t ( CAS a C a s ) {
2
// . . .
3
try {
4
JCas j C a s = aCas . g e t J C a s ( ) ;
5
j c a s . setDocumentText ( documentText ) ;
6
DocumentMetadata m e t a d a t a = new DocumentMetadata ( j c a s ) ;
7
m e t a d a t a . setDocumentURL ( docURL ) ;
8
// s e t more m e t a d a t a c o n t e n t
9
j c a s . addFsToIndexes ( metadata ) ;
10
} c a t c h ( CASException e ) {
11
t h r o w new C o l l e c t i o n E x c e p t i o n ( e ) ;
12
}
13
//
. . .
14 }
34 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Entwicklung von CAS Consumern
Note: Ab UIMA 2.x sind CAS Consumer spezielle AEs - In
Zukunft sollte man statt CAS Consumer AEs verwenden
35 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Entwicklung von CAS Consumern
Note: Ab UIMA 2.x sind CAS Consumer spezielle AEs - In
Zukunft sollte man statt CAS Consumer AEs verwenden
CAS Consumer müssen die Schnittstelle
org.apache.uima.collection.CasConsumer
implementieren
35 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Entwicklung von CAS Consumern
Note: Ab UIMA 2.x sind CAS Consumer spezielle AEs - In
Zukunft sollte man statt CAS Consumer AEs verwenden
CAS Consumer müssen die Schnittstelle
org.apache.uima.collection.CasConsumer
implementieren
einfacher: Erweiterung der Convenience base class
org.apache.uima.collection.CasConsumer_ImplBase
35 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Entwicklung von CAS Consumern
Note: Ab UIMA 2.x sind CAS Consumer spezielle AEs - In
Zukunft sollte man statt CAS Consumer AEs verwenden
CAS Consumer müssen die Schnittstelle
org.apache.uima.collection.CasConsumer
implementieren
einfacher: Erweiterung der Convenience base class
org.apache.uima.collection.CasConsumer_ImplBase
Implementierung der abstrakten Methoden nötig
initialize()(nicht abstrakt): Resourcen initialisieren,
Zugri auf Parameter
35 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Entwicklung von CAS Consumern
Note: Ab UIMA 2.x sind CAS Consumer spezielle AEs - In
Zukunft sollte man statt CAS Consumer AEs verwenden
CAS Consumer müssen die Schnittstelle
org.apache.uima.collection.CasConsumer
implementieren
einfacher: Erweiterung der Convenience base class
org.apache.uima.collection.CasConsumer_ImplBase
Implementierung der abstrakten Methoden nötig
initialize()(nicht abstrakt): Resourcen initialisieren,
Zugri auf Parameter
processCas(CAS): Prozessiern des CAS, z.B. schreiben in
eine XML-Datei
35 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Entwicklung von CAS Consumern
Note: Ab UIMA 2.x sind CAS Consumer spezielle AEs - In
Zukunft sollte man statt CAS Consumer AEs verwenden
CAS Consumer müssen die Schnittstelle
org.apache.uima.collection.CasConsumer
implementieren
einfacher: Erweiterung der Convenience base class
org.apache.uima.collection.CasConsumer_ImplBase
Implementierung der abstrakten Methoden nötig
initialize()(nicht abstrakt): Resourcen initialisieren,
Zugri auf Parameter
processCas(CAS): Prozessiern des CAS, z.B. schreiben in
eine XML-Datei
batchProcessComplete() und
collectionProcessComplete(): optionale Methoden die
vom Framework nach Beendigung eines Batch oder der
Collection aufgerufen werden
35 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Zugri auf Annotation Results
Listing 3: Zugri auf Annotations vorgeschalteter AEs
1 F S I n d e x t i m e I n d e x = a J C a s . g e t A n n o t a t i o n I n d e x ( TimeAnnot . t y p e ) ;
2 I t e r a t o r timeIter = timeIndex . i t e r a t o r ( ) ;
3 w h i l e ( t i m e I t e r . hasNext ( ) ) {
4
TimeAnnot t i m e = ( TimeAnnot ) t i m e I t e r . n e x t ( ) ;
5
6
// do s o m e t h i n g
7 }
36 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Zugri auf die Index FS
Listing 4: Zugri auf die Resultate von vorgeschalteten AEs
1 p u b l i c v o i d p r o c e s s C a s ( CAS aCAS ) t h r o w s R e s o u r c e P r o c e s s E x c e p t i o n {
2
3
JCas j c a s ;
4
try {
5
j c a s = aCAS . g e t J C a s ( ) ;
6
} c a t c h ( CASException e ){
7
t h r o w new R e s o u r c e P r o c e s s E x c e p t i o n ( e ) ;
8
}
9
FSIterator i t e r a t o r jcas . getJFSIndexRepository ()
10
. g e t A l l I n d e x F S ( DocumentMetadata . t y p e ) ;
11
i f ( i t e r a t o r . hasNext ( ) ) {
12
DocumentMetadata d o c M e t a d a t a = ( DocumentMetadata ) i t e r a t o r . n e x t ( ) ;
13
S t r i n g documentURL = d o c M e t a d a t a . getDocumentURL ( ) ;
14
// do more
15
}
16
17 }
37 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Outline
1 Einführung und Übersicht
2 Wichtige UIMA Module
3 Multimodale Analyse
4 Entwicklung von Collection Processing Components
5 Weitere Möglichkeiten von UIMA
6 Beispiel Implementierungen
38 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Resource Manager
Zum Zugri auf externe Resourcen, wie z.B. Datenbanken,
Files
Resourcen weden deklariert mittels XML
mehr siehe 1.5.4. von [2]
39 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Deployment Modes
Drei verschiedene deployment Modes für CAS Processors
möglich:
Intergrated: Laufen alle in der gleichen JVM
Managed: Laufen alle in separaten Prozessen auf dem gleichen
Rechner
Non-Managed: Laufen in separaten Prozessen, eventuell auf
verschiedenen Rechnern
Bei den letzteren beiden Möglichkeiten müssen CASes
zwischen verschiedenen Prozessen (und Rechnern)
transportiert werden - Hierfür dient Vinci, ein
Kommunikationsprotokoll
40 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
CAS Multiplier
Aufgabe eines CAS Multiplier
CAS Multiplier werden genutzt, um die Aufteilung der Daten in
eine Serie von CASes zu ändern
Beispiele:
Splitten von groÿen Dokumenten in kleinere Einheiten, z.B.
eine groÿe pdf-Datei in einzelne Kapitel
zum Vereinen von mehreren CASes zu einem CAS
41 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Flow Controller
Innerhalb von Aggregate AEs Fluss die Abarbeitung deniert
werden
Hierz dienen Flow Controller
Einfachster Datenuss: Hintereinabderschften von AEs in
fester Reihenfolge
aber auch komplexere Flüsse möglich
42 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Anwendung von UIMA aus einer Anwendung (aus [1])
43 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Outline
1 Einführung und Übersicht
2 Wichtige UIMA Module
3 Multimodale Analyse
4 Entwicklung von Collection Processing Components
5 Weitere Möglichkeiten von UIMA
6 Beispiel Implementierungen
44 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Collection Processing Compo
Lucas: Lucene CAS Indexer
Brücke zwischen UIMA und Lucene: CAS-Consumer für
Lucene
Mapping für CASes zu Lucene index documents
Wird konguriert über description parameter und ein mapping
le
45 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Einführung und Übersicht Wichtige UIMA Module Multimodale Analyse Entwicklung von
Apache-UIMA-Development-Community.
Uima overview & sdk setup.
2009.
Apache-UIMA-Development-Community.
Uima tutorial and developers guides - version 2.2.2.
2009.
45 von 45
Dr. Christian Herta
Einführung in Apache UIMA
Collection Processing Compo

Documentos relacionados