Как обнаружить дублированный текст с некоторой нечеткостью

Некоторое время назад я написал небольшой скрипт используя Text::DeDupe, чтобы удалить дубликаты сообщений в блоге до того, положить на них глаз.

После прочтения документа Синтаксическая кластеризация Интернета, в котором реализация основана, я хотел бы иметь возможность находить перекрывающиеся документы (например, фрагменты блогов, а не полный текст, возможно, также цитаты).

Знаете ли вы какую-либо другую реализацию на C, C++ или Perl, которую я мог бы попробовать, прежде чем писать свою собственную?


person dpavlin    schedule 24.10.2008    source источник
comment
Я думаю, вам придется использовать классические алгоритмы дифференцирования на основе строк: stackoverflow.com/questions/236031/ stackoverflow. com/questions/145607/text-difference-algorithm stackoverflow.com/questions/3144/best-diff -алгоритм   -  person Jeff Atwood    schedule 21.01.2009
comment
Это может быть слишком упрощенный подход к поставленной задаче, поскольку я хотел бы удалить почти дубликаты, например, кто-то, цитирующий большую часть сообщения, и добавить что-то вроде меня, что является просто спамом.   -  person dpavlin    schedule 26.04.2010


Ответы (1)


SpotSigs, кажется, идеально подходит для моих целей, вот несколько ссылок:

Исходный код этого модуля размещен на GitHub:

http://github.com/jzawodn/perl-text-spotsig

person dpavlin    schedule 26.04.2010
comment
Эта ссылка Джереми З. на github не является ссылкой на источник. Если вы посмотрите на это репо, оно пустое. Исходный код SpotSigs можно найти здесь: mpi-inf.mpg.de/~mtb< /а> - person Nate Murray; 14.06.2011