Програмна система класифікації текстів на основі машинного навчання та рекурентної нейронної мережі

Автор(и)

  • Андрій Миколайович Глибовець Національний університет «Києво-Могилянська академія», Україна https://orcid.org/0000-0003-4282-481X
  • Андрій Вікторович Дубовик Національний університет «Києво-Могилянська академія», Україна
  • Андрій Олександрович Афонін Національний університет «Києво-Могилянська академія», Україна https://orcid.org/0000-0003-3006-9917

DOI:

https://doi.org/10.18523/2617-3808.2025.8.15-27

Ключові слова:

автоматична класифікація текстів, Naive Bayes, Support Vector Machine, LSTM, Recurrent Neural Network, машинне навчання, Python, TensorFlow, AG News Classification Dataset

Анотація

У цій роботі описано побудову та результати тестування програмної системи автоматичної класифікації текстів, яка полягає в розподілі текстів за певними категоріями, зокрема текстів українською мовою. Наш застосунок побудований на використанні трьох моделей — Naive Bayes, Support Vector Machine, LSTM — архітектури рекурентної нейронної мережі Recurrent Neural Network (RNN) та їх комбінації. Він дає змогу доволі швидко і точно класифікувати тексти, надавати користувачу можливість зручним способом натренувати систему на власних даних і досить просто налаштувати параметри для оптимальних результатів.
Для ефективного опрацювання вхідних даних і реалізації алгоритму класифікації ми вибрали мову програмування Python. Основними бібліотеками реалізації функціоналу застосунку стали TensorFlow, scikit-learn (для надання простого та зрозумілого інтерфейсу), Natural Language Toolkit (nltk), NumPy, Pandas. Matplotlib і seaborn застосовували для візуалізації даних і побудови графіків. Розроблений графічний застосунок здатен розпізнавати тексти (англійською або українською мовою) чотирьох категорій (World, Sports, Science / Technology, Business) з точністю близько 92 %.
Для навчання моделей ми застосували AG News Classification Dataset із kaggle.com.
Тестування застосунку підтвердило припущення, що спеціалізовані моделі, крім того, що є значно ефективнішими в плані використання ресурсів, також можуть демонструвати кращий результат у класифікації текстів, ніж LLM. Система також може бути швидко адаптована й до задачі фільтрації спаму. За декілька секунд можна отримати SVM модель, яка зможе розпізнавати типові спам-повідомлення з точністю близько 99 %. Так само були протестовані можливості системи при розпізнаванні емоційної забарвленості тексту. Вдалося досягти точності 87,75 %.

Біографії авторів

Андрій Миколайович Глибовець, Національний університет «Києво-Могилянська академія»

Professor, Doctor of Technical Sciences, Dean of the Faculty of Computer Science, National University of Kyiv-Mohyla Academy, a.glybovets@ukma.edu.ua

Андрій Вікторович Дубовик, Національний університет «Києво-Могилянська академія»

студент бакалаврської програми «Інженерія програмного забезпечення» факультету інформатики Національного університету «Києво-Могилянська академія», andrii.dubovyk@ukma.edu.ua

Андрій Олександрович Афонін, Національний університет «Києво-Могилянська академія»

кандидат фізико-математичних наук, викладач кафедри мультимедійних систем факультету інформатики Національного університету «Києво-Могилянська академія», afonin@ukma.edu.ua

Посилання

  1. Datacamp. (n. d.). Understanding text classification in Python. https://www.datacamp.com/tutorial/text-classification-pythonpython.
  2. Ekolle, Z. E., & Kohno, R. (2023). A generative learning model for heterogeneous text classification based on collaborative partial classifications. Applied Sciences, 13 (14), 8211. https://www.mdpi.com/2076-3417/13/14/8211.
  3. Gasparetto, A., Marcuzzo, M., Zangari, A., & Albarelli, A. (2022). A survey on text classification algorithms: From text to predictions. Information, 13 (2), 83. https://www.mdpi.com/2078-2489/13/2/83.
  4. Google Developers. (n. d.). Machine learning glossary. https://developers.google.com/machine-learning/glossary.
  5. Hlybovets, A. M., & Bikchentayev, M. (2022). Prohramna systema perevirky na plahiat ukrainskykh tekstiv. NaUKMA Research Papers. Computer Science, 5, 16–25. https://doi.org/10.18523/2617-3808.2022.5.16-25 [in Ukrainian].
  6. Kaggle. (n. d.). https://www.kaggle.com.
  7. Matplotlib. (n. d.). https://matplotlib.org.
  8. Natural Language Toolkit (nltk). (n. d.). https://www.nltk.org.
  9. NumPy. (n. d.). https://numpy.org.
  10. Pandas. (n. d.). https://pandas.pydata.org.
  11. Pymorphy2. (n. d.). https://github.com/pymorphy2/pymorphy2.
  12. Rosé, C. P., Roque, A., Bhembe, D., & VanLehn, K. (2003). A hybrid text classification approach for analysis of student essays. In Proceedings of the HLT-NAACL 03 Workshop on Building Educational Applications Using Natural Language Processing (pp. 79–86). https://aclanthology.org/W03-0210.pdf.
  13. Scikit-learn. (n. d.). https://scikit-learn.org/stable.
  14. Scikit-learn. (n. d.). Naive Bayes. https://scikit-learn.org/stable/modules/naive_bayes.html.
  15. Seaborn. (n. d.). https://seaborn.pydata.org.
  16. Support vector machine. (n. d.). Wikipedia. https://en.wikipedia.org/wiki/Support_vector_machine.
  17. TensorFlow. (n. d.). https://www.tensorflow.org.
  18. UkStemmer. (n. d.). https://github.com/Desklop/Uk_Stemmer.

##submission.downloads##

Опубліковано

2025-11-26

Номер

Розділ

Нейронні мережі та машинне навчання