Научная статья на тему 'КЛАССИФИКАЦИЯ ТЕКСТОВ С ПОМОЩЬЮ СВЕРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ'

КЛАССИФИКАЦИЯ ТЕКСТОВ С ПОМОЩЬЮ СВЕРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
196
24
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КЛАССИФИКАЦИЯ / СВЕРТОЧНЫЕ НЕЙРОННЫЕ СЕТИ / ГЛУБОКОЕ ОБУЧЕНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Астапов Р.Л., Дубатов Р.С.

В данной статье рассматриваются основные методы использования сверточных нейронных сетей для задачи классификации тестов

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Астапов Р.Л., Дубатов Р.С.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «КЛАССИФИКАЦИЯ ТЕКСТОВ С ПОМОЩЬЮ СВЕРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ»

УДК 004.89

Астапов Р.Л.

бакалавр

Национальный исследовательский ядерный университет «МИФИ»

(Россия, г. Москва)

Дубатов Р.С.

бакалавр

Национальный исследовательский ядерный университет «МИФИ»

(Россия, г. Москва)

КЛАССИФИКАЦИЯ ТЕКСТОВ С ПОМОЩЬЮ СВЕРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ

Аннотация: в данной статье рассматриваются основные методы использования сверточных нейронных сетей для задачи классификации тестов

Ключевые слова: классификация, сверточные нейронные сети, глубокое обучение.

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

предвыборной кампании, мнения людей о принятых законах или реформах и т.д.

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

Для понимания работы архитектуры спроектированной нейронной сети рассмотрим каждой слой отдельно:

• Сверточный слой — это слой, который представляет из себя карт признаков, у каждой карты есть своё ядро.

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

Ядро представляет из себя фильтр или окно, которое «скользит» по всей области предыдущей карты и находит определенные признаки. В библиотеке Keras [1] данный слой имеет название «Conv1D».

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

В библиотеке Keras [1] данный слой имеет название «GlobalMaxPooling 1D».

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

В библиотеке Keras [1] данный слой имеет название «Dense».

• Dropout слой — способ борьбы с переобучением в нейронных сетях. Данный слой исключает определённый процент (например, 20%) случайных нейронов (находящихся как в скрытых, так и видимых слоях) на разных итерациях во время обучения нейронной сети. Такой приём значительно увеличивает скорость обучения, качество обучения на тренировочных данных, а также повышает качество предсказаний модели на новых тестовых данных.

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

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

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

Ядра размером 1, 2, 3, 4 и 5 предназначены для обработки одного слова, биграмм, триграмм, 4-грамм и 5-грамм соответственно.

На рисунке 1 представлена одна из возможных архитектур сверточной нейронной сети для классификации текста [2].

Рис. 1. Архитектура сверточной нейронной сети для классификации текста.

СПИСОК ЛИТЕРАТУРЫ:

Официальный сайт библиотеки Keras - URL: https://keras.io (дата обращения: 20.07.2020 г.).

Zhang Y., Wallace B. A Sensitivity Analysis of (and Practitioners' Guide to) Convolutional Neural Networks for Sentence Classification //arXiv preprint arXiv:1510.03820. — 2015.

i Надоели баннеры? Вы всегда можете отключить рекламу.