85 lines
2.9 KiB
Markdown
85 lines
2.9 KiB
Markdown
# 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
|