Автор: А. Ч. Пиперски
Язык: английский / stan1293 / Indo-European; Germanic; Northwest Germanic; West Germanic; North Sea Germanic; Anglo-Frisian; Anglic; Later Anglic; Middle-Modern English; Macro-English; English
Soundex — это алгоритм для кодирования имён собственных. Его создали в 1918–1922 гг. в США Роберт Расселл и Маргарет Кинг Оделл, чтобы облегчить поиск похоже звучащих фамилий. В середине XX века Soundex широко использовался в США при анализе результатов переписей населения 1890–1920 гг. Ниже дан пример карточки с данными переписи населения 1910 г. Здесь вы видите, что код Soundex для фамилии Wilson выглядит как W425:
Дан список фамилий и соответствующих им кодов Soundex в перепутанном порядке. Некоторые символы пропущены:
Allaway, Anderson, Ashcombe, Buckingham, Chapman, Colquhoun, Evans, Fairwright, Kingscott, Lewis, Littlejohns, Stanmore, Stubbs, Tocher, Tonks, Whytehead
S312, T␣6␣, ␣5␣3, C42␣, T520, L␣42, A536, C155, ␣623, S356, ␣252, ␣152, ␣330, A251, A400, L2␣0
Soundex—алгоритмдлякодированияимёнифамилий.Его
создалив1918–1922гг.вСШАРобертРасселлиМаргаретКингОделл,чтобыоблегчить
поиск похоже звучащих фамилий. В середине XX века Soundex широко использовался в
США при анализе результатов переписей населения 1890–1920 гг.
Ниже дан пример карточки с данными переписи населения 1910 г. Здесь вы видите,
что код Soundex для фамилии Wilson выглядит как W425.
Источник:https://familysearch.org/learn/wiki/en/Soundex
Дан список фамилий и соответствующих им кодов Soundex в перепутанном порядке.
Некоторые символы пропущены:
Allaway,Anderson,Ashcombe,Buckingham,
S312, T␣6␣, ␣5␣3, C42␣, T520,
Chapman, Colquhoun, Evans, Fairwright,
L␣42, A536, C155, ␣623, S356,
Kingscott, Lewis, Littlejohns, Stanmore,
␣252,␣152,␣330,A251,A400,L2␣0
Stubbs, Tocher, Tonks, Whytehead
(a) Опишите пошагово, как генерируется код Soundex.
(b) Установите соответствия между фамилиями и кодами Soundex и вставьте пропу-
щенные символы.
(c) Постройте коды Soundex для следующих фамилий:
Ferguson, Fitzgerald, Hamnett, Keefe, Maxwell, Razey, Shaw, Upfield.
—Александр ПиперскиТринадцатая Международная олимпиада по лингвистике (2015). 4
Задачи индивидуального соревнования
Решение
Все коды Soundex состоят из латинской буквы и трёх цифр. Нетрудно догадаться, почему код для фамилии Wilson начинается на W: потому что это первая буква этой фамилии.
После того как стало ясно, что первая буква сохраняется, задача распадается на шесть небольших задач с перепутанными соответствиями:
Allaway, Anderson, Ashcombe
A536, A251, A400
Chapman, Colquhoun
C42␣, C155
Lewis, Littlejohns
L␣42, L2␣0
Stanmore, Stubbs
S312, S356
Tocher, Tonks
T␣6␣, T520
Buckingham, Evans, Fairwright, Kingscott, Whytehead
␣5␣3, ␣623, ␣252, ␣152, ␣330
Вспомним, что Soundex — алгоритм, разработанный для поиска похоже звучащих слов. Вероятно, цифры должны кодировать какие-то характерные звучания. Можно выдвинуть гипотезу, что они соответствуют согласным буквам, которые встречаются в фамилии. Правда, цифр только шесть — значит, одна и та же цифра кодирует целые группы согласных.
Эти группы таковы:
bpv(f) | cgjkqs(xz) | dt | l | mn | r |
1 | 2 | 3 | 4 | 5 | 6 |
Классификация букв в Soundex более или менее соответствует классификации звуков по тому, как они произносятся: в группу 1 входят согласные, произносимые с участием губ; в группу 2 — согласные, произносимые с помощью задней части языка, и свистящие; в группу 3 — переднеязычные смычные (d и t); в группу 5 — носовые. Исходя из этого, можно распределить по группам и те буквы, которые мы не видели в условии (в таблице они даны в скобках). Буква f попадёт в группу 1 к губным согласным (там уже находится v, пара f по глухости-звонкости), а x и z — в группу 2 (x состоит из k и s, которые находятся в группе 2, а z — звонкая пара к s). Буквы h и w в эту таблицу не вошли: они при генерации кода Soundex игнорируются. То же касается буквы y, которая в английском языке считается гласной.
Можно заметить, что сочетаниям согласных из одной группы соответствует только одна цифра в коде. Например, из данных в условии кодов фамилии Kingscott может соответствовать только ␣5␣3, в котором 5 отвечает за n, 3 — за t, а цифра в середине должна отвечать за g, s и c (очевидно, это будет цифра 2).
Нули в коде соответствуют случаям, когда согласных не хватило на то, чтобы заполнить три позиции. Например, можно установить, что Allaway — это A400, где двум l соответствует 4, а a, w, a и y в кодировании не участвуют.
Ответ на задание 1. Обобщая все эти наблюдения, можно построить алгоритм кодирования. Важно обратить внимание на порядок операций, чтобы он позволил получить все коды без ошибок.
1. Оставить первую букву неизменной.
2. Удалить h и w.
3. Заменить все согласные на цифры (буквы, наиболее частые чтения которых похожи, объединяются в группы):
bfpv | cgjkqsxz | dt | l | mn | r |
1 | 2 | 3 | 4 | 5 | 6 |
4. Две или более одинаковых цифры подряд сократить до одной.
5. Удалить все гласные (a, e, i, o, u, y).
6. Оставить только первые три цифры или дописать нули справа, чтобы длина кода составила одну букву и три цифры.
Ответ на задание 2 (восстановленные символы подчёркнуты).
Allaway: A400, Anderson: A536, Ashcombe: A251, Buckingham: B252, Chapman: C155, Colquhoun: C425, Evans: E152, Fairwright: F623, Kingscott: K523, Lewis: L200, Littlejohns: L342, Stanmore: S356, Stubbs: S312, Tocher: T260, Tonks: T520, Whytehead: W330.
Ответ на задание 3.
Ferguson: F622, Fitzgerald: F326, Hamnett: H530, Keefe: K100, Maxwell: M240, Razey: R200, Shaw: S000, Upfield: U143.
(a) 1. Оставить первую букву неизменной.
2. Удалить h и w.
3. Заменить все согласные на цифры (Буквы, наиболее частые чтения которых
похожи, объединяются в группы):
bpv (f) cgjkqs (xz) dt l mn r
1 2 3 4 5 6
4. Две или более одинаковых цифры подряд сокращаются до одной.
5. Удалить все гласные (a, e, i, o, u, y).
6. Оставить только первые три цифры или дописать нули справа, чтобы длина
кода составила одну букву и три цифры.
(b) Allaway: A400, Anderson: A536, Ashcombe: A251, Buckingham: B252,
Chapman: C155, Colquhoun: C425, Evans: E152, Fairwright: F623,
Kingscott: K523, Lewis: L200, Littlejohns: L342, Stanmore: S356,
Stubbs: S312, Tocher: T260, Tonks: T520, Whytehead: W330.
(c) Ferguson: F622, Fitzgerald: F326, Hamnett: H530, Keefe: K100,
Maxwell: M240, Razey: R200, Shaw: S000, Upfield: U143.
Комментарии