Каверфон

Caverphone в лингвистике и вычислительной технике это фонетический алгоритм сопоставления [1] [2], изобретенный для идентификации английских имен по их звукам, изначально созданный для обработки пользовательского набора данных, составленного между 1893 и 1938 годами в южном Данидине , Новая Зеландия. [3] Начавшись с концепции, схожей с metaphone , он с тех пор был разработан для размещения и обработки общего английского языка. [3]

Этимология

Caverphone был создан Дэвидом Худом в проекте Caversham в Университете Отаго в Новой Зеландии в 2002 году, пересмотрен в 2004 году. Он был создан для помощи в сопоставлении данных между избирательными списками конца 19-го и начала 20-го века, где имя должно было быть только в «общеузнаваемой форме». Алгоритм был предназначен для применения к тем именам, которые не могли быть легко сопоставлены между избирательными списками, после того как точные совпадения были удалены из пула потенциальных совпадений. Алгоритм оптимизирован для акцентов, присутствующих в исследуемой области (южная часть города Данидин , Новая Зеландия).

Процедура

Каверфон 1.0

Правила алгоритма применяются последовательно к любому конкретному имени, как серия замен.

Алгоритм следующий:

  1. Преобразовать в нижний регистр
  2. Удалить все, что не AZ
  3. Если имя начинается с...
    1. кашель , замените его на cou2f
    2. грубо , замените его на rou2f
    3. жесткий , замените его на tou2f
    4. достаточно , замените его на enou2f
    5. gn , замените его на 2n
  4. Если имя заканчивается на
    1. мб , замените его на м2
  5. Заменять
    1. cq с 2q
    2. ci с си
    3. се с се
    4. ци с си
    5. тч с
    6. с с к
    7. д с к
    8. х с к
    9. г с ф
    10. дг с
    11. тио с сио
    12. тиа с сией
    13. д с т
    14. ф с фх
    15. б с п
    16. ш с s2
    17. з с с
    18. любая начальная гласная с буквой А
    19. все остальные гласные с 3
    20. 3gh3 с 3kh3
    21. гх с 22
    22. г с к
    23. группы буквы s с S
    24. группы буквы т с Т
    25. группы буквы п с буквой П
    26. группы буквы к с К
    27. группы буквы f с F
    28. группы буквы м с М
    29. группы буквы н с буквой Н
    30. w3 с W3
    31. wy с Wy
    32. wh3 с Wh3
    33. почему с Почему
    34. с 2
    35. любая начальная h с A
    36. все остальные вхождения h с 2
    37. r3 с R3
    38. ry с Ry
    39. г с 2
    40. l3 с L3
    41. ly с Ly
    42. л с 2
    43. j с y
    44. y3 с Y3
    45. у с 2
  6. удалить все
    1. 2
    2. 3
  7. поставьте шесть 1 в конце
  8. возьмите первые шесть символов в качестве кода

Каверфон 2.0

  1. Начните со слова
  2. Преобразовать в нижний регистр
  3. Удалить все, что не входит в стандартный алфавит (обычно az ) [примечание 1]
  4. Удалить конечную букву e
  5. Если имя начинается с
    1. кашлять сделай это cou2f
    2. грубо сделать это rou2f
    3. жесткий сделать это tou2f
    4. достаточно, сделай это достаточно2f
    5. через сделай это trou2f
    6. gn сделай это
  6. Если имя заканчивается на
    1. мб сделай это м2
  7. Заменять
    1. cq с 2q
    2. ci с си
    3. се с се
    4. ци с си
    5. тч с
    6. с с к
    7. д с к
    8. х с к
    9. г с ф
    10. дг с
    11. тио с сио
    12. тиа с сией
    13. д с т
    14. ф с фх
    15. б с п
    16. ш с s2
    17. з с с
    18. начальная гласная [примечание 2] с A
    19. все остальные гласные с 3
    20. j с y
    21. начальный y3 с Y3
    22. начальная y с A
    23. у с 3
    24. 3gh3 с 3kh3
    25. гх с 22
    26. г с к
    27. группы буквы s с S
    28. группы буквы т с Т
    29. группы буквы п с буквой П
    30. группы буквы к с К
    31. группы буквы f с F
    32. группы буквы м с М
    33. группы буквы н с буквой Н
    34. w3 с W3
    35. wh3 с Wh3
    36. если имя заканчивается на w, замените последнюю w на 3
    37. с 2
    38. начальная h с A
    39. все остальные вхождения h с 2
    40. r3 с R3
    41. если имя заканчивается на r, замените последнюю r на 3
    42. г с 2
    43. l3 с L3
    44. если имя заканчивается на l, замените последнюю l на 3
    45. л с 2
  8. удалить все 2 с
  9. если имя заканчивается на 3 , замените последнюю 3 на A
  10. удалить все 3 s
  11. поставьте десять единиц в конце
  12. возьмите первые десять символов в качестве кода

  1. ^ Это может отличаться, если набор букв включает такие символы, как æ , ā или ø.
  2. ^ Гласные обычно a, e, i, o, u, но в зависимости от данных могут включать такие символы, как æ, ā или ø.

Примеры

Каверфон 1.0

Ли -> лили -> л33л33 -> Л33Л33 -> ЛЛ -> Л111111Л111111 -> Л11111
Томпсон -> Томпсонтомпсон -> th3mps3nth3mps3n -> th3mpS3nth3mpS3n -> Th3mpS3nТх3мпС3н -> Тх3мПС3нTh3mPS3n -> Th3MPS3nТх3МПС3н -> Тх3МПС3НТх3МПС3Н -> Т23МПС3НT23MPS3N -> TMPSNTMPSN111111 -> TMPSN1

Каверфон 2.0

Ли -> лили -> леле -> л3л3 -> Л3Л3 -> ЛАЛос-Анджелес -> Лос-Анджелес1111111111ЛА1111111111 -> ЛА11111111
Томпсон -> Томпсонтомпсон -> th3mps3nth3mps3n -> th3mpS3nth3mpS3n -> Th3mpS3nТх3мпС3н -> Тх3мПС3нTh3mPS3n -> Th3MPS3nТх3МПС3н -> Тх3МПС3НТх3МПС3Н -> Т23МПС3НT23MPS3N -> TMPSNTMPSN1111111111 -> TMPSN11111

Смотрите также

Ссылки

  1. ^ Милетт, Грег; Страуд, Адам (2012-05-18). Профессиональное программирование датчиков Android. John Wiley & Sons. стр. 421–. ISBN 9781118240458. Получено 19 февраля 2013 г.
  2. ^ Фуа, Клифтон; Ли, Винсент; Смит, Кейт (2006). «Проблема личного имени и рекомендуемое решение для добычи данных». Энциклопедия хранилищ данных и добычи данных . CiteSeerX 10.1.1.127.5111 . 
  3. ^ ab "Caverphone". Национальный институт стандартов и технологий . Получено 20 августа 2018 г.
  • Проект Кавершем — набор данных Кавершема об именах и акцентах в южной части Данидина , Новая Зеландия в 1893-1938 годах.
  • Оригинальный (2002) алгоритм Caverphone
  • Пересмотренный (2004) алгоритм Caverphone
  • Реализации:
    • Пересмотренная реализация C#
    • Реализация Java в проекте Apache Commons Codec
    • PHP-реализация
    • Реализация алгоритма каверфона на Python (версия 2.0) - проект AdvaS Advanced Search
Взято с "https://en.wikipedia.org/w/index.php?title=Caverphone&oldid=1271419261"