2010-07-10 2 views
4

Metaphone and Soundex - фонетические алгоритмы для индексации строк их английским произношением.Каковы практические применения функций metaphone() и soundex() в PHP?

Вы когда-нибудь использовали функции metaphone() или soundex(), которые присутствуют в стандартной библиотеке PHP?

Для чего? Каковы реальные возможности использования этих функций?

ответ

5

В более общем плане, soundex и metaphone могут использоваться для поиска строк, которые звучат одинаково, когда произносится громко.

Это можно использовать за пределами ситуаций, когда вы просто пытаетесь найти «правильное» правописание. Его можно использовать, например, чтобы помочь обнаружить ошибку, например, неправильное использование правильно записанного слова, которое звучит как правильный.

Еще одно привлекательное применение - попытаться найти правильное имя . Когда я говорю кому-то, мое имя «Николас», есть как минимум два «альтернативных» написания, которые я вижу, они пытаются использовать много: Николас и Николас. Когда они вводят его и он не находит меня в базе данных, soundex или metaphone могут быть использованы, чтобы сказать: «Нет Николя Рыцаря, но есть Рыцарь Николаса».

Степень, в которой эти алгоритмы фактически работают, однако, несколько спорно. Они иногда приходят с довольно странными результатами.

+0

Одним из возможных примеров реальной жизни является Facebook, который, возможно, может использовать 'soundex()' или 'metaphone()' (или эквивалентные функции), чтобы помочь в поиске имен, потому что, как вы упомянули, люди часто ищут людей, основанных только на звук их имени. – Chaim

2

Вы можете использовать их при выполнении проверки орфографии. Тогда вы могли бы легко заметить, что, например, «phorensics» - хорошее совпадение для «судебной экспертизы».

+0

Это плохой пример для 'soundex', потому что ведущая буква всегда является первой буквой слова, поэтому' phorensics' является 'P652' и' forensics' является 'F652' –

+0

D'oh. :) Хороший звонок - что приводит меня к телефону/телефону (что, вероятно, еще один плохой пример, в зависимости от того, на каком языке вы говорите!). Как метафон справляется с моим изворотливым примером? –

+4

'Phorensics' и' forensics' возвращают 'FRNSKS', используя' metaphone'. – Sam

Смежные вопросы