Учитывая все выше сказанное, можем сделать вывод, что автоматическая классификация текста является актуальной задачей. В данной работе рассматривается сортировка каналов в социальной сети. В процессе планирования дипломной работы предполагалось разработать и внедрить функцию автоматической сортировки в приложение Telegram, однако в феврале 2021 года разработчики ограничили возможность авторизации через веб-браузер, что значительно усложнило задачу подключения к API и отладки приложения. По- этому было решено разработать собственную социальную сеть, функционал которой полностью бы зависел от нас самих.
Таким образом, цель выпускной квалификационной работы – разработка сервиса для автоматической сортировки каналов в социальной сети с помощью методов машинного обучения.
Задачи:
- Исследовать предметную область;
- Составить техническое задание на разработку социальной сети;
- Рассмотреть несколько методов машинного обучения для классификации текстов;
- Подготовить датасет;
- Разработать серверную часть приложения;
- Разработать клиентскую часть приложения;
- Протестировать работу приложения.
Аннотация........................................................................................................ 3
Abstract............................................................................................................ 4
Введение.......................................................................................................... 5
1. Анализ предметной области..................................................................... 7
1.1. Обзор существующих программ..................................................... 7
1.2. Разработка технического задания................................................... 8
1.3. Проектирование базы данных....................................................... 12
2. Реализация алгоритмов машинного обучения...................................... 15
2.1. Обоснование выбора языка программирования.......................... 15
2.2. Алгоритмы машинного обучения.................................................. 18
2.3. Разработка клиент-серверного приложения................................. 29
2.4. Разработка интерфейса приложения............................................. 33
3. Тестирование........................................................................................... 38
3.1. Тестирование серверной части приложения................................. 38
3.2. Тестирование клиентской части приложения................................ 39
Заключение.................................................................................................... 42
Список использованных источников............................................................ 44
Приложение
1. Байесовский классификатор [Электронный ресурс] / machinelearn- ing.ru– MACHINELEARNING.RU – Режим доступа:
http://www.machinelearning.ru/wiki/Байесовский_классификатор - Дата обра- щения: 25.04.2021.
2. Введение — Vue.js [Электронный ресурс] / ru.vuejs.org — Vue.js.
— Режим доступа: https://ru.vuejs.org/v2/guide/. — Дата обращения: 24.05.2021.
3. Графический клиент pgAdmin [Электронный ресурс] / METANIT.COM — Режим доступа: https://metanit.com/sql/postgresql/1.2.php .
— Дата обращения: 21.05.2021.
4. Документация | Node.js [Электронный ресурс] / nodejs.org — node.js. — Режим доступа: https://nodejs.org/ru/docs/. — Дата обращения: 21.05.2021.
5. Кантор И. Современный учебник JavaScript [Электронный ресурс]
/ learn.javascript.ru — JAVASCRIPT.RU. — Режим доступа: https://learn.javascript.ru/. — Дата обращения: 22.05.2021.
6. Кластеризация: алгоритмы k-means и c-means / Хабр [Электрон- ный ресурс] / habr.com— HABRAHABR.RU — Режим доступа: https://habr.com/ru/post/67078/ — Дата обращения: 19.04.2021.
7. Логистическая регрессия [Электронный ресурс] / wiki.loginom.ru – LOGINOM.RU– Режим доступа: https://wiki.loginom.ru/articles/logistic- regression.html - Дата обращения: 25.04.2021.
8. Метод стохастического градиента [Электронный ресурс] / ma- chinelearning.ru – MACHINELEARNING.RU – Режим доступа:
http://www.machinelearning.ru/wiki/Метод_стохастического_градиента - Дата обращения: 10.05.2021.
9. Обзор алгоритмов кластеризации данных/ Хабр [Электронный ре- сурс] / habr.com— HABRAHABR.RU — Режим доступа: https://habr.com/ru/post/101338/ — Дата обращения: 13.05.2021.
10. Теорема Байеса [Электронный ресурс] / wikipedia.org – интернет- энциклопедия – Режим доступа: https://ru.wikipedia.org/wiki/Теорема_Байеса - Дата обращения: 25.04.2021.
11. Официальная документация Django Rest Framework [электронный ресурс] – Режим доступа: https://www.django-rest-framework.org/ - дата обра- щения 08.05.2021.
12. Django введение [электронный ресурс] / developer.mozilla.org – Ре- жим доступа: https://developer.mozilla.org/ru/docs/Learn/Server- side/Django/Introduction - Дата обращения: 06.05.2021..
13. Django учебник [электронный ресурс] / developer.mozilla.org – Ре- жим доступа: https://developer.mozilla.org/ru/docs/Learn/Server- side/Django/Models – Дата обращения: 26.04.2021.
14. JetBrains PyCharm [электронный ресурс] / jetbrains.com – Режим доступа: https://www.jetbrains.com/ru-ru/pycharm/ - Дата обращения: 05.04.2021
15. Russian Stemming Algorithm — [Электронный ресурс] / snowball.tartarus.org — Режим доступа: http://snowball.tartarus.org/algorithms/russian/stemmer.html — Дата обращения: 15.05.2021.
16. Selenium with Python — [Электронный ресурс] / http://snowball.tartarus.org/ — Режим доступа: https://selenium- python.readthedocs.io/. — Дата обращения: 12.05.2021.
17. Stemming and lemmatization — [Электронный ресурс] / nlp.stanford.edu — Режим доступа: https://nlp.stanford.edu/IR- book/html/htmledition/stemming-and-lemmatization-1.html — Дата обращения: 23.05.2021.
18. Vue.js для сомневающихся [электронный ресурс] / habr.com – Ре- жим доступа: https://habr.com/ru/post/329452/ - Дата обращения: 12.05.2021.
19. What is vectorization? [электронный ресурс] / stackoverflow.com – Режим доступа: https://stackoverflow.com/questions/1422149/what-is-
vectorization - Дата обращения: 02.05.2021.
20. What is tokenization? [электронный ресурс] / www.tokenex.com – Режим доступа: https://www.tokenex.com/resource-center/what-is-tokenization# - Дата обращения: 15.05.2021.