Разработка системы поддержки принятия решений для рубрикации научных текстов

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 02.09.2018
Размер файла 2,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.Allbest.ru/

Размещено на http://www.Allbest.ru/

Федеральное государственное автономное образовательное учреждение высшего образования

Национальный исследовательский университет «Высшая школа экономики»

Московский институт электроники и математики им. А.Н. Тихонова

Департамента электронной инженерии МИЭМ НИУ ВШЭ

Направление 09.03.01 «Информатика и вычислительная техника»

Выпускная квалификационная работа

Тема:

Разработка системы поддержки принятия решений для рубрикации научных текстов

Выполнили студенты:

Козлова Е.С., Ломотин К.Е.

Руководитель к.т.н.,

доцент А. Романов

Москва, 2018 г.

Аннотация

Работа посвящена разработке системы поддержки принятия решений для рубрикации научных статей, рефератов и аннотаций. Для этого проведено исследование таких моделей машинного обучения, как искусственные нейронные сети, случайный лес, логистическая регрессия, и метод опорных векторов, с учетом такой особенности научных текстов, как большое количество терминов, характерных для различных рубрик. Рассмотрены этапы анализа предоставленного набора данных, извлечения признаков из текстов и разработки настольного приложения. Результаты исследования применяются в разработке системы поддержки принятия решений для назначения научным текстам кода отдела, ГРНТИ или реферативного журнала ВИНИТИ РАН.

Abstract

The work is devoted to the development of the decision support system for scientific articles, abstracts and annotations classification. For this purpose, the study of such machine learning models as artificial neural networks, random forest, logistic regression, and the method of support vectors, taking into account such a feature of scientific texts, as a large number of terms that are characteristic of various categories. The stages of analysis of the provided data set of data, extraction of attributes from texts and development of a desktop application are separately considered. The results of the research are used in the development of a decision support system for the assignment of corresponding codes of the department, SRSTI or abstract journal of the All-Russian Institute of Scientific Research to scientific texts.

Оглавление

  • Введение
  • 1. Постановка задачи
  • 2. Обзор существующих решений
    • 2.1 Программные продукты
    • 2.2 Предобработка
    • 2.3 Извлечение признаков
    • 2.4 Классификация
      • 2.4.1 Метод центроидов и алгоритм K ближайших соседей
      • 2.4.2 Метод опорных векторов
      • 2.4.3 Искусственные нейронные сети
      • 2.4.4 Наивный байесовский классификатор
      • 2.4.5 Алгоритмы бустинга
    • 2.5 Особенности задачи, рассмотренные в других работах
      • 2.5.1 Влияние длины текста на качество классификации
      • 2.5.2 Влияние количества классов на качество классификации
      • 2.5.3 Влияние языка текста на качество классификации
      • 2.5.4 Заключение обзора решений
  • 3. Анализ данных для обучения
  • 4. Подходы к интерпретации задачи и оценке качества классификации
  • 5. Методы проведения экспериментов
    • 5.1 Предобработка данных
    • 5.2 Извлечение признаков из текста
    • 5.3 Классификация
      • 5.3.1 Логистическая регрессия
      • 5.3.2 Случайный лес
      • 5.3.3 Искусственная нейронная сеть
      • 5.3.4 Метод опорных векторов
  • 6. Разработка функциональной составляющей ATC
    • 6.1 Среда работы приложения и используемые программные компоненты
    • 6.2 Структура приложения
    • 6.3 Графический интерфейс пользователя
    • 6.4 Консольный режим работы
    • 6.5 Анализ производительности
  • 7. Анализ результатов
    • 7.1 Результат работы классификатора на кодах отделов
    • 7.2 Результат работы классификатора для кодов реферативных журналов
    • 7.3 Результат работы классификатора на кодах ГРНТИ
    • 7.4 Вывод по анализу результатов
  • Заключение
  • Список литературы

Введение

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

Данное исследование нацелено на разработку приложения, использующего модель данных, которая обладала бы возможностью определять вероятность принадлежности текста к категориям определенного рубрикатора, то есть работала в режиме системы поддержки принятия решений (СППР). Работа проводится в рамках разработки системы анализа текста для ВИНИТИ РАН [1]. Одна из задач института - сбор и хранение научных публикаций со всего мира. Документы проходят через тематические отделы, где специалисты назначают им коды рубрик в различных системах рубрикации. При этом количество кодов реферативных журналов и ГРНТИ доходит до нескольких сотен. Использование СППР призвано сократить количество возможных рубрик для текста, предоставив специалисту оценку вероятностей для каждой рубрики.

В работе проводится обзор существующих программных продуктов, созданных для решения этой задачи, дается описание обучающих данных, предоставленных ВИНИТИ РАН для процесса настройки алгоритмов, сравниваются два различных подхода к интерпретации задачи, описываются методы проведения экспериментов и подсчета метрик качества и проводится анализ полученных результатов классификации по кодам тематических отделов, кодам реферативных журналов и рубрикатору ГРНТИ.

1. Постановка задачи

Настройка параметров модели классификации текста (обучение модели), требует наличия размеченных обучающих данных, содержащих список текстов и меток классов, к которым относятся тексты. В данной работе применяется выборка, предоставленная ВИНИТИ РАН. Ее характеристики, такие как средняя длина текста и распределение текстов по рубрикам, играют важную роль при выборе модели машинного обучения и подборе ее гиперпараметров. В связи с этим, на первом этапе данного исследования проведен анализ обучающих данных.

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

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

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

