| | | | |
Еще раз о нечетком сравнении строк | Полный текст материала
Другие публикации автора: Дмитрий Кузан
Цитата или краткий комментарий: «... По мотивам обсуждения статьи Функция приблизительного/нечеткого сравнения строк
...» |
Важно:- Страница предназначена для обсуждения материала, его содержания, полезности, соответствия действительности и так далее. Смысл не в разборке, а в приближении к истине :о) и пользе для всех.
- Любые другие сообщения или вопросы, а так же личные эмоции в адрес авторов и полемика, не относящаяся к теме обсуждаемого материала, будут удаляться без предупреждения авторов, дабы не мешать жителям нормально общаться.
- При голосовании учитывайте уровень, на который расчитан материал. "Интересность и полезность" имеет смысл оценивать относительно того, кому именно предназначался материал.
- Размер одного сообщений не должен превышать 5К. Если Вам нужно сказать больше, сделайте это за два раза. Или, что в данной ситуации правильнее, напишите свою статью.
Всегда легче осудить сделанное, нежели сделать самому. Поэтому, пожалуйста, соблюдайте правила Королевства и уважайте друг друга.
Добавить свое мнение.
| | Содержит полезные и(или) интересные сведения | [1] | 7 | 100% | | | | Ничего особенно нового и интересного | [2] | 0 | 0% | | | | Написано неверно (обязательно укажите почему) | [3] | 0 | 0% | | Всего проголосовали: 7 | | | Все понятно, материал читается легко | [1] | 3 | 60% | | | | Есть неясности в изложении | [2] | 0 | 0% | | | | Непонятно написано, трудно читается | [3] | 2 | 40% | | Всего проголосовали: 5 |
[Нечеткое сравнение]
Отслеживать это обсуждение
Всего сообщений: 725-04-2003 19:36
25-04-2003 19:36
30-12-2002 12:20
28-12-2002 16:39А не подскажет ли кто-нибудь, где взять описание алгоритма Ахо- Корассика или статью/-и про него? |
|
11-12-2002 21:27Сайт delphi.mtu-net.ru , на котором лежат примеры к статье, недоступен.
Может кто-нибудь выложить их например на DelphiKingdom или другой сайт, или послать мне на email?
С уважением, Дмитрий
Мой email: dmitrym (закорючка) totalise.co.uk
|
|
11-12-2002 19:25SoundEx вполне можно портировать, а вот его его недостаток - это то, что два абсолютно хаотичных набора гласных букв будут иметь стопроцентную схожеть.
Function Soundex(OriginalWord: string): string;
var
Tempstring1, Tempstring2: string;
Count: integer;
begin
Tempstring1 := "";
Tempstring2 := "";
OriginalWord := Uppercase(OriginalWord); {Переводим исходное слово в верхний регистр}
Appendstr(Tempstring1, OriginalWord[1]); {Используем первую букву слова}
for Count := 2 to length(OriginalWord) do
{Назначаем числовое значение каждой букве, за исключением первой}
case OriginalWord[Count] of
"B","F","P","V": Appendstr(Tempstring1, "1");
"C","G","J","K","Q","S","X","Z": Appendstr(Tempstring1, "2");
"D","T": Appendstr(Tempstring1, "3");
"L": Appendstr(Tempstring1, "4");
"M","N": Appendstr(Tempstring1, "5");
"R": Appendstr(Tempstring1, "6");
{Все другие буквы, цифры и знаки пунктуации игнорируются}
end;
Appendstr(Tempstring2, OriginalWord[1]);
{Удаляем из результата все последовательно повторяющиеся цифры.}
for Count:=2 to length(Tempstring1) do
if Tempstring1[Count-1]<>Tempstring1[Count] then
Appendstr(Tempstring2,Tempstring1[Count]);
Soundex:=Tempstring2; {Это - значение soundex}
end;
функция возвращает индекс в виде "A99999" который используется для сравнения с другими результатами. |
|
11-12-2002 14:05Алгоритмы полезные, но как их применить в практической работе?
Автор сравнивает короткие строки и вічисляет степень их "похожести" и все. А если требуется найти еще и позицию короткой подстроки в длинном тексте, а может быть еще и ее повторения ??
С уважением, YYV.
|
|
|
|