Inhaltsverzeichnis / Einleitung
/ Oracle TextServer mit ConText
Charakteristika von Volltextdatenbanken
Die jetzt aufgeführten Punkte stellen nur einen Teil der für
Volltextdatenbanken relevanten Aspekte dar und erheben nicht den Anspruch
auf Vollständigkeit. Diese Auflistung ist nur ein Kompromiß
zwischen Verfügbarkeit von Informationen und Relevanz.
1 Konzepte
Der Ausgangspunkt für die Betrachtung von Volltextdatenbanken (VTDB)
sollen die von ihnen verfolgten Konzepte sein. Sie bilden die Grundlage
für die Funktionsweise und die Funktionalitäten eines Systems.
1.1 Datenmodell
Ein erstes Unterscheidungsmerkmal für VTDB ist die verwendete Basis,
auf der die Systeme aufbauen. So könnten die Systeme unterteilt werden
in :
-
eigenständige bzw. unabhängige Volltextdatenbanken (evtl.
mit Erweiterungen) und
-
Integrationen in vollwertige DBMS.
Durch die Verwendung eines DBMS als Grundlage einer VTDB werden sofort
und ohne größeren Aufwand verschiedene Eigenschaften gewonnen.
So können einerseits Datenbanken "innewohnende" Techniken, wie z.B.
Transaktionskontrolle und andere Maßnahmen zur Integritätssicherung,
Recovery, Access-Control, Parallelisierung, Multiuser-Fähigkeiten,
verwendet werden. Durch Erweiterungen gewisser Teile der Datenbank (Datentypen,
Anfragesprache, Indexierung) kann auf Vorhandenem aufgebaut werden. Ein
weiterer Vorteil besteht in der einfachen Anbindung von strukturierten
Daten.
Als Nachteil solcher Systeme können die in der Regel vorhandenen
hohen Ansprüche an die Hardware, der erhöhte Aufwand bei der
Verwaltung der Daten und evtl. vorhandene Schwierigkeiten bei der Integration
neuer Datentypen und Operationen angesehen werden.
Für die eigenständigen Maschinen läßt sich unterscheiden,
ob sie
-
reine Indexierungs- und Retrievalsysteme (z.B. nur Aufbau von Indexdateien)
sind oder
-
die Verknüpfung mit anderen Daten zulassen, d.h. (auch eingeschränkte)
Datenbankfunktionalität besitzen.
Bei den hier betrachteten Systeme sind sowohl Erweiterungen von kommerziellen
Datenbanken (Oracle, Illustra) als auch vollständig eigenständige
Entwicklungen (Fulcrum, OpenText) vertreten.
1.2 Speicherung der Dokumente
Ein zweites Merkmal ist die Art der Speicherung der Dokumente. Hier lassen
sich zwei Methoden unterscheiden:
-
intern in einer eigenen Datenbank und
-
extern im Dateisystem (bzw. WWW, (andere) DB).
Beide Varianten haben sowohl Vor- als auch Nachteile. Eine Speicherung
innerhalb einer Datenbank bietet so z.B. den Vorteil der Integritätssicherung,
hat aber den Nachteil, daß das Dokument möglicherweise aus dem
gewohnten Arbeitsablauf herausgenommen und somit einer weiteren Bearbeitung
entzogen wird. Umgekehrt bedarf es bei der Belassung im File-System einer
ständigen Kontrolle (automatisch oder manuell initiiert) über
Veränderungen, um die Aktualität der verwendeten Indizes zu gewährleisten.
Außerdem müssen für die Indexierung, Retrieval und evtl.
die Darstellung der Dokumente diverse Schnittstellen bzw. Gateways (siehe
Schnittstellen) zur Verfügung gestellt werden .
1.3 Retrievalmodell
Entscheidenden Einfluß auf Einsatzmöglichkeiten und Qualität
im Hinblick auf seine Bestimmung, das Textretrieval, hat die Wahl des Retrievalmodells
bzw. der Retrievalmodelle. Den Standard hierbei bildet das Boolesche Retrieval.
Desweiteren können weitere Implementierungen existieren, z.B. des
vector space models, des probabilistischen Retrievals oder andere,
proprietäre Implementationen der verschiedenen Hersteller.
2 Indexierung
2.1 Methode (Indizierung)
Die Grundlage für die Effizienz der Ausführung und die Effektivität
von Suchen in großen, unstrukturierten Datenmengen, sowie für
den Umfang angebotener Suchfunktionalität bildet die Wahl eines geeigneten
Indexes. Als Grundlage für den Index dienen zumeist invertierte Dateien
im klassischen Sinn oder mit Abwandlungen bzw. Erweiterungen.
Der Index muß für die unterstützten Suchfunktionalitäten
verschiedene Informationen abbilden können. Beispiele dafür sind:
-
simple invertierte Dateien für einfache Boolesche Suche,
-
Informationen über die Position im Dokument für Proximity-Suche
und Phrasen,
-
Unterscheidung von Datentypen für die Suche nach numerischen und Datumsfeldern,
-
evtl. statistische Informationen für Ranking,
-
"Textverdichtung", d.h. alleinige Aufzeichnung von vermeintlich höher
relevanten Wörtern im Index für probalistische Methoden.
2.2 Updatemodi
Wichtig für eine hohe Verfügbarkeit der Retrievalmaschine ist
die Möglichkeit den Index online (vs. offline) und inkrementell (nur
für geänderte Daten vs. global) aktualisieren zu können.
3 Retrieval
3.1 Angebotene Suchfunktionalitäten
Auf dem Retrievalmodell aufbauend können dem Anwender bzw. dem Anwendungsprogrammierer
verschiedenste logische Operatoren, Textoperatoren und Mittel zur Transformation
von Wörtern bzw. Text zur Verfügung gestellt werden. Dies geschieht
zumeist mit um einige Funktionen erweiterten proprietären Anfragesprache
- einem erweiterten SQL.
Eine Auswahl von häufig angebotenen Operatoren/Operationen sind:
-
exakte Suche nach Wörtern und Phrasen;
-
Boolesche (logische) Operatoren: AND, OR, NOT;
-
Proximity Operatoren: z.B. NEAR, FOLLOWED BY;
-
Wildcards: * (%), ? (_);
-
Ähnlichkeitsoperatoren über Wörtern: z.B. SOUNDEX (Ähnlichkeit
in der Aussprache), FUZZY (Ähnlichkeit in der Schreibweise, Fehlertoleranz);
-
Ähnlichkeitsoperatoren über Dokumenten und natürlichsprachlichen
Eingaben (ist zum Beispiel notwendig für Relevance Feedback);
-
Stemming: z.B. STEM ;
-
Stoppworte;
-
Thesaurus.
3.2 Ergebnisdarstellung
Ein notwendiges Feature für die Auswertung der Abfrageergebnisse ist
die Möglichkeit des Ranking. Dabei können ebenfalls verschiedene
Methoden verwendet werden. Die einfachste Art die Suchergebnisse zu ordnen,
stellt die 'SORT BY'-Klausel dar, die jedoch bei Volltextsuche kaum für
das Ordnen nach Relevanz geeignet ist. So werden von den Herstellern nach
eigenem Gutdünken verschiedene Rankingalgorithmen implementiert, die
vom einfachen Zählen der Auftretenshäufigkeit bis zu komplizierten
Methoden reichen. Unter Umständen kann man aus verschiedenen Algorithmen
auswählen oder eigene programmieren.
3.3 Verfeinerung der Suche
Eine Verfeinerung der Suche kann durch die Kombination verschiedener Operationen
der Abfragesprache und Ergebnisdarstellung erreicht werden, wie z.B. query
refinement durch Zwischenspeicherung und Nachbearbeitung der Abfrage
oder durch relevance feedback mittels einer "natürlichsprachlichen"
Suche, d.h. Angabe von relevanten Textpassagen oder Dokumenten.
4 Schnittstellen
4.1 Schnittstellen für Retrieval
Neben dem oben erwähnten enhanced SQL sollten noch andere Schnittstellen
für den Zugriff auf das System angeboten werden. Diese sind dann vor
allem interessant zur Anwendungsentwicklung (z.B. über API, ODBC,
Z39.50).
4.2 Schnittstellen für Zugriff auf externe Datenquellen
Neben dem Zugriff auf Dokumente im eigenen Filesystem ist es manchmal erwünscht,
andere Datenquellen zu benutzen, für die zusätzliche Schnittstellen
zur Verfügung stehen müssen. Man denke dabei z.B. an den Zugriff
auf Webserver und andere Datenbanken.
4.3 Unterstützte Dateiformate
Wie schon weiter oben erwähnt, sollte die Volltextsuche auch über
allen (gängigen) Dokumentenformaten ermöglicht werden können.
Von den Herstellern sind solche Dokumentenfilter standardmäßig
oder gegen Aufpreis erhältlich. Falls die Notwendigkeit besteht, sollte
auch eine Möglichkeit zur Erstellung eigener Filter gegeben sein.
5 Performance und Retrieval-Qualität
Eigentlich war vorgesehen hier Ergebnisse aus den Projekten der Text
Retrieval Conference (TREC) [T1] zu
verwenden, doch leider zeigte sich, daß zumeist nur experimentelle
Suchmaschinen bei den Tests vorgestellt wurden. Außerdem hat von
den Firmen, deren Produkte bei unserer Gegenüberstellung betrachtet
werden, nur die Firma Open Text mit der Livelink Search Engine Version
6.1 die Tests vollständig absolviert und veröffentlicht. Die
anderen haben entweder die Tests nur teilweise (Oracle) bzw. nicht (Illustra)
absolviert oder ihre Ergebnisse später zurückgezogen (Fulcrum).
Damit lägen für einen Vergleich nur die Evaluierungsdaten
des MeDoc-Projekts vor. Diese Messungen wurden anhand einer relativ kleinen
Testmenge (TIME-Suite) durchgeführt, so daß die Ergebnisse eher
nur als grobe Abschätzung in Betracht gezogen werden können.
Außerdem liegen diese ebenfalls nicht für alle von uns betrachteten
Produkte vor (außer Oracle TextServer 3) [MTP2a].
Aus diesen Gründen findet dieser Punkt in der Gegenüberstellung
keine Beachtung.
5.1 Retrieval-Qualität
Die Retrievalqualität wird in der Regel mittels der beiden Größen
Recall und Precision abgeschätzt. Sie werden mit Hilfer spezieller
Test-Kollektionen, die eine große Anzahl von Texten enthalten, ermittelt.
Eine ebensolche Test-Kollektion wird von TREC angeboten.
5.2 Performance der Update- und Einfüge-Operationen
Eine weitere meßbare Eigenschaft für VTDB sind die für
Einfüge-/Updateoperationen und Retrieval benötigten Zeiten. Diese
sind jedoch stark von verwendeten Rechnern, Netzwerken, Anzahl der Nutzer,
dem Datenvolumen usw. abhängig, so daß evtl. vorhandene Werte
ebenfalls nur zur Abschätzung dienen können.
6 Weitere Eigenschaften
Für die Einsatz in der Praxis sind noch weitere nicht unwesentliche
Bedingungen zu beachten, so z.B.:
-
unterstützte Plattformen,
-
Speicherbedarf,
-
Skalierbarkeit ,
-
Kosten für Einkauf und Pflege.
Inhaltsverzeichnis / Einleitung
/ Oracle TextServer mit ConText