Обход антиплагиата «со спрятанными буквами» и его обнаружение
Я уже аж дважды писал про попытки обхода системы «Антиплагиат» вообще, и других инструментов для оценки степени оригинальности текста, в частности (тем кто не читал — раз и два).
Вообще, случаев в моей практике было, конечно, гораздо больше, однако все они, в основном, походили на историю, описанную во второй статье про обход антиплагиата, поэтому я о них не писал.
И вот, я столкнулся, наверное, с одним из идеальных способов обхода. Как и все идеальное он предельно прост, а обнаружить его достаточно сложно, особенно если текст не вычитывается, а просто просматривается «по диагонали», или даже не просматривается вовсе.
Действовать с вами будем на конкретном примере. Вот я иду в интернет, и нахожу какой-нибудь кусочек текста. Не ходя далеко, я взял кусочек из прошлой статьи этого цикла.
Для проверки я буду использовать не «традиционный» antiplagiat.ru, а утилиту, созданную на бирже копирайтинга ETXT (кстати, в последнее время наблюдаю повышенный интерес со стороны ВУЗов к этой программке. Она того стоит, поверьте).
Что же она нам покажет?
Результат ожидаемый – уникальность текста – 0%. Ну что же, копирую тот же фрагмент текста в Word и обрабатываю его нужным способом.
Смотрите, повозившись с текстом всего пару минут, я вдруг повысил его оригинальность аж на 39%! И все это – без всякого специального ПО.
Что было сделано? Я просто беру текст и начинаю превращать одни слова в другие. «Во» в «вот», «не» в «нет», слово «вопрос» я превратил в «вопросы». И т.п. вот на картинке ниже красным показаны подставленные буквы:
Дальше, я самым наглым образом перекрашиваю эти красные буквы в белый цвет и уменьшаю. Выходит вот что:
Итак, мы с Вами видим текст, язык которого в Word указан как русский, никаких лишних подчеркиваний нет. Даже если проверяющий догадается выполнить цепочку действий «выделить все – размер шрифта 12 – цвет шрифта авто», при достаточном объеме текста, шансы того, что сделанные модификации просто не заметят близки к 100%. Ну а даже если и заметят, то, если модификации делались разумно, можно и опечатками это назвать.
Конечно, такая обработка текста – это большая работа. Это в том случае, если Вы не знакомы с макросами. Если знакомы, то написание макроса, который обработает весь текст за секунды, займет минут 20.
Как видите, практически идеальный вариант. Сам столкнувшись с такой модификацией впервые, я «разоблачил» ее лишь случайно. Удивился элегантности решения, и стал думать над тем, как же быстро и просто проверить текст на наличие подобных модификаций?
Просто выровнять размер шрифта во всем тексте и установить один цвет – явно не то. Потом придется вычитывать весь текст.
Искать в тексте буквы, выделенные белым? Кажется, это очевидное решение, на самом деле оно совершенно не годится. Почему? Потому, что будучи хитрым, я делаю текст не белым, а скажем, выставляя значение по RGB 255-255-254. Для глаза человека это белый цвет. Для машины нет. А проверять сразу много цветов – не выход.
Верное же решение состоит в том, что надо убрать весь текст, в котором цвет шрифта – «Авто». И посмотреть, что же там останется. Обработаем таким образом наш тестовый кусочек. Открываем инструмент поиска и замены, и выставляем такие настройки:
Т.е. весь текст с цветом «Авто» мы меняем на букву икс. Я не знаю почему, но, если менять этот текст на пустоту, ничего не выходит. Надо менять на что-то, обратите на это внимание.
В результате обработки нашего текста мы получили набор из кучки букв X:
Ну а теперь сделаем последний шаг – выделим все, и установим размер шрифта (какой-нибудь вменяемый, 12 или больше) и цвет. Если после этого ничего кроме наших букв икс не появилось – значит, текст чист. Ну а если появилось – значит не очень. В нашем примере получилось вот так – явный признак того, что «дело пахнет керосином».
В заключении добавлю, что можно написать макрос, который будет выполнять эту проверку нажатием одной кнопочки. Вот он:
Sub проверка() ‘ ‘ проверка Макрос ‘ ‘ Selection.Find.ClearFormatting Selection.Find.Font.Color = wdColorAutomatic Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = «» .Replacement.Text = «x» .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll Selection.WholeStory With Selection.Font .Name = «+Основной текст» .Size = 12 .Bold = False .Italic = False .Underline = wdUnderlineNone .UnderlineColor = wdColorAutomatic .StrikeThrough = False .DoubleStrikeThrough = False .Outline = False .Emboss = False .Shadow = False .Hidden = False .SmallCaps = False .AllCaps = False .Color = -587137025 .Engrave = False .Superscript = False .Subscript = False .Spacing = 0 .Scaling = 100 .Position = 0 .Kerning = 0 .Animation = wdAnimationNone .Ligatures = wdLigaturesNone .NumberSpacing = wdNumberSpacingDefault .NumberForm = wdNumberFormDefault .StylisticSet = wdStylisticSetDefault .ContextualAlternates = 0 End With End Sub
Пожалуй, на этот раз все.
В конце, как водится, обычный после статей этой тематики пассаж. Нет, я не считаю, что публиковать это вредно – студенты знают это и без меня. Я же, скорее, рассказываю, как найти, а не как сделать.
Результат же сложившейся ситуации – бездумное требование 100% уникальности в студенческих работах. Зачем он там? И как его добиться «легально»?
Желающие найти в текстах подобного рода модификации получили здесь рецепт того, как это можно сделать. Те, кто такую проверку текстов не делают — пеняют на себя.
Комментарии на тему услуг по обработке текстов будут безжалостно выпиливаться.