Zusammenfassung - Otto-von-Guericke-Universität Magdeburg
Zusammenfassung - Otto-von-Guericke-Universität Magdeburg
Zusammenfassung - Otto-von-Guericke-Universität Magdeburg
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
6 Suche mit Fehlern<br />
Fehlern aufweist. Das heißt, die Suche soll Stellen innerhalb einer Zeichenkette finden, die zu<br />
einer Vergleichszeichenkette »ähnlich« sind. In Abschnitt 6.1 wird der Begriff der Ähnlichkeit<br />
zwischen Zeichenketten untersucht; im folgenden Abschnitt 6.2 wird ein Suchalgorithmus<br />
diskutiert, der auf Grundlage dieser Ähnlichkeit eine fehlertolerante Suche ermöglicht. In<br />
Abbildung 6.1 ist die Einordnung des Gegenstandes dieses Kapitels in das Blockschema des<br />
Suchsystems dargestellt, wie es in Kapitel 4 eingeführt wurde.<br />
6.1 Ähnlichkeiten <strong>von</strong> Zeichenketten<br />
Für den generellen Begriff der Ähnlichkeit <strong>von</strong> Objekten gibt es keine feste Definition. Jedoch<br />
kann ein Ähnlichkeitsmaß als eine Funktion betrachtet werden, »die einem Paar <strong>von</strong> Objekten<br />
eine Zahl aus dem reellen Intervall [0, 1] zuordnet. Dabei korrespondiert der Wert 1 zur<br />
maximalen Ähnlichkeit und der Wert 0 zur maximalen Unähnlichkeit.« [Sch04, S. 195]<br />
In der Praxis ist es üblich, ein Ähnlichkeitsmaß für konkrete Objekte o,o1,o2,o3 ∈ O durch<br />
eine Distanzfunktion zu realisieren. Unter Distanzfunktionen sind solche Funktionen distance :<br />
O × O → R + 0 zu verstehen, die den folgenden vier Bedingungen genügen [Sch04, S. 152]:<br />
• Selbstidentität: ∀o ∈ O, distance(o,o) = 0<br />
• Positivität: ∀o1,o2 ∈ O, o1 �= o2 ⇐⇒ distance(o1,o2) > 0<br />
• Symmetrie: ∀o1,o2 ∈ O, distance(o1,o2) = distance(o2,o1)<br />
• Dreiecksungleichung:<br />
∀o1,o2,o3 ∈ O, distance(o1,o3) ≤ distance(o1,o2) + distance(o2,o3)<br />
Wird ein Ähnlichkeitsmaß mittels einer Distanz ausgedrückt, ist es nötig, die berechneten<br />
Distanzwerte in Ähnlichkeitswerte aus dem Intervall [0, 1] umzuwandeln. Falls es einen<br />
maximalen Wert distancemax gibt, den distance(·,·) nicht überschreiten kann, so ist eine Umwandlung<br />
der Distanz in ein Ähnlichkeitsmaß mittels einer einfachen Linearkombination f (·)<br />
möglich [Sch04, S. 223f]:<br />
f (distance) = 1 − distance<br />
distancemax<br />
(6.1)<br />
Zwei der in den folgenden Teilabschnitten beschriebenen Abstandsfunktionen für Zeichenketten<br />
erfüllen die oben geforderten vier Distanzbedingungen.<br />
6.1.1 Editierabstand<br />
Um die Unähnlichkeit, das heißt den Abstand, zweier Zeichenketten zu bestimmen, wird zumeist<br />
der so genannte Editierabstand (engl. edit distance) verwendet. Die Idee dahinter ist,<br />
dass eine Zeichenkette r in eine andere Zeichenkette s überführt werden kann, indem bestimmte<br />
Operationen (die so genannten Editieroperationen) auf die Elemente der ersten Zeichenkette<br />
angewandt werden. Im Falle des klassischen Editierabstandes [Lev65, Lev66] sind dies die<br />
Operationen Einfügen, Löschen und Ersetzen einzelner Zeichen. Je geringer die Anzahl der<br />
72