• 24.03.2015

Данный вид поиска позволяет для заданного текста найти другие тексты, содержащие фрагменты, похожие на какие-либо фрагменты заданного текста. Оригинальный алгоритм поиска устойчив к изменениям текста и способен найти не точное совпадение фрагментов, что позволяет выявить заимствование или плагиат даже в том случае, если скопированный фрагмент был подвергнут редакторской правке. Так, например, после совпадения цепочки из восьми или более слов следующие восемь или менее слов могут отличаться, а затем опять следует совпадение цепочки из восьми или более слов и т.д. В итоге, к примеру, можно задать следующие условия поиска: найти все документы, содержащие похожие фрагменты длиной не менее 30 слов, с возможными расхождениями в этих фрагментах не более десяти слов, и с общим количеством слов в совпавших фрагментах не менее 30% от количества слов в заданном тексте.

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

Поиск похожих фрагментов реализован нами под СУБД Oracle и эффективно работает для относительно небольших коллекций документов, порядка нескольких гигабайт чистого текста. Для быстрого поиска используется специальный индекс документов, скорость построения которого составляет порядка суток на гигабайт текста, в зависимости от требуемых настроек последующего поиска — чем выше степень допустимых различий между искомыми фрагментами, тем больше время индексации и время поиска.