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