- Delphi / Pascal : Distance de jaro-winkler - CodeS SourceS
- C / C++ / C++.NET : Distance de jaro-winkler - CodeS SourceS
- SQL : Distance entre 2 villes, proximité - CodeS SourceS
- Javascript : Calculer la distance entre deux adresses de formulaire grâce à l'api googl
- PHP : Calcul d'une distance orthodromique - CodeS SourceS
2 sept. 2008 à 17:27
Tu dessines la chaine sur un canvas, et tu fais la difference avec un bitma p rempli selon un pourcentage ....???
2 sept. 2008 à 17:06
Pour y remédier on pourrais y incorporer juste avant un algo qui supprime les accents avant comparaison par exemple.
Et au faite pour Loda, si tu veux utiliser cet algo dans ton aglomérateur de news, ne te sert pas du côté Winkler (car sa compte plus le préfixe)
Utilise juste la distance de Jaro.
31 août 2008 à 18:24
a+
30 août 2008 à 01:23
Les accents, tu gais comment ?
Pour SoundEx, il y a une correspondance spéciale...
http://fr.wikipedia.org/wiki/Soundex
30 août 2008 à 00:20
A : la distance de Levenstein / Longeur max des 2 mots
B : la distance de Jaro
C : la distance de Jaro-Winkler
cela donne le tableau suivant :
Robert - Rupert
A=66.67%
B=77.78%
C=80%
Robert - Rubin
A=33.33%
B=57.78%
C=62%
Rupert - Rubin
A=33.33%
B=57.78%
C=66.22%
on constate que Robert ressemble plus à Rupert que Rubin (via tout les algos)
après on peut même dire via Jaro-Winkler que Rubin ressemble plus à Rupert qu'à Robert
mais sa c'est surtout parce que Winkler à rajouté le fait que le préfixe est plus important.
29 août 2008 à 18:04
Pour soundex :
En effectuant cet algorithme, on obtient avec "Robert" et "Rupert" la même chaîne : "R163", tandis que "Rubin" donne "R150".
29 août 2008 à 13:56
par curiosité: Tu utilises cet algo pour quel type d'application ? D'après l'article de wikipedia, son usage semble limité à des mots ou des textes très courts. Et même dans ce cas, un couple de mots assez différent semblent retourner des valeurs similaire à un couple de mots assez semblable. (je dis "semble", car je ne pas fait de test)
je m'intéresse au sujet pour un projet d'alogmerateur de news. Afin de détecter les news à double (typiquement avec une virgule en plus ou un titre un peu plus court)
bon week-end,
29 août 2008 à 12:27
Intéressant..
ce code pourrait être utilisé par CS afin d'offrir une possibilité de recherche à l'intérieur de ses propres commentaires sur le forum.
A voir..
29 août 2008 à 12:11
Cordialement, Bacterius !
29 août 2008 à 11:36
SoundEx ne prend en compte que la ressemblance de prononciation.
Pour loda : alors sa y est j'ai remplacé les goto par des break, et sinon normalement le '_' ne devais pas poser de problème vu que la string n'étais pas réellement utile...
j'ai remplacé par un tableau de boolean ce qui fait le même boulot, pour moins de mémoire...
29 août 2008 à 09:18
tu peux remplacer les "goto endForX" par un "break", plus propre.
sinon ça m'a l'air intéressant, je regarderais ça plus en détails une autres fois.
aussi, je me demandais dans quelle mesures le strings avec des '_' vont poser problèmes...
a+
29 août 2008 à 04:32
29 août 2008 à 01:14
Quand tu n'as qu'une instruction après un "if", tu peux te passer d'un bloc "begin-end".
Exemple l38 à 46, tu as écrit :
if (i<=l2) then
begin
c2:=t2[i];
end else begin
c2:='';
end; "
Ca se remplace avantageusement par :
if i<=12 then
c2:=t2[i]
else
c2:='';
Le code y gagne beaucoup en lisibilité ...
Sinon, je regarderai dans les details plus tard, ça m'as l'air un poil compliqué pour cette jeure tardive :)