Участник:Raistlin/Научная работа
Материал из MachineLearning.
Строка 3: | Строка 3: | ||
Предстоит работа с системой [[Антиплагиат]]. В качестве метода поиска дубликатов в системе используется алгоритм шинглов. После подачи документа на проверку, пользователю выдается текст, в котором помечены блоки текста, являющиеся заимствованиями. Для конкретных блоков сообщается, с каким текстом, находящимся в базе, выявлено совпадение. Вообще говоря, документов, с которыми есть совпадения у конкретного блока, может быть много, но конечному пользователю обычно бывает не интересно искать все совпадения — достаточно найти лишь одно, подтверждающее факт плагиата. | Предстоит работа с системой [[Антиплагиат]]. В качестве метода поиска дубликатов в системе используется алгоритм шинглов. После подачи документа на проверку, пользователю выдается текст, в котором помечены блоки текста, являющиеся заимствованиями. Для конкретных блоков сообщается, с каким текстом, находящимся в базе, выявлено совпадение. Вообще говоря, документов, с которыми есть совпадения у конкретного блока, может быть много, но конечному пользователю обычно бывает не интересно искать все совпадения — достаточно найти лишь одно, подтверждающее факт плагиата. | ||
- | Не всегда совпадение текстов можно считать плагиатом. Скажем, школьник в сочинении процитировал четыре строчки из стихотворения Пушкина, или же студент в своей курсовой оформил титульный лист и введение по заготовленному образцу (принятому на той кафедре, где он учится). Такие случаи совпадения являются "законным" плагиатом. На текущий момент в системе Антиплагиат нет практически никаких методов определения законности плагиата, кроме "белого списка". Однако хочется автоматизировать процесс, чтобы конечному пользователю не пришлось самому | + | Не всегда совпадение текстов можно считать плагиатом. Скажем, школьник в сочинении процитировал четыре строчки из стихотворения Пушкина, или же студент в своей курсовой оформил титульный лист и введение по заготовленному образцу (принятому на той кафедре, где он учится). Такие случаи совпадения являются "законным" плагиатом. На текущий момент в системе Антиплагиат нет практически никаких методов определения законности плагиата, кроме "белого списка". Однако хочется автоматизировать процесс, чтобы конечному пользователю не пришлось самому оценивать на предмет законности плагиата каждый выделенный системой блок. Это приводит к весьма практической и интересной задаче. |
'''Цель работы''' — построить классификатор, который для каждого выделенного системой блока определяет легитимность заимствования. | '''Цель работы''' — построить классификатор, который для каждого выделенного системой блока определяет легитимность заимствования. |
Текущая версия
Краткое вступление
Предстоит работа с системой Антиплагиат. В качестве метода поиска дубликатов в системе используется алгоритм шинглов. После подачи документа на проверку, пользователю выдается текст, в котором помечены блоки текста, являющиеся заимствованиями. Для конкретных блоков сообщается, с каким текстом, находящимся в базе, выявлено совпадение. Вообще говоря, документов, с которыми есть совпадения у конкретного блока, может быть много, но конечному пользователю обычно бывает не интересно искать все совпадения — достаточно найти лишь одно, подтверждающее факт плагиата.
Не всегда совпадение текстов можно считать плагиатом. Скажем, школьник в сочинении процитировал четыре строчки из стихотворения Пушкина, или же студент в своей курсовой оформил титульный лист и введение по заготовленному образцу (принятому на той кафедре, где он учится). Такие случаи совпадения являются "законным" плагиатом. На текущий момент в системе Антиплагиат нет практически никаких методов определения законности плагиата, кроме "белого списка". Однако хочется автоматизировать процесс, чтобы конечному пользователю не пришлось самому оценивать на предмет законности плагиата каждый выделенный системой блок. Это приводит к весьма практической и интересной задаче.
Цель работы — построить классификатор, который для каждого выделенного системой блока определяет легитимность заимствования.
Начальной стадией работы является описание признакового пространства. Итак, что же можно использовать в качестве признаков легитимности заимствования?
1) Наличие цитирования — бинарный признак. Если весь блок (или большая его часть) является цитатой, оформленной по правилам русского языка, то, вполне вероятно, это не плагиат. Здесь возникают некоторые препятствия — что делать, например, с опечатками (кто-то забыл кавычками закрыть цитату). Также стоит смотреть на границы цитирования. Если цитата содержится в сопоставленном блоку документе (откуда произошло заиствование) вместе с некоторым "окружением", то, вполне вероятно, это все же плагиат, причем сделанный методом copy-paste. Поэтому разумно было бы еще ввести признаки типа "длина текста в блоке до начала цитаты", "длина текста в блоке после окончания цитаты", и различные вариации на эту тему.
2) Пересечение с "белым списком" (вещественное число от 0 до 1). Смотрим, какая доля пойманного блока текста покрывается белой базой.
3) Относительный размер блока. Берем отношение размера блока (в символах) к размеру всего текста. Даже если сама проверяемая работа небольшая, то это подозрительно, когда размер заимствования — половина от всего текста.
4) Абсолютный размер блока (в символах или в словах).
5) Положение блока в тексте. Берем отношение объема текста, идущего до найденного блока к объему текста после найденного блока. Вполне возможно, что некоторые куски текста заимствуют чаще (скажем, основная работа студентом написана самостоятельно, но кусок введения или заключения из лени скопирован с чужой работы).
6) Число документов из базы, соответствующее найденному куску (нормированное относительно количества документов в базе).
7) Можно придумать некоторую "меру схожести" двух текстов. Например, привести блок из текста пользователя и соответсвующий ему блок из базы к канонической форме, отсортировать и сравнить процент совпадения слов.
8) Можно ввести ряд статистических признаков. Скажем, посчитать индекс удобочитаемости для конкретного блока и для всего текста, после чего сравнить. Однако конкретно индекс удобочитаемости для корректного применения требует весьма большой длины текста (и блока тоже). Стоит подумать над другими подобными признаками...