# Erweitertes Boolesches Retrieval

Erweitertes Boolesches Retrieval ist eine Abwandlung des Booleschen Retrieval, die eine flexiblere Handhabung der Suchbegriffe und eine Bewertung der Suchresultate erlaubt.
Beim klassischen Booleschen Retrieval legt die Anfrage fest, welche Begriffe in den Suchresultaten vorkommen sollen. Die Anfrage teilt die Dokumente in zwei Mengen: Die einen Dokumente erfüllen die Anfrage, die anderen nicht. Das bringt zwei Probleme mit sich:
* Ein Dokument, das einen verlangten Term nicht enthält, wird nicht gefunden. Dennoch könnte das Dokument relevant sein. Womöglich benennt es den gesuchten Begriff einfach mit einem anderen Namen (Synonymie). Die anderen Suchterme sind vielleicht zahlreich vertreten.
* Die Dokumente, die den Suchkriterien entsprechen, können nicht nach Relevanz geordnet werden.
Das erweiterte Boolesche Modell versucht, diesen Problemen zu begegnen, indem die binäre Natur der Booleschen Algebra (wahr - falsch) aufgehoben und stattdessen Werte erlaubt werden, die sich dazwischen bewegen. Die Werte werden dabei mathematisch über einem Intervall [0,1] definiert, wobei null für „falsch“, eins für „wahr“ steht.

## Mathematische Definition

Ein erweitertes Boolesches Modell wird definiert durch den 4-Tupel (T, Q, D, rank(.,.)) mit
* T = {t$_i$ | i = 1, …, n}: Menge der Indexterme, die Dokumente und Queries beschreiben.
* Q = {q$_j$ | i = 1, …}: Menge aller erlaubten Queries.
* D = {d$_k$ | k = 1, …, m}: Menge der vorliegenden Dokumente. Bei den erweiterten Booleschen Modellen besitzt jeder Term t$_{ki}$ eines Dokumentes d$_k$ ein Gewicht w$_{ki}$ ∈ [0,1], welches die Wichtigkeit des Termes im Dokument repräsentiert. Ein Dokument d$_k$ besitzt somit die Struktur d$_k$ = ((t$_{k1}$, w$_{k1}$), …, (t$_{kn}$, w$_{kn}$)).
* rank(.,.): Rankingfunktion, welche die Ähnlichkeit eines Dokumentes mit einer Query beschreibt. Sie ist allgemein definiert durch: rank(d$_k$, q$_j$): D x Q → [0,1]: (d$_k$, q$_j$) |→ rank(d$_k$, q$_j$) ∈ [0,1].
Die Rankingfunktion beschreibt die unterschiedlichen Klassen von erweiterten Booleschen Modellen, wobei alle Modelle zwischen der Verwendung der logischen Operatoren AND und OR in der Query unterscheiden.

## Erweiterte Boolesche Modelle ohne Query-Gewichte

Bei dieser Klasse von Modellen wird jede Query repräsentiert als eine Kombination der Indexterme und der logischen Operatoren AND, OR, NOT unter der möglichen Verwendung von beliebig geklammerten Ausdrücken. Es wird angenommen, dass alle Terme die gleiche Bedeutung besitzen, was durch fehlende Termgewichte in der Query repräsentiert ist. Folgende erweiterte Boolesche Modelle lassen sich unterscheiden:

### Einfache Fuzzy-Mengen-Modell (Buell 1981, Bookstein 1980, Radecki 1979)

    rank(d$_k$, t$_1$ AND t$_2$) = MIN{w$_{k1}$, w$_{k2}$};
    rank(d$_k$, t$_1$ OR t$_2$) = MAX{w$_{k1}$, w$_{k2}$}.
Dieses einfache Modell besitzt die Einschränkung, dass es nur zwei Terme evaluieren kann, im Gegensatz zu den folgenden Modellen, die beliebig viele Terme verarbeiten können.

### Waller-Kraft-Modell (Waller & Kraft 1979)

    rank(d$_k$, t$_1$ AND … AND t$_n$) = (1 − γ) · MIN{w$_{k1}$, …, w$_{kn}$} + γ · MAX{w$_{k1}$, …, w$_{kn}$}, 0 ≤ γ ≤ 0,5;
    rank(d$_k$, t$_1$ OR … OR t$_n$) = (1 – γ) · MIN{w$_{k1}$, …, w$_{kn}$} + γ · MAX{w$_{k1}$, …, w$_{kn}$}, 0,5 ≤ γ ≤ 1.

### Paice-Modell (Paice 1984)

Bei einer AND-Verknüpfung ordne zunächst die Gewichte w$_{ki}$ mit ansteigenden Werten, d. h. w$_{k1}$ ≤ … ≤ w$_{kn}$, und berechne dann
    rank(d$_k$, t$_1$ AND … AND t$_n$) = (∑$_{i=1}$$^n$ (r$^{i-1}$ · w$_{ki}$))/(∑$_{i=1}$$^n$ r$^{i-1}$), 0 ≤ r ≤ 1.
