Seiten

  • Startseite
  • Impressum
  • Inhalt
  • MINT
  • Sprache
  • Soziales
  • Geist
  • Kunst
  • Gemischtes
  • Gedichte

Sonntag, 3. August 2014

Übersetzung mithilfe der Levenshtein-Distanz


Deutsch

Es gibt vie­le ver­schie­de­ne Über­set­zungsmöglich­kei­ten für Wörter und Tex­te. Ei­ne ganz ein­fa­che möchte ich heu­te in ih­rer sim­pels­ten Form vor­stel­len. Und zwar geht es um Über­set­zung mit­hil­fe der Le­vens­ht­ein-Di­stanz. Das Prin­zip eig­net sich zur Über­set­zung zwi­schen Spra­chen, de­ren Wortschätze sich sehr ähn­lich sind, oder ge­ne­rell für wis­sen­schaft­li­che Tex­te, da z. B. bio­lo­gi­sche und che­mi­sche Be­zeich­nun­gen in­ter­na­tio­na­li­siert sind.
In mei­nem Bei­spiel be­nut­ze ich Deutsch und Eng­lisch. Die Le­vens­ht­ein-Di­stanz ist per Def. die mi­ni­ma­le An­zahl an Einfüge-, Lösch- und Er­set­z­ope­ra­tio­nen, um ei­ne Zei­chen­ket­te in ei­ne zwei­te um­zu­wan­deln. Z. B.:
1. patients
2. patiente (ersetze s durch e)
3. patienten (füge n ein)
Die Le­vens­ht­ein-Di­stanz zwi­schen "pa­ti­ents" und "pa­ti­en­ten" ist al­so 2.

Mein Al­go­rith­mus ar­bei­tet wie folgt: Der über­ge­be­ne Satz wird in ei­ne Rei­hung mit sei­nen Ein­zelwörtern zer­legt. Für je­des Wort wird ei­ne wei­te­re Rei­hung an­ge­legt, wel­che die Le­vens­ht­ein-Di­stan­zen zu al­len Wörtern des Ziel­spra­chewörter­buchs enthält. Die­se wer­den dann nach den Di­stan­zen sor­tiert, so­dass das Wort mit der kleins­ten Le­vens­ht­ein-Di­stanz zum Aus­gangs­spra­che­wort am An­fang der Rei­hung steht. Die­ses Wort wird dann auch als Über­set­zung ge­nom­men. Es wird al­so im­mer das Wort aus dem Ziel­spra­chewörter­buch als Über­set­zung ge­nom­men, wel­ches die ge­rings­te (ma­the­ma­ti­sche) Ab­wei­chung vom Aus­gangs­spra­che­wort hat.

Ein Bsp.:
Eingabe:doctorsmustmakevisits (Englisch)
Levenshtein-Distanz:3432
Ausgabe:doktorenmuessenmachenvisiten (Deutsch)
Ein fer­ti­ges PHP-Skript von mir mit Kom­men­ta­ren zum An­schau­en ver­birgt sich hin­ter die­sem MD5-Hash:
Ein­fach auf der Sei­te www.md5­de­crypt.org/ ent­schlüsseln las­sen und in ein PHP-Do­ku­ment ko­pie­ren. Die­se Me­tho­de hat je­de Men­ge Ver­bes­se­rungs­po­ten­ti­al. Pro­biert euch aus!

Kommentare:

  1. Ansich sehr interessant, aber das funktioniert doch nur, wenn die Sprachen sich SEHR ähnlich sind. Findet dein Programm den Weg von Owl zu Eule?

    AntwortenLöschen
    Antworten
    1. Die LD von "owl" und "Eule" ist 3. Dahingegen ist die LD von "owl" und "toll" nur 2, was dazu führen würde, dass "toll" als Übersetzung für "owl" in Frage käme.
      Wie ich schon sagte: Diese Methode wird (in modifizierter/verbesserter) Form hauptsächlich bei Fachtexten angewendet. Was mir hier im Nachhinein noch eingefallen ist, ist, dass die LD nicht so aussagekräftig wie die Übereinstimmung ist, welche die LD noch einmal auf die Länge des Wortes bezieht.
      P. S.: Zu Eulen habe ich doch auch schon mal was geschrieben ...

      Löschen