Кельнская фонетика - Cologne phonetics
Учебный класс | Фонетический алгоритм |
---|---|
Худший случай спектакль | НА) |
Лучший случай спектакль | НА) |
Средний спектакль | НА) |
Худший случай космическая сложность | НА) |
Кельнская фонетика (также Kölner Phonetik, Кельнский процесс) фонетический алгоритм который присваивает словам последовательность цифр, фонетический код. Цель этой процедуры - присвоить одинаково звучащим словам один и тот же код. Алгоритм можно использовать для поиска сходства между словами. Например, в списке имен можно найти такие записи, как «Meier», с разными написаниями, такими как «Maier», «Mayer» или «Mayr». Кельнская фонетика связана с хорошо известными Soundex фонетический алгоритм, но оптимизирован для соответствия немецкому языку. Алгоритм был опубликован в 1969 году Хансом Иоахимом Постелем.
Метод
Кельнская фонетика сопоставляет каждую букву слова с цифрой от «0» до «8». Чтобы выбрать соответствующую цифру, в качестве контекста используется не более одной соседней буквы. Некоторые правила применяются конкретно к инициалам слов. Таким образом, подобным звукам должен быть присвоен один и тот же код. Например, буквы "W" и "V" кодируются числом "3". Фонетический код «Википедии» - «3412» (W = 3, K = 4, P = 1 и D = 2). В отличие от кода Soundex, длина кодов метода Кельна фонетики не ограничена.
Процедура
Письмо | Контекст | Код |
---|---|---|
A, E, I, J, O, U, Y | 0 | |
ЧАС | - | |
B | 1 | |
п | не раньше H | |
Д, Т | не раньше C, S, Z | 2 |
F, V, W | 3 | |
п | перед H | |
G, K, Q | 4 | |
C | в начальном звуке перед A, H, K, L, O, Q, R, U, X | |
перед A, H, K, O, Q, U, X за исключением S, Z | ||
Икс | не после C, K, Q | 48 |
L | 5 | |
M, N | 6 | |
р | 7 | |
S, Z | 8 | |
C | после S, Z | |
в исходном положении, кроме перед A, H, K, L, O, Q, R, U, X | ||
не раньше A, H, K, O, Q, U, X | ||
Д, Т | перед C, S, Z | |
Икс | после C, K, Q |
То, что для буквы «C» правило «SC» имеет приоритет над правилом «CH», было учтено добавлением "кроме после S, Z" в строке 10 таблицы. Это не упоминается явно в исходной публикации, но может быть выведено из приведенных там примеров, например для «Брешнёв» указан код «17863».
Строчные буквы кодируются соответствующим образом; все остальные символы (например, дефисы) игнорируются. Для умляутов Ä, Ö, Ü, а также ß, которые не учтены в таблице преобразования, предлагается сопоставить их с гласными (код "0"), соответствующими группе S, Z (код " 8 дюймов).
Обработка слова выполняется в три этапа:
- Кодируйте букву за буквой слева направо согласно таблице преобразования.
- Удалите все цифры, встречающиеся более одного раза рядом друг с другом.
- Удалите весь код «0», кроме начала.
Пример
Название Мюллер-Люденшайд будут закодированы следующим образом:
- Кодируйте каждую букву: 60550750206880022
- Свернуть все несколько последовательных цифр кода: 6050750206802
- Удалите все цифры "0": 65752682
Литература
Ганс Иоахим Постель: Die Kölner Phonetik. Ein Verfahren zur Identifizierung von Personennamen auf der Grundlage der Gestaltanalyse. в: IBM-Nachrichten, 19. Jahrgang, 1969, S. 925-931.
Смотрите также
внешняя ссылка
- Мартин Вильц: Aspekte der Kodierung phonetischer Ähnlichkeiten in deutschen Eigennamen (PDF-Datei; 502 кБ). Magisterarbeit an der Philosophischen Fakultät der Universität zu Köln, 2005; enthält eine Implementierung in der Programmiersprache Perl.
- Марош Коллар: Perl-Implementierung der Kölner Phonetik и бесплатное программное обеспечение в CPAN (комплексная сеть архивов Perl)
- Энди Тейлер: Реализация PHP и Oracle PL / SQL der Kölner Phonetik
- Николас Циммер: PHP-реализация от Kölner Phonetik in einem Комментарии zum Eintrag soundex им Руководство по PHP, 2008.