Поиск точных совпадений
Фундамент любой проверки текста. Как мы находим дословные заимствования, игнорируя попытки автора изменить окончания слов.
Представьте, что вы скопировали абзац из Википедии, но решили схитрить: добавили пару запятых, удалили предлог «и» и поменяли окончания у пары слов. Обычный текстовый поиск по фразе сломается. Метод шинглов — нет.
1. Очистка и Лемматизация
Прежде чем искать совпадения, алгоритм превращает текст в "сырой" скелет:
- Удаляются все знаки препинания, предлоги, союзы и междометия.
- Слова приводятся к начальной форме (лемматизация).
Скелет: студент быстро бежать лекция опоздать
2. Нарезка на шинглы (N-граммы)
Далее этот скелет нарезается на кусочки (шинглы). В Antiplagiat.best длина шингла составляет 4 слова. Особенность в том, что шинглы идут внахлест, как чешуя на крыше (отсюда и название — shingle).
3. Сравнение хешей
Каждый шингл превращается в уникальный цифровой код (хеш). Мы отправляем эти хеши в поисковые базы данных. Если хотя бы один хеш совпал с базой — мы нашли плагиат. Благодаря перекрытию, даже если автор заменит одно слово в предложении, соседние шинглы останутся нетронутыми, и факт заимствования будет зафиксирован.
Когда этот метод идеален?
Метод шинглов безупречно работает для юридических текстов, ГОСТов, технических заданий и прямых цитат. Там, где формулировки жестко закреплены, шинглы дают математически точный результат (0% ложных срабатываний).
Но что делать, если автор переписал вообще все слова синонимами? Для этого мы используем векторный анализ, о котором читайте в следующей статье.