2008-10-23 8 views
0

J'utilise l'algorithme Lawrence Philips Double-Metaphone avec beaucoup de succès, mais j'ai trouvé l'étrange "résultat inattendu" pour certaines combinaisons. Est-ce que quelqu'un d'autre a des ajouts ou des modifications à l'algorithme pour d'autres parties du partage, ou seulement les combinaisons qui ont été trouvées qui ne fonctionnent pas comme prévu.Erreurs de double-métaphone

par ex. J'ai eu des problèmes entre:

  • Peashill et Bushley. (Les deux correspondent au PXL)
  • Rockliffe et Rockcliffe (RKLF et RKKL)
+0

Vous pouvez avoir des bugs dans votre code Je crois que Bushley devrait être BXL. Je pense que les deux derniers sont corrects. –

+2

@JonathanWood - dans Double Metaphone B est casté à P, alors que (je crois) ce n'était pas le cas du Metaphone original. Donc PXL pour Bushley est correct en DM. – APC

Répondre

5

Tous Soundex, Metaphone et schémas de variantes vont de temps en temps pour donner des résultats qui ne sont pas identiques à ce que vous attendez. C'est inévitable - ils peuvent être considérés comme des algorithmes de hachage plus ou moins simples avec des propriétés spéciales de préservation de l'information, et produiront parfois des collisions quand vous préféreriez qu'ils ne le fassent pas, et produiront parfois des différences quand vous préférez .

Une façon possible d'améliorer les choses consiste à utiliser des «anneaux synonymiques». Cela produit essentiellement des listes de mots qui doivent être considérés comme synonymes, indépendamment de l'orthographe. Je les ai rencontrés dans le contexte de l'appariement des noms.Par exemple, des variantes sur Chaudri inclus:

Chaudary CHAUDERI CHAUDERY CHAUDHARY CHAUDHERI Chaudhery CHAUDHRI CHAUDHRY CHAUDHURI CHAUDHURY CHAUDHY CHAUDREY Chaudri CHAUDRY Chauduri CHAWDHARY Chawdhry CHAWDHURY CHDRY CHODARY CHODHARI CHODHOURY CHODHRY CHODREY CHODRY CHODURY CHOUDARI Choudary CHOUDERY Choudhari CHOUDHARY CHOUDHERY CHOUDHOURY Choudhri CHOUDHRY Choudhuri CHOUDHURY Choudrey Choudri CHOUDRY Choudury CHOUWDHRY CHOWDARI Chowdary Chowdhary CHOWDHERY CHOWDHRI Chowdhry Chowdhuri CHOWDHURRYY CHOWDHURY CHOWDORY CHOWDRAY CHOWDREY CHOWDRI CHOWDRURY Chowdry CHOWDURI CHOWDURY CHUDARY CHUDHRY CHUDORY COWDHURY

+1

Ceci est une bonne suggestion. J'ai utilisé une telle solution qui était dynamique dans le passé: dans l'interface utilisateur, nous avions une option "pas une bonne correspondance" lors de la recherche, qui a ajouté l'entrée dans une table d'exceptions correspondante. Nous avons également permis la saisie d'une variante, qui (une fois qu'une correspondance a été trouvée) a également été stockée. – Godeke

-1

metaphone régulière retourne une différence entre Peashill et Bushley

Peashill PXL Bushley BXL