16.12.2012 Aufrufe

Zusammenfassung - Otto-von-Guericke-Universität Magdeburg

Zusammenfassung - Otto-von-Guericke-Universität Magdeburg

Zusammenfassung - Otto-von-Guericke-Universität Magdeburg

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!