Соундеx
Саундекс је фонетски алгоритам за индексирање имена по звуку, као што су изговорена у енглеском језику. Циљ је да хомофоне речи буду кодиране на исти начин тако да могу бити упарене упркос мањим разликама у спеловању. Алгоритам углавном кодира сугласнике; самогласник неће бити кодиран уколике је у питању прво слово. Саундекс је најпознатији фонетски алгоритам (делом зато што је стандардни део популарног софтвера за базе података као што су ПостгреСQЛ, МyСQЛ, МС СQЛ Сервер и Орацле и често је коришћен (нетачно) као синоним за "фонетски алгоритам". Побољшања за Саундекс су основа за многе фонетске алгоритме.
Историјат
[уреди | уреди извор]Саундекс су развили Роберт C. Расел и Маргарет К. Одел и патентирали га 1918. године. Варијација звана Амерички Саундекс је коришћена тридесетих година за ретроспективну анализу пописа становништва у САД од 1890. до 1920. године. Саундекс код је постао популаран 60их година када је био субјект више новинарских чланака, и посебно када је описан у Уметности Компјутерског Програмирања Доналда Кнута.
Национална Управа за Архиве и Документацију (НАРА) одржава тренутни правилник за званичну имплементацију Саундекса коју користи Америчка влада. Ова правила кодирања су доступна од НАРА, по захтеву, у форми Генералног Информационог Листа 55, "Коришћење Саундекса за попис становништва".
Амерички Саундекс
[уреди | уреди извор]Саундекс код за име садржи слово праћено са 3 цифре: слово је прво слово имена, а цифре кодирају преостале сугласнике. Сугласници који звуче слично деле исте цифре, на пример, уснени сугласници Б, Ф, П, и V су сви кодирани бројем 1.
Тачне вредности могу бити овакве:
- Задржи прво слово имена и одбаци сва остала појављивања а, е, и, о, у, y, х, w.
- Замени сугласнике цифрама на следећи начин (после првог слова):
- б, ф, п, в => 1
- ц, г, ј, к, q, с, x, з => 2
- д, т => 3
- л => 4
- м, н => 5
- р => 6
- Ако су два или више слова са истим бројем суседна у оригиналном имену (пре првог корака), задржи само прво слово; такође два слова са истим бројем раздвојена са 'х' или 'w' се кодирају као један број, док се два слова раздвојена самогласником кодирају са два броја. Ово правило се примењује и на прво слово.
- Понављај претходни корак док не будеш имао једно слово и 3 броја. Ако имаш премало слова у својој речи којима не можеш доделити 3 броја, додај нуле. Ако имаш више од 3 слова, задржи само прва 3 броја.
Користећи овај алгоритам, и "Роберт" и "Руперт" враћају исту ниску "Р163", док "Рубин" даје "Р150".
"Асхцрафт" и "Асхцрофт" ова дају "А261", а не "А226" (карактери 'с' и 'ц' у имену дају један број 2, а не 22 зато што између њих стоји 'х').
"Тyмцзак" даје "Т522",а не "Т520" (карактери 'з' и 'к' у имену се кодирају као 2 двапут зато што је између њих самогласник).
"Пфистер" даје "П236",а не "П123" (прва два слова имају исти број и кодирају се једном као 'П').
Варијације
[уреди | уреди извор]Сличан алгоритам, назван "Обрнути Саундекс" префиксира последње слово уместо првог.
Систем Државе Њујорк за Идентификацију и Интелигенцију (НYСИИС) је представљен 1970. године као унапређење Саундекса. НYСИИС барата више-карактерским н-грамима и одржава релативан положај самогласника, што Саундекс не ради.
Дејч–Мокотов Саундекс (Д–М Саундекс) је развио 1985. године генеалог Гари Мокотов и касније унапредио генеалог Ренди Дејч због проблема са којима су се сусрели док су покушавали да примене Раселов Саундекс на Јевреје са германским или словенским презименима (као што су Москоwитз-Московитз или Левине-Леwин). Д–М Саундекс се понекад назива "Јеврејски Саундекс" или "Источно Европски Саундекс", аутори обесхрабрују употребу тих надимака. Д–М Саундекс алгоритам може да врати до 32 појединачна фонетска кодирања за једно име. Резултати D-M Саундекса се враћају у потпуно нумеричком формату између 100000 и 999999. Овај Алгоритам је много комплекснији од Расел Саундекса.
Као одговор на слабости Саундекс алгоритма, Лоренс Филипс је развио Метафон алгоритам у 1990. у исте сврхе. Филипс је развио унапређени Метафон у 2000. који је назвао Дупли Метафон. Дупли Метафон укључује много већи скуп правила кодирања него његов претходник, барата не-латиничним карактерима, и враћа примарно и секундарно кодирање да би урачунао различите изговоре исте речи у енглеском језику. Филипс је направио Метафон 3 као следећу верзију у 2009. да би обезбедио тачније поклапање сугласника и унутрашњих самогласника као и нека подешавања која дозвољавају још боља поклапања.