Domino 9 und frühere Versionen > Entwicklung

"weicher" Stringvergleich

<< < (2/2)

Aladdin Sane:
Okay danke.

Ich denke mir dann mal was aus...

Gruß
pASCAL

Aladdin Sane:
Ich habe etwas gefunden:

http://www.vbarchiv.net/archiv/tipp_384.html

Die Funktion Soundex ist in VBA programmiert - man kann sie eigentlich
unverändert in LS übernommen werden:

Man übergibt der Funktion einen String und erhält einen Code.
Wenn der Code gleich ist, sind die Strings "ähnlich".

das Beispiel mit den Vögeln gibt folgende Werte zurück:

soundex("Vogl")   -> V24
soundex("Vogel") -> V24
soundex("Vögel") -> V24

aber:
soundex("Vögels") -> V242
soundex("Vogels") -> V243

und:
soundex("vögeln") -> V245

Dass "vögeln" <> "Vögels" ist, finde etwas unerwartet, aber man kann ja
vielleicht den Algorithmus etwas variieren...

Gruß
pASCAL

Semeaphoros:
Hab den Algorithmus mal angeschaut und dem ehemaligen Sprachwissenschaftler fällt schon gleich die Idee auf, die dahinter steckt: eine Gewichtung der einzelnen Laute, und zudem ist das jetzt eine Version, die auf die deutsche Sprache ausgerichtet ist. Das in Notes vorhandene @Soundex wird da wohl eher englischlastig sein.

Die für Dich erstaunliche Differenz zwischen "VÖGELN" und "VÖGELS" ist nicht weiter erstaunlich, die Aehnlichkeit ist bei uns im Kopf durch Assoziation vorhanden und lässt sich technisch bisher kaum wirklich abbilden, sprich wenn Du den Algorithmus ändern möchtest, wirst Du ihn sehr rasch derart verwässern, dass die Unterschiede zu gering werden und Du damit deutlich zu viele ähnliche Resultate bekommst.

koehlerbv:
Bedenklicher finde ich an dieser Implementierung (die weitestgehend dem @Soundex entspricht), dass "Fogel" und "Vogel" nicht das gleiche Ergebnis abliefert.

Wenn man sich eine eigene Routine programmiert, muss man natürlich auch wissen, was man normieren und damit vergleichbar machen möchte.

Bei einem Adressvergleich liegt der Verdacht sehr nahe, dass es sich bei
07743 Jena, Wagnergasse 20
und
07745 Jena (Innenstadt), Richard-Wagner-Strasse 20 (?)
um die gleiche Adresse handelt.
Solch ein Vergleich ist natürlich was ganz anderes als im NAB gemacht wird in der Ansicht ($Users), wenn es um den Vergleich zwischen "Müller" und "Mueller" geht.

Auf jeden Fall ist's aber ein faszinierendes Thema !

Bernhard

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln