Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     05 Apr 2000  20:38:03
 To : All
 Subject : Re: Сравнение текстов
 -------------------------------------------------------------------------------- 
 
 Michael Samanov wrote:
 
 > Хотелось бы поспрошать о наличии какой-нибудь хэш-функции, которая
 > бы давала сходный результат для сходных текстов. Hадо это для
 > составления индекса таблицы. Использовать предполагается совместно
 > с String::Approx.  Вот как я примерно это вижу, если обозвать
 > функцию myhash:
 > 
 > my $hash = myhash($text);
 > my $sth = $dbh->prepare("SELECT text FROM table WHERE hash<=? AND hash >=?");
 > $sth->execute($hash+100, $hash-100);
 > while(my $t = $sth->fetchrow_arrayref) {
 >   next unless amatch($text, $$t);
 >   print "Match: $$t\n";
 >   last;
 > }
 
 [skiped]
 
 Боюсь, что это невозможно принципиально.
 Результат анализа схожести строк есть вектор,
 с несколькими величинами. Свернуть их без
 потери "качества" сравнения в скаляр невозможно.
 Впрочем, вектор можно описать как несколько полей
 в таблице и проверять на попадание в интервалы
 всех полей с разными весовыми коэффициентами для
 каждой характеристики или использовать БД
 понимающую вектора.
 
 Пример такого вектора:
 
 (длина_строки,буквосочетание1,буквосочетание2,...)
 
 и выборка WHERE slen>=25 slen<=30 AND combPRO>=2 AND ...
 
 крайне не тривиально. Может упростить это и использовать
 оракловую ConText option?
 
 Андрей
 --- ifmail v.2.15dev4
  * Origin: Chelindbank (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Сравнение текстов   Andrey Sapozhnikov   05 Apr 2000 20:38:03 
Архивное /ru.perl/91178419e279.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional