UIMA - freie Software für die Textanalyse

11.07.2006 von Can Unal
Mit der Unstructured Information Management Architecture (UIMA) möchte die IBM einen Standard für maschinelle Verarbeitung von Dokumenten setzen.

Die Unstructured Information Management Architecture (UIMA) ist eine Analysesoftware, die Texte in Dokumenten und anderen Quellen aufspürt, analysiert und verarbeitet. Sie soll die versteckte Bedeutung, die Beziehungen und zugehörige Fakten zu einem Suchbegriff verstehen. UIMA bedient sich mehrerer Analysetechniken, wie etwa der statistischen und rollenbasierten Verarbeitung natürlicher Sprache (Natural Language Processing, NLP), Information Retrieval (IR), Maschinen basierendes Lernen und Ontologien. Außerdem kann sie diese Prozesse mit Datenquellen, beispielsweise Datenbanken und Suchmaschinen, verknüpfen.

Eine UIMA-Anwendung durchläuft die Phasen Analysieren und Erzeugen.

Damit könnte das Framework den heute bestehenden Graben zwischen Suchmaschinen und Business Intelligence überbrücken. Suchmaschinen sind auf Basis eines Begriffs nicht in der Lage, die Ergebnisse miteinander zu verknüpfen (sie bieten keine Möglichkeit, Objekte zu definieren und ihnen Attribute zuzuordnen). Umgekehrt können BI-Tools die in Texten enthaltenen Daten in der Regel nicht aufspüren.

Über externe Bausteine erweiterbar

UIMA indiziert also unstrukturierte Inhalte (Texte, Audio, Videos, Bilder) und übergibt die erzeugten Metadaten an Suchmaschinen. Mit Hilfe des Software Developer Kit (SDK) kann jedes Unternehmen somit seine Suche und seine Wissensmanagement-Tools entwickeln.

Jede auf UIMA basierende Applikation durchläuft zwei Phasen: Analysieren und Erzeugen. Das Framework bietet dabei eine einheitliche Schnittstelle für die verschiedenen Textanalysemodule und schafft die Möglichkeit, Daten und Inhalte objektrelational abzubilden. Diese Komponenten bezeichnet die IBM als Annotatoren, die den vorgeschalteten Anwendungen die entsprechend aufbereiteten Informationen in Form von Metadaten liefert. Beispiele für solche Annotatoren sind:

Jeder Annotator muss seine Fähigkeiten gegenüber dem Framework deklarieren, das heißt, welche Art von Analyseergebnissen benötigt es, um für eine bestimmte vordefinierte Sprache entsprechende Ergebnisse zu liefern.

Pipelining von Komponenten

Annotatoren können hintereinander geschaltet werden und jeweils die Ergebnisse der zuvor aktiven Komponenten weiterverarbeiten. Beispielsweise filtert der Annotator "Spracherkennung" die Texte nach ihrer natürlichen Sprache, so dass nachfolgende Bausteine etwa nur mehr englische Texte bekommen. Aktuell unterstützt dieser IBM-Annotator über 20 Sprachen. Die Aufgabe des Frameworks besteht darin, einen effizienten Weg zu errechnen, in welcher Reihenfolge diese Module durchlaufen werden müssen.

Das UIMA-Framework kann einzelne Textanalysemodule in einer Pipeline hintereinanderschalten.

Weitere Annotatoren sind beispielsweise der "Categorizer", der fachspezifische Suchbegriffe zusammenfasst und diese separat dem Anwender zur Verfügung zu stellt. Eigene Annotatoren, können mit Hilfe von Eclipse-Plugins programmiert werden.

UIMA legt dabei für jede Verarbeitungsstufe zusätzliche Metadaten an, um mit deren Hilfe den Inhalt noch weiter aufzuschlüsseln. Das dafür verantwortliche Modul heißt "Text Analysis Engine" (TAE), wobei die Möglichkeit besteht, mehrere TAE's hintereinander zu schalten, um eine optimale Inhaltsanalyse zu erreichen.

Nach jeder Inhaltsanalyse existieren zu dem Originalinhalt entsprechende Metadaten, die für die weitere Untersuchung weiterverwendet werden können. UIMA fasst sie deswegen zu einem einzigen logischen Objekt zusammen. Dieses liefert nicht nur den Inhalt, sondern die Struktur, Sprache, Index, oder Zugriffe und werden Common Analysis System (CAS) genannt. Diese neuen Objekte können natürlich wieder als Datenquellen weiterbenutzt werden, sogar von anderen CAS-Objekten.

Nach der Analysephase werden die aufbereiteten Daten an das nächste Modul, der so genannten "Collection Processing Engine" (CPE) weitergeleitet, quasi die Management-Console der UIMA. Mit Hilfe der CPE lassen sich die Abläufe der Informationsaufbereitung steuern, beispielsweise eine Teilmenge nach bestimmten Mustern ("Patterns") herausfiltern oder der Gesamtprozess zentral überwachen.

Die Zukunft von UIMA

Die IBM setzt UIMA als Basistechnik für den "Websphere Information Integrator Omnifind" ein. Es verwendet für die Extraktion von Daten aus den unterschiedlichsten Quellen so genannte Konnektoren. Mit ihrer Hilfe und vorinstallierten Annotatoren lässt sich Omnifind als Suchmaschine einsetzen. Interessant ist aber auch die Möglichkeit, die Fähigkeiten von Omnifind mit Hilfe von selbst entwickelten Annotatoren zu erweitern und auf die eigenen Bedürfnisse anzupassen.

Nachdem die IBM das UIMA SDK für jedermann zugänglich gemacht hat, sind einige Lösungen speziell im Umfeld der Universitäten entstanden. Des Weiteren hat die US-Regierung 2005 die Bildung einer UIMA-Arbeitsgruppe finanziell unterstützt. Sie hat sich zum Ziel gesetzt, elementare Probleme der Verarbeitung natürlicher Sprache zu lösen, wie zum Beispiel die maschinelle Übersetzung.

Omnifind liefert einige vordefinierte generische Annotations, wie die Erkennung der geschriebenen Sprache, mit. Seit der Übergabe von UIMA an ein Open-Source-Projekt hat sich hier einiges getan und es entstanden eine Reihe weitere Bausteine, etwa für die Erkennung von Personentiteln, das Auffinden von Datumsfeldern oder Telefonnummern. Eine gute Übersicht über derartige Komponenten gibt es auf der Webseite http://uima.lti.cs.cmu.edu. (ws)

Hintergrund

Mit der "Unstructured Information Management Architecture" (UIMA) übergab die IBM vor rund einem Jahr eine Such- und Analysetechnik an die Open-Source-Community. Ähnlich wie mit anderen freien Projekten (Eclipse, Apache Derby), möchte die IBM auch damit Partner und Kunden animieren, auf Basis dieses Frameworks eigene Applikationen und Lösungen zu programmieren.

Entwickelt wurde UIMA von IBM Research am Thomas Watson Research Center in Yorktown Heights mit Unterstützung der Defense Advanced Research Projects Agency (DARPA), der zentralen Forschungseinrichtung des US-Verteidigungsministerium sowie von den Universitäten Carnegie Mellon, Columbia, Stanford und Massachusetts Amherst.

Ähnlich wie Eclipse, das mittlerweile als Fundament für diverse IBM-Entwicklungsumgebungen dient (beispielsweise "Rational Developer" und "Rational Software Architect"), sollen auch die IBM-eigenen Tools für Datensuche und -analyse auf diesen offenen Software-Frameworks aufsetzen. Die als Produkt vertriebene Version von UIMA heißt bei der IBM "WebSphere Information Integrator OmniFind Edition". Fragmente des Frameworks werden aber auch innerhalb des "Websphere Portal Server" und "Lotus Workplace" eingesetzt.