Hauptseite, vorige Seite, nächste Seite

String-Ähnlichkeit (plain string similarity)

Dieses Ähnlichkeitsmaß basiert auf n-grams. n-grams sind Substrings der Länge n eines gegebenen Strings. Normalerweise werden digrams (n=2) und trigrams (n=3) benutzt.

Die String-Ähnlichkeit ist die Anzahl der gemeinsamen n-grams durch die Anzahl der auftretenden n-grams zweier Strings s1 und s2.

Für die Suche ist s1 der Suchbegriff und s2 ein Begriff in der Datenbank. Die Suche läßt sich mit invertierten Indizes über die n-grams implementieren.

Da die Anzahl der gemeinsamen n-grams größer 0 sein muß, braucht man nur die Begriffe in der Datenbank suchen, die mindestens ein gemeinsamenes n-gram mit dem Suchbegriff haben. Die Suche nach allen Begriffen in der Datenbank, die eine String-Ähnlichkeit größer 0 haben, kann jedoch sehr aufwendig werden, da in natürlichen Strachen bestimmte n-grams sehr oft vorkommen (z.B. en, nen).

trigramssearched wordretrieved words
RECEIEVERECEIVERECEIVER
REC111
ECE111
CEI111
EIE1--
IEV1--
EVE1--
EIV-11
IVE-11
VER--1
Koeffizient3/83/9

In diesem Fall hat das Wort "RECEIVE" eine größere String-Ähnlichkeit (3/8) zu dem falschgeschriebenen Suchbegriff "RECEIEVE" als der Begriff "RECEIVER" (3/9).