Michael Schröpl: (tech.+jur.) Fragen zu Suchalgorithmus

Beitrag lesen

Hi,

"Hamming-Distanz 1"
Was ist das?

da muß ich mal kurz googlen ... ;-)

Nehmen wir mal den hier: http://www.minet.uni-jena.de/~matthi/www.ct-projekt.smigel.de/node57.html

Ja, das klingt _furchtbar_ mathematisch. Ist es auch. ;-)

Ich wollte den Begriff eigentlich nur verwenden, um ein populäres Beispiel
(das habe ich in der Vorlesung über Codierungstheorie 1983 oder so gelernt)
für eine beliebige mathematische Ähnlichkeitsfunktion zu bringen - da gibt
es sicherlich noch diverse andere.

Die Frage ist ja, wie Du das Tippfehlerproblem quantifizieren kannst.
Du willst ja das "ähnlichste" Wort finden - also eine eindimensionale
Optimierungsaufgabe lösen.
Da wäre es doch sehr hilfreich, wenn Du die "Qualität" eines Korrektur-
vorschlages als skaralern numerischen Wert ausdrücken könntest.

Versuchen wir das doch einfach mal:

  • Ist "matematisch" ein Tippfehler für "mathemathisch"?
      Ja, wenn Du mit "Tippfehler" das Weglassen eines Zeichens meinst,
      also die Anzahl der erforderlichen Einfügungen zur Korrektur des Fehlers.
      In dieser "Dimension" ist der "Abstand" zwischen beiden Worten gleich 1.
  • Ist "matthematisch" ein Tippfehler für "mathemathisch"?
      Ja, wenn Du mit "Tippfehler" das Hinzufügen eines Zeichens meinst,
      also die Anzahl der erforderlichen Löschungen zur Korrektur des Fehlers.
      In dieser "Dimension" ist der "Abstand" zwischen beiden Worten gleich 1.
  • Ist "mathematusch" ein Tippfehler für "mathemathisch"?
      Ja, wenn Du mit Tippfehler das Tippen eines falschen Zeichens meinst,
      also die Anzahl der erforderlichen Änderungen zur Korrektur des Fehlers.
    Das sieht nicht wirklich eindimensional aus; irgend eine Transformation
    dieses sicherich vektoriellen Ähnlichkeitswertes in einen Skalar werden
    wir dringend brauchen.

Und beachte, daß sich eine Korrektur zwar sicherlich als "Einfügung und
Löschung" darstellen ließe (dann Abstand 2), daß dies aber dem aufgetrete-
nen Phänomen nicht gerecht wird (ich habe absichtlich die Taste neben dem
richtigen Buchstaben genommen, um einen Tipp- und nicht einen Rechtschreibe-
fehler zu simulieren.
Der "tatsächliche Abstand" bei einem Tippfehler kann also durchaus vom
Tastatur-Layout des Anwender abhängen - bzw. wenn Du über selbiges irgend-
welche Annahmen treffen kannst, dann kannst Du vielleicht "wahrscheinliche
Tippfehler" von "unwahrscheinlichen" unterscheiden.
Genaus würde Dir helfen, wenn Du weißt, welche Sprache der Benutzer spricht.
Wenn Du also einen Teil der Eingabe "verstehst", kannst Du für den anderen,
fehlerhaften Teil schon gewisse Annahmen treffen, welche Deine Chance beim
Raten erhöhen könnten.

Letzteres ist genau dann wichtig, wenn Du mehrere "richtige" Worte im
selben "Abstand" hast und jetzt entweder die Liste nach einer "Ranking-
Funktion" sortiert anbieten oder "auf gut Glück" sogar einen wahrschein-
lichsten Wert raten bzw. vorschlagen möchtest (für eine URL-redirection
wäre letzteres hilfreich).

Viele Grüße
      Michael
P.S.: Gerade in Deinem Themenbereich ist eine mathematische Formalisierung
      "was ist ein Tippfehler" und eine exakte Fixierung einer Aufgaben-
      stellung unabdingbar. Alles andere bleibt Kristallkugel - andere
      würden "KI" dazu sagen. ;-)