Введение 4
Постановка задачи 6
Глава 1. Обзор литературы 7
1.1. Рекомендательная система 7
1.2. Классификация 8
Глава 2. Обзор решений 9
2.1. OneVsRestClassifier 9
2.2. BinaryRelevance 9
2.3. Label Powerset 9
2.4. ClassifierChains 10
2.5. Нейронные сети 10
Глава 3. Сбор данных 12
3.1. Сбор статей 12
Глава 4. Выбор меток для классификации 14
4.1. Анализ часто используемых тегов 14
Глава 5. Предобработка текста 17
5.1. Преобразование текста в числовой вектор 17
Глава 6. Обучение 19
6.1. OneVsRestClassifier 19
6.2. BinaryRelevance 19
6.3. Label Powerset 19
6.4. ClassifierChains 19
6.5. BiGRU 20
6.6. DistilBERT 20
Глава 7. Анализ полученных данных 21
7.1. Метрики оценки качества классификации 21
7.1.1 Accuracy 21
7.1.2 Precision 21
7.1.3 Recall 21
7.1.4 Fl-score 22
7.2. Время обучения 22
7.3. Результаты 22
Программная реализация 24
Заключение 25
Список литературы 27
При публикации контента в интернете пользователь имеет возможность указать набор тегов - релевантных ключевых слов для аннотирования ресурсов [1]. Как правило, автору приходится вручную искать подходящие по смыслу слова. Ускорить процесс публикации возможно с помощью рекомендательной системы тегов, которая, проанализировав введенную информацию и публикации на портале, предложит пользователю список тегов.
Построение рекомендательных систем является важной темой исследования в сферах поиска информации, розничной торговле, электронной коммерции и др. Задача заключается в предсказании объектов, которые вызывают наибольший интерес у пользователя [2].
Один из способов создания рекомендательной системы - классификация пользовательских текстов. Модель классификации пользовательских текстовых документов может использоваться для распределения данных по категориям, которые позволяют строить рекомендательные системы. Крупные сайты также используют результаты классификации подбирая персональную рекламу для каждого пользователя, основываясь на его группе интересов.
Разработки в данной области позволяют обрабатывать и систематизировать большие объемы текстовых данных. Несмотря на то, что существует множество алгоритмов классификации, таких как “Метод опорных векторов”, “Метод k-ближайших соседей”и “Байесовский подход”[3], вопросы о том, как повысить точность классификации и подобрать алгоритм для конкретной задачи, являются актуальными.
В настоящее время пользовательские сообщества и форумы, такие как Reddit 1, Хабр2 и Пикабу3, ежедневно публикуют миллионы пользовательских текстов. С постоянным развитием информационных технологий количество таких данных увеличивается [3], поэтому появляется возможность производить анализ данных, классификацию, кластеризацию и другие методы для поиска схожих объектов в выборке [4].
Текстовые документы описанных ресурсов возможно использовать для обучения модели классификации пользовательских текстов, для построения рекомендательной системы.
В рамках данной работы была построена рекомендательная система тегов, основанная на мультилейбл классификации текстов. Предложенную реализацию возможно использовать при написании поста на портале Пикабу, для ускорения времени работы автора над публикацией.
Поскольку Пикабу не позволяет скачать все статьи с портала автоматически, в ходе работы описан способ сбора данных, представляющий собой последовательное скачивание html-страниц, парсинг, предобработку полученных текстовых данных. Кроме того, произведено сравнение популярных способов преобразования текста в числовой вектор.
В ходе работы была решена задача мультилейбл классификации пользовательских постов по тегам. Сравнив классические подходы классификации, сводящиеся к бинарной, можно сделать вывод, что точность предсказания достаточно высока, при небольшом количестве времени выполнения. Однако такие подходы нуждаются в предобработке текста.
Подходы для классификации с использованием нейросетевых предо- бученных моделей, предсказали метки несколько хуже, чем классические подходы. Преимущества таких подходов в работе с языковыми моделями, которые учитывают семантическое сходство на уровне слов, предложений и текстов.
В качестве эксперимента произведено сравнение: качества предсказания по основным метрикам точности и времени обучения нескольких подходов. При этом, высокие значения, наиболее значимых оценок для решаемой задачи - recall и accuracy, достигаются классификацией с помощью подходов One-Vs-Rest и Label Powerset. Можно сделать вывод, что для рекомендательной системы тегов, необходимо использовать результаты именно этих классификаторов.
В дальнейшем при работе с этими данными следует провести дополнительные эксперименты, включающие в себя как уменьшение, так и увеличения набора меток для классификации, изменение параметров обучения моделей нейронных сетей, а также в целом использование других предобученных моделей.
Для модификации работы над поставленной задачей, возможно использовать персональную рекомендацию, и предлагать пользователям теги, основываясь, не только на тегах, проставленных на похожих текстах, но и в целом на тегах, используемых конкретным пользователем.
[1] Subramaniyaswamy V., Vijayakumar V., Indragandhi V., Logesh R. Data Mining-Based Tag Recommendation System: An Overview // WIREs Data Mining Knowl Discov. 2015. P. 87-112.
[2] Alsukhni B. Multi-label arabic text classification based on deep learning // 12th International Conference on Information and Communication Systems (ICICS). 2021. P. 475-477.
[3] Li Z., Shang W., Yan M. News text classification model based on topic model // IEEE/ACIS 15th International Conference on Computer and Information Science (ICIS). 2016. P. 1-5.
[4] Jindal R., Taneja S. Ranking in multi label classification of text documents using quantifiers // IEEE International Conference on Control System, Computing and Engineering (ICCSCE). 2015. P. 162-166.
[5] Zhang Y. , Li S. Technical Analysis of Multi -Text Video Standardization Based on Tag System // 2020 International Conference on Culture-oriented Science Technology (ICCST). 2020 P. 50-53.
[6] Nguyen H. , Richards R., Chan C. , Liszka K. "RedTweet: Recommendation engine for Reddit // ACM International Conference on Advances in Social Networks Analysis and Mining (ASONAM). 2015. P. 1381-1388.
[7] Ding L., Zheng Y. Improve E-Commerce Recommendation by Classification Tree and Fuzzy Sets // International Conference on Identification, Information and Knowledge in the Internet of Things (IIKI). 2016. P. 457-460.
[8] Quintanilla E. , Rawat Y. , Sakryukin A. , Shah M., Kankanhalli M. Adversarial Learning for Personalized Tag Recommendation // IEEE Transactions on Multimedia. 2021. Vol. 23. P. 1083-1094.
[9] Solving Multi-Label Classification problems (Case studies included) [Электронный ресурс]: https://www.analyticsvidhya.com/blog/2017/08/ introduction-to-multi-label-classification/ (дата об- ращения 18.12.2021)
[10] Deep dive into multi-label classification..! (With detailed Case Study) [Электронный ресурс]: https://towardsdatascience. com/journey-to-the-center-of-multi-label-classification -3384c40229bff (дата обращения 19.12.2021)
[11] Lakhdhar Y., Rekhis S. Machine Learning Based Approach for the Automated Mapping of Discovered Vulnerabilities to Adversial Tactics // IEEE Security and Privacy Workshops (SPW). 2021. P. 309-317.
[12] Maia M., Sales J., Freitas A., Handschuh S., Endres M. A Comparative Study of Deep Neural Network Models on Multi-Label Text Classification in Finance // IEEE 15th International Conference on Semantic Computing (ICSC). 2021. P. 183-190.
[13] Di L., Xiushuang Y., Ling X. Design of natural language model based on BiGRU and attention mechanism // International Conference on Networking, Communications and Information Technology (NetCIT). 2021. P. 191-195.
[14] Oliseenko V., Tulupyeva T. Neural Network Approach in the Task of Multilabel Classification of User Posts in Online Social Networks // 2021 XXIV International Conference on Soft Computing and Measurements (SCM). 2021. P. 46-48.
[15] Bai J., Cao R., Ma W., Shinnou H. Construction of Domain-Specific DistilBERT Model by Using Fine-Tuning // 2020 International Conference on Technologies and Applications of Artificial Intelligence (TAAI). 2020. P. 237-241.
...