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: 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:
  1. Tokenisierung,
  2. Kanonisierung,
  3. Stoppwort-Filterung,
  4. Stemming,
  5. 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.: 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.: 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 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