Работу ученика написанную от руки необходимо проверить на плагиат как это сделать максимально быстро

Добавил пользователь Евгений Кузнецов
Обновлено: 18.09.2024

Последний учебный год, апрель месяц. Студента все чаще и чаще начинают посещать мысли о том, что надо бы заняться дипломной работой. Заняться — в смысле придумать, как быстро состряпать нечто, что будет хотя бы созвучно той теме, которую, вроде как, утверждали с научным руководителем. А, да, надо хотя бы на 80 страниц, еще и соблюсти ГОСТы там всякие… Понятное дело, самому столько связного текста уже не успеть набрать (да еще и могут начать в суть работы вникать, ну его!). Очевидно — надо брать готовую работу, которую уже защитили, работу качественную, проверенную и одобренную. Знакомая всем нам ситуация. Открытым остается единственный вопрос — как сделать так, чтобы работа прошла проверку на заимствования… Поиск в интернете и общение с коллегами по несчастью приводят студента к следующим вариантам решения проблемы:

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

  • Обнаружение потенциальных обходов и уведомление пользователя о них;
  • Очистка проверяемого текста от обходов.

Общую схему обработки обходов можно описать следующим образом:

Вот как это выглядит на практике.
Документ в формате docx:


Проверяем документ без функционала обнаружения обходов:


Документ имеет стопроцентную оригинальность.

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



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

  • Изменение слова (слово в извлеченном тексте отличается от слова, отображаемого в исходном документе);
  • Добавление слова (слово не видимо в исходном документе, появляется в извлекаемом тексте документа);
  • Удаление слова (слово видимо в исходном документе, отсутствует в извлекаемом тексте документа);
  • Разбиение слова (в исходном документе слово отображается нормально, в излеченном тексте оно разбито на две или более части);
  • Слияние слов (в исходном документе отображается несколько слов, в извлеченном тексте они слиты в одно слово).

Давайте посмотрим, с какими обходами мы сталкиваемся. Начнем от простых и пойдем в сторону наиболее интересных.

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

Омоглифы


Непечатные символы

Другим способом изменения строкового значения слов без существенного изменения их отображения является использование невидимых либо слабо видимых Unicode символов. Вставка таких символов в слово меняет строковое значение слова, при этом практически не меняя его отображение.

Данные символы система просто удаляет и, при их большом количестве, оповещает пользователя о подозрительности документа, отображая очищенные непечатные символы в отчете.

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

Мелкий текст

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

Отображение обнаруженной попытки обхода:

Изменение цвета текста на фоновый

Обнаружения невидимого текста осложнено следующими обстоятельствами:

  • Из pdf не всегда возможно получить цвет конкретного символа;
  • Фон слова может быть не белым. Более того, слово может находиться на фоне изображения;
  • Слова и символы могут наезжать друг на друга.
  • Определяем область страницы, содержащую слово;
  • Вычисляем дисперсию полученной области. Если дисперсия ниже определенного порога — в анализируемой области имеем однородный цвет, никаких букв не видно. Следовательно, налицо попытка обхода системы.

Слова и символы, спрятанные друг за другом

Текст в виде изображений

Что будет, если взять и заменить часть текста изображениями, содержащими этот текст? При должной аккуратности внешне все будет выглядеть так, будто ничего в документе не изменилось, однако при извлечении текстового слоя, естественно, слова с картинок не извлекутся. Для закрытия данной бреши мы применяем оптическое распознавание текста.

Формулы

При конвертации в pdf получаем следующий результат:


Для обнаружения и очистки этого и других обходов, заточенных на особенности конвертации docx в pdf, мы анализируем и вычищаем исходный docx файл. В частности, при обнаружении существенного количества формул в документе мы их заменяем на простой текст, который сохранится при конвертации документа в pdf. Более того, мы запоминаем позиции формул, которые мы обработали, и при необходимости сообщаем пользователю о подозрительности проверяемого документа и подсвечиваем текст, который мы восстановили из формул.

Масштаб, маленькое межсимвольное/междустрочное расстояние

При конвертации в pdf не учитывается ряд свойств текста: масштаб, межсимвольное и междустрочное расстояния. Это позволяет добавлять невидимый в исходном документе текст (например, у него выставляется очень маленький масштаб), который в pdf становится нормальным, ничем не выделяющимся текстом. Реализация обхода (docx):

Результат конвертации в pdf (цвет мы меняли сами):


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

Разбиение слова на части

Интересный частный случай применения свойств, описанных в предыдущем пункте — добавить в слово пробел и скрыть его. В исходном документе слово будет выглядеть нормальным, слитным, а после конвертации документа в pdf разобьется на две части, так как пробел станет полноразмерным. Отлавливаем подобный финт ушами примерно так же, как и в предыдущем пункте. Реализация обхода (docx):

Результат конвертации в pdf:


Отображение обнаруженного обхода:


Читайте также: