Inhaltsverzeichnis / Oracle
TextServer 3.1 mit ConText / Fulcrum SearchServer
Illustra und das PLS Text DataBlade 1.1
1 Überblick
Illustra ist ein Produkt der nun in Informix aufgegangenen Illustra Information
Technologies Inc. Die Illustra Information Technologies Inc. wurde 1992
als Montage Software gegründet und ist aus dem POSTGRES-Projekt der
University of California hervorgegangen. Das Produkt der Illustra Information
Technologies Inc. - der Illustra Server - war das weltweit erste
objektrelationale Datenbankmanagementsystem (ORDBMS). Es unterstützt
gleichzeitig eine auf SQL aufbauende Abfragesprache und objektorientierte
Handhabung von komplexen Datentypen (rich data types), die durch
sogenannte DataBlades neu eingefügt werden können.
DataBlades sind Software-Module, die die Möglichkeit zur Einbindung
und Benutzung neuer Datentypen (z.B. für Multimedia-Daten) und zugehöriger
Methoden bzw. Funktionen bieten. Außerdem lassen sich auch neue Indexierungsarten
implementieren. DataBlades haben den Vorteil, daß sich die neuen
Datentypen "nahtlos" in das vorhandene System einfügen und die hinzugefügten
Datenstrukturen durch das objektorientierte Programmierparadigma erweitern
lassen (Vererbung). DataBlades werden von Illustra/Informix selbst oder
von Drittanbietern angeboten oder können vom Benutzer auch selbst
geschrieben werden.
Es existieren unter anderen folgende DataBlades für den Illustra
Server:
-
Text DataBlade,
-
Text Conversion DataBlade (Textkonvertierung als Erweiterung zum Text DataBlade),
-
Image DataBlade (Rasterbilder),
-
2D Spatial DataBlade,
-
3D Spatial DataBlade,
-
TimeSeries DataBlade (Zeitreihen-Aufnahme und -Analyse),
-
Visual Information Retrieval DataBlade (IR für visuelle Multimediadaten),
-
Web DataBlade (Webschnittstelle),
-
PLS DataBlade (Text Retrieval).
Eigentlich sollten das Illustra Text DataBlade und das Illustra Text Conversion
DataBlade vorstellt werden, jedoch waren dazu noch weniger brauchbare Informationen
erhältlich, als zu den anderen DataBlades. Deshalb fiel die Wahl auf
das Produkt eines Drittanbieters - das Text DataBlade der Personal Library
Software Incorporated (PLS).
Das PLS Text DataBlade ist laut dem Hersteller eine "Brücke" zwischen
dem Illustra Server und der PLS Suchmaschine. Diese Suchmaschine - der
Callable Personal Librarian (CPL), der von PLS auch einzeln vertrieben
wird - "kombiniert natürlichsprachliche und Boolesche Abfragen mit
dem effektivsten Relevance Ranking ... " [PLS1].
Abbildung 4-1: Die Beziehungen zwischen Illustra Server und CPL
2 Datenmodell
Der Illustra Server speichert Daten in einem relationalen Schema ab. Für
die Speicherung von Texten stellen Illustra und das PLS Text DataBlade
verschiedene Datentypen bereit: text (8-Bit-Zeichen, max. 8 kB),
large_text, large_object und external file, wobei
bei letzterem wieder Eigenschaften wie Transaktions- und Zugriffskontrolle
verloren gehen. Damit die vom Illustra Server gespeicherten Texte von der
Indexierungs- und Suchmaschine verarbeitet werden können, existiert
der PLS Illustra Reader, der die Transformation der Daten in ein für
den CPL lesbares Format steuert. Über die unterstützten Dokumentenformate
kann nichts ausgesagt werden.
Der Index wird vom CPL verwaltet und außerhalb des Illustra Servers
in eigenen Dateien gespeichert. Desweiteren kann eine Stoppwortliste angelegt
werden, die ebenfalls außerhalb der Datenbank in einer eigenen Datei
abgelegt wird.
3 Indexierung
Der logische Ablauf für die Indexierung eines Textes wird vom Hersteller
in folgender Weise dargestellt:
-
Tokenisierung,
-
Kanonisierung,
-
Stoppwort-Filterung,
-
Stemming,
-
Eintragen in den Index.
Als erster Schritt der Indexierung eines stream of characters erfolgt
regelbasiert (über Trennzeichen) die Termerkennung. Danach werden
die Terme in eine einheitliche Schreibweise umgeformt (Kleinschreibung).
Im dritten Schritt werden die Stoppworte herausgefiltert und im vierten
erfolgt das Stemming mit Hilfe des (leicht abgewandelten) Porter-Algorithmus.
Die Anwendung dieses Algorithmus hat die Einschränkung auf den
englischen Sprachraum zur Folge.
4 Retrieval
Durch das PLS Text DataBlade werden neben den üblichen Booleschen
und Proximity-Operatoren auch solche angeboten, die sogenannte "natürlichsprachliche"
Anfragen ermöglichen sollen.
Die Suche erfolgt auch hier mittels spezieller Erweiterungen der Anfragesprache
für das Textretrieval. Das PLS Text DataBlade unterscheidet zwischen
2 Arten von Textfunktionen: den Ratgeber- (search advisor functions)
und den Suchfunktionen (search functions). Ratgeberfunktionen dienen
der Unterstützung bei der Anfrageformulierung, d.h. der Bestimmung
weiterer Suchterme. Diese Funktionen suchen im Index (wie in einem Wörterbuch)
die zu einem Suchterm in Beziehung stehenden Wörter heraus, wie z.B.:
-
PlsRelatedWords gibt eine Liste jener Wörter zurück, die in den
Dokumenten oft in der Nähe des Suchterms auftreten, also aus dem Kontext
des Terms stammen:
select *
from PlsRelatedWords('news91i','DEXTROAMPHETAMINE',10);
Die Abfrage liefert max. 10 zu 'DEXTROAMPHETAMINE' in Beziehung stehende
Wörter zurück (z.B. ARTIFICIAL, FEINGOLD, FOODS, KNOWN, DRUGS,
PROGRAM, CHILDREN).
Die Suchfunktionen liefern die eigentlichen Ergebnisse (Referenzen
auf Tabellenspalten), über die selbst wieder Abfragen gestellt werden
können. Dabei wird nochmals zwischen normalen Abfragen und Funktionen
mit "Konzeptsuche" (PlsConcept) unterschieden. Die "Konzeptsuche" benutzt
das gleiche Verfahren wie PlsRelatedWords zur Suchtermbestimmung. Beispiel
für eine normale Abfrage.:
select dates, headline, sub_headline, byline
from PlsQuery('news91i', 'bank scandal/f:headline,sub_headline')
:: setof("Table news");
Diese Anfrage durchsucht den Index 'news91i' nach 'bank' oder 'scandal',
wobei diese in den Feldern 'headline' oder 'sub_headline' vorkommen müssen.
Der Ranking-Algorithmus ist zwar nicht offengelegt, dafür sind
jedoch die beeinflussenden Faktoren genannt worden:
-
die Anzahl der vorkommenden, voneinander verschiedenen Suchterme,
-
Terme, die selten im Index als Ganzem vorkommen, erhalten eine höhere
Gewichtung,
-
mehrfaches Vorkommen einzelner Suchterme.
Die Gewichtung eines Suchterms kann durch eine Mehrfachangabe im Abfrageausdruck
erhöht werden.
Zu der Behandlung von "natürlichsprachlichen" Termen existieren
keine speziellen Informationen.
5 Weitere Entwicklung
Im Februar 1996 erwarb die Informix Software, Inc. die Technologie von
der Illustra Information Technologies. Ziel der Zusammenführung von
Illustra und Informix war es, die Vorteile der in den von den beiden Firmen
vertriebenen Datenbanken enthaltenen Techniken zu vereinigen, d.h. die
objektrelationales Eigenschaften und DataBlades von Illustra und die Dynamic
Scalable Architecture (DSA) von Informix. Entstanden ist daraus der
Informix Universal Server.
Inhaltsverzeichnis
/ Oracle TextServer 3.1 mit ConText / Fulcrum
SearchServer