- Metaphone
-
Metaphone — это фонетический алгоритм для индексирования слов по их звучанию с учётом основных правил английского произношения. На выходе алгоритм даёт ключи переменной длины, в отличие от алгоритма Soundex, который генерирует ключи с фиксированной длиной. Из схожих по звучанию слов получаются одинаковые ключи.
Metaphone был разработан Lawrence Philips в качестве альтернативы алгоритму Soundex, обладающему рядом недостатков. Новый алгоритм более точен, чем Soundex, потому что использует больший набор правил английского произношения. Metaphone доступен в качестве встроенной функции во многих системах, включая поздние версии PHP. Алгоритм был описан в книге «Practical Algorithms for Programmers», Binstock & Rex, Addison Wesley, 1995.
Позднее автор алгоритма разработал новую версию, которая получила название Double Metaphone. В отличие от первой версии, применимой только к английскому языку, вторая учитывает особенности транскрипции с помощью букв латинского алфавита некоторых других языков.
В 2009 году тот же Lawrence Philips создал третью версию алгоритма под называнием Mataphone 3. Эта разработка не является разработкой с открытым исходным кодом. Исходный код программы на C++ можно купить на сайте Anthropomorphic software.
Содержание
См. также
- Double Metaphone
- Soundex
Ссылки
- Survey of Phonetic Matching (англ.)
- Open Source Spell Checker (англ.)
- Генератор слов 'Sounds alike' (англ.)
- Статья о реализациях Double Metaphone в CodeProject’s (англ.)
Доступные реализации
- Реализации Soundex, Metaphone и Double Metaphone на Java (англ.)
- Реализации Soundex, Metaphone, Caverphone на Python (англ.)
- Text::Metaphone CPAN-модуль для Perl (англ.)
- Text::DoubleMetaphone CPAN-модуль для Perl (англ.)
- Реализация от Stephen Woodbridge на PHP (англ.)
- PECL::DoubleMetaphone PECL-пакет для PHP, реализующий Double Metaphone
- Реализация для Ruby входит в пакет Text (англ.)
- Реализация Double Metaphone на OCaml (англ.)
- Реализация от Robert Minter на 4GL (англ.)
Варианты реализаций для русского языка
- Реализация Петра Каньковски (в архиве) на Visual Basic (рус.)
Категория:- Строковые алгоритмы
Wikimedia Foundation. 2010.