ПЕРЕЧЕНЬ СОКРАЩЕНИЙ И ОБОЗНАЧЕНИЙ 5
ВВЕДЕНИЕ 6
1 Обзор предметной области 8
1.1 Эмоциональная окраска текста 8
1.1.1 Понятие эмоциональной окраски текста 8
1.1.2 Примеры применения анализа тональности текстов 9
1.2 Машинное обучение 10
1.2.1 История и проблемы развития машинного обучения 10
1.2.2 Определение и виды машинного обучения 12
1.2.3 Обучение с учителем 13
1.3 Глубокое обучение 16
1.3.1 Перцептрон 18
1.3.2 Функции активации 19
1.3.3 Функции потерь 22
1.4 Оптимизация нейронной сети 23
1.4.1 Градиентный спуск 23
1.4.2 Стохастический градиентный спуск с импульсом 24
1.4.3 Алгоритм Adam 26
1.4.4 Методы борьбы с переобучением 26
1.4.5 Дропаут 28
1.5 Рекуррентная нейронная сеть 29
1.5.1 LSTM 31
1.6 Векторизация слов 34
1.6.1 Word2Vec 35
2 Описание параметров нейронной сети 37
2.1 Выбор архитектуры и гиперпараметров сети для задачи определения
тональности текста 37
2.2 Описание обучающей выборки 39
2.3 Предварительная обработка данных 41
2.4 Векторизация 42
3 Программная реализация 43
3.1 Обучение модели 43
3.2 Веб-приложение 43
3.2.1 Структура веб-приложения 44
3.2.2 Описание работы веб-приложения 44
4 Руководство пользователя 46
4.1 Установка библиотек и зависимостей 46
4.2 Инструкция по сборке проекта 46
5 Тестирование 49
5.1 Тестирование качества обучения нейронной сети 49
5.2 Тестирование веб-приложения 52
ЗАКЛЮЧЕНИЕ 57
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 58
ПРИЛОЖЕНИЕ А Листинг программы 61
ПРИЛОЖЕНИЕ Б Презентация 70
Задача анализа тональности текстов становится очень актуальной с каждым годом и набирает все большую популярность в современном мире.
С древних времен и по сей день люди живут в обществах, где мнение окружающих всегда влияло на различные аспекты жизни. Однако если раньше люди могли узнать мнение лишь ограниченного круга людей, то сегодня, с появлением интернета и широкой аудитории социальных сетей, интернет- магазинов, специализированных ресурсов, у пользователей появилась возможность узнать мнение большей аудитории.
Однако развитие информационных технологий привело к увеличению количества веб-сайтов и появлению большого объема текстовых данных, так как наиболее распространенной формой хранения информации являются тексты на естественном языке (обработка естественного языка). Тем не менее, для обычных пользователей работа с такими объемами данных с каждым годом становится все более сложной. Очевидно, что вручную искать и анализировать необходимую информацию в гигантских массивах текстовых данных неэффективно и дорого. Поэтому компьютеризация населения и необходимость перевода текстов в электронный вид приводят к разработке эффективных алгоритмов анализа и типизации этих текстов.
Одной из задач классификации является распознавание эмоционального тона текста, также известное как анализ настроения, которое решается с помощью методов машинного обучения. [1].
Целью данной работы является разработка и практическая реализация нейронной сети, которая позволяет классифицировать текст, написанный на русском языке, по двум видам эмоциональной окраски: положительный или негативный.
Для достижения цели были поставлены следующие задачи:
- изучение материала, необходимого для понимания действия работы нейронных сетей,
• исследование способов оптимизации нейронных сетей, а также их регуляризации,
• изучение библиотеки pytorch для практической реализации нейронной сети,
• подбор архитектуры и гиперпараметров нейронной сети, при которых точность модели достигала бы не менее 70% точности,
• обучение и тестирование модели нейронной сети,
• создание веб-приложения для визуализации работы обученной нейронной сети.
В ходе работы над ВКР было спроектировано приложение, позволяющее определить эмоциональный окрас текста, написанного на русском языке. Для этого была разработана модель глубокого обучения с использованием LSTM-сети.
В процессе разработки системы были исследованы существующие архитектуры нейросетевых алгоритмов и современных инструментов для работы с нейронными сетями, проведен анализ исходных данных и сформирован обучающий набор, обучена подобранная модель нейронной сети и проведен анализ результатов обучения, а также для работы с моделью спроектирован пользовательский интерфейс.
Все задачи, поставленные для выполнения цели, выполнены.
Среди возможных вариантов улучшения модели можно выделить следующее:
• реализация api для сторонних сервисов,
• повышение точности модели за счет более детального подбора гиперпараметров сети,
• дообучение модели на расширенном наборе данных.
Таким образом, задание на ВКР выполнено в полном объеме.
1. I. Chetviorkin, P. Braslavskiy, N. Loukachevich, “Sentiment Analysis Track at ROMIP 2011,” In Computational Linguistics and Intellectual Technologies: Proceedings of the International Conference “Dialog 2012”, Bekasovo, 2012, pp. 1-14.
2. Pang B. Opinion Mining and Sentiment Analysis. Foundations and Trends in Information Retrieval 2008. - 235 с.
3. Pang B., Lee L., Vaithyanathan S. Thumbs up?: sentiment classification using machine learning techniques // Proceedings of the ACL-02 conference on Empirical methods in natural language processing. Association for Computational Linguistics, 2002. Vol. 10. P. 79 - 86.
4. Cha, M., Haddadi, H., Benevenuto, F., and Gummadi, K.P. Measuring User Influence in Twitter: The Million Follower Fallacy. In Proceedings of the 4th International AAAI Conference on Weblogs and Social Media (ICWSM), Washington, DC, May 2010.
5. A.C.Muller, S.Guido. Introduction to Machine Learning with Python: A Guide for Data Scientists. O'Reilly Media, 2016. ISBN 978-1-449-36941-5.
6. Specht, D. A General Regression Neural Network. IEEE Trans. on Neural Networks, Nov. 1991, 2, 6, 568-576.
7. В.А.Головко. От многослойных персептронов к нейронным сетям
глубокого доверия: парадигмы обучения и применение. В сб. :
Нейроинформатика-2015. XVII Всероссийская научно-техническая конференция с международным участием. Лекции по нейроинформатике, с. 47-84. НИЯУ МИФИ, 2015.
8. О.Жерон. Прикладное машинное обучение с помощью Scikit-Learn и TensorFlow. Концепции, инструменты и техники для создания интеллектуальных систем. Вильямс, 2018, 688 c. ISBN 978-5-950-02962-2.
9. Траск Эндрю Грокаем глубокое обучение. — СПб.: Питер, 2019. — 352 с.: ил. — (Серия «Библиотека программиста»).
10. Макмахан Брайан, Рао Делип Знакомство с PyTorch: глубокое обучение при обработке естественного языка. — СПб.: Питер, 2020. — 256 с.: ил.— (Серия «Бестселлеры O’Reilly»). ISBN 978-5-4461-1241-8
11. Градиент функции многих переменных [Электронный ресурс] — Режим доступа: https://lms2.sseu.ru/courses/eresmat/course1/razd12z1/par12_6z1.html (дата обращения 21.09.2023).
12. Гасников, А. В. Современные численные методы оптимизации. Метод универсального градиентного спуска : учебное пособие / А. В. Гасников. - М. : МФТИ, 2018. - 288 с. - Изд. 2-е, доп. ISBN 978-5-7417-0667-1
13. Алгоритмы оптимизации типа градиентного спуска [Электронный
ресурс] — Режим доступа:
https://vbystricky.github.io/2018/03/optimization_grad_desc.html (дата обращения 07.11.2023).
14. J. Duchi, E. Hazan, Y. Singer, “Adaptive Subgradient Methods for Online Learning and Stochastic Optimization”. 2011, Journal of Machine Learning Research, 12, 2121-2159.
15. D. P. Kingma, J. L. Ba, “Adam: A Method for Stochastic Optimization”. arXiv: 1412.6980 2014....25