Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.19;
Скачать: CL | DM;

Вниз

Сравнение кусков текста   Найти похожие ветки 

 
Multy   (2003-12-06 18:31) [0]

Нужно проверить куски текста на приблизитеоьное совпадение. На эту тему, вроде, много понаделано может у кого есть готовые компоненты или алгоритмы?


 
maxXP ©   (2003-12-06 19:39) [1]

Может что-нибудь такое:

for i:=1 to length(text1) do begin
if text[2]="" then break;
if text1[i]=text2[i] then ... else procent:=procent+1;
end;

Изменяй procent если, скажем не совпадает,а потом определи если

length(text1) -100%
procent - X%

x:=procent*100/length(text1); Процент не совпадения.


 
Multy   (2003-12-06 19:56) [2]

Так то понятно, да вот только если добавить пару слов, то совершенно одинаковые тексты будут разными. Нужно что-то вроде приблизительного сравнения слов, только сравнивать не слова, а куски текста.

P.S. тут мысль: что если кусоки текста рассматривать как 1 большое слово и сравнивать алгоритмом преблизительного сравнения слов.


 
Юрий Федоров ©   (2003-12-06 20:22) [3]

Видимо это не самый простой алгоритм. ИМХО, лучше не спрашивать чьи-то собственные алгоритмы, а попытаться поискать решения от софтверных фирм


 
NikeOLD   (2003-12-06 21:37) [4]

Когда-то я делал сравнение удалением одинаковых слов в каждом куске кода: берешь первое слово в первом куске и ищешь такое же в остальных. Если есть - удаляешь. Затем повторяешь все заново. Но это еще не все, есть много лишних неинформативных слов, например, предлогов, их нужно сперва удалить. Метод основан на разнице в количестве оставшихся слов. Если в первом тексте слов осталось крайне мало, а во втором тексте их еще много, то значит первый текст полностью включен во второй.
При больших текстах очень медленный способ, рпактически не применим на больших текстах ввиду тормознутости, зато, правда весьма результативен.


 
wicked ©   (2003-12-06 22:14) [5]

http://delphibase.endimus.com/?action=viewfunc&topic=strmath&id=10289
может это подойдет?... :) тем более, его потом можно адаптировать...


 
MAC ©   (2003-12-07 02:02) [6]

Уточни -- приведи пример. А то писать можно непереписать, а оно тебе не понадобиться.

Можно реализовать с помощью конструкции буфера FIFO (очередь).
Как показывает практика -- лучший вариант в своём роде.

Так что опиши детально -- как, что и куда.



Страницы: 1 вся ветка

Текущий архив: 2003.12.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
14-62224
Jack
2003-11-26 12:45
2003.12.19
IIS и Jakarta-Tomkat


3-61949
r900
2003-11-28 09:31
2003.12.19
Почему в delphi7 в компоненте DBgrid не отображается название?


14-62201
den_c
2003-11-26 23:06
2003.12.19
Инсталяция плагина через Internet Explorer


14-62247
Карелин Артем
2003-11-24 09:07
2003.12.19
Какие есть средства разработки для микропроцессоров 8052??


3-61921
Фагот
2003-11-27 10:46
2003.12.19
Проблема поиска