Soundex

Z Wikipedii, wolnej encyklopedii

Soundex (od ang. sound: dźwięk) – algorytm fonetyczny wymyślony przez Roberta Russella i Margaret Odell i opatentowany w latach 1918 i 1922 (USA)[1].

Soundex używany jest do porównywania słów w języku angielskim[1]. Słowa podobnie brzmiące (np. Robert i Rupert) będą miały ten sam 4-znakowy kod Soundex (w tym przypadku R163). Jest wykorzystywany m.in. przy poszukiwaniach genealogicznych różnych wariantów tego samego nazwiska, a obliczenie kodu Soundex umożliwiają niektóre programy genealogiczne.

Dokładny opis algorytmu[2]:

  1. Pierwsza litera wyrazu staje się pierwszym znakiem kodu.
  2. Spośród pozostałych liter usuwane są a, e, h, i, o, u, w i y.
  3. Pozostałym literom przypisuje się następujące liczby:
    1. b, f, p, v
    2. c, g, j, k, q, s, x, z
    3. d, t,
    4. l
    5. m, n
    6. r
  4. Spośród kolejnych wystąpień tego samego kodu w kolejnych literach wyrazu po usunięciu h lub w usuwane są wszystkie poza pierwszym.
  5. Jeżeli pozostaje więcej, niż trzy cyfry to następne są usuwane. Jeżeli jest ich mniej niż trzy, to dodawane są zera.
  6. Kodem Soundex wyrazu jest jego pierwsza litera i trzy uzyskane powyżej cyfry.

Przypisy[edytuj | edytuj kod]

  1. a b Alexander Beider, Stephen Moese: Phonetic Matching: A Better Soundex. [w:] Association of Professional Genealogists Quarterly [on-line]. [dostęp 2017-12-19].
  2. Soundex System The Soundex Indexing System. [w:] National Archives [on-line]. 2007-05-30. [dostęp 2017-12-19].

Bibliografia[edytuj | edytuj kod]

  • Donald Knuth: The Art of Computer Programming, Volume 3: Sorting And Searching. Reading, Massachusetts: Addison-Wesley, 1998. ISBN 0-201-89685-0.