Bei einer OR-Verknüpfung ordne zunächst die Gewichte w$_{ki}$ mit absteigenden Werten, d. h. w$_{k1}$ ≥ … ≥ w$_{kn}$, und berechne dann
    rank(d$_k$, t$_1$ OR … OR t$_n$) = (∑$_{i=1}$$^n$ (r$^{i-1}$ · w$_{ki}$))/(∑$_{i=1}$$^n$ r$^{i-1}$), 0 ≤ r ≤ 1.

### P-Norm-Modell (Salton et al. 1983)

    rank(d$_k$, t$_1$ AND … AND t$_n$) = 1 − (1/n · ∑$_{i=1}$$^n$ (1 − w$_{ki}$)$^p$)$^{1/p}$, 1 ≤ p < ∞,
    rank(d$_k$, t$_1$ OR … OR t$_n$) = 1 − (1/n · ∑$_{i=1}$$^n$ (w$_{ki}$)$^p$)$^{1/p}$, 1 ≤ p < ∞.

### Infinite-One-Modell (Smith 1990)

    rank(d$_k$, t$_1$ AND … AND t$_n$) = γ · (1 − MAX{1 − w$_{k1}$, …, 1 − w$_{kn}$}) + (1 − γ) · (1/n · ∑$_{i=1}$$^n$ w$_{ki}$), 0 ≤ γ ≤ 1;
    rank(d$_k$, t$_1$ OR … OR t$_n$) = γ · MAX{w$_{k1}$, …, w$_{kn}$} + (1 − γ) · (1/n · ∑$_{i=1}$$^n$ w$_{ki}$), 0 ≤ γ ≤ 1.

## Erweiterte Boolesche Modelle mit Query-Gewichten

Die Retrieval-Effektivität lässt sich steigern, indem den Termen Wichtigkeitsfaktoren in Form von Gewichten zugeordnet werden. Eine Query q$_j$ bekommt somit eine Struktur analog zu einem Dokument d$_k$ mit Tupeln aus Termen und Gewichten. Werden Terme, die nicht in der Ursprungs-Query auftreten mit einem Gewicht von Null kodiert, so kann jede Ursprungs-Query in eine Query umkodiert werden, die alle in T vorkommenden Terme mit berücksichtigt:
    q$_j$ = ((t$_{q(j)1}$, w$_{q(j)1}$), …, (t$_{q(j)n}$, w$_{q(j)n}$)).
Bei den Relevanz-Gewichtungs Ansätzen (siehe Buell (1981)) werden die Rankingfunktionen derart reformuliert, dass die Gewichte der Dokumente und Queries multipliziert werden, d. h.:
    rank(d$_k$, (t$_{q(j)}$, w$_{q(j)}$)) = w$_k$ · w$_{q(j)}$.
Unter dieser Annahme sind von den vorgestellten erweiterten Booleschen Modellen das P-Norm- und das Infinite-One-Modell in der Lage, die Gewichte in den Dokumenten und einer Query zu evaluieren:

### P-Norm-Modell mit Query-Gewichten

    rank(d$_k$, (t$_{q(j)1}$, w$_{q(j)1}$) AND … AND (t$_{q(j)n}$, w$_{q(j)n}$)) = 1 − ((∑$_{i=1}$$^n$ (1 − w$_{ki}$)$^p$ · w$_{q(j)i}$$^p$)/(∑$_{i=1}$$^n$ w$_{ki}$$^p$))$^{1/p}$, 1 ≤ p < ∞,
    rank(d$_k$, (t$_{q(j)1}$, w$_{q(j)1}$) OR … OR (t$_{q(j)n}$, w$_{q(j)n}$)) = 1 − ((∑$_{i=1}$$^n$ w$_{ki}$$^p$ · w$_{q(j)i}$$^p$)/(∑$_{i=1}$$^n$ w$_{ki}$$^p$))$^{1/p}$, 1 ≤ p < ∞.

### Infinite-One-Modell mit Query-Gewichten

    rank(d$_k$, (t$_{q(j)1}$, w$_{q(j)1}$) AND … AND (t$_{q(j)n}$, w$_{q(j)n}$)) = γ · (1 − ((MAX{(1 − w$_{k1}$) · w$_{q(j)1}$, …, (1 − w$_{kn}$) · w$_{q(j)n}$})/(MAX{w$_{q(j)1}$, …, w$_{q(j)n}$})) + (1 − γ) · ((∑$_{i=1}$$^n$ (w$_{ki}$ · w$_{q(j)i}$)/(∑$_{i=1}$$^n$ w$_{q(j)i}$)), 0 ≤ γ ≤ 1;
    rank(d$_k$, (t$_{q(j)1}$, w$_{q(j)1}$) OR … OR (t$_{q(j)n}$, w$_{q(j)n}$)) = γ · (MAX{w$_{k1}$ · w$_{q(j)1}$, …, w$_{kn}$ · w$_{q(j)n}$})/(MAX{w$_{q(j)1}$, …, w$_{q(j)n}$}) + (1 − γ) · ((∑$_{i=1}$$^n$ (w$_{ki}$ · w$_{q(j)i}$))/(∑$_{i=1}$$^n$ w$_{q(j)i}$)), 0 ≤ γ ≤ 1.