Система «Антиплагиат» это специализированная поисковая система.
Как и положено поисковику, со своим движком и поисковыми индексами.
Самый крупный наш показатель по количеству источников — это, конечно же, русскоязычный Интернет. Довольно давно мы решили, что будем размещать в этом индексе все, что является текстом (а не картинкой, музыкой или видео), написано на русском языке, имеет размер более 1 Кб и не является «почти дубликатом».
чего-то, что уже есть в индексе.
Такой подход хорош тем, что не требует сложной предварительной обработки и минимизирует риски «выплеснуть ребенка вместе с водой» — пропуска документа, из которого потенциально может быть заимствован текст. С другой стороны, в результате мы мало знаем о том, какие документы попадают в индекс.
По мере роста индекса Интернета - и вот, на секунду, это уже более 300 миллионов документов.
Только на русском — возникает вполне закономерный вопрос: много ли в этой свалке действительно полезных документов? И поскольку мы ( Юрий Чехович И Андрей_Хазов ) занялись такими размышлениями, то почему бы нам не ответить еще на несколько вопросов одновременно.
Сколько научных документов индексируется, а сколько ненаучных? Какую долю научных статей составляют дипломы, статьи, рефераты? Каково распределение документов по темам?
Поскольку речь идет о сотнях миллионов документов, необходимо использовать инструменты автоматического анализа данных, в частности, технологии машинного обучения.
Конечно, в большинстве случаев качество экспертной оценки превосходит машинные методы, но привлекать человеческие ресурсы для решения такой масштабной задачи было бы слишком дорого.
Итак, нам нужно решить две задачи:
- Создайте «научный» фильтр, который, с одной стороны, позволяет автоматически отбрасывать документы, не соответствующие структуре и содержанию, а с другой стороны, определяет тип научного документа.
Сразу оговоримся, что «научность» ни в коей мере не означает научную значимость или достоверность полученных результатов.
Назначение фильтра — отделить документы, похожие на научные статьи, диссертации, дипломы и т.п.
, от других типов текстов, а именно художественных, публицистических статей, новостных сюжетов и т.п.
;
- Реализуйте средства категоризации научных документов, которые относят документ к одной из научных специальностей (например, Физико-математические науки , Ээкономические науки , Архитектура , Культурология и т. д.).
Поясним на примере.
Даже беглого взгляда достаточно, чтобы различить научная статья
из, например, детская сказка .
Но если там только текстовый слой (для тех же примеров), то надо внимательно читать содержимое.
Фильтровать «научные» и сортировать по типу
Решаем проблемы последовательно:- На первом этапе мы отфильтровываем ненаучные документы;
- На втором этапе все документы, идентифицированные как научные, классифицируются по типам: статья, кандидатская диссертация, докторская диссертация, диплом и т.д.
Особый тип (неопределенный) присваивается документам, которые нельзя с высокой степенью уверенности отнести к какому-либо одному типу (чаще всего короткие документы - страницы научных сайтов, рефераты рефератов).
К этому типу можно отнести, например, данную публикацию, имеющую некоторые признаки научности, но не похожую ни на одну из вышеперечисленных.
Есть еще одно обстоятельство, которое необходимо принять во внимание.
Это высокая скорость работы алгоритма и низкие требования к ресурсам — ведь наша задача носит вспомогательный характер.
Поэтому мы используем очень небольшое ориентировочное описание документов:
- средняя длина предложения в тексте;
- доля стоп-слов по отношению ко всем словам текста;
- индекс читаемости ;
- доля знаков препинания по отношению ко всем символам текста;
- количество слов из списка («реферат», «диссертация», «диплом», «аттестация», «специальность», «монография» и т.д.) в начальной части текста (признак отвечает за заголовок страница);
- количество слов из списка («список», «литература», «библиографический» и т.п.
) в последней части текста (атрибут отвечает за список использованной литературы);
- пропорция букв в тексте;
- средняя длина слова;
- количество уникальных слов в тексте.
В качестве классификатора мы используем алгоритм случайного леса ( Случайный лес ) — популярный метод классификации в машинном обучении.
Качество оценить сложно без образца, отмеченного экспертами, поэтому прогоняем классификатор на сборнике статей из научной электронной библиотеки.
ру .
Мы предполагаем, что все статьи будут идентифицированы как научные.
Результат 100%? Ничего подобного – всего 70%.
Может быть, мы создали плохой алгоритм? Просматриваем отфильтрованные статьи.
Оказывается, в научных журналах публикуется масса ненаучных текстов: редакционные статьи, поздравления с юбилеями, некрологи, кулинарные рецепты и даже гороскопы.
Выборочный обзор статей, которые классификатор считает научными, не выявляет ошибок, поэтому классификатор признается валидным.
Теперь возьмемся за второе задание.
Здесь не обойтись без качественного учебного материала.
Мы просим оценщиков подготовить образец.
К нам поступает чуть больше 3,5 тысяч документов со следующим распределением:
Тип документа | Количество документов в выборке |
---|---|
Статьи | 679 |
Кандидатские диссертации | 250 |
Авторефераты магистерских диссертаций | 714 |
Сборники научных конференций | 75 |
Докторские диссертации | 159 |
Авторефераты докторских диссертаций | 189 |
Монографии | 107 |
Учебники | 403 |
Тезисы | 664 |
Неопределенный тип | 514 |
Получаем следующее качество классификации:
Точность | Полнота | F-мера |
---|---|---|
81% | 76% | 79% |
Из рисунка 1 видно, что более половины фонда составляют научные документы, а среди них, в свою очередь, более половины документов составляют статьи.
Рис.
1. Распространение документов по «научным» На рис.
2 показано распределение научных документов по типам, за исключением типа «статья».
Видно, что вторым по популярности видом научного документа является учебник, а самым редким видом – докторская диссертация.
Рис.
2. Распределение иных научных документов по видам.
В целом результаты соответствуют ожиданиям.
Ничего большего от быстрого «грубого» классификатора нам и не нужно.
Определение темы документа
Так получилось, что единого общепринятого классификатора научных работ до сих пор не создано.Наиболее популярными сегодня являются рубрикаторы.
На всякий случай мы решили тематически классифицировать документы по каждой из этих категорий.
Для построения классификатора тем мы используем подход, основанный на тематическом моделировании ( тематическое моделирование ) — статистический метод построения модели коллекции текстовых документов, в котором для каждого документа определяется вероятность принадлежности к определенным тематикам.
Используем открытую библиотеку как инструмент построения тематической модели.
БигАРТМ .
Мы использовали эту библиотеку раньше и знаем, что она отлично подходит для тематического моделирования больших коллекций текстовых документов.
Однако есть одна трудность.
При тематическом моделировании определение состава и структуры тем является результатом решения задачи оптимизации применительно к конкретной коллекции документов.
Мы не можем влиять на них напрямую.
Естественно, полученные темы при настройке нашей коллекции не будут соответствовать ни одному из целевых классификаторов.
Следовательно, чтобы получить итоговое неизвестное значение рубрикатора конкретного документа запроса, нам необходимо выполнить еще одно преобразование.
Для этого в тематическом пространстве BigARTM мы используем алгоритм ближайших соседей ( к-НН ) ищем несколько наиболее похожих на запрос документов с известными значениями рубрикатора и на основании этого присваиваем документу запроса наиболее релевантный класс.
В упрощенном виде алгоритм показан на рисунке:
Для обучения модели мы используем документы из открытых источников, а также данные, предоставленные Elibrary.ru с известными специальностями ВАК, Государственного научно-технического института, УДК.
Убираем из коллекции документы, привязанные к очень общим рубрикаторным позициям, например, Общие и комплексные проблемы естественных и точных наук , поскольку такие документы сильно засорят окончательную классификацию.
Итоговый сборник содержал около 280 тысяч документов для обучения и 6 тысяч документов для тестирования по каждому рубрикатору.
Для наших целей нам достаточно спрогнозировать значения рубрикаторов первого уровня.
Например, для текста со значением ГРНТИ 27.27.24: Гармонические функции и их обобщения.
прогноз рубрики верен 27: Математика .
Для повышения качества разработанного алгоритма добавим в него подход, основанный на старом добром Наивном Байесе ( Наивный Байес ) классификатор.
В качестве признаков используются частоты слов, наиболее характерные для каждого из документов с определенным значением рубрикатора ВАК.
Почему это так сложно? В результате мы берем прогнозы обоих алгоритмов, взвешиваем их и получаем средний прогноз для каждого запроса.
Этот метод в машинном обучении называется ансамблем ( Ансамбль ).
Такой подход в конечном итоге дает нам заметный прирост качества.
Например, для спецификации SRSTI точность исходного алгоритма составила 73%, точность наивного байесовского классификатора — 65%, а их комбинации — 77%.
В результате наш классификатор работает следующим образом:
Отметим два фактора, влияющих на результаты классификатора.
Во-первых, любому документу может быть присвоено одновременно более одного значения рубрикатора.
Например, значения рубрикатора ВАК — 25.00.24 и 08.00.14( Ээкономический , социальная и политическая география И Мировая экономика ).
И это не будет ошибкой.
Во-вторых, на практике значения рубрикаторов присваиваются экспертно, то есть субъективно.
Ярким примером являются такие, казалось бы, непохожие темы, как Машиностроение И Сельское и лесное хозяйство .
Наш алгоритм классифицировал статьи по заголовкам «Машины для рубок ухода за лесом» И «Предпосылки разработки типовой линейки тракторов для условий северо-западной зоны» к машиностроению, а по первоначальной маркировке относились именно к сельскому хозяйству.
Поэтому мы решили вывести топ-3 наиболее вероятных значений для каждого из рубрикаторов.
Например, для статьи «Профессиональная толерантность учителя (на примере деятельности учителя русского языка в полиэтнической школе)» вероятности значений рубрикатора ВАК распределились следующим образом:
Значение рубрикатора | Вероятность |
---|---|
Педагогические науки | 47% |
Психологические науки | 33% |
Культурология | 20% |
Категории | Топ-3 точности |
---|---|
ГРНТИ | 93% |
ВАК | 92% |
УДК | 94% |
3) и только для научных (рис.
4) документов.
Видно, что большая часть документов относится к гуманитарным наукам: наиболее распространенными спецификациями являются экономика, юриспруденция и педагогика.
Причем среди одних только научных документов их доля еще больше.
Рис.
3. Распределение тем по модулю поиска
Рис.
4. Распределение тем научных документов.
В результате буквально по подручным материалам мы не только изучили тематическую структуру индексируемого Интернета, но и создали дополнительный функционал, с помощью которого можно «одним движением» классифицировать статью или другой научный документ сразу в три тематические рубрики.
»
Описанный выше функционал сейчас активно внедряется в систему Антиплагиат и в ближайшее время будет доступен пользователям.
Теги: #Машинное обучение #тематическое моделирование #антоплагиат #обработка текста #анализ данных #Поисковые технологии #Семантика #математика #Машинное обучение
-
Работы Финалистов Russian Design Cup 2016
19 Oct, 24 -
Как Запятнать Свою Репутацию Фрилансера
19 Oct, 24 -
Вышла Alien Arena 2009.
19 Oct, 24 -
Фабрики Для Рабочих, Код Для Программистов!
19 Oct, 24 -
Python, Pitch Shift И Фортепиано
19 Oct, 24