![]() |
![]() ![]() ![]() ![]() |
|
Как определить, что два слова имеют схожее произношениеDelphi , Синтаксис , Текст и СтрокиКак определить, что два слова имеют схожее произношениеАвтор: Lloyd Функция Soundex определяет схожесть звучания двух слов. Алгоритм Soundex опубликован в одной из статей журнала PC Magazine и предназначен для работы с английским языком (может кто-нибудь портирует для работы с нашим могучим? Пишите). Функции передается строка. Возвращаемое Soundex значение также имеет тип строки. Эта величина может сохраняться в базе данных или сравниваться с другим значением Soundex. Если два слова имеют одинаковое значение Soundex, можно предположить, что звучат они одинаково (более или менее). Вы должны иметь в виду, что алгоритм Soundex игнорирует первую букву слова. Таким образом, "won" и "one" будут иметь различное значение Soundex, а "Won" и "Wunn" - одинаковое. Soundex будет особенно полезен в базах данных, когда пользователь затрудняется с правописанием имен и фамилий.
SoundAlike - функция, проверяющая схожесть звучания двух слов. При схожести звучания она возвратит значение True и значение False в противном случае. Она демонстрирует пример использования функции Soundex.
Дополнение Существует алгоритм ("параметрической корреляции", если я вообще правильно называю его), основанный на оценке схожести слов по количеству совпадающих букв идущих друг за другом. Примечание: буквы не обязательно идут *непосредственно* друг за другом, т.е. без других букв. Пример: Андрей vs. Андрей - 6
ндрей vs. Андрей - 5
Анрей vs. Андрей - 5
Андрей vs. Александр - 4
Андрей vs. Иннокентий - 2
АнXрей vs. Андрей - 3, но в то же время с другими словами результат
будет на уровне 0..2
Andrew V. Fionik
Два слова имеют схожее произношение, если у них одинаковое значение функции Soundex. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: Текст и Строки ::
|
||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||||