Ежегодно в мире публикуются десятки тысяч научных статей. Задача ВИНИТИ РАН - попытаться обработать этот поток, выполнить его рубрикацию, выделить основные тенденции развития науки, определить тренды, обеспечить возможность ученому получить подборку свежих материалов в нужной тематике. До сих пор в ВИНИТИ РАН рубрикация текстов происходила в ручном режиме. Это вносит в результаты субъективность и ошибки, вызванные человеческим фактором, а сам процесс рубрикации становится неоправданно трудозатратным. Разработанное приложение призвано повысить эффективность и качество рубрикации. Также приложение может быть использовано для контроля качества уже обработанных статей. Выводы, полученные в результате данного исследования, могут найти применение в различных задачах автоматической рубрикации текстов на естественных языках.

2. Обзор существующих решений

2.1 Программные продукты

Существует ряд инструментов и программных продуктов, позволяющих проводить классификацию текстов. Рассмотрим ключевые среди них на предмет применимости для решения задач классификации в ВИНИТИ РАН.

ABBYY Smart Classifier [2] - это инструмент для анализа текстов, разработанный компанией ABBYY. В функционал приложения входит классификация по произвольному рубрикатору, семантический анализ текста, а также множество вспомогательных функций. Заявленной задачей данного продукта является упрощение электронного документооборота и автоматизация бизнес-процессов. С точки зрения программной реализации, Smart Classifier SDK требует достаточно много вычислительных ресурсов (64-разрядный 4-х ядерный процессор с тактовой частотой 2 ГГц или выше), а также большого объема памяти (8 Гб, для каждого ядра процессора рекомендуется иметь по 2 Гб дополнительной оперативной памяти). Более того, для решения задач, стоящих перед ВИНИТИ РАН, функционал этого программного продукта избыточен.

IBM Watson Natural Language Classifier [3] - это облачная платформа, позволяющая задействовать вычислительную мощность суперкомпьютера IBM Watson для решения задачи классификации текста. Система не допускает обучение пользовательских моделей данных. Тем не менее, имеющиеся модули классификации обладают возможностью определять достаточный набор рубрик, чтобы спроецировать их на коды отделов или реферативных журналов. Маловероятно, что такой подход будет иметь смысл для кодов ГРНТИ из-за их количества (более 8 000 для полного дерева рубрикатора). Кроме того, приложение требует соединения с сетью Интернет для работы. Такое решение не отвечает требованиям к информационной безопасности и не подходит для развертывания системы на защищенных серверах.

Инструмент LPU (Learning from Positive and Unlabeled data) [4], разработанный в Университете Иллинойса и Чикаго, позволяет использовать EM-алгоритм и метод опорных векторов для бинарной классификации текста по произвольному рубрикатору. Для обучения системы необходимо подготовить выборку в определенном формате, состоящую из обучающих векторов. К достоинствам продукта можно отнести независимость от языка текста и метода извлечения признаков. Тем не менее, функционал этого инструмента слишком узок для решения задачи многоклассовой классификации в ВИНИТИ РАН. Классификатор распространяется свободно, однако его исходный код закрыт. По этой причине данное программное решение не может быть расширено такими перспективным моделями, как сверточные и рекуррентные нейронные сети. Кроме того, приложение поддерживает лишь бинарную классификацию.

Таким образом, существующие решения не удовлетворяют требованиям, предъявляемым для решения задач классификации в ВИНИТИ РАН, что означает необходимость разработки собственного инструмента.

2.2 Предобработка

Текст на естественном языке в исходном виде плохо поддается обработке с помощью машинного обучения. Для того чтобы привести текст в вид, пригодный для дальнейшего анализа, применяют различные виды предобработки, описание которых дано в статье А.К. Уисала [5]. В работе рассмотрено влияние на результат классификации четырех независимых аспектов предобработки текста: токенизация, удаления стоп-слов, перевод символов в нижний регистр и стемминг. В качестве обучающей выборки в работе выступали два различных корпуса текстов, каждый из которых был представлен на английском и турецком языке. После чего приведено сравнение результатов классификации текстов, подвергнутых всем возможным комбинациям этих видов предобработки. В качестве алгоритма классификации авторами рассматриваемой работы используется метод опорных векторов.

А.К. Уисал установил, что перевод текста в нижний регистр значительно увеличивает качество классификации по метрике F1 независимо от языка и тематики документа. Для текстов на английском языке наиболее подходящей комбинацией видов предобработки оказалась токенизация, стемминг и перевод в нижний регистр без удаления стоп-слов.

Результаты исследования имеют большое значение для нашей работы, так как являются базисом для разработки предобработчика для научных текстов. Тем не менее, в статье [5] в качестве классификатора рассмотрен лишь один алгоритм машинного обучения, тогда как для других алгоритмов оптимальная комбинация видов предобработки может оказаться другой.

2.3 Извлечение признаков

Алгоритмы машинного обучения с учителем способны работать с числовыми векторами, а не с текстами на естественном языке. На текущий момент множество исследователей изучают различные подходы к извлечению признаков из текстовой информации. Чаще всего используются статистический подход, использующий модель “мешок слов” [6]. В последнее время широко используется семантическая модель word2vec, основанная на нейросетевых технологиях. В ряде недавних исследований было продемонстрировано преимущество word2vec в сравнении с ранее использовавшимися статистическими подходами, например, при ее применении в тандеме с LSTM сетями [7], хотя в другом недавнем исследовании [8] авторы не смогли экспериментально продемонстрировать существенное преимущество семантического подхода по сравнению со статистическим в экспериментах по классификации текстов с различным числом меток классов. Несмотря на это технология word2vec считается перспективным направлением исследований, которое активно развивается в течение последних нескольких лет.

