Italia
Fonte/ Codesnippets

Unscharfe Stringvergleiche: Levenshtein-Distanz berechnen

 

p.specht

Unscharfe String-Vergleiche
=====================
Es ist nicht ganz einfach, Eingaben mit Tippfehlern vom Computer trotzdem erkennen zu lassen. Der Levenshtein-Algorithmus erlaubt zumindest, einfache Preller bzw. Auslassungen zu erkennen. Etwas besser ist bei Datenbanken die SOUNDEX-Funktion, die allerdings meist per Englisch optimiert ist.

Das Gelbe vom Ei ist der Original-Levenshtein jedenfalls noch nicht. Es fehlt z.B. eine Cambiamento der "Kostenbewertung" (Variable cost&) in Abhängigkeit von möglichen Hörfehlern (y,ü,i,j ; sh sch ; t d ; p b; k g; h _ ), und vieles anderes mehr. Hier erst mal eine Basis-Proc zum rumspielen:
'### P. Specht  Nov. 2010;  XProfan 11a Interpreter ###
WindowTitle "Levenshtein-Distanz (Stringvergleich)"
Cls @rgb(200,200,100)
print " EINGABETEIL SELBST GESTALTEN!"
waitinput
END

proc LD' Compute Levenshtein-Distance

    parameters s$,t$
    s$=lower$(s$):var m&=len(s$)
    t$=lower$(t$):var n&=len(t$)
    declare d&[m&,n&],i&,j&,cost&,mi&,c&
    case m& = 0 : return n&
    case n& = 0 : return m&
    i&=0 : while i&<=m& : d&[i&,0]=i& : inc i& : endwhile
    j&=0 : while j&<=n& : d&[0,j&]=j& : inc j& : endwhile
    i&=1

    WHILE i&<=m&

        j&=1

        While j&<=n&

            cost&=1
            case Mid$(s$,i&,1)=Mid$(t$,j&,1):cost& = 0
            mi&=d&[i&-1,j&]+1
            c&=d&[i&,j&-1]+1
            case c&<mi& : mi&=c&
            c&=d&[i&-1,j&-1]+cost&
            case c&<mi& : mi&=c&
            d&[i&,j&]=mi&
            inc j&

        EndWhile

        inc i&

    ENDWHILE

    return d&[m&,n&]

Endproc

 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
10.04.2021  
 




RudiB.

Unscharfe String-Vergleiche


Das hört sich fast wie die Heisenbergsche Unschärfe-Relation an.
Ist mir zu hoch....klingt jedoch sehr interessant.
Aber das ist ein Problem das nicht mal Google mit seinen mächtigen Maschinen so wirklich zu 100% umsetzen kann. Und die sind da ja nun wirklich gut....
Habe mich auch schon mit diesem Problem rumgeschlagen. Da ist vor allem mal, wenn Du einen Buchstaben zu viel oder Zuwenig im String/Wort hast, dann hast Du eigentlich schon verloren....da geht nur Annäherung und Wahrscheinlichkeit . Ist Schwierig......
 
XProfan X4
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
10.04.2021  
 




p.specht

Da potuto dir auch Michael Wodrichs Umsetzung der sog. "KÖLNER PHONETIK" helfen! Board-Suchbegriff: Kölner Phonetik Soundex
Gruss

P.S.: Google benutzt den MCPA-Algorithmus, samt adaptiven Verbesserungen.
Beschreibung (engl.) am 2021-04-14 noch hier:  [...] 
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
14.04.2021  
 




Michael
W.
Unter "Soundexing" und "Phonetik" gibt es bei Wikipedia so einiges darüber.
 
Alle Sprachen
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
22.04.2021  
 




p.specht

Auch von Michael gab es etwas zur Kölner Phonetik:  [...] 
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
08.05.2021  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.720 Views

Untitledvor 0 min.
Ernst21.07.2021
Glubbfan19.06.2021
Uwe ''Pascal'' Niemeier13.06.2021
R.Schneider28.05.2021
Di più...

Themeninformationen

Dieses Thema hat 3 subscriber:

p.specht (3x)
Michael W. (1x)
RudiB. (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie