bakalarka_praca/README.md

2.9 KiB
Raw Permalink Blame History

Systém na detekciu nenávistnej reči Bakalárska práca

Autor: Tetiana Mohorian
Škola: Technická univerzita v Košiciach, FEI
Vedúci práce: doc. Ing. Daniel Hládek, PhD.
Rok: 2025


📌 Prehľad projektu

Táto bakalárska práca predstavuje komplexný systém na detekciu nenávistnej reči v slovenčine pomocou veľkých jazykových modelov (LLM). Súčasťou riešenia sú:

  • 🧠 Jemne doladené modely SlovakT5 a mT5
  • 🤖 Telegram bot, ktorý moderuje skupinové konverzácie v reálnom čase
  • 🌐 Webová aplikácia s prehľadom klasifikácií a históriou
  • 🗃️ Integrácia databáz PostgreSQL a MySQL
  • 🐳 Nasadenie pomocou Docker a Kubernetes

📊 Výsledky modelov

Tab. 1 Výsledky tréningu modelu pomocou few-shot learning

Modely Precision Recall F1 Score
mT5-small 0.4923 0.6400 0.5662
mT5-base 0.4533 0.6800 0.5440
mT5-large 0.6473 0.5903 0.6188
Slovak-T5-base 0.6689 0.6082 0.6386
Slovak-T5-small 0.6230 0.5748 0.5989

Tab. 2 Porovnanie modelu SlovakT5-base pred a po doladení LoRA

Model Precision Recall F1 Score
Slovak-T5-base 0.6689 0.6082 0.6386
Slovak-T5-base (LoRA) 0.7113 0.7859 0.7486

⚙️ Komponenty

  • Telegram Bot: Sleduje správy, detekuje nenávistný obsah a odstraňuje ich v reálnom čase.
  • Webová Aplikácia: Flask + React rozhranie zobrazujúce históriu detekcií.
  • Modely: SlovakT5, mT5 doladené pomocou PEFT / LoRA.
  • Databázy: MySQL (bot), PostgreSQL (web).
  • Nasadenie: Kubernetes + Google Cloud Run.

📦 Nasadenie

Všetky komponenty sú zabalené do Docker kontajnerov. Nasadenie prebieha pomocou Kubernetes (ConfigMap, Deployment, PVC, Secret).
Bot aj web bežia v rovnakom kontajneri v rámci namespace botspace.


🔐 Premenné prostredia (.env)

Premenná Popis
TOKEN Token Telegram bota
DB_USER Užívateľ MySQL
DB_PASSWORD Heslo do MySQL
DB_HOST Host pre databázu
DB_NAME Názov databázy

📜 Poznámka

Tento projekt vznikol ako súčasť bakalárskej práce a demonštruje použitie moderných NLP prístupov pre analýzu toxicity v reálnom čase. Kód a architektúra boli navrhnuté tak, aby boli modulárne, rozšíriteľné a pripravené na praktické použitie v reálnych systémoch.


📚 Dataset

  • TUKE-KEMT/hate_speech_slovak
  • Dve triedy: 0 = neutrálne, 1 = nenávistné
  • Využitý pre hodnotenie aj doladenie modelov