Научная статья на тему 'ОЦЕНКА ГИПЕРПАРАМЕТРОВ ПРИ АНАЛИЗЕ ТОНАЛЬНОСТИ РУССКОЯЗЫЧНОГО КОРПУСА ТЕКСТОВ'

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

CC BY
141
28
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КЛАССИФИКАЦИЯ / ГИПЕРПАРАМЕТРЫ / ТОЧНОСТЬ / ОБУЧЕНИЕ С УЧИТЕЛЕМ / ТОНАЛЬНОСТЬ / CLASSIFICATION / HYPERPARAMETERS / ACCURACY / SUPERVISED LEARNING / TONALITY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Косых Н. Е.

Предложен подход к подбору наиболее производительного набора параметров для объекта классификатора текста. Для вычислений использован облачный сервис Google Colaboratory, выполняющий код на языке Python внутри браузера, используя виртуальные аппаратные ресурсы. Рабочая среда включает компоненты для разработки модели машинного обучения: библиотеку scikit-learn, содержащую методы обучения и их оценки; библиотеку для анализа и обработки данных - Pandas; библиотеку регулярных выражений - Re. Основное внимание уделяется точности в процессе прогнозирования тональности русскоязычного корпуса текстов. Для решения задачи биномиальной классификации текста использован наивный байесовский классификатор. Применение программного подхода к поиску оптимальных значений гиперпараметров по сетке позволяет улучшить точность работы классификатора на ограниченном наборе данных.

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

ESTIMATION OF HYPERPARAMETERS IN THE ANALYSIS OF THE TONALITY OF THE RUSSIAN-LANGUAGE TEXT CORPUS

An approach to the selection of the most productive set of parameters for a text classifier object is proposed. For the calculations, the Google Colaboratory cloud service was used, which executes Python code inside the browser using virtual hardware resources. The working environment includes components for developing a machine learning model: the scikit-learn library, which contains teaching methods and their assessment; library for data analysis and processing - Pandas; regex library - Re. The main attention is paid to the accuracy in the process of forecasting the tonality of the Russian-language corpus of texts. To solve the problem of binomial text classification, a naive Bayesian classifier was used. The application of a programmatic approach to finding the optimal values of hyperparameters on a grid improves the accuracy of the classifier on a limited data set.

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

Оценка гиперпараметров при анализе тональности русскоязычного корпуса текстов

аспирант Н. Е. Косых Петербургский государственный университет путей сообщения Императора Александра I

Санкт-Петербург, Россия [email protected]

Аннотация. Предложен подход к подбору наиболее производительного набора параметров для объекта классификатора текста. Для вычислений использован облачный сервис Google Colaboratory, выполняющий код на языке Python внутри браузера, используя виртуальные аппаратные ресурсы. Рабочая среда включает компоненты для разработки модели машинного обучения: библиотеку scikit-learn, содержащую методы обучения и их оценки; библиотеку для анализа и обработки данных — Pandas; библиотеку регулярных выражений - Re. Основное внимание уделяется точности в процессе прогнозирования тональности русскоязычного корпуса текстов. Для решения задачи биномиальной классификации текста использован наивный байесовский классификатор. Применение программного подхода к поиску оптимальных значений гиперпараметров по сетке позволяет улучшить точность работы классификатора на ограниченном наборе данных.

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

Введение

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

Модель машинного обучения состоит из следующих элементов:

1. Математическое описание задачи машинного обучения.

2. Тренировочный алгоритм для поиска решений задачи.

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

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

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

КОНТРОЛИРУЕМОЕ обучение

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

a) количество данных;

b) качество данных;

c) вычислительные мощности.

В рамках нашей задачи мы будем использовать один из подходов машинного обучения, а именно обучение с учителем (контролируемое обучение). Задача в настройке контролируемого обучения состоит в том, чтобы создать модель, способную предсказать ответ у1 на основании входных характеристик X;, I = 1,2..., п. В нашем случае у1 рассматриваем как категориальную переменную, а решаемая задача — классификация.

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

Одним из показателей для оценки качества классификации является общая точность (АР), то есть доля правильно спрогнозированных значений в общей выборке. Вычисляется по формуле

accuracy (у, у) = -I,"- 1(9í = Vi)

(1)

где п — количество образцов;

yi — прогнозируемое значение класса;

yi — истинное значение класса.

Для задачи классификации был выбран корпус коротких текстов Юлии Рубцовой [2], сформированных на основе русскоязычных сообщений из Twitter. Корпус состоит из двух наборов помеченных данных, содержащих более 100 тысяч положительных и отрицательных записей.

В условиях ограниченности вычислительных мощностей для вычислений используем облачный сервис Google Colaboratory, который позволит нам выполнять код, написанный на Python, внутри браузера, используя виртуальные аппаратные ресурсы для обработки данных. Рабочая среда уже включает все необходимые компоненты для разработки модели машинного обучения: библиотеку scikit-learn [3], содержащую методы машинного

обучения и их оценки; библиотеку для анализа и обработки данных — Pandas; библиотеку регулярных выражений — Re.

Для чистоты эксперимента получим среднюю гармоническую величину по количеству записей в каждом наборе до соотношения 1 к 1.

Подготовка данных

Далее представим нашу обучающую модель в виде детерминированной последовательности действий.

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

2. Реализация функции предварительной обработки текста представлена на рисунке 1. Характер преобразований зависит исключительно от характера последовательностей, содержащихся в тексте.

Рис. 1. Функция предварительной обработки текста

3. Далее, используя библиотечную функцию traintestsplit, разбиваем подготовленные данные на обучающую и тестовую выборки.

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

ПОСТРОЕНИЕ КЛАССИФИКАТОРА

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

Однако у более длинных документов среднее значение частоты вхождения будет выше, чем у более коротких, даже если они в рамках одной предметной области. Чтобы избежать таких неравенств, необходимо разделить количество вхождений каждого слова в документе на общее количество слов в документе. Такой подход оценивается метрикой TF-IDF [4] и определяется по формуле вида

TF - IDF = tf(t, d) * idf(t) , (2)

где tf(t, d) — частота слова — определяется как частота вхождения некоторого слова к общему числу слов документа:

tf(t, d) =-^т-; (3)

JK J maxfd(w)[w Ed] ' v '

idf(t) — обратная частота документа — является инверсией частоты, с которой слово встречается в документе:

idf(t, D) = log----- +1 , (4)

' v ' ' &\{di e d \ t e dt}\ ' v '

где |D| — общее число документов; \{ di e D \ t e di}\ — число документов из коллекции D, в которых встречается t, при условии, что число вхождений слова t в документ не равно 0.

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

Чтобы упростить работу с трансформацией и подготовкой данных используем объект класса Pipeline, который ведет себя как составной классификатор. В первоначальной прогонке не будем использовать параметризиро-ванные конструкты методов (рис. 2).