2.4 Классификация

2.4.1 Метод центроидов и алгоритм K ближайших соседей

Полученные численные векторы должны использоваться для обучения и тестирования классификатора. На сегодняшний день в ряде исследований была продемонстрирована эффективность применения различных моделей классификации к текстам на естественном языке. Одним из важных направлений в последних исследованиях классификации текста является эксперимент с алгоритмами на основании использования центроидов, которые считаются перспективными для многоклассовой классификации. В работе [6] было проведено исследование метода центроидов на текстах со средней длиной 92,5 существительных, что близко к средней длине текстов в выборке ВИНИТИ РАН и, следовательно, представляет собой значимые для данного исследования результаты. Классификатор, основанный на алгоритме K ближайших соседей, также использует схожие алгоритмы [6, 9]. Однако исследователи не смогли продемонстрировать существенные преимущества обоих этих подходов в области классификации текста.

2.4.2 Метод опорных векторов

Метод опорных векторов часто применяется в задаче классификации. В исследованиях, посвященному этому алгоритму [10, 11], уделяется внимание основному преимуществу этого алгоритма - возможности построения нелинейной разделяющей поверхности при помощи ядер. В статье [11] определено ядро, учитывающее семантические особенности текста. Авторам удалось достичь качества классификации до 0.96 по F-мере для отдельных рубрик, что является чрезвычайно высоким показателем. Тот факт, что в работе применялся корпус текстов на китайском языке, осложняет применение этот подход в текущем исследовании.

2.4.3 Искусственные нейронные сети

В работах, посвященных применению нейронных сетей (ИНС) для классификации текста [12, 13], делается акцент на эффективность рекуррентных нейронный сетей. В частности, архитектура LSTM [13] рассматривается как перспективный выбор для проектирования нейросети для решения данной задачи. Таким образом, для текстов на английском, китайском языке, обработанных при помощи технологии Word2Vec или алгоритма TF-IDF, наиболее эффективными оказались сверточные рекуррентные нейросети. Согласно Н.В. Воробьеву и Е.В. Пучкову [14], для русского языка более подходящей архитектурой нейронной сети оказалась сверточная, при условии извлечения признаков инструментом word2vec. Результаты, полученные исследователями в области нейронных сетей, позволяют существенно сократить круг структур нейросетей, применимых к решаемой задаче. С другой стороны, авторы рассмотренных работ использовали определенную структуру нейросети в своем исследовании, не проводя подбор оптимальной структуры. Возможно, такие эксперименты могли бы увеличить долю правильных ответов.

2.4.4 Наивный байесовский классификатор

В обзоре Т. Сивакумар [15] наивный байесовский классификатор рассматривается как быстрый и легкий в реализации алгоритм, который, тем не менее, показывает низкие результаты при высокой корреляции между признаками входных данных. Причиной этой проблемы является предположение о независимости слов между собой, лежащее в основе наивного байесовского подхода. Это предположении оказывается неверным, когда между появлениями слов в выборке проявляется сильная корреляция. В обзоре утверждается, что в большинстве случаев наивный байесовский классификатор позволяет проводить быструю категоризацию текстов с достаточным качеством. Тем не менее, данное утверждение опровергают исследования других ученых в данной области. В исследовании Ванга и др. [8] наивный байесовский классификатор продемонстрировал худшее качество работы. В другом исследовании [16] относительно высокое качество у данной модели наблюдалось лишь при относительно большой длине текстов.

2.4.5 Алгоритмы бустинга

В последнее время применение алгоритмов бустинга для улучшения результатов простых классификаторов также пользуется интересом в академической среде. Ряд исследований подтвердил более высокую эффективность взвешенного [17] и градиентного бустинга [18] по отношению к другим моделям. Алгоритмы бустинга успешно применяются в различных областях науки, таких как биология [19], робототехника [20], сельскохозяйственные науки [18] и т.д. Во многих случаях ансамблевые алгоритмы показали результаты выше, чем метод опорных векторов, многослойный персептрон и алгоритм KNN, взятые в отдельности. Тем не менее, недавние исследования показали, что это не всегда приводит к улучшению качества при применении к текстам на естественном языке [21], и при этом требует значительных вычислительных ресурсов.

2.5 Особенности задачи, рассмотренные в других работах

2.5.1 Влияние длины текста на качество классификации

Было замечено, что средняя длина текстов влияет на результат классификации. В статье [16] рассмотрены публикации в социальной сети Twitter и статьи из Википедии со средней длиной 18 и 65 слов соответственно. В результате экспериментов стало очевидным, что разные классификаторы дают лучший результат при различной средней длине текстов. В экспериментах с короткими текстами логистическая регрессия показала лучшие результаты почти для всех метрик качества, тогда как на длинных текстах наивный байесовский классификатор всегда показывал наиболее высокие результаты.

2.5.2 Влияние количества классов на качество классификации

Экспериментально доказано, что количество классов влияет на результаты классификации [8]. В этом исследовании внимание было сосредоточено на различиях в результатах классификации для классов большого и небольшого объема с количеством меток класса 59 и 8 соответственно. Сильной стороной этого исследования является достигнутый баланс распределения текстов по классам, что позволяет более точно оценивать применимость результатов к реальным данным. Более того, результаты сравнивались с использованием различных моделей классификации и подходов к представлению текста в виде вектора. Лучший результат был продемонстрирован логистической регрессией, немного хуже показал себя метод опорных векторов и худшим алгоритмом оказался наивный байесовский классификатор. Также показано, что в случае небольшого количества классов разница в результатах в экспериментах с разными подходами для представления текста в виде вектора намного ниже, чем в случае с классами большого объема.

