Саундекс

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Саундекс - фонетичний алгоритм для індексації імен звуком, в англійській мові. Алгоритм переважно кодує приголосні звуки; явний звук не кодуватиметься, виключно перша буква. Саундекс - більше всього, широко відомий зі всіх фонетичних алгоритмів, оскільки це є стандартною особливістю MS SQL і Oracle, і часто використовується (неправильно) як синонім для "фонетичного алгоритму". Удосконалення до Саундекс - основа для багатьох сучасних фонетичних алгоритмів.

Історія[ред.ред. код]

Саундекс розробили Роберт Руссел і Маргарет Оделл і запатентували в 1918 і 1922. Так званий американський саундекс, використовувався в 1930-х для ретроспективного аналізу переписів US від 1890 до 1920 року. Саундекс став відомим в 60-х роках XX століття, коли він був темою декількох статей в журналах Communications of the ACM і Journal of the Association for Computing Machinery, а особливо, коли був описаний Дональдом Кнутом в монографії The Art of Computer Programming. Сучасні правила саундекса, які використовуються урядом США, розробляє та підтримує National Archives and Records Administration (NARA).

Правила[ред.ред. код]

Нижче продемонстрований американський Саундекс.

Саудекс код складається з букви й трьох числових розрядів: першу літеру імені, і цифри кодування інших приголосних. Подібні приголосні мають одні й ті ж цифри, так, наприклад, губні приголосні B, F, P, V кожен кодується номер 1. Голосні можуть вплинути на кодування, але не кодуються, окрім першої літери.

Правильне значення може бути знайдено так чином:
1. Перша літера імені вводиться безпосередньо;
2. Кожна приголосна має свій код:
  • b, F, P, V => 1;
  • c, G, J, K, Q, S, X, Z => 2;
  • d, T => 3;
  • l => 4;
  • m, N => 5;
  • r => 6;
  • h, W не кодуються.
3. Дві сусідні літери з однаковим числом кодуються як одне. Літери з тим же числом, розділених h або w також
кодуються як одне число;
4. Продовжуєте поки не має одної букви і трьох цифер.

Використовувати цей алгоритм, як "Robert" і "Rupert" повернення ж рядок "R163", а "Rubin" дає "R150". "Ashcraft" і "Ashcroft" і вихід "A261".

Соундукс варіанти[ред.ред. код]

Аналогічний алгоритм, званий "Зворотнім Саундексом".

NYSIIS алгоритм був введений у штаті Нью-Йорк ідентифікації та інформаційної системи в 1970 році як поліпшення алгоритму Саундекс. NYSIIS підтримує відносну позицію голосних, у той час як Саундекс не може.

Саундекс Дейча-Мокотоффа (Д-М Саундкс) був розроблений в 1985 році Гері Мокотофом, а потім поліпшений в Ренді Деч Саундекс через проблеми з якими зіткнулися при спробі застосувати Рассел Саундес для євреїв з німецькими або слов'янських прізвищами. Д-M Саундкс іноді називають "єврейської Саундкс" або "Саундкс Східної Європи", хоча автори перешкоджали використанню цих прізвиськ. Алгоритм Д-M Саундкс може повернути до 32 окремих фонетичних кодування для одного імені. Результати Д-M Саундкс повертає в числовому форматі між 100000 і 999999. Цей алгоритм є набагато складнішим, ніж Рассел Soundex.

Як відповідь на недоліки в алгоритмі Саундекс, Лоуренс Філіпс розробила алгоритм Метафон в 1990 році з тією ж метою. Філіпс розробив поліпшений метафон в 2000 році, який він назвав подвійним метафоном. Подвійний метафон включає в себе набагато більший набір правил кодування, ніж його попередник, і повертає первинний і вторинний код для обліку різних вимови одного слова англійською мовою.

Дивіться також[ред.ред. код]