Vikipedi
Soundex, İngilizce'deki keliemelerin teleffuz biçimlerine göre hazırlanmış bir fonetik algoritmadır. Bu algoritmanın hazırlanmasındaki temel amaç; teleffuzları benzeşen kelimelerin bu yolla aynı karakter katarına (string) dönüştürülmeleri ve bu yolla benzer kelimelerin -yazımlarında fark olsa bile- tespit edilmesidir. Bunun yanında Soundex algoritması, fonetik algoritmalardan en bilineni ve en sık kullanılanı olup, bazı çevreler tarafından -yanlış bir şekilde- fonetik algoritma terimiyle aynı anlamda kullanılamaktadır.
Soundex, Robert Russell ve Margaret Odell tarafından geliştirilmiş, U.S. Patenti 1,261,167 ve U.S. Patenti 1,435,663 ile patentlenmiştir. Ayrıca American Soundex ismiyle 1930'lu yıllarda 1890/1920 arası analiz için yapılan bir sayımda kullanılmıştır. Soundex kodlaması ise 1960'larda ' Communications of the ACM', ' Journal of the ACM of the Association for Computing Machinery' gibi bazı makalelere konu olması sebebiyle ünlenmiş ve özellikle ' Donald Knuth's magnum opus', ' The Art of Computer Programming' yazılarında nasıl bir şey olduğu anlatılmıştır.
Soundex kodu ilki bir harf, diğer üçü ise rakamlardan oluşan dört karakterli bir koddur; harf olarak kelimenin ilk harfi, sayı olarak da geri kalan harflerin belirli bir kurala göre numaralandırılmasıyla ortaya çıkan sonuç alınır. Benzer teleffuzlu sözcükler ise aynı numaralarla kodlanır; örneğin, benzer telaffuzlu B, F, P ve V harfleri 1 ile kodlanır. Sesli harfler kodlama işlemini etkiler, ancak bu sesli harf kelimenin başında bulunmuyorsa ortaya çıkan sonucu asla doğrudan etkilemez.
Tam algoritma aşağıdaki gibidir:
- Karakter katarının ilk harfini yakalayın.
- Eğer ilk harf "a, e, h, i, o, u, w, y" harflerinden herhangi biri değilse, bu harfleri metinden silin.
- Sırasıyla tüm harflere aşağıdaki numaralandırmayı yapın;
- b, f, p, v = 1
- c, g, j, k, q, s, x, z = 2
- d, t = 3
- l = 4
- m, n = 5
- r = 6
- Eğer numaralandırmada aynı numarayı almış iki ya da daha fazla harf yan yanaysa (ilk işlemden önce) ya da bu harflerin arasında h veya w harfi varsa (sadece Amerikan sayımında geçerli); aynı olanları atlayın.
- İlk dört karakteri sonuç olarak döndürün; eğer sonuç dört karakterden az çıkıyorsa, dört karakter tamamlanması için sonuna sıfırlar ekleyin. (örn. A22 → A220)
Ulusal Arşiv ve Kayıt Yönetiminin ( The National Archives and Records Administration - NARA) US Hükümeti için koyduğu bu resmi kurallar, hazırlanan standart Soundex algoritmaları için de kullanılmalıdır.
Algoritma kullanılırken; örneğin "Rubin"in kodu R150 iken, "Robert" ve "Rupert" isimleri aynı kodu döndürür; R163.