From fd9a0f2015fb0fb5b257598c0eb282b4635db6d7 Mon Sep 17 00:00:00 2001 From: Jakub Maruniak Date: Sun, 21 Mar 2021 20:52:16 +0000 Subject: [PATCH] =?UTF-8?q?Aktualizovat=20=E2=80=9Epages/students/2016/jak?= =?UTF-8?q?ub=5Fmaruniak/dp2021/annotation/README.md=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dp2021/annotation/README.md | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/pages/students/2016/jakub_maruniak/dp2021/annotation/README.md b/pages/students/2016/jakub_maruniak/dp2021/annotation/README.md index 0fc2f8fd47..e0846d1c2f 100644 --- a/pages/students/2016/jakub_maruniak/dp2021/annotation/README.md +++ b/pages/students/2016/jakub_maruniak/dp2021/annotation/README.md @@ -20,12 +20,28 @@ winpty docker run --name prodigy -it -p 8080:8080 -v C://Users/jakub/Desktop/ann 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)` +### 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á + ### Štatistika o anotovaných dátach - `prodigy stats wikiart` - informácie o počte prijatých a odmietnutých článkov pre konkrétny dataset v prodigy -- `python3 count.py` - Tabuľka pre informáciu o počte prijatých, odmietnutých a preskočených článkov z databázy. Taktiež informácia o množstve jednotlivých entít. + +### 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 ### Trénovanie modelu Založené na: https://git.kemt.fei.tuke.sk/dano/spacy-skmodel +- 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 -### Štatistika o trénovaní -Po natrénovaní modelu vidíme iba skóre pre celý model. Aby sme sa dozvedeli informáciu o presnosti trénovania jednotlivých entít, využijeme `modelinfo.sh` + +### Scripts +`python scripts.py [command] [arguments]` + +| 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. | - |