diff --git a/README.md b/README.md new file mode 100644 index 0000000..9c071b6 --- /dev/null +++ b/README.md @@ -0,0 +1,84 @@ +# Systém na detekciu nenávistnej reči – Bakalársky projekt + +**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