few_shot | ||
graph | ||
lm-eval-harness/slovak_toxic_classification | ||
peft | ||
telegram_bot | ||
website | ||
README.md |
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