Apache UIMA

Werbung
Apache UIMA
Bjørn Grathwohl, Sebastian Höfer
8.5.2008
Vorlesung Text Analytics, Prof. Ulf Leser
Apache UIMA · Björn Grathwohl, Sebastian Höfer
Inhalt
•
•
•
•
•
Was ist UIMA?
Architektur und Vokabular
Entwickeln mit UIMA
Beispiel
Weitere Informationen und Quellen
Apache UIMA · Björn Grathwohl, Sebastian Höfer
2
Was ist UIMA? (1)
•
•
•
•
Unstructured
Information
Management
Architecture
Framework für Analyse von v.a. unstrukturierten
Daten wie Text, aber auch Videos, Bildern, etc.
Entwickelt von IBM und seit 2006 Open Source
Apache UIMA in Version 2.2.1
•
Implementationen für Java und C++ unter der
Apache Licence verfügbar
Apache UIMA · Björn Grathwohl, Sebastian Höfer
3
Was ist UIMA? (2)
Apache UIMA · Björn Grathwohl, Sebastian Höfer
4
Was ist UIMA? (3)
Apache UIMA · Björn Grathwohl, Sebastian Höfer
5
Architektur und Vokabular
•
Analysis Engine
•
•
Annotator
Common Analysis Structure (CAS)
•
•
Typed Feature Structure
Annotation
Apache UIMA · Björn Grathwohl, Sebastian Höfer
6
Analysis Engine (AE)
•
•
•
“Hauptapplikation”
AE verarbeitet documents (artifacts), extrahiert
Informationen und produziert Metadaten über
diese (analysis result)
Annotator beherbergt Programmlogik einer AE
•
AE kann aus einem (primitive AE) oder mehreren
(aggregate AE) annotators bestehen
Apache UIMA · Björn Grathwohl, Sebastian Höfer
7
CAS (1)
•
•
Common Analysis Structure
Primäre Datenstruktur und Schnittstelle zum
Austausch und zur Repräsentation von
Analysedokumenten und -ergebnissen zwischen
UIMA Komponenten
Apache UIMA · Björn Grathwohl, Sebastian Höfer
8
CAS (2)
•
Das CAS enthält
•
artifact / document
•
•
•
type system
annotations
•
•
Es gibt einen oder mehrere logische views auf
dieses, jeweils subject of analysis (sofa) genannt
Metadaten, welche das Document oder Teile des
Documents beschreiben
index über die analysis results
Apache UIMA · Björn Grathwohl, Sebastian Höfer
9
CAS (3): Type System
•
•
•
•
CAS enthält objektbasiertes Typsystem
Types bzw. Typed Feature Structures
Resultat einer Dokumentanalyse des Annotators
Arten:
•
Primitiv
•
•
Boolean, String, Integer, etc. (Array)
Komplex
•
•
•
Eingebaute oder eigene
Können Features (Properties) haben
Vergleichbar mit Objekten in OOP
(und werden in Java auch auf solche gemapped)
Apache UIMA · Björn Grathwohl, Sebastian Höfer
10
Typed Feature Structure:
Annotation
•
Metadaten über einen Teil eines Dokuments,
z.B. Textstelle
•
Features:
•
begin, end (Position der Zeichenfolge im
Dokument), sofa
Apache UIMA · Björn Grathwohl, Sebastian Höfer
11
Entwickeln mit UIMA
•
Alle Komponenten bestehen aus
•
•
•
•
•
Component descriptor (XML)
Code
Plug-ins für Eclipse stehen zur Verfügung
Skripte zum Testen und Ausführen mitgeliefert
Entwickeln eigener oder Verwendung frei
verfügbarer Annotatoren (es existieren auch
Wrapper für OpenNLP)
Apache UIMA · Björn Grathwohl, Sebastian Höfer
12
Beispiel!
Apache UIMA · Björn Grathwohl, Sebastian Höfer
13
Fazit
•
•
•
•
•
•
Robustes und skalierbares Framework
Stetig weiterentwickelt und betreut
Gut dokumentiert
Leicht zu installieren :-)
Gute Integration in Eclipse
Performance?
•
Größtenteils abhängig von den implementierten
Algorithmen
Apache UIMA · Björn Grathwohl, Sebastian Höfer
14
Weitere Informationen und Quellen
•
•
•
Apache Incubator Website:
http://incubator.apache.org/uima/
UIMA Wiki
http://www.uima.info
UIMA Glossar:
http://uima.lti.cs.cmu.edu:8080/UCR/pages/static/glossary.html
•
UIMA SDK bei IBM alphaWorks
(alte IBM-Implementation und Semantic-Search-Modul)
http://www.alphaworks.ibm.com/tech/uima
Apache UIMA · Björn Grathwohl, Sebastian Höfer
15
Herunterladen