2.5.3 Влияние языка текста на качество классификации

В работе [9] представлено исследование, посвященное классификации текстов на арабском языке. Выполнен подробный анализ эффективности широкого круга моделей машинного обучения для классификации текста. В этом эксперименте тексты были равномерно распределены по 5 классам по 300 текстов в каждом. Средний объем текстов в статье не указан, что делает невозможным сравнение с результатами классификации коротких или длинных текстов в других исследованиях. Распределение результатов соответствующих моделей в значительной степени совпадает с результатами в исследованиях на арабских текстах, проведенных Вангом [8] и Абухаиба [21]. Те же тенденции можно наблюдать в китайском [22], а также английском и немецком языках [16]. Это позволяет предположить, что соотношение результатов работы классификаторов не имеет жесткой зависимости от языка текстов.

2.5.4 Заключение обзора решений

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

3. Анализ данных для обучения

Для обучения классификаторов ВИНИТИ РАН была предоставлена размеченная выборка текстов на русском языке, включающих название публикации, короткую аннотацию и список ключевых слов. Объем выборки составил 143 000 текстов, 95 000 из которых были использованы непосредственно для обучения моделей, а оставшиеся 48000 - для тестирования.

Тексты содержат авторские аннотации и экспертные рефераты к полнотекстовым научным статьям. Средняя длина текста составляет приблизительно 120 слов и незначительно варьируется для разных рубрик.

Классификация проводилась по трем рубрикаторам: коды тематических отделов, коды реферативных журналов и второй уровень иерархии ГРНТИ. Рубрикаторы существенно различаются по количеству рубрик. Самым простым для автоматической классификации являются коды отделов, включающие 15 рубрик. Значительно более сложной является классификация по 237 кодам реферативных журналов (РЖ). Самым узкоспециализированным рубрикатором оказался ГРНТИ, у которого ставится задача определить первые пять символов кода, одним из которых является разделяющая точка, что соответствует второму уровню рубрикатора. Документы, составляющие обучающую выборку, представляли 449 кодов ГРНТИ.

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

Статистика для кодов отделов почти не меняется, так как во всех 15 рубриках не менее 3000 текстов и в 14 из них не менее 5000. Это является хорошим показателем равномерного распределения текстов по рубрикам и позволяет классификатору хорошо научиться распознавать каждый класс.

Рис. 1. Зависимость количества рубрик трех рубрикаторов от минимального числа текстов

Количество кодов РЖ практически не меняется до отметки в 250 текстов, где насчитывается 201 рубрика, после чего к отметке в 1 000 документов падает почти в 2 раза и составляет 46% от общего количества рубрик РЖ. 29 рубрик имеют менее 100 текстов, что может негативно повлиять на качество распознавания этих рубрик классификатором. При этом 21 рубрика из 237 имеет более 3 000 текстов, что составляет не менее 63 000 текстов и около двух третьих всей выборки. В результате этого можно ожидать переобучение классификатора на рубриках с большим количеством классов и высокую долю правильных ответов.

Статистика по кодам ГРНТИ демонстрирует стабильное сокращение количества рубрик с заданным минимальным количеством текстов. Всего в данном рубрикаторе 449 рубрик, при этом менее половины имеют 150 и более текстов и лишь 30 рубрик имеют более 1 000, что составляет всего 7% рубрик ГРНТИ. Не менее 50 текстов имеют около 106 рубрик, что составляет 24% от общего их количества, это не менее 5 000 текстов и 56% выборки. При этом ровно 100 рубрик, 22% от общего их количества, имеют менее 25 текстов, что является недостаточно репрезентативной выборкой для обучения классификатора распознаванию таких рубрик. Из этого можно сделать вывод, что выборка крайне несбалансированная, и в результате этого качество обученного классификатора может быть низким. Тем не менее доля правильных ответов может быть достаточно высокой, поскольку значительное количество текстов принадлежит всего нескольким рубрикам, распознаванию которых у классификатора есть возможность хорошо обучиться.

4. Подходы к интерпретации задачи и оценке качества классификации

Как правило, для оценки качества работы обученного классификатора применяются метрики полноты, точности, доли правильных ответов и F-мера [23]. Однако рекомендация, сгенерированная системой поддержки принятия решений, которой посвящена данная работа, должна содержать вероятности принадлежности входного текста к каждой из рубрик выбранного рубрикатора. При этом имеют место несколько подходов к оценке качества системы, основанных на различных интерпретациях задачи.

При рубрикации документов в ВИНИТИ РАН допускается наличие нескольких кодов рубрик у одного текста. В данной работе для обучения моделей рубрики кодируются единицами на позициях в векторе, соответствующем этим рубрикам. Если интерпретировать эти векторы как точки, то все ожидаемые ответы классификатора лежат на вершинах гиперкуба. В случае, если генерация рекомендации рассматривается как событие с одним исходом, согласно классическому определению вероятности, сумма вероятностей всех возможных рубрик равна единице. Тогда предсказанная вероятность лежит на гиперплоскости, проходящей через точки, лежащие на координатных осях на удалении 1 от центра координат (Рис. 2).

