Soundex

Soundex

Soundex est un algorithme phonétique d'indexation de noms par leur prononciation en anglais britannique. L'objectif basique est que les noms ayant la même prononciation soient codés avec la même chaîne de manière à pouvoir trouver une correspondance entre eux malgré des différences mineures d'écriture. Soundex est le plus largement connu des algorithmes phonétiques et est souvent utilisé incorrectement comme synonyme de « algorithme phonétique ».

Soundex a été conçu par Robert Russell et Margaret Odell et breveté en 1918 et 1922 (US patent 1,261,167 et 1,435,663). Une variante nommée American Soundex a été utilisée dans les années 1930 pour une analyse rétrospective des recensements américains entre 1890 et 1920.

Le code Soundex s'est fait connaître dans les années 1960 lorsqu'il est devenu le sujet de nombreux articles dans les communiqués et le journal de l'Association for Computing Machinery, et tout spécialement décrit par Donald Knuth dans son magnum opus, The Art of Computer Programming.

Le code Soundex consiste pour chaque nom en une association d'une lettre suivie de trois chiffres : la lettre correspond à la 1re du nom, et les chiffres encodent les consonnes restantes. Les consonnes à prononciation similaire ont le même code, donc, par exemple, les lettres B, F, P et V sont toutes codées « 1 ». Les voyelles peuvent influencer le code d'une consonne, mais ne sont jamais codées directement (sauf bien sur si c'est la première lettre du nom).

L'algorithme exact procède comme suit :

  1. Supprimer les éventuels 'espace' initiaux
  2. Mettre le mot en majuscule
  3. Garder la première lettre
  4. Conserver la première lettre de la chaîne
  5. Supprimer toutes les occurrences des lettres : a, e, h, i, o, u, w, y (à moins que ce ne soit la première lettre du nom)
  6. Attribuer une valeur numérique aux lettres restantes de la manière suivante :
    • Version pour l'anglais :
      • 1 = B, F, P, V
      • 2 = C, G, J, K, Q, S, X, Z
      • 3 = D, T
      • 4 = L
      • 5 = M, N
      • 6 = R
    • Version pour le français :
      • 1 = B, P
      • 2 = C, K, Q
      • 3 = D, T
      • 4 = L
      • 5 = M, N
      • 6 = R
      • 7 = G, J
      • 8 = X, Z, S
      • 9 = F, V
  7. Si deux lettres (ou plus) avec le même nombre sont adjacentes dans le nom d'origine, ou s'il n'y a qu'un h ou un w entre elles, alors on ne retient que la première de ces lettres.
  8. Renvoyer les quatre premiers octets complétés par des zéros.

En effectuant cet algorithme, on obtient avec "Robert" et "Rupert" la même chaîne : "R163", tandis que "Rubin" donne "R150".

Avec un algorithme similaire nommé Reverse Soundex, c'est la dernière lettre du nom et non la première qui est conservée dans le code.

Afin de pallier les déficiences de l'algorithme Soundex, Lawrence Philips a développé l'algorithme Metaphone qui répond aux mêmes objectifs.

Le Soundex Daitch-Mokotoff a été développé par Gary Mokotoff et Randy Daitch parce qu'ils ont rencontré des difficultés en appliquant le Soundex Russell à des noms germains ou slaves. Cet algorithme est bien plus complexe que celui de Russell.

L'algorithme NYSIIS (New-York State Identification and Intelligence System) est une autre version améliorée de Soundex.

Application

L'algorithme soundex est très utilisé en informatique pour corriger les erreurs orthographiques et est disponible dans la plupart des SQL.
Par exemple, en mysql, c'est la fonction soundex(str) qui permet de générer un code soundex :

SELECT SOUNDEX('Hello');

retourne : 'H400'

Liens externes

en anglais

en français


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Soundex de Wikipédia en français (auteurs)

Игры ⚽ Поможем сделать НИР

Regardez d'autres dictionnaires:

  • Soundex — is a phonetic algorithm for indexing names by sound, as pronounced in English. The goal is for names with the same pronunciation to be encoded to the same representation so that they can be matched despite minor differences in spelling. Soundex… …   Wikipedia

  • Soundex — es un algoritmo fonético, un algoritmo para indexar nombre por su sonido, al ser pronunciados en Inglés. El objetivo básico de este algoritmo es codificar de la misma forma los nombres con la misma pronunciación. Soundex es el algoritmo fonético… …   Wikipedia Español

  • Soundex — Algorithmus Soundex ist ein phonetischer Algorithmus zur Indizierung von Wörtern und Phrasen nach ihrem Klang in der englischen Sprache. Gleichklingende Wörter sollen dabei zu einer identischen Zeichenfolge kodiert werden. Der Soundex Algorithmus …   Deutsch Wikipedia

  • Soundex — один из алгоритмов сравнения двух строк по их звучанию. Он устанавливает одинаковый индекс для строк, имеющих схожее звучание в английском языке. Soundex был разработан Робертом Расселлом (Robert Russel) и Маргарет Обелл (Margaret Obell) и… …   Википедия

  • Soundex — es un algoritmo fonético, un algoritmo para indexar nombre por su sonido, al ser pronunciados en Inglés. El objetivo básico de este algoritmo es codificar de la misma forma los nombres con la misma pronunciación. Soundex es el algoritmo fonético… …   Enciclopedia Universal

  • Soundex — noun A phonetic algorithm for indexing names by their English pronunciation, based on the most probably significant consonants, so that a search for a misspelled name may find the desired one …   Wiktionary

  • Soundex — ● np. m. ►PAO (++) …   Dictionnaire d'informatique francophone

  • soundex — n. algorithm used to encode words in way that enables words with identical sounds to be encoded in the same manner (Computers) …   English contemporary dictionary

  • Soundex — …   Useful english dictionary

  • Daitch–Mokotoff Soundex — (D–M Soundex) is a phonetic algorithm invented in 1985 by Jewish genealogists Gary Mokotoff and Randy Daitch. It is a refinement of the Russell and American Soundex algorithms designed to allow greater accuracy in matching of Slavic and Yiddish… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”