Каверфон
Caverphone — в лингвистике и информатике это алгоритм фонетического сопоставления. [1] [2] изобретенный для идентификации английских имен по их звукам, первоначально созданный для обработки пользовательского набора данных между 1893 и 1938 годами на юге Данидина , Новая Зеландия. [3] Созданный на основе концепции, аналогичной метафону , с тех пор он был разработан для размещения и обработки общего английского языка. [3]
Этимология
[ редактировать ]Caverphone был создан Дэвидом Худом в рамках проекта Caversham Project в Университете Отаго в Новой Зеландии в 2002 году и обновлен в 2004 году. Он был создан для помощи в сопоставлении данных между списками избирателей конца 19-го и начала 20-го веков, где требовалось только название. быть в «общеузнаваемой форме». Алгоритм был предназначен для применения к тем именам, которые невозможно было легко сопоставить в списках избирателей, после того как точные совпадения были удалены из пула потенциальных совпадений. Алгоритм оптимизирован под акценты, присутствующие в исследуемой местности (южная часть города Данидин , Новая Зеландия).
Процедура
[ редактировать ]Каверфон 1.0
[ редактировать ]Правила алгоритма применяются последовательно к любому конкретному имени в виде серии замен.
Алгоритм следующий:
- Преобразовать в нижний регистр
- Удалите все, кроме AZ
- Если имя начинается с...
- кашель , замени на cou2f
- грубо , замените его на rou2f
- круто , замени его на tou2f
- достаточно , замените его на enou2f
- gn , замените его на 2n
- Если имя заканчивается на
- мб , замени на м2
- Заменять
- cq с 2q
- с Си
- CE с SE
- сай с си
- тч с 2 каналом
- с с к
- q с к
- х с к
- v с f
- дг с 2г
- тио с сио
- Тиа с Сиа
- д с т
- ф с фч
- б с п
- ш с s2
- г с s
- любая начальная гласная с буквой А
- все остальные гласные с 3
- 3gh3 с 3х3
- хх с 22
- г с к
- группы букв s с S
- группы буквы т с Т
- группы буквы р с Р
- группы буквы k с буквой K
- группы буквы f с F
- группы буквы м с М
- группы буквы n с буквой N
- w3 с W3
- ууу с Вай
- Wh3 с Wh3
- почему с Почему
- с 2
- любая начальная буква h с буквой A
- все остальные вхождения h с 2
- r3 с R3
- попробуй с Рай
- р с 2
- l3 с L3
- лечь с Ли
- я с 2
- j с y
- y3 с Y3
- да с 2
- удалить все
- 2
- 3
- поставь шесть 1 в конце
- возьмите первые шесть символов в качестве кода
Каверфон 2.0
[ редактировать ]- Начни со слова
- Преобразовать в нижний регистр
- Удалите все, что не входит в стандартный алфавит (обычно az ). [примечание 1]
- Удалить конечную е
- Если имя начинается с
- кашель, сделай это
- грубо, сделай это rou2f
- сложно, сделай это круто
- хватит , сделай это достаточно
- сделай это тру2ф
- давай, сделай это 2н
- Если имя заканчивается на
- мб, сделай это м2
- Заменять
- cq с 2q
- с Си
- CE с SE
- сай с си
- тч с 2 каналом
- с с к
- q с к
- х с к
- v с f
- дг с 2г
- тио с сио
- Тиа с Сиа
- д с т
- ф с фч
- б с п
- ш с s2
- г с s
- начальная гласная [примечание 2] с буквой А
- все остальные гласные с 3
- j с y
- начальный y3 с Y3
- начальная буква y с A
- да с 3
- 3gh3 с 3х3
- хх с 22
- г с к
- группы букв s с S
- группы буквы т с Т
- группы буквы р с Р
- группы буквы k с буквой K
- группы буквы f с F
- группы буквы м с М
- группы буквы n с буквой N
- w3 с W3
- Wh3 с Wh3
- если имя заканчивается на w, замените последнюю букву w на 3
- с 2
- начальная буква h с буквой A
- все остальные вхождения h с 2
- r3 с R3
- если имя заканчивается на r, замените последнюю букву r на 3.
- р с 2
- l3 с L3
- если имя заканчивается на l, замените последнюю букву l на 3.
- я с 2
- удалить все 2 с
- если имя заканчивается на 3 , замените последнюю 3 на A
- удалить все 3 с
- поставь десять единиц в конце
- возьмите первые десять символов в качестве кода
Примеры
[ редактировать ]Каверфон 1.0
[ редактировать ]Lee -> leelee -> l33l33 -> L33L33 -> LL -> L111111L111111 -> L11111
Thompson -> thompsonthompson -> th3mps3nth3mps3n -> th3mpS3nth3mpS3n -> Th3mpS3nTh3mpS3n -> Th3mPS3nTh3mPS3n -> Th3MPS3nTh3MPS3n -> Th3MPS3NTh3MPS3N -> T23MPS3NT23MPS3N -> TMPSNTMPSN111111 -> TMPSN1
Каверфон 2.0
[ редактировать ]Lee -> leelee -> lele -> l3l3 -> L3L3 -> LALA -> LA1111111111LA1111111111 -> LA11111111
Thompson -> thompsonthompson -> th3mps3nth3mps3n -> th3mpS3nth3mpS3n -> Th3mpS3nTh3mpS3n -> Th3mPS3nTh3mPS3n -> Th3MPS3nTh3MPS3n -> Th3MPS3NTh3MPS3N -> T23MPS3NT23MPS3N -> TMPSNTMPSN1111111111 -> TMPSN11111
См. также
[ редактировать ]- Саундекс
- Система идентификации и разведки штата Нью-Йорк
- Подход к рейтингу матчей
- Метафон
- Кёльнская фонетика
Ссылки
[ редактировать ]- ^ Милетт, Грег; Страуд, Адам (18 мая 2012 г.). Профессиональное программирование датчиков Android . Джон Уайли и сыновья. стр. 421–. ISBN 9781118240458 . Проверено 19 февраля 2013 г.
- ^ Фуа, Клифтон; Ли, Винсент; Смит, Кейт (2006). «Проблема личного имени и рекомендуемое решение для интеллектуального анализа данных». Энциклопедия хранения данных и майнинга . CiteSeerX 10.1.1.127.5111 .
- ^ Перейти обратно: а б «Каверфон» . Национальный институт стандартов и технологий . Проверено 20 августа 2018 г.
Внешние ссылки
[ редактировать ]- Проект Кавершам — набор данных Кавершема по именам и акцентам в южной части Данидина , Новая Зеландия, в 1893-1938 годах.
- Оригинальный (2002 г.) алгоритм Caverphone
- Пересмотренный (2004 г.) алгоритм Caverphone
- Реализации:
- Пересмотренная реализация C# [ постоянная мертвая ссылка ]
- Реализация Java в кодека Apache Commons проекте
- PHP-реализация
- Реализация алгоритма каверфона на Python (версия 2.0) — проект расширенного поиска AdvaS