rib = Pipeline([(1vect', CountVect»rizer()), ("tfidf", TfidfTransformer()) ("elf, Multinomia1NB())л ])

nb.fit{x_trainJ y_train)

Рис. 2. Создание конвейера преобразований

Для решения нашей задачи биномиальной классификации текста мы использовали наивный байесовский классификатор [5]. Далее необходимо произвести оценку работы классификатора для предсказания тестовых данных. Оценки точности, отклика и полноты представлены на рисунке 3. Как можем заметить, точность прогнозирования на начальных настройках равна 0,731. Запомним это значение для дальнейшего сравнения.

р Оценка точности: 0.731

prec is i on recall fl-score support

positive 0.71 0.7S 0.74 22236

negative 0.76 0.69 0.72 22534

accuracy 0.73 44770

macro avg 0.73 0.73 0.73 44770

weighted avg 0.73 0.73 0.73 44770

Рис. 3. Оценка точности классификатора на тестовых данных

Для настройки классификатора MultinomialNB нам нужно создать сетку с параметрами, по которым будем перемещаться, перебирая их в цикле. Также нужно будет указать метрику, которую мы будем проверять, — в нашем случае это АР (общая точность) [6]. Таким образом, мы будем искать модель, наилучшую с точки зрения метрики. В процессе обучения у нас будет оценена точность в каждой из возможных комбинаций параметров. Это очень ресурсоемкая задача, поэтому будем ее проводить на части данных — выборке в 1 000 строк.

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

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

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

Performing grid search... Лучшая оusнma параметров: 0.600 Оценка точности S0.3f Лучший набор параметров:

elf_alpha: 1.И

tfidf_use_idf: False

ve сt_iKi6x_d f: 0.5

vect_ngrani_range : ("1, 3 j

Рис. 4. Рекомендованные значения параметров

Применяя рекомендованные параметры к нашей обучающей модели, можно добиться увеличения производительности, в нашем случае — увеличения точности (рис. 5) прогнозирования классов.

Оценка точности: 0.751

prec ision

positive negative

accuracy macro avg weighted avg

0.72 0.80

0.76 0.76

геса11 fl - score support

3.32 0.77 22236

0.63 0.73 22534

0.75 44770

0.75 0.75 44770

0.75 0.75 44770

Рис. 5. Применение рекомендованных параметров

Как видно из данных, приведенных на рисунках 3 и 5, оценка точности классификации текста изменяется от 0,731 до 0,751.

Заключение

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

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

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

Литература

1. Hyperparameter optimization: Explanation of automatized algorithms // Dawid Kopczyk.

URL: http://dkopczyk.quantee.co.uk/hyperparameter-optimiza-tion (дата обращения 15.09.2020).

2. Рубцова Ю. В. Построение корпуса текстов для настройки тонового классификатора // Программные продукты и системы. 2015. № 1 (109). С. 72-78.

DOI: 10.15827/0236-235X. 109.072-078.

3. Гребнев К. Н. Машинное обучение с помощью библиотеки scikit-learn языка Python // Математический вестник педвузов и университетов Волго-Вятского региона. 2017. № 19. С. 277-281.

4. Оценка семантической близости документов на основе латентно-семантического анализа с автоматическим выбором ранговых значений / С. А. Краснов, А. С. Ила-товский, А. Д. Хомоненко, В. Н. Арсеньев // Труды СПИИРАН. 2017. Вып. 5 (54). С. 185-204.

DOI: 10.15622/sp.54.8.

5. Хомоненко А. Д. Нейросетевая аппроксимация характеристик многоканальных немарковских систем массового обслуживания / А. Д. Хомоненко, Е. Л. Яковлев // Труды СПИИРАН. 2015. Вып. 4 (41). С. 81-93.

DOI: 10.15622/sp.41.4.

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

6. Попков М. И. Автоматическая система классификации текстов для базы знаний предприятия // International Journal of Open Information Technologies. 2014. Т. 2, № 7. С. 11-18.

7. Emotion-Bracelet: A Web Service for Expressing Emotions through an Electronic Interface / А. Martinez, H. Estrada, A. Molina, et al. // Sensors. 2016. Vol. 16, Is. 12. P. 1980. Published online at November 24, 2016.

URL: http://www.mdpi.com/1424-8220/16/12/1980 (дата обращения 15.09.2020). DOI: 10.3390/s16121980.

Estimation of Hyperparameters in the Analysis of the Tonality of the Russian-Language

Text Corpus

PhD student N. E. Kosykh Emperor Alexander I St. Petersburg State Transport University St. Petersburg, Russia [email protected]

Abstract. An approach to the selection of the most productive set of parameters for a text classifier object is proposed. For the calculations, the Google Colaboratory cloud service was used, which executes Python code inside the browser using virtual hardware resources. The working environment includes components for developing a machine learning model: the scikit-learn library, which contains teaching methods and their assessment; library for data analysis and processing — Pandas; regex library — Re. The main attention is paid to the accuracy in the process of forecasting the tonality of the Russian-language corpus of texts. To solve the problem of binomial text classification, a naive Bayesian classifier was used. The application of a programmatic approach to finding the optimal values of hyperparameters on a grid improves the accuracy of the classifier on a limited data set.

Keywords: classification, hyperparameters, accuracy, supervised learning, tonality.

References

1. Hyperparameter optimization: Explanation of automatized algorithms // Dawid Kopczyk.

Available at: http://dkopczyk.quantee.co.uk/hyperparameter-optimization (accessed 15 Sep 2020).

2. Rubtsova Yu. V. Constructing a Corpus for Sentiment Classification Training [Postroenie korpusa tekstov dlya nas-troyki tonovogo klassifikatora], Software & Systems [Pro-grammnye produkty i sistemy], 2015, No. 1 (109), Pp. 72-78. DOI: 10.15827/0236-235X.109.072-078.

3. Grebnev K. N. Machine Learning Using the Scikit-Learn Python Library [Mashinnoe obuchenie s pomoshch'yu bibli-oteki scikit-learn yazyka Python], Mathematical Bulletin of Pedagogical Universities and Universities of the Volgo-Vyatka Region [Matematicheskiy vestnik pedvuzov i universitetov Volgo-Vyatskogo regiona], 2017, No. 19, Pp. 277-281.

4. Krasnov S. A., Ilatovsky A. S., Khomonenko A. D., Ar-seniev V. N. Assessment of Semantic Similarity of Documents on the Basis of the Latent Semantic Analysis with the Automatic Choice of Rank Values [Otsenka semanticheskoy blizosti dokumentov na osnove latentno-semanticheskogo analiza s avtomaticheskim vyborom rangovykh znacheniy], SPIIRAS Proceedings [Trudy SPIIRAN], 2017, Is. 5 (54), Pp. 185-204. DOI: 10.15622/sp.54.8.

5. Khomonenko A. D., Yakovlev E. L. Neural Network Approximation of Characteristics of Multi-Channel Non-Markov-ian Queuing Systems [Neyrosetevaya approksimatsiya kharak-teristik mnogokanal'nykh nemarkovskikh sistem massovogo obsluzhivaniya], Proceedings of SPIIRAS [Trudy SPIIRAN], 2015, Is. 4 (41), Pp. 81-93. DOI: 10.15622/sp.41.4.

6. Popkov M. I. Text Analytics for Enterprise Knowledge Base [Avtomaticheskaya sistema klassifikatsii tekstov dlya bazy znaniy predpriyatiya], International Journal of Open Information Technologies, 2014, Vol. 2, No. 7, Pp. 11-18.

7. Martinez A., Estrada H., Molina A., et al. Emotion-Bracelet: A Web Service for Expressing Emotions through an Electronic Interface, Sensors, 2016, Vol. 16, Is. 12, P. 1980. Published online at November 24, 2016.

Available at: http://www.mdpi.com/1424-8220/16/12/1980 (accessed 15 Sep 2020). DOI: 10.3390/s16121980.

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