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

22 KiB

title published taxonomy
Maroš Harahus true
category tag author
dp2021
bp2019
spelling
spacy
nlp
Daniel Hladek

Maroš Harahus

Dizertačná práca

v roku 2023/24

Automatické opravy textu a spracovanie prirodzeného jazyka

Ciele:

  • Zverejniť a obhájiť minimovku
  • Napísať dizertačnú prácu
  • Publikovať 2 články triedy Q2-Q3

Súvisiaca BP Vladyslav Krupko

Druhý rok doktorandského štúdia

Ciele:

  • Publikovanie článku Q2/Q3 - podmienka pre pokračovanie v štúdiu.
  • Obhájiť minimovku. Minimovka by mala obsahovať definíciu riešenej úlohy, prehľad problematiky, tézy dizertačnej práce - vedecké prínosy.
    • Poskytnite najnovší prehľad.
    • Popísať vedecký prínos dizertačnej práce
  • Zverejniť min. 1 príspevok na školskej konferencii.
  • Publikovať min. 1 riadny konferenčný príspevok.
  • Pripraviť demo.
  • Pomáhať s výukou, projektami a výskumom.

Plán činosti na semester:

  1. Prediskutovať a vybrať definitívnu tému. Obidve témy sú komplikované.

    • Trénovanie jazykových modelov. Cieľom by bolo zlepšenie jazykového modelovania.
      • Dá sa nadviazať na existujúce trénovacie skripty.
      • Dá sa využiť webový korpus.
      • Dá sa využiť naša GPU infraštruktúra. (Na trénovanie menších modelov)
      • Veľký praktický prínos.
      • Teoretický prínos je otázny.
      • Naša infraštruktúra je asi slabá na väčšie modely.
    • Oprava gramatických chýb.
      • Dá sa nadviazať na "spelling correction" výskum a skripty.
      • Teoretický prínos je väčší. - [x] Trénovanie by bolo jednoduchšie na našom HW.
      • Posledné review je z 2020
  2. Napísať prehľadový článok.

    • Prečítať existujúce prehľady na danú tému. Zistitť ako boli napísané, kde boli uverejnené, čo je ich prínos. Je dobré použiť metodiku https://www.prisma-statement.org//
    • Identifikovať v čom by bol náš prehľad originálny a kde by bolo možné uverejniť.
    • Prečítať a zotriediť aspoň 200 článkov na danú tému.
    • Zistiť, aké metódy, datasety a spôsoby vyhodnotenia sa používajú.
    • Rozšíriť prehľadový článok do formy minimovky.
  3. Priebežne pracovať na experimentoch.

    • Vybrať vhodnú dátovú množinu a metriku vyhodotenia.
    • Vybrať základnú metódu a vyhodnotiť.
    • Vyskúšať modifikáciu základnej metódy a vyhodotiť.
  4. Napísať 2 konferenčné články.

    • Písať si poznámky pri experimentoch.
    • Predbežné experimenty zverejniť v krátkom článku.
    • Prediskutovať spôsob financovania.

Stretnutie 27.10.

Stav:

Úlohy:

Nápady:

  • Smerovať to na inú generatívnu úlohu podobnú strojovému prekladu. Napríklad "Question generation".
  • question generation by sa dalo použiť na zlepšenie QA-IR systémov.

Stretnutie 9.9.2022

Stav:

Počas prázdnin sa pracovalo na experimentoch s fairseq - strojový preklad a Spacy trénovanie, štúdium literatúry.

Úlohy:

  • Prečítať niekoľko prehľadov na tému Grammar Correction, zistiť ako sú napísané a čo je v nich napísané.
  • Prečítať niekoľko prehľadov (survey) na tému Neural Language Modelling - BERT Type models. Zistiť, kde je priestor na vedecký prínos.
  • Zistiť čo je to Transfer Learning. https://ieeexplore.ieee.org/abstract/document/9134370
  • Na obe témy vyhľadať a prečítať niekoľko článkov. Uložiť záznam do databázy, napísať poznánky ku článku.
  • Porozmýšľať nad témou práce.
  • Pokračovať v experimenotch fairseq so strojovým prekladom. Vieme pripraviť experiment na tému "spelling", "grammar" alebo training "roberta small", "bart small" na web korpuse? Toto by sa mohlo publikovať na konferenčnom článku do konca roka. treba vybrať dátovú množinu, metodiku vyhodnoteia, metódu trénovania.
  • [-] Čítať knihy - Bishop-Patter Recognition. Yang: Transfer Learning.

Prvý ročník PhD štúdia

29.6.

Úlohy:

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.

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.

Stretnutie 20.5.

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)
  • Vyradenie niektorých kolóniek, podľa koeficientu lineárnej regresie (daniel, funguje ale nezlepšuje presnosť).
    • Generovať umelé "extrémne" dáta. Sledovať, ako sa model správa. Extrémne dáta by mali byť fyzicky možné.

Urobené úlohy:

  • Hľadanie hyperparametrov pre neurónku a náhodný les.

Report 29.4.2022

  • Práca na VE.
  • Čítanie článkov.

Report 8.4.2022

  • Študovanie teórie
  • Práca na VAE kóde rozpracovaný

Report 1.4.2022

  • práca na DH neurónovej sieťi DH
  • š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

Report 11.3.2022

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).
  • 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.
  • 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

  • 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

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:

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:

  • 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

Zdroje:

Doplnenie podpory morfologického značkovania slovenského jazyka do nlp frameworku (spacy alebo flair)

Stretnutie 23.6.2020:

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

Nové úlohy:

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ť.

Stretnutie 5.3.2020:

Úlohy na ďalšie stretnutie:

  • zobrať alebo vytvoriť fasttext model
  • pozrieť sa na spacy pretrain - 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:

Stretnutie: 20.2.2020:

Úlohy na ďalšie stretnutie:

Tímový projekt 2019

Projektové stránky:

Spacy tutoriál

  • 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).