Přidat README.md

This commit is contained in:
Tetiana Mohorian 2025-05-20 11:37:56 +00:00
parent 7000c721ee
commit f1960d2305

84
README.md Normal file
View File

@ -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