# Vektorraum-Retrieval

Das Vektorraum-Retrieval (engl.: Vector Space Model (VSM)) ist ein Verfahren zur Informationsbeschaffung, bei dem die Informationen als Punkte in einem hochdimensionalen, metrischen Vektorraum repräsentiert werden. Zur Auswertung wird die mathematische Distanz zwischen dem Suchvektor und dem Dokument-/Informationsvektor verwendet. Das Vektorraummodell wurde erstmals im SMART-System implementiert, das unter der Leitung von Gerard Salton an der Cornell University entwickelt wurde.

## Vereinfachte Beschreibung

Stark vereinfacht kann man sich das dieser Form der Informationsbeschaffung zugrundeliegende Modell wie folgt vorstellen: Jedem Wort des Dokumentes wird eine Dimension zugeordnet. Um den Punkt eines Dokumentes (oder einer Anfrage) in diesem Vektorraum zu bestimmen, kann in einer sehr einfachen Variante des Vektorraum-Modells beispielsweise gezählt werden, wie oft die einzelnen Wörter im Dokument auftreten. Der Punkt des Dokumentes im Vektorraum (der Dokumentenvektor) entspricht dann den Häufigkeiten dieser Wörter. Beispielsweise könnte man somit das aus einem Satz bestehende Dokument „Die Explosion zerstört die Vegetation“ als Vektor (0,…,2,…,1,…,1,…,1,…) beschreiben: Das Wort die tritt zweimal auf, Explosion, zerstört und Vegetation jeweils einmal; sonstige Wörter treten nicht (0 mal) auf.
Suchanfragen lassen sich auf dieselbe Weise kodieren; eine fiktive Suchanfrage „Zerstört die Explosion die Vegetation?“ entspräche wegen der gleichen Wortverteilung in diesem Fall genau demselben (Anfrage-)Vektor (0,…,2,…,1,…,1,…,1,…). Das Problem des Auffindens von Dokumenten, die möglichst gut mit der Suchanfrage übereinstimmen, kann man daher mit Hilfe des Vektorraummodelles lösen, indem man diejenigen Dokumente sucht, deren Vektor möglichst „ähnlich“ zum Vektor der Suchanfrage ist. Eine einfache Möglichkeit könnte beispielsweise sein, Dokumentenvektoren zu suchen, die parallel zum Anfragevektor liegen oder nur um einen kleinen Winkel von ihm abweichen.
In der Realität sind Vektorraummodelle erheblich komplexer und berücksichtigen beispielsweise unterschiedliche Worthäufigkeiten. Wörter wie „die“ oder „ist“ treten beispielsweise in nahezu jedem deutschsprachigen Dokument auf und sind daher nicht sehr aussagekräftig, wohingegen Wörter wie „Desoxyribonukleinsäure“ seltener und somit potenziell besser geeignet sind, das Dokument von anderen inhaltlich abzugrenzen.

## Vorgehensweise

Um Vektorraum-Retrieval zu ermöglichen, sind einige Vorarbeiten nötig. Der erste Schritt besteht in dem Aufbau eines Dokumentvektorenraumes und der Dokument-Indexierung, bei welcher die Dokumente der Dokumentmenge auf jeweils genau einen Punkt (Dokumentvektoren) im Dokumentvektorenraum abgebildet werden. Hierzu existieren eine Vielzahl von Merkmalsgewichtungsmodellen, die alle auf der Häufigkeit von Merkmalen wie Termen, Lemmata oder n-Grammen in Einzeldokumenten sowie der gesamten Dokumentmenge aufbauen.
Das Retrieval im Vektorraummodell führt zunächst eine Query-Indizierung durch, bei welcher die Anfrage auf einen Vektor im Vektorraum abgebildet wird. Die nachfolgende Retrieval-Funktion ermittelt eine Teilmenge der Dokumentvektoren, die eine bestimmte Ähnlichkeit bezüglich des Queryvektors besitzen, und die Rankingfunktion bildet diese Teilmenge auf eine geordnete Liste von Dokumentvektoren ab. Dem Nutzer, welcher die Query gestellt hat, wird eine Liste von Dokumenten präsentiert, welche mit der Liste der Dokumentvektoren korrespondiert.

## VSM implementierende Software

* Apache Lucene ist eine Java – Programmbibliothek zur Volltextsuche.
* Elasticsearch ist eine Suchmaschine auf Basis von Lucene.
* Gensim ist ein auf Python und NumPy basierende Programmbibliothek zur Modellierung von Vector Space.
* Weka ist ein Softwaretool, das verschiedene Techniken aus den Bereichen Maschinelles Lernen und Data-Mining bereitstellt.
* Word2vec besteht aus einer Gruppe von Modellen mit flachen, zweilagigen künstlichen neuronalen Netzen, die darauf trainiert sind, linguistische Zusammenhänge von Wörtern zu erfassen.