2020-11-02 11:06:33 +00:00
## Diplomový projekt 2 2020
2020-04-21 20:07:16 +00:00
2020-05-24 17:50:38 +00:00
- vytvorenie a spustenie docker kontajneru
2020-04-21 20:09:06 +00:00
2020-05-24 18:11:24 +00:00
```
./build-docker.sh
2020-11-02 11:06:33 +00:00
winpty docker run --name prodigy -it -p 8080:8080 -v C://Users/jakub/Desktop/annotation-master/annotation/work prodigy bash
2020-05-24 18:11:24 +00:00
```
2020-04-21 20:07:16 +00:00
2020-05-24 18:11:24 +00:00
### Spustenie anotačnej schémy
- `dataminer.csv` články stiahnuté z wiki
- `cd ner`
- `./01_text_to_sent.sh` spustenie skriptu *text_to_sent.py* , ktorý rozdelí články na jednotlivé vety
2020-11-02 11:06:33 +00:00
- `./02_ner_manual.sh` spustenie manuálneho anotačného procesu pre NER
- `./03_export.sh` exportovanie anotovaných dát vo formáte json potrebnom pre spracovanie vo spacy. Možnosť rozdelenia na trénovacie (70%) a testovacie dáta (30%) (--eval-split 0.3).
2020-11-24 10:53:47 +00:00
Pozn. aby --eval-split fungoval správne, je potrebné v inštalácii prodigy (cestu zistíme pomocou `prodigy stats` ) v súbore `recipes/train.py` upraviť funkciu `data_to_spacy` (mal by byť riadok 327). V novej verzii by to malo byť opravené. Do riadku treba pridať parameter eval_split.
`json_data, eval_data, split = train_eval_split(json_data, eval_split)`
2020-11-09 21:47:26 +00:00
2021-03-21 20:52:16 +00:00
### Anotované databázy
- `./ner/skner/sknerv4.jsonl` - Aktuálna anotovaná databáza z https://skner.tukekemt.xyz/ (Celkovo cca 5000 článkov)
- `./ner/wikiart/wikiart2.jsonl` - Vlastná databáza, články rozdelené na vety (Celkovo cca 1300 viet)
- Presná štatistika o databázach bude doplnená
2020-11-09 22:02:01 +00:00
### Štatistika o anotovaných dátach
2020-11-24 10:53:47 +00:00
- `prodigy stats wikiart` - informácie o počte prijatých a odmietnutých článkov pre konkrétny dataset v prodigy
2021-03-21 20:52:16 +00:00
### Vizualizácia anotovaných dát
- `streamlit run visualizer.py visualize ./dataset.jsonl` - Vypíše anotácie zo zvolenej databázy na lokálnej adrese http://192.168.1.26:8501
2020-11-09 21:47:26 +00:00
### Trénovanie modelu
Založené na: https://git.kemt.fei.tuke.sk/dano/spacy-skmodel
2021-03-21 20:52:16 +00:00
- Na trénovanie NER využitá vstavaná funkcia spacy train
- Testované aj s custom skriptom na trénovanie - `custom_train.py` - približne rovnaké výsledky, neporovnateľne dlhší čas trénovania
### Scripts
`python scripts.py [command] [arguments]`
2020-11-24 10:53:47 +00:00
2021-03-21 20:52:16 +00:00
| Príkaz | Popis | Argumenty |
| ---------- | ------------------ | ------------------- |
| `count` | Vypíše štatistiky o databáze vo formáte JSONL z Prodigy.| dataset_path|
| `delete_annot` | Vytvorí samostatnú databázu s anotáciami iba od zvoleného anotátora.| annotator, dataset_path, new_dataset_path|
| `modelinfo` | Vypíše informácie o natrénovanom modeli (Precision, Recall a F-skóre), zároveň aj o jednotlivých entitách. | - |