В более широкой интерпретации задачи, вероятность каждой рубрики в ответе СППР подчиняется распределению Бернулли [24]. С точки зрения классификации это соответствует применению подхода 1-vs-one [10]. Тогда точка, соответствующая вектору вероятностей рекомендации, лежит внутри гиперкуба возможных ответов в непрерывном пространстве.

Задача в геометрической интерпретации напоминает задачу регрессии, так как целевая переменная может иметь бесконечное число значений внутри единичного гиперкуба. При таком подходе в задаче применимы те метрики качества, которые обычно применяются для регрессионных моделей [25].

Рис. 2. Плоскость, на которой лежат точки, интерпретируемые как вероятности, для трех рубрик

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

1. Правильный положительный ответ - ожидаемая рубрика входит в список 1, 2 или 3 рубрик ответа системы, отсортированных по убыванию вероятности.

2. Правильный отрицательный ответ - рубрика, закодированная в тестовом векторе нулем, не входит в список 1, 2 или 3 рубрик ответа системы, отсортированных по убыванию вероятности.

3. Ложноположительный ответ - рубрика, закодированная в тестовом векторе нулем, входит в список первых 1, 2 или 3 рубрик ответа системы, отсортированных по убыванию вероятности.

4. Ложноотрицательный ответ - ожидаемая рубрика не входит в список 1, 2 или 3 рубрик ответа системы, отсортированных по убыванию вероятности.

На основе этих метрик рассчитывались значения доли правильных ответов, полноты, точности и F-меры.

5. Методы проведения экспериментов

5.1 Предобработка данных

Цель предобработки текста в данной работе - получить из входного текста так называемый «мешок слов» («bag of words») [6]. Такой подход часто применяется при использовании методов извлечения признаков на основе частоты встречаемости, меры важности или контекста слова в тексте.

Первичная обработка текста включает в себя несколько этапов:

1. Парсинг элементов разметки ВИНИТИ РАН, удаление формул.

2. Объединение названия, текста аннотации и ключевых слов в один текст.

3. Перевод текста в нижний регистр.

4. Удаление общих стоп-слов (предлогов, союзов, междометий, суффиксов и т.д.).

5. Лемматизация слов.

Для хранения в текстах формул, индексов и других элементов отображения данных в информационной системе ВИНИТИ РАН используется собственный язык разметки. Принятый стандарт разметки допускает использование языка TeX. Извлечение простого текста является первым этапом предобработки.

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

Стоп-слова в текстах на русском языке не несут такой смысловой нагрузки, как в текстах на английском языке, обработка которых рассмотрена в работе [5]. В данном исследовании при подготовке данных для обучения шумовые слова удалялись.

В русском языке практически все самостоятельные части речи могут изменяться в тексте по множеству параметров, таких как время, род, падеж и т.д. Несмотря на то, что формы слов обусловливают большую семантическую нагрузку, в предобработку был включен этап лемматизации [26], то есть приведения слова в начальную форму. Это решение обосновано тем, что применяемый метод извлечения признаков способен выявлять семантические признаки слов только на основе контекста, при этом одно слово в разных его формах считается разными словами. Это приводит к тому, что одно и то же слово может иметь несколько векторных представлений.

Альтернативой лемматизации при формировании «мешка слов» является стемминг [26] - выделение основы слова. Алгоритмы стемминга показывают более высокую скорость работы, что является полезным свойством при его использовании в прикладном программном продукте. Как правило, применение лемматизации позволяет достичь такого же или более высокого качества классификации по сравнению с алгоритмами стемминга [27].

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

5.2 Извлечение признаков из текста

Используемые в данном исследовании модели классификации не способны работать напрямую с текстовой информацией, для их корректного использования требуется на базе текстов создать векторы, кодирующие информацию на естественном языке в численные значения [23]. Наиболее перспективные подходы к созданию векторов на основании текстов можно объединить в две группы: статистические и семантические. Статистические подходы, такие как мера частотности слов, мера «странности» и TF-IDF [28], оказались крайне затратными по памяти и вычислительным ресурсам и не будут рассматриваться в данном исследовании. Наиболее перспективными и современными подходами являются семантические. В данной работе используется контекстная семантическая модель word2vec, основанная на нейросетевых технологиях, поскольку она не требует больших вычислительных ресурсов и специальной разметки данных [29].

Модель word2wec использует большие объемы текстовой информации для выделения семантических связей и создания векторного представления слов в пространстве заданной размерности. Размерность признаков word2vec задается при обучении и определяет количество семантических признаков, которые она может выделить в слове. Каждое слово при этом представляет собой точку в пространстве этой размерности, а его синонимы находятся поблизости. Более того, при наличии примера с некой смысловой связью (например, антонимия), можно использовать модель для нахождения слова с аналогичной связью для заданного (поиск антонима). При достаточной размерности пространства модель создает детальное представление отношений слов и их семантики. Выделенные семантические признаки, как правило, не могут быть интерпретированы человеком.

Модель word2vec формирует вектор семантических признаков на основании слова и его контекста в предложении. Текст таким образом может быть преобразован в матрицу размера nЧm, где n - количество слов в тексте, m - размерность векторов модели word2vec. Количество слов в тексте варьируется, в результате чего размеры матриц могут отличаться. Различная длина текстов приводит к возникновению проблемы унификации размерности входных данных. В данном исследовании использованы методы пулинга [30], которые позволяют получить вектор размерности m. Эти методы интуитивно понятны и заключаются в суммировании, усреднении или выборе максимального элемента в пределах одного признака, то есть столбца матрицы.

Было замечено, что размерность m векторов модели word2vec для данной задачи также влияет на качество классификации. Для установления наиболее подходящей размерности, проводились эксперименты с векторами, содержащими 50, 100 и 500 признаков (Таблица 1). Почти во всех случаях пулинг матрицы текста по сумме значений признаков демонстрировал лучшие результаты по F-мере. Исключение составили две модели при 50 признаках в векторе и одна - при 500. Но качество распознавания этих моделей относительно невысокое по сравнению с теми, у которых лучшее распознавание достигнуто при суммировании значений признаков. Пулинг по среднему значению признаков в дальнейшем использован при обучении классификаторов. При этом улучшение качества классификации при повышении количества признаков в векторах не наблюдается, в то время как вычислительная сложность задачи растет. По этой причине используются векторы, содержащие 50 признаков.

Связь между признаками исследуемых объектов может послужить причиной существенного снижения качества классификации [31]. Описанный метод позволяет получить вектор признаков со слабой и средней корреляцией между собой (Рис. 3).

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

приложение рубрикация научный логистический текст

Таблица 1

Результаты подбора метода извлечения признаков

Модель классификации

Усреднение

Среднее

Максимум

Сумма

Доля правильных ответов

Точность

Полнота

F-мера

Доля правильных ответов

Точность

Полнота

F-мера

Доля правильных ответов

Точность

Полнота

F-мера

Логистическая регрессия

Микро

0,94

0,75

0,54

0,63

0,92

0,60

0,40

0,48

0,94

0,77

0,53

0,62

Макро

0,94

0,67

0,51

0,55

0,92

0,54

0,38

0,43

0,94

0,72

0,51

0,58

Случайный лес

Микро

0,94

0,75

0,53

0,62

0,92

0,60

0,39

0,48

0,93

0,72

0,50

0,59

Макро

0,94

0,75

0,43

0,51

0,92

0,60

0,27

0,29

0,93

0,73

0,39

0,45

ИНС прямого распространения с 1 скрытым слоем

Микро

0,94

0,79

0,53

0,63

0,92

0,63

0,44

0,52

0,94

0,80

0,57

0,67

Макро

0,94

0,79

0,44

0,52

0,92

0,57

0,35

0,41

0,94

0,78

0,51

0,60

ИНС прямого распространения с 2 скрытыми слоями

Микро

0,94

0,78

0,54

0,64

0,92

0,62

0,43

0,51

0,94

0,80

0,56

0,66

Макро

0,94

0,77

0,46

0,54

0,92

0,59

0,33

0,38

0,94

0,78

0,51

0,60

Логистическая регрессия

Микро

0,94

0,53

0,57

0,55

0,93

0,50

0,50

0,50

0,94

0,62

0,62

0,62

Макро

0,94

0,47

0,54

0,49

0,93

0,44

0,47

0,44

0,94

0,56

0,59

0,57

Случайный лес

Микро

0,94

0,53

0,49

0,51

0,92

0,47

0,47

0,47

0,94

0,56

0,56

0,56

Макро

0,94

0,47

0,39

0,41

0,92

0,42

0,35

0,36

0,94

0,52

0,46

0,47

ИНС прямого распространения с 1 скрытым слоем

Микро

0,95

0,57

0,55

0,56

0,93

0,53

0,53

0,53

0,95

0,64

0,64

0,64

Макро

0,95

0,52

0,42

0,42

0,93

0,49

0,42

0,43

0,95

0,60

0,56

0,57

ИНС прямого распространения с 2 скрытыми слоями

Микро

0,95

0,57

0,55

0,56

0,93

0,53

0,53

0,53

0,95

0,64

0,64

0,64

Макро

0,95

0,52

0,42

0,42

0,93

0,49

0,42

0,43

0,95

0,60

0,56

0,57

Логистическая регрессия

Микро

0,95

0,64

0,64

0,64

0,94

0,58

0,58

0,58

0,95

0,64

0,64

0,64

Макро

0,95

0,58

0,61

0,59

0,94

0,52

0,55

0,52

0,95

0,59

0,62

0,60

Случайный лес

Микро

0,94

0,57

0,57

0,57

0,93

0,49

0,49

0,49

0,94

0,56

0,56

0,56

Макро

0,94

0,53

0,47

0,48

0,93

0,44

0,38

0,38

0,94

0,53

0,46

0,48

ИНС прямого распространения с 1 скрытым слоем

Микро

0,95

0,62

0,62

0,62

0,94

0,57

0,57

0,57

0,95

0,64

0,64

0,64

Макро

0,95

0,59

0,52

0,53

0,94

0,57

0,45

0,46

0,95

0,61

0,56

0,57

ИНС прямого распространения с 2 скрытыми слоями

Микро

0,95

0,62

0,62

0,62

0,94

0,58

0,58

0,58

0,95

0,64

0,64

0,64

Макро

0,95

0,59

0,52

0,53

0,94

0,55

0,47

0,47

0,95

0,61

0,56

0,57

5.3 Классификация

5.3.1 Логистическая регрессия

Для логистической регрессии была проведена серия экспериментов по выбору алгоритма для оптимизации функции потерь [25] и параметра регуляризации. Лучшие результаты модель всегда показывала при высоких значениях коэффициента регуляризации (C = 10), препятствующего переобучению модели.

5.3.2 Случайный лес

Случайный лес часто рассматривается как довольно эффективная модель [23], но требующая подбора большого количества гиперпараметров. В данном исследовании подбиралось минимальное количество объектов в листе, минимальное количество объектов при разбиении, максимальное количество используемых признаков и максимальную глубину дерева. При этом использовался лес из 10 решающих деревьев. Оптимальной является модель с глубиной 60, использующая 15 или 30 признаков при обучении для разных рубрикаторов, в которой используется энтропийный критерий разбиения.

5.3.3 Искусственная нейронная сеть

Среди обширного класса нейросетевых моделей для проведения экспериментов были использованы два класса: нейросети прямого распространения (многослойные персептроны) [32] и рекуррентные структуры с LSTM-слоями [13]. Наиболее высокое качество классификации показал персептрон с одним и двумя слоями в скрытом слое, а также рекуррентная нейросеть с LSTM_слоем на входе и слоем классических нейронов с многомерной логистической функцией активации на выходе.

В результате выбора модели по стратегии перебора оптимальное количество нейронов в скрытых слоях персептрона оказалось равно 50-55.

5.3.4 Метод опорных векторов

Сильной стороной метода опорных векторов является возможность нелинейного преобразования пространства признаков при помощи перехода от скалярных произведений к произвольным ядрам [11]. В работе исследовалось применение линейного и ядра на основе радиально-базисной функции. Модели с использованием радиально-базисной функции всегда показывают более высокие результаты, но алгоритм оптимизации этой модели имеет большую вычислительную сложность.

6. Разработка функциональной составляющей ATC

6.1 Среда работы приложения и используемые программные компоненты

Настольное приложение предназначено для генерации рекомендаций по рубрикации текстов. Рекомендация представляет собой список рубрик выбранного рубрикатора с указанием вероятности того, что текст относится к данной рубрике.

Приложение предназначено для работы в 64-разрядной ОС Windows версии не ниже 7. Это обусловлено использованием пакетов Python и внешних библиотек, разработанных на языках C/C++ и имеющих сборки под определенную платформу. При разработке использованы следующие внешние компоненты:

1) Scikit-Learn - модуль Python, который содержит модели машинного обучения и средства обработки данных;

2) Gensim - библиотека, содержащая модель Word2Vec;

3) Pandas - библиотека, предоставляющая контейнер, построенный по реляционному принципу и используемый для операций с данными;

4) PyQt5 - интерфейс фреймворка Qt для Python. Нужен для построения пользовательского интерфейса, реализации событийно-ориентированной архитектуры и межпотокового взаимодействия;

5) PyMystem3 - интерфейс библиотеки Mystem для Python. Используется для лемматизации текста.

Некоторые из перечисленных компонентов требуют наличия вычислительных библиотек Theano/Tensorflow. Для запуска приложения требуется наличие интерпретатора Python версии 3.6 с установленными необходимыми модулями.

6.2 Структура приложения

Функционально приложение разбито на три части:

1) Анализатор, выполняющий обработку текста и генерирующий рекомендацию;

2) Графический интерфейс пользователя;

3) Интерфейс командной строки.

На рис. 4 изображена диаграмма классов приложения в нотации UML. Класс Config отвечает за хранение и обработку параметров конфигурации приложения (размер шрифта, порог отказа от классификации и т.д.). Класс UI отвечает за графический интерфейс пользователя и реализует отображение окна, элементов ввода и вывода текстовой информации, элементов выбора опций (выбор рубрикатора, языка, вывода расшифровок кодов и т.д.).

Рис. 4. Диаграмма классов приложения ATC

Класс Analyzer отвечает за генерацию рекомендаций и содержит модули предобработки (класс Preprocessor), извлечения признаков (класс WordEmbedding) и классификации (класс Classifier). Эти классы имеют общий функционал - загрузка файла конфигурации и загрузка метаинформации (версия модуля, описание и т.д.), поэтому они реализованы в виде наследников общего класса Module.

Для удобства разработки проект разбит на подкаталоги (Рис. 5). Классы в подкаталогах используют относительную адресацию, используя встроенные средства Python. Это позволяет быстро производить замену функциональных модулей, а также проводить их отдельную разработку и тестирование.

Рис. 5. Файловая структура приложения

6.3 Графический интерфейс пользователя

На рис. 6 изображено окно графического интерфейса пользователя (Graphical User Interface, GUI). В верхней части экрана расположено меню, верхняя строка включает пункты «Файл» и «Шрифт». Пункт «Файл» содержит кнопки для импорта и экспорта данных, это позволяет читать тексты из файла и экспортировать результаты. Пункт «Шрифт» позволяет изменять размер шрифта в интерфейсе приложения. Это обеспечивает возможность индивидуальной подстройки, что облегчает нагрузку на зрение при длительном использовании приложения.

Ниже меню расположена панель инструментов. На ней размещены иконки, имеющие привязку к горячим клавишам. Кнопки на панели инструментов дублируют функционал меню «Файл» и позволяют запустить генерацию рекомендации по введенному тексту, а также открывают окно с информацией о модулях программы. Все эти действия могут быть запущены определенными сочетаниями клавиш клавиатуры для ускорения работы и повышения удобства использования. В левой половине приложения большую часть пространства занимают два текстовых виджета, используемые для ввода и вывода. В верхнее поле помещается текст или несколько текстов в определенном формате, внизу выводится результат, представляющий собой коды рубрик с их вероятн...


Подобные документы

  • Классификация систем поддержки принятия решений. Сравнительный анализ методик для оценки рисков розничного кредитования. Структура системы поддержки принятия решений, формирование начальной базы знаний. Проектирование базы данных информационной системы.

    дипломная работа [1,9 M], добавлен 10.07.2017

  • Обслуживание двух встречных потоков информации. Структура информационных систем. Разработка структуры базы данных. Режимы работы с базами данных. Четыре основных компонента системы поддержки принятия решений. Выбор системы управления баз данных.

    курсовая работа [772,0 K], добавлен 21.04.2016

  • Анализ существующих решений системы поддержки принятия решений для корпоративной сети. Многоагентная система. Разработка концептуальной модели. Структура базы знаний. Разработка модели многоагентной системы на базе сетей Петри. Методика тестирования.

    дипломная работа [5,1 M], добавлен 19.01.2017

  • Методы решения проблем, возникающих на стадиях и этапах процесса принятия решений, их реализация в информационных системах поддержки принятия решений (СППР). Назначение СППР, история их эволюции и характеристика. Основные типы СППР, области их применения.

    реферат [389,3 K], добавлен 22.11.2016

  • Разработка алгоритмического и программного обеспечения для решения задачи поддержки принятия решений о выпуске новой продукции. Математическое обеспечение задачи поддержки принятия решений о выпуске новой продукции, основные входные и выходные данные.

    дипломная работа [943,0 K], добавлен 08.03.2011

  • Типы административных информационных систем: системы генерации отчетов, системы поддержки принятия решений, системы поддержки принятия стратегических решений. Сортировка и фильтрация списков в Microsoft Excel. Работа с базами данных в Microsoft Access.

    контрольная работа [6,0 M], добавлен 19.11.2009

  • Анализ применения нейронных сетей для прогнозирования ситуации и принятия решений на фондовом рынке с помощью программного пакета моделирования нейронных сетей Trajan 3.0. Преобразование первичных данных, таблиц. Эргономическая оценка программы.

    дипломная работа [3,8 M], добавлен 27.06.2011

  • Разработка и внедрение программного модуля поддержки принятия управленческих решений для информационной системы медицинского предприятия ООО "Центр эндохирургических технологий". Эффективность применения модуля, полученные с его помощью результаты.

    дипломная работа [1,9 M], добавлен 11.04.2013

  • Основные модели представления знаний. Системы поддержки принятия решений. Диаграмма UseCase. Разработка базы данных на основе трех моделей: продукционные правила, семантическая сеть, фреймовая модель. Программная реализация системы принятия решений.

    курсовая работа [715,1 K], добавлен 14.05.2014

  • Концепция систем поддержки принятия решений. Диапазон применения Analytica 2.0. Программное обеспечение количественного моделирования. Графический интерфейс для разработки модели. Основные способы моделирования. Диаграмма влияния и дерево решений.

    контрольная работа [1,1 M], добавлен 08.09.2011

  • Исследование технологического процесса по производству газобетона. Модель "как будет" процесса диагностирования состояния технологического процесса производства газобетона с учетом системы поддержки принятия решений. Прототипирование интерфейса СППР.

    дипломная работа [4,8 M], добавлен 17.06.2017

  • Классификация задач системы поддержки принятия решений, их типы и принципы реализации при помощи программы "Выбор". Обзор современных систем автоматизированного проектирования "Компас", "AutoCad", "SolidWorks", оценка преимуществ и недостатков программ.

    курсовая работа [1,4 M], добавлен 22.07.2014

  • Теоретические аспекты функционирования Business intelligence - систем в сфере логистики. Анализ условий для разработки системы поддержки принятия решений. Характеристика процесса создания программного продукта, применение аналитической платформы QlikView.

    курсовая работа [2,5 M], добавлен 09.09.2017

  • Методы машинного обучения в задачах рубрикации, положительные и отрицательные примеры. Отсечение по центрам тяжести и ближайшим соседям. Оптимальный линейный сепаратор Support Vector Machines. Особенности применения тезауруса. Расчет веса конъюнкции.

    лекция [405,0 K], добавлен 01.09.2013

  • Основные понятия электронно-вычислительных сетей. Стандарты проектного управления. Электронный проектный офис как система поддержки принятия решений. SaaS-приложения для управления проектами. Факторы, воздействующие на оператора ПК. Диаграмма базы данных.

    дипломная работа [1,5 M], добавлен 15.10.2013

  • Задача анализа деловой активности, факторы, влияющие на принятие решений. Современные информационные технологии и нейронные сети: принципы их работы. Исследование применения нейронных сетей в задачах прогнозирования финансовых ситуаций и принятия решений.

    дипломная работа [955,3 K], добавлен 06.11.2011

  • Изучение назначения и основных задач, которые решает Project Expert - система поддержки принятия решений (СППР), предназначенная для менеджеров, проектирующих финансовую модель нового или действующего предприятия. Программные приложения, этапы работы.

    реферат [30,7 K], добавлен 19.05.2010

  • Рассмотрение понятия и истории возникновения систем поддержки принятия решения. Приспособленность информационных систем к задачам повседневной управленческой деятельности. Понятие термина "интеллектуальный анализ данных". Методика извлечения знаний.

    реферат [79,8 K], добавлен 14.04.2015

  • Система поддержки принятия решений "Мыслитель" и метод, заложенный в её основу. Порядок работы в программе: новая задача, составление списка альтернатив, списка критериев их оценки, сравнение критериев по степени важности, попарное сравнение альтернатив.

    отчет по практике [719,2 K], добавлен 08.03.2016

  • Человеко-машинные комплексы, специально предназначенные для принятия решений. Процесс принятия решений и его этапы. Методы поиска новых вариантов решений: дерево решений, морфологические таблицы, конференции идей. Принцип математической оценки тенденций.

    курсовая работа [272,1 K], добавлен 30.07.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.