zpwiki/pages/students/2016/maros_harahus/README.md

487 lines
18 KiB
Markdown
Raw Normal View History

2020-10-01 13:33:21 +00:00
---
title: Maroš Harahus
published: true
taxonomy:
2020-10-01 13:46:14 +00:00
category: [dp2021,bp2019]
2020-10-01 13:33:21 +00:00
tag: [spacy,nlp]
author: Daniel Hladek
---
2019-12-05 09:12:50 +00:00
# Maroš Harahus
- [Git repozitár ai4steel](https://git.kemt.fei.tuke.sk/ai4steel/ai4steel) (pre členov skupiny)
- [GIT repozitár s poznámkami](https://git.kemt.fei.tuke.sk/mh496vd/Doktorandske) (súkromný)
## Dizertačná práca
Generovanie vektorových reprezentácií štruktúrovaných dát.
(zmeniť?)
## Minimovka 2023
- Grafové neurónové siete (zmeniť?)
29.6.
- Vyskúšané https://github.com/NicGian/text_VAE, podľa článku https://arxiv.org/pdf/1511.06349.pdf
Tento prístup je pôvodne na Question Generation. Využíva GLOVE embeding a VAE. Možno by sa to dalo využiť ako chybový model.
- So skriptami fairseq sú zatiaľ problémy.
Úlohy:
- Pokračovať v otvorených úlohách.
- Vyskúšať tutoriál https://fairseq.readthedocs.io/en/latest/getting_started.html#training-a-new-model.
- Prečítať knihu "Bishop: Pattern Recognition".
17.6.
- Končí financovanie USsteel , je potrebné zmeniť tému.
Úlohy:
- Do konca ďalšieho školského roka submitovať karent článok. To je podmienka pre ďalšie pokračovanie. Článok by mal nadviazať na predošlý výskum v oblasti "spelling correction".
- Preštudovať články:
* Survey of automatic spelling correction
* Learning string distance with smoothing for OCR spelling correction
* Sequence to Sequence Convolutional Neural Network for Automatic Spelling Correction
* Iné súvisiace články. Kľúčové slová: "automatic spelling correction."
- Naučiť sa pracovať s fairseq. Naučiť sa ako funguje strojový preklad.
- Zopakovať experiment OCR Trec-5 Confusion Track. Pridaný prístup do repozitára https://git.kemt.fei.tuke.sk/dano/correct
Zásobník úloh:
- Vymyslieť systém pre opravu gramatických chýb. Aka Grammarly.
- Využiť GAN-VAE sieť na generovanie chybového textu. To by mohlo pomôcť pri učení NS.
2022-06-03 09:16:43 +00:00
3.6.
Úlohy:
- Pripraviť experiment pri ktorom sa vyhodnotia rôzne spôsoby zhlukovania pre rôzne veľkosti priestoru (PCA, k-means, DBSCAN, KernelPCA - to mi padalo). Základ je v súbore embed.py
- Do tabuľky spísať najdôležitejšie a najmenej dôležité parametre pre rôzne konvertory a pre všetky konvertory naraz (furnace-linear.py).
- Vypočítanie presnosti pre každý konvertor zo spojeného modelu, pokračovať.
27.5.
- Našli sme medzné hodnoty pre dáta zo skriptov USS.
- Urobený skript, polynómová transformácia príznakov nepomáha.
- rozrobený skript na generovanie dát GAN.
Otvorené úlohy:
- Pokračovať v otvorených úlohách.
- (3) Urobiť zhlukovanie a pridať informáciu do dátovej množiny. Zistiť, či informácia o zhlukoch zlepšuje presnosť. Informácia o grade umožňuje predikciu.
2022-05-20 07:45:43 +00:00
Stretnutie 20.5.
2022-05-20 07:45:43 +00:00
Otvorené úlohy:
- [ ] (1) Vypočítanie presnosti pre každý konvertor zo spojeného modelu a porovnanie s osobitnými modelmi. Chceme potvrdiť či je spojený model lepší vo všetkých prípadoch.
- [ ] (2) Doplniť fyzické limity pre jednotlivé kolónky do anotácie. Ktoré kolónky nemôžu byť negatívne? Tieto fyzické limity by mali byť zapracované do testu robustnosti.
- [ ] (4) Overenie robustnosti modelu. Vymyslieť testy invariantnosti, ktoré overia ako sa model správa v extrémnej situácii. Urobiť funkciu, kotrá otestuje parametre lineárnej regresie a povie či je model validný. Urobiť funkciu, ktorá navrhne nejaké vstupy a otestuje, či je výstup validný.
Neprioritné úlohy:
- [o] Preskúmať možnosti zníženia rozmeru vstupného priestoru. PCA? alebo zhlukovanie? Zistiť, či vôbec má zmysel používať autoenóder (aj VAE). (Asi to nemá zmysel)
- [x] Vyradenie niektorých kolóniek, podľa koeficientu lineárnej regresie (daniel, funguje ale nezlepšuje presnosť).
2022-05-20 07:45:43 +00:00
- Generovať umelé "extrémne" dáta. Sledovať, ako sa model správa. Extrémne dáta by mali byť fyzicky možné.
2022-05-20 07:45:43 +00:00
Urobené úlohy:
2022-05-27 06:53:46 +00:00
- Hľadanie hyperparametrov pre neurónku a náhodný les.
2022-05-20 07:45:43 +00:00
Report 29.4.2022
2022-05-20 07:45:43 +00:00
- Práca na VE.
- Čítanie článkov.
2022-05-20 07:45:43 +00:00
Report 8.4.2022
2022-05-27 06:53:46 +00:00
- Študovanie teórie
2022-05-20 07:45:43 +00:00
- Práca na VAE kóde rozpracovaný
Report 1.4.2022
2022-05-27 06:53:46 +00:00
- práca na DH neurónovej sieťi
![DH](/uss.PNG)
- študovanie o Deep Belief Network
Stretnutie 28.3.
Úlohy:
- Dokončiť podrobnú anotáciu dát. Aké sú kazuálne súvisosti medzi atribútmi?
- Zopakovať a vylepšiť DH neurónovú sieť na predikciu síry
Zásobník úloh:
- Zvážiť použitie Deep Belief Network.
Report 25.3.2022
- Porovnávanie dát január, február (subor je na gite)
- Hodnotenie ešte nemám spisujem čo tým chcem dosiahnuť ci to ma vôbec zmysel na tom pracovať
Report 18.3.2022
- práca na dátach (príprava na TS, zisťovanie súvislosti, hľadanie hraničných hodnôt)
- študovanie timesesries (https://heartbeat.comet.ml/building-deep-learning-model-to-predict-stock-prices-part-1-2-58e62ad754dd,)
- študovanie o reinforcement learning (https://github.com/dennybritz/reinforcement-learning
https://github.com/ShangtongZhang/reinforcement-learning-an-introduction)
- študovanie o transfer learning
- študovanie feature selection (https://machinelearningmastery.com/feature-selection-machine-learning-python/
https://www.kdnuggets.com/2021/12/alternative-feature-selection-methods-machine-learning.html)
Report 11.3.2022
- Data Preprocessing (inspirácia- https://www.kaggle.com/tajuddinkh/drugs-prediction-data-preprocessing-json-to-csv)
- Analyzovanie dát (inspirácia- https://www.kaggle.com/rounakbanik/ted-data-analysis, https://www.kaggle.com/lostinworlds/analysing-pokemon-dataset
https://www.kaggle.com/kanncaa1/data-sciencetutorial-for-beginners)
- Pracovanie na scripte jsnol --> csv
- Študovanie time series (https://www.machinelearningplus.com/time-series/time-series-analysis-python/
Python Live - 1| Time Series Analysis in Python | Data Science with Python Training | Edureka
Complete Python Pandas Data Science Tutorial! (Reading CSV/Excel files, Sorting, Filtering, Groupby)
https://www.kaggle.com/kashnitsky/topic-9-part-1-time-series-analysis-in-python)
- Time series články (https://ieeexplore.ieee.org/abstract/document/8853246
https://ieeexplore.ieee.org/abstract/document/8931714
https://ieeexplore.ieee.org/abstract/document/8942842
https://arxiv.org/abs/2103.01904)
Working on:
- Neurónovej siete pre GAN time series (stále mam nejaké errory)
- klasickej neuronke
Stretnutie 1.3.2022
Úlohy:
- Zapracovať wandB pre reporting experimentov
- Textovo opísať dáta
Zásobník úloh:
- Vyskúšať predtrénovanie pomocou "historických dát".
Report 25.02.2022
- Prehlaď o jazykových modeloch (BERT, RoBERTa, BART, XLNet, GPT-3) (spracovane poznámky na gite)
- Prehlaď o time-series GAN
- Úprava skriptu z peci jsnol -- > csv
- Skúšanie programu GAN na generovanie obrázkov (na pochopenie ako to funguje)
- Hľadanie vhodnej implementácie na generovanie dát
- Rozpracovaná (veľmi malo) analýza datasetu peci
Stretnutie 2.2.2022
In progress:
- Práca na prehľade článkov VAE-GAN
- na (súkromný) git pridaný náhľad dát a tavný list
- práca na Pandas skripte
Úlohy:
- Dokončiť spacy článok
- Dokončiť prehľad článkov
- Pripraviť prezentáciu na spoločné stretnutie. Do prezentácie uveď čo si sa dozvedel o metódach VAE a GAN. Vysvetli, ako funguje "autoenkóder".
- Napísať krátky blog vrátane odkazov nal literatúru o tom ako funguje neurónový jazykový model (BERT, Roberta, BART, GPT-3, XLNet). Ako funguje? Na čo všetko sa používa?
Stretnutie 18.1.2022
Úlohy:
- [ ] Do git repozitára pridať súbor s podrobným popisom jednotlivých kolóniek v dátovej množine.
- [-] Do git repozitára pridať skript na načítanie dát do Pandas formátu.
- [ ] Vypracovať písomný prehľad metód modelovania procesov v oceliarni (kyslíkového konvertora BOS-basic oxygen steelmaking).
- [x] Nájsť oznam najnovších článkov k vyhľadávaciuemu heslu "gan time series", "vae time series", "sequence modeling,prediction" napísať ku nim komentár (abstrakt z abstraktu) a dať na git.
- [x] Preformulovať zadanie BP Stromp.
- [-] Dokončiť draft článok spacy.
Zásobník úloh:
- [-] Získať prehľad o najnovších metódach NLP - transformers,GAN, VAE a nájsť súvis s modelovaním BOS.
- [ ] nájsť vhodnú implementáciu gan-vae v pythone pre analýzu časových radov alebo postupnosti.
Stretnutie 17.1.2022
2022-05-20 07:45:43 +00:00
- Mame dáta z vysokej pece (500GB)
- Zlepšený konvolučný autoenkóder - dosahuje state-of-the-art.
- Prečítané niečo o transformers a word2vec.
Stretnutie 9.12.2021
- Natrénovaný autoenkóder (feed-forward) pre predikciu celkovej váhy Fe a obsahu S.
- dát je celkom dosť.
Úlohy:
- Vyskúšať iné neurónové siete (keras?).
- Pohľadať dátové množiny, ktoré sú podobné riešenej úlohe. Napr. Open Data.
Stretnutie 26.11.2021
Dáta z US Steel:
- Najprv sa do vysokej pece nasypú suroviny.
- Z tavby sa postupne odoberajú vzorky a meria sa množstvo jednotlivých vzoriek.
- Na konci tavby sa robí finálna analýza taveniny.
- Priebeh procesu závisí od vlastností konkrétnej pece. Sú vlastnosti pece stacionárne? Je možné , že vlastnosti pece sa v čase menia.
- Cieľom je predpovedať výsledky anaýzy finálnej tavby na základe predošlých vzoriek?
- Cieľom je predpovedať výsledky nasledujúceho odberu na základe predchádzajúcich?
- Čo znamená "dobrá tavba"?
- Čo znamená "dobrá predpoveď výsledkov"?
- Je dôležitý čas odbery vzorky?
Zásobník úloh:
- Formulovať problém ako "predikcia časových radov" - sequence prediction.
- Nápad: The analysis of time series : an introduction / Chris Chatfield. 5th ed. Boca Raton : Chapman and Hall, 1996. xii, 283 s. (Chapman & Hall texts in statistical science series). - ISBN 0-412-71640-2 (brož.).
- Prezrieť literatúru a zistiť najnovšie metódy na predikciu.
- Navrhnúť metódu konverzie dát na vektor príznakov. Sú potrebné binárne vektory?
- Navrhnúť metódu výpočtu chybovej funkcie - asi euklidovská vzdialenosť medzi výsledkov a očakávaním.
- Vyskúšať navrhnúť rekurentnú neurónovú sieť - RNN, GRU, LSTM.
- Nápad: Transformer network, Generative Adversarial Network.
- Nápad: Vyskúšať klasické štatistické modely (scikit-learn) - napr. aproximácia polynómom, alebo SVM.
Stretnutie 1.10.
Stav:
- Štúdium základov neurónových sietí
- Úvodné stretnutie s US Steel
Úlohy:
- Vypracovať prehľad aktuálnych metód grafových neurónových sietí
- Nájsť a vyskúšať toolkit na GNN.
- Vytvoriť pracovný repozitár na GITe.
- Naštudovať dáta z US Steel.
- Publikovať diplomovú prácu.
## Diplomová práca 2021
- [CRZP](https://opac.crzp.sk/?fn=detailBiblioForm&sid=ECC3D3F0B3159C4F3216E2027BE4)
- [Zdrojové kódy](https://git.kemt.fei.tuke.sk/mh496vd/diplomovka/)
Názov diplomovej práce: Neurónová morfologická anotácia slovenského jazyka
1. Vysvetlite, ako funguje neurónová morfologická anotácia v knižnici Spacy. Vysvetlite, ako funguje predtrénovanie v knižnici Spacy.
2. Pripravte slovenské trénovacie dáta vo vhodnom formáte a natrénujte základný model morfologickej anotácie pomocou knižnice Spacy.
3. Pripravte model pre morfologickú anotáciu s pomocou predtrénovania.
4. Vyhodnoťte presnosť značkovania modelov vo viacerých experimentoch a navrhnite možné zlepšenia.
## Diplomový projekt 2 2020
Zásobník úloh:
- skúsiť prezentovať na lokálnej konferencii, (Data, Znalosti and WIKT) alebo fakultný zborník (krátka verzia diplomovky).
- Využiť korpus Multext East pri trénovaní. Vytvoriť mapovanie Multext Tagov na SNK Tagy.
- vykonať a opísať viac experinentov s rôznymi nastaveniami.
Stretnutie 12.2.
Stav:
- Práca na texte
Do ďalšieho stretnutia:
- Opraviť text podľa ústnej spätnej väzby
- Vysvetlite čo je to morfologická anotácia.
- Vystvetlite ako sa robí? Ako funguje spacy neurónová sieť?
- atď. predošlé textové úlohy z 30.10. 2020
Stretnutie 25.1.2021
Stav:
- Urobená prezentácia, spracované experimenty do tabuľky.
Do ďalšieho stretnutia:
- Pracovať na súvislom texte.
Virtuálne stretnutie 6.11.2020
Stav:
- Prečítané (podrobne) 2 články a urobené poznámky. Poznánky sú na GITe.
- Dorobené ďalšie experimenty.
Úlohy do ďalšieho stretnutia:
- Pokračovať v otvorených úlohách.
Virtuálne stretnutie 30.10.2020
Stav:
- Súbory sú na GIte
- Vykonané experimenty, Výsledky experimentov sú v tabuľke
- Návod na spustenie
- Vyriešenie technických problémov. Je k dispozicíí Conda prostredie.
Úlohy na ďalšie stretnutie:
- Preštudovať literatúru na tému "pretrain" a "word embedding"
- [Healthcare NER Models Using Language Model Pretraining](http://ceur-ws.org/Vol-2551/paper-04.pdf)
- [Design and implementation of an open source Greek POS Tagger and Entity Recognizer using spaCy](https://ieeexplore.ieee.org/abstract/document/8909591)
- https://arxiv.org/abs/1909.00505
- https://arxiv.org/abs/1607.04606
- LSTM, recurrent neural network,
- Urobte si poznámky z viacerých čnánkov, poznačte si zdroj a čo ste sa dozvedeli.
- Vykonať viacero experimentov s pretrénovaním - rôzne modely, rôzne veľkosti adaptačných dát a zostaviť tabuľku
- Opísať pretrénovanie, zhrnúť vplyv pretrénovania na trénovanie v krátkom článku cca 10 strán.
Virtuálne stretnutie 8.10.2020
Stav:
- Podarilo sa vykonať pretrénovanie aj trénovanie, prvé výsledky experimentov.
- pretrénovanie funguje na GPU, použila sa verzia spacy 2.2, trénovanie na IDOC
- trénovanie ide lepšie na CPU
- vyskytol sa problém že nevie alokovať viac ako 2GB RAM
- 200 iterácií pretrénovania, 4000 riadkov viet
Úlohy do ďalšieho stretnutia:
- Dať zdrojáky na GIT
- Urobiť porovnanie voči presnosti bez pretrain
- Výsledky dajte do tabuľky - aké parametre ste použili pri trénovaní a pretrénovaí?
- experimenty si poznačte do skriptu aby sa dali zopakovať
- Do článku (do súboru README na GIte) presne opíšte nastavenie experimentu - parametre, dáta a spôsob overenia, aspoň rozpracovať.
- Začnite spisovať teoretickú časť článku, aspoň rozpracovať.
Stretnutie 25.9.2020
Stav:
2020-10-01 13:46:14 +00:00
- chyba pri použití príkazu pretrain, ktorá sa objavila s novou verziou Spacy
Úlohy do ďalšieho stretnutia:
- pokračovať so starou verziou Spacy (2.2)
Návrhy na zlepšenie:
- Použiť viac textových dát.
Zvážiť publikovanie na: http://conf.uni-obuda.hu/sami2021/index.html
- najprv napísať po slovensky, potom sa to preloží
- opísať experimenty
## Diplomový projekt 2020
2019-12-05 09:12:50 +00:00
Zdroje:
- [Jazykové zdroje](/topics/resources)
Doplnenie podpory morfologického značkovania slovenského jazyka do nlp frameworku (spacy alebo flair)
- Úlohy na tento semester:
2019-12-05 09:12:50 +00:00
- Pozrieť jazykové zdroje z https://www.clarin.eu/resource-families/manually-annotated-corpora (MultextEast)
- Oboznámte sa so sadou morfologických značiek Universal Dependencies https://universaldependencies.org/sk/index.html
- Oboznámte sa so sadou SNK https://korpus.sk/morpho.html
2020-03-05 12:03:57 +00:00
- Natrénovať Spacy Model s POS a s pretrénovaním
Stretnutie 23.6.2020:
- Výsledok: [Skript na trénovanie Spacy POS](https://git.kemt.fei.tuke.sk/mh496vd/diplomovka/src/branch/master/script.sh)
2020-06-23 13:35:22 +00:00
Stretnutie 12.6.2020:
- Pretrénovanie Fasttext a trénovanie POS Spacy modelu - ešte treba vylepšiť presnosť
K zápočtu:
- Finálny okomentovaný skript pre trénovanie POS modelu podľa Slovak Treebank s pretrénovaním Fasttext.
- Ak sa dá tak pri trénovaní využite GPU
- Zistite výslednú presnosť, mala by byť nad 80 percent.
- Porovnajte s presnosťou bez pretrénovania.
Virtuálne stretnutie 15.5.2020:
- Spustenie exitujúceho skriptu pre trénovanie POS modelu z repozitára spacy-skmodel, problém nastal pri NER dátach.
- Vytvorený [repozitár](https://git.kemt.fei.tuke.sk/mh496vd/diplomovka)
Nové úlohy:
- Podrobne preštudovať a realizovať [spacy pretrain](https://spacy.io/api/cli#pretrain)
- [Blog o Spacy pretrain](https://explosion.ai/blog/spacy-v2-1)
Revízia 9.4.2020:
Report o doterajšej práci:
- naštudovanie Fasttext
- implementácia do Spacy
- úprava modelu v spacy na rozpoznanie jazyka
- snaha o spacy-udpipe pre non-English text
Nové úlohy:
- pridajte zdrojový text a odkaz na "implementáciu".
- natrénujte model podľa https://git.kemt.fei.tuke.sk/dano/spacy-skmodel
- skúste pridať "word-embeddingy" z fasttext do trénovania.
- vyhodnoťte natrénovaný model - zistite presnosť značkovania. Aký vplyv majú embeddingy na presnosť?
- porozmýšľajte ako sa dá presnosť zlepšiť.
2020-03-05 12:03:57 +00:00
Stretnutie 5.3.2020:
Úlohy na ďalšie stretnutie:
- zobrať alebo vytvoriť fasttext model
- pozrieť sa na [spacy pretrain](https://spacy.io/api/cli) - tam sa bude dať využiť fasttext model
- vložiť ho do spacy modelu pomocou `spacy pretrain`
- pozrieť si http://nl.ijs.si/ME/V4/ morfosyntaktická anotácia MULTEXT
- porozmýšľať ako využiť korpus "MultextEast" - potrebné vytvoriť mapovanie značiek na SNK Tagset
Poznámka:
- Aktivovaná Omega
- Pozrieť sa na https://git.kemt.fei.tuke.sk/dano/spacy-skmodel/src/branch/master/sources/slovak-treebank , aktivovaný prístup
- už existuje mapovanie [Universal Dependencie na SNK tagset](https://github.com/explosion/spaCy/blob/master/spacy/lang/sk/tag_map.py)
Stretnutie: 20.2.2020:
Úlohy na ďalšie stretnutie:
- Pozrieť https://spacy.io/usage/training#tagger-parser
- Pozrieť si čo je word embedding - word2vec, fasttext, glove
- Nájsť spôsob ako využiť existujúci model word embedding pri trénovaní https://fasttext.cc/docs/en/pretrained-vectors.html
- Ako natrénovať Spacy POS model?
2019-12-05 09:12:50 +00:00
## Tímový projekt 2019
Projektové stránky:
- [Spracovanie prirodzeného jazyka](/topics/nlp)
- [Python](/topics/python)
- [Podpora slovenčiny v knižnici Spacy](/topics/spacy)
[Spacy tutoriál](./timovy_projekt)
- Vypracovať tutoriál pre prácu s nástrojom Spacy pre úlohu zisťovania gramatických značiek (part-of-speech). Súčasťou tutoriálu by mali byť aj odkazy na relevantné zdroje (odborné članky, min. 4).