Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: bikerboy am 12.12.06 - 16:05:28

Titel: "Ähnlickeits-Algorhythmus"
Beitrag von: bikerboy am 12.12.06 - 16:05:28
Also heute kein Problem sondern mehr eine Fragestellung.

Ich schreibe immer noch an einer Dublettenprüfung. Habe eine funkionierende Suche gebaut die ein bisschen verschachtelt ist und somit denke gute Ergebnisse liefert. (Wahrscheinlich ist sie nicht so toll wie ich denke aber egal)

Jetzt zu meinem eigentlichen Thema.

Computer sind ja von Natur aus dumm , machen das aber durch ihr Schnelligkeit wieder weg ;)

Naja jedenfalls kann der Computer ja nicht erkennen dass der "Herr Maier" dem "Herr Mayer" sehr ähnlich ist. Kann ja sein das ein Angestellter die Namen nicht richtig eingibt oder wie auch immer. Für den Computer sind es Grundsätzlich andere Personen. Ich möchte nun aber eine intelligente Funktion die das behebt.

Die Frage ist nur wie gehe ich vor ? Soll ich einen Replace über den String laufen lassen der alle mögichen Mutationen durchtestet ? (War mein erster Gedanke, aber das kann dann ziemlich lange dauern)

Naja dann dachte ich daran den String zu zerlegen und von vorne und hinten die Buchstaben unter berücksichtung der Stringlänge zu analysieren, aber ich denke dass auch dies nicht so clever ist, des weiteren weiss ich im Moment auch einfach nicht wie ich das Ergebnis auswerten sollte.

Nun ja vielleicht habt ihr ja gute Ideen wie ich es umsetzten könnte wäre euch sehr dankbar für eure Anregungen.

Mit freundlichem Gruß und dank im Voraus

Robert
Titel: Re: "Ähnlickeits-Algorhythmus"
Beitrag von: ZaLudtske am 12.12.06 - 16:09:18
Hi,

such mal im Web nach dem Algorithmus für die Soundex-Funktion. Ich denke diese sollte dein Problem lösen.

Rainer
Titel: Re: "Ähnlickeits-Algorhythmus"
Beitrag von: eknori am 12.12.06 - 16:11:09
@Soundex 
Titel: Re: "Ähnlickeits-Algorhythmus"
Beitrag von: eknori am 12.12.06 - 16:14:22
How Does Soundex Work in Lotus Notes and Domino? (http://hostit1.connectria.com/twduff/home.nsf/d6plinks/TDUF-5VT5GE)

LotusScript version of the Soundex function (http://www.google.de/url?sa=t&ct=res&cd=3&url=http%3A%2F%2Fwww.nsftools.com%2Ftools%2Fls-book.pdf&ei=2MZ-RbXuIYu8wAKnoOyQAQ&usg=__VKtQ4K0z4mCCv60dFL0EUQoXgjg=&sig2=5dXrMHWSk53pj2ahhV2F3g)
Titel: Re: "Ähnlickeits-Algorhythmus"
Beitrag von: Thomas Schulte am 12.12.06 - 16:35:13
Wolfgang Flamme hat einmal eine erstklassige Implementation des Levenstein Algorythmus gezeigt. Leider ist seine Web Seite nicht mehr online.
Titel: Re: "Ähnlickeits-Algorhythmus"
Beitrag von: Thomas Schulte am 12.12.06 - 16:41:38
Und zwei andere Artikel von ihm waren auch sehr aufschlußreich:
"Vermeiden von Adressbuch Duplikaten mit Klangfarbenanalyse" und "Phonetische Äquivalente berechnen"
Titel: Re: "Ähnlickeits-Algorhythmus"
Beitrag von: bikerboy am 12.12.06 - 17:40:57
Okay danke für die Antworten . Sie haben mich auf jedenfall weitergerbracht. Zwar bin ich noch nicht so überzeugt von dem Soundex-Code bin , aber er geht in die richtige Richtung, dann habe ich mir noch ein bisschen die PDF-Datei von eknori hat mir auch geholfen. Vielleicht kann ich die Funktion noch ein bisschen verfeinern. Was mich an der Soundex-Sache stört ist , dass er ja ganze Wortteile einfach unterschlägt. So sind Herr Bauer und Herr Bayer in Soundex identisch sind.

Die Idee hinter der Funktion ist aber dennoch genial. Werde meine Funktion auf dem Gerüst aufbauen.
Titel: Re: "Ähnlickeits-Algorhythmus"
Beitrag von: bikerboy am 14.12.06 - 10:02:42
So es ist vollbracht, ich habe den Code aus der PDF von eknori genommen und nach meinen Ansprüchen modifiziert. Natürlich habe ich das Rad nicht neu erfunden, sondern nur Sachen "verbessert" die mich getsört haben. Dazu gehört zum Beispiel, dass @Soundex generell alle Vokale unterschlägt, was Notes dann den Bauern nicht vom Bayern unterscheidenlassen kann. Also habe ich dieses Makel ausgemerzt, indem ich nach einem "e" oder "a" direkt prüfen lasse ob der nachfolgende Buchstabe ein "i" oder "y" ist, falls das der Fall ist, dann setz er dafür einen Wert. Somit habe ich weiterhin , das bewährte Prinzip aber halt ein bisschen besser.

Frage an euch. Was haltet ihr davon?
Titel: Re: "Ähnlickeits-Algorhythmus"
Beitrag von: Thomas Schulte am 14.12.06 - 15:10:00
Stelle es doch einfach bei Opentnf in der codebin mit einem entsprechenden Kommentar zur Verfügung.