Как работает проверка на плагиат
Учитель загружает твоё сочинение в систему, и через пару секунд она выдаёт: «совпадение 14%». Но как машина за это время сравнила твой текст с миллионами чужих? Разбираем магию без магии.
Ты сдаёшь реферат, учитель загружает его в систему — и через пару секунд экран показывает: «оригинальность 86%». Как программа успела сравнить твой текст с миллионами чужих работ быстрее, чем ты доешь бутерброд? Никакой магии тут нет — есть очень хитрая математика, которая умеет превращать слова в числа.
Сравнивать буква в букву — плохая идея
Самое наивное решение, которое приходит в голову: взять твой текст и тупо сравнить его с каждым документом в базе, символ за символом. Проблема в том, что это чудовищно медленно. Если в базе хранятся сотни миллионов работ, а в каждой — десятки тысяч символов, то такое сравнение заняло бы не секунды, а годы.
Но даже если бы у нас был бесконечно быстрый компьютер, этот подход всё равно провалился бы. Достаточно поменять одно слово, переставить два предложения или добавить запятую — и тексты перестанут совпадать буква в букву, хотя по сути это одно и то же. Списывающие именно так и делают. Значит, машине нужен способ ловить смысл совпадения, а не точное копирование.
Текст превращается в кусочки
Здесь на сцену выходит главная идея антиплагиата — шинглы (от английского shingle — «черепица»). Представь, что ты режешь текст на короткие пересекающиеся кусочки по несколько слов. Например, фразу «кошка села на тёплый коврик» можно нарезать по три слова:
- кошка села на
- села на тёплый
- на тёплый коврик
Кусочки идут внахлёст, как черепица на крыше — отсюда и название. Теперь любой текст — это не сплошная стена символов, а набор маленьких фрагментов. И вот в чём фокус: если два человека написали про одно и то же своими словами, их шинглы почти не совпадут. А если один списал у другого — у них окажется куча одинаковых кусочков, даже если кое-где переставлены абзацы.
Антиплагиат ищет не одинаковые тексты, а одинаковые кусочки текста. Это как ловить вора не по лицу, а по отпечаткам пальцев, которые он оставил повсюду.
Слова становятся числами
Сравнивать кусочки как строки всё ещё медленно. Поэтому каждый шингл прогоняют через хеш-функцию — это такая «мясорубка», которая из любой строки делает короткое число. Одинаковый кусочек текста всегда даёт одно и то же число, а разные кусочки — почти всегда разные числа.
Теперь весь твой реферат — это просто список чисел. И база данных — тоже списки чисел. Сравнивать числа компьютер умеет молниеносно: ему достаточно посмотреть, сколько твоих чисел встречается в чужих документах. Чем больше пересечений — тем выше совпадение.
Чтобы не сравнивать вообще всё со всем, системы используют хитрость лентяя: из всех чисел документа берут, например, только самые маленькие. Если у двух текстов совпадают даже эти «избранные» числа, велика вероятность, что и сами тексты похожи. Так проверка миллионов работ умещается в пару секунд.
Где система берёт «эталоны»
Антиплагиат силён ровно настолько, насколько богата его база. Сравнивать-то нужно с чем-то! Поэтому такие системы заранее собирают и хешируют гигантские коллекции текстов:
- миллионы научных статей и диссертаций;
- учебники, книги и энциклопедии;
- огромные куски открытого интернета;
- и — важно — все работы, которые когда-то уже загружали другие ученики и студенты.
Последний пункт особенно коварен. Если твой одноклассник в прошлом году сдал реферат, который ты решил «позаимствовать», система его уже видела и запомнила. Поэтому скачать готовую работу из сети — почти гарантированный способ попасться: эта работа давно лежит в базе.
Гонка брони и снаряда
Хитрецы постоянно придумывают, как обмануть проверку: меняют слова на синонимы, подставляют латинские буквы вместо русских (например, латинскую «a» вместо кириллической), вставляют невидимый белый текст между словами. Это вечная гонка вооружений — как щит против меча.
Но и системы не стоят на месте. Современный антиплагиат уже не просто считает совпадения кусочков. Он умеет распознавать перефразирование, замечает подмену символов, ловит машинный перевод и всё чаще использует нейросети, которые анализируют смысл, а не только форму. А с появлением текстов, написанных искусственным интеллектом, появилась и отдельная задача — отличить написанное человеком от сгенерированного машиной.
Вывод простой и немного скучный: обмануть проверку с каждым годом всё труднее, а написать самому — всё проще, чем кажется. Зато, разобравшись, как устроен антиплагиат изнутри, ты теперь смотришь на эти проценты совсем другими глазами. За ними не магия, а шинглы, хеши и очень много чужих чисел, с которыми сравнивают твои.