156 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			156 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Adrián Remiáš
 | |
| published: true
 | |
| date: 01-02-2014
 | |
| taxonomy:
 | |
|     category: [dp2024]
 | |
|     tag: [nlp, transformers, interpuction]
 | |
|     author: Daniel Hladek
 | |
| ---
 | |
| # Adrián Remiáš
 | |
| 
 | |
| Rok začiatku štúdia: 2018
 | |
| 
 | |
| 
 | |
| # Diplomová práca 2024
 | |
| 
 | |
| Návrh na zadamie:
 | |
| 
 | |
| 1. Vypracujte prehľad metód obnovy interpunkcie v slovenskom jazyku.
 | |
| 2. Vypracujte prehľad metód jazykového modelovania pomocou neurónovej siete typu Transformer.
 | |
| 3. Pripravte dátovú množinu pre trénovanie a vyhodnotenie  neurónovej siete na úlohu dopĺňania a opravy interpunkcie.
 | |
| 4. Vyberte viacero neurónových modelov, natrénujte ich na úlohu dopĺňania a opravy interpunkcie.
 | |
| 5. Vyhodnoťte experimenty a vyberte najlepší model. 
 | |
| 
 | |
| 
 | |
| Ciele:
 | |
| 
 | |
| - Natrénovanie modelu pre opravu iterpunkcie a jeho vyhodnotenie.
 | |
| - Výsledky by mali byť prezentovateľné vo vedeckom článku.
 | |
| 
 | |
| Stretnutie 3.1.2024
 | |
| 
 | |
| Stav:
 | |
| 
 | |
| . Funguje zero shot metóda založená na dopňĺňaní mask tokenu.
 | |
| 
 | |
| Úlohy:
 | |
| 
 | |
| 1. Vyskúšajte príklad [token classification](https://github.com/huggingface/transformers/tree/main/examples/pytorch/token-classification) z repozitára HF transformers pre úlohu NER alebo POS.  Oboznámte sa s argumentami príkazového riadka.
 | |
| 2. Pripravte si trénovacie dáta. Použite formát JSON. Na jeden riadok ide jeden príklad. Príklad je tvorený textom (zoznamom slov) a interpunkciou (zoznam tried). Budete mať súbor train.json a test.json. Na prípravu dátovej množiny si pripravte skript aby to bolo opakovateľné.
 | |
| 3. Spustite skript so svojimi dátami a so slovenským BERTOMN. Nastavte parametre príkazového riadku a formát trénovacej množiny tak aby tomu skript rozumel. 
 | |
| 4. Vyskúšajte viaceré experimenty s viacerými rôznymi BERT modelmi s podporou slovenčiny a výžsledky zapíšte do tabuľky.
 | |
| 5. Skúste číselne vyhodnotiť aj Vašu "zero shot" metódu.
 | |
| - Pokračujte v písaní tectu práce.
 | |
| 
 | |
| Stretnutie 7.12.2023
 | |
| 
 | |
| Stav:
 | |
| 
 | |
| - Vytvorený program na trénovanie neurónovej siete. Masked language modeling  skript run_mlm.py. Roberta for Masked LM  DataCollatorForLanguageModelling.
 | |
| - Navrhnutý skript pridáva mask token medzi slová a sleduje, čo doplní model. Časť s trénovaním je v tomto prípade zbytočná. 
 | |
| 
 | |
| Úlohy:
 | |
| 
 | |
| - Vyhoddnotte prenosť Vami navrhnutého prístupu. Mali by ste zostaviť kontingenčnú tabuľku. (confusion matrix). Tabuľka má na jednej osi očakávané hodnoty a na druhej osi skutočné hodnoty. https://www.analyticsvidhya.com/blog/2020/09/precision-recall-machine-learning/
 | |
| - O spôsobe vyhodnotenia môžete napísať aj krátku podkapitolu.
 | |
| - Uvedte zdroje odkiaľ ste čerpali pri tvorbe.
 | |
| 
 | |
| ```
 | |
|   Pôvodný text:   Dnes   je  pekný  deň .
 | |
|   Opravený text   Dnes , je  pekný  deň .
 | |
| 
 | |
|       . , ? ! x  toto dáva sieť
 | |
|     . 2 1 0 0 0 
 | |
|     , 
 | |
|     ?
 | |
|     !
 | |
|     x   1     1
 | |
|     očakávané hodnoty
 | |
| ```
 | |
| 
 | |
| Zásobník úloh:
 | |
| 
 | |
| - Dotrénujte neurónovú sieť na úlohu dopňlňania interpunkcie. Úloha je formulovaná ako "klasifikácia postupností" a je podobná úlohám "part of speech tagging" alebo "named entity recognition". Pokračujte v prieskume literatúry na túto tému a robte si poznámky o prístupoch. 
 | |
| - Podrobné {vysvetlenie](https://medium.com/@alexmriggio/bert-for-sequence-classification-from-scratch-code-and-theory-fb88053800fa).
 | |
| 
 | |
| Takto by mala vyzerať trénovacia množina.
 | |
| 
 | |
| ```
 | |
| x     x    x    .        ,  x     x     .
 | |
| Dnes je pekný den Povedala že ostane doma
 | |
| ``` 
 | |
| 
 | |
| - Môžete využiť [skripty](https://github.com/huggingface/transformers/tree/main/examples/pytorch/token-classification). Tam je potrebn0 správne pripraviť dátovú množinu tak, aby na ľavej strane bole len slová a na pravej strane bola ku kažnédmu slovu pridelená trieda. Formát by mal byť JSON, na jeden riadok jeden dokument, zrozumiteľný pre [HF datasets](https://huggingface.co/docs/datasets/loading#json).
 | |
| 
 | |
| Stretnutie 23.11.2023
 | |
| 
 | |
| Stav: 
 | |
| 
 | |
| - Boli nainštalované softvéry na idoc podľa pokynov.
 | |
| - Śtúdium a kódovanie: problémy.
 | |
| 
 | |
| Úlohy:
 | |
| 
 | |
| - [ ] Podrobne sa oboznámte https://github.com/xashru/punctuation-restoration/tree/master . Prečítajte si
 | |
|  článok. Urobte si poznámky čo ste sa dozvedeli. Zistite, aké metódy iné sa používajú na PR a aká metóda je v článku. Zistitie, ako to súvisí s Modelom BERT.
 | |
|  - Pohľadajte iný podobný repozitár.
 | |
|  - Získajte zdrojové kódy a spustite experimenty v naglickom a bangla jazyku s dátami dodanými v repozitári. Oboznámte sa so zdrojovými kódmi a skúste pochopiť ktorá časť robí čo. 
 | |
|  - Pokračujte v štúdiu jazyka Python. https://diveintopython3.net/
 | |
|  - Pokračujte v písaní práce podľa pokynov vyššie.
 | |
| 
 | |
| Stretnutie 26.10.2023
 | |
| 
 | |
| Stav:
 | |
| 
 | |
| - Štúdium a poznámky podľa pokynov. Vyskúšaná Anaconda a transformers.
 | |
| 
 | |
| 
 | |
| Úlohy:
 | |
| 
 | |
| - [ ] Pokračovať v štúdiu a v poznámkach. To je teoretická časť DP.
 | |
| - [-] Na katedrovom gite si vytvorte repozitár s názvom DP2024, do neho dajte kódy pre tvorbu dát a trénovanie siete. Dáta nedávajte na git.
 | |
| - [x] Inštalujte Pytorch s podporou CUDA 10.1 alebo 10.2 z https://pytorch.org/get-started/previous-versions/
 | |
| - [x] Na idoc nainštalujte transformers, pytorch s CUDA 10.1 pomocou Anaconda.
 | |
| - Vyberte množinu slovenských textov a upravte ju do podoby  vhodnej na trénovanie neurónovej siete. Dáta sa nachádzajú na servri idoc.fei.tuke.sk v /mnt/sharedhome/hladek/bert-train/data/corpus3/. 
 | |
| Na ľavej strane bude text bez interpunkcie. Na pravej strane bude len interpunkcia.
 | |
| - [ ] Natrénujte neurónovú sieť. Množinu rozdeľte na trénovaciu a testovaciu časť. Začneme s modelom SlovakBERT.
 | |
| 
 | |
| Zásobník úloh:
 | |
| 
 | |
| - Vyskúšajte iný model ako je Slovak BERT.
 | |
| - Pripravte dáta na "čiastočné" dopňlňanie. Skúste identifikovať iba koniec vety. Skúste náhodne "pokaziť" interpunkciu a pomocou neurónovej siete ju opraviť.
 | |
| 
 | |
| Stretnutie 5.10.2023
 | |
| 
 | |
| Stav:
 | |
| 
 | |
| - Urobená bakalárska práca na tému "Analýza textu z pohľadu forenznej lingvistiky".
 | |
| 
 | |
| 
 | |
| Úlohy:
 | |
| 
 | |
| -  [x] Nainštalujte si balíček Anaconda. Pomocou neho si nainštalujete knižnicu Pytorch s podporou CUDA.
 | |
| 
 | |
|     
 | |
|         conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
 | |
|         pip install transformers
 | |
| 
 | |
| - [x] Oboznámte sa s frameworkom HuggingFace [Transformers](https://huggingface.co/docs/transformers/index). Vypracujte si viacero úvodných tutoriálov.
 | |
| - [x] Podrobne sa oboznámte s úlohou [token classificaton](https://huggingface.co/docs/transformers/tasks/token_classification).
 | |
| - [x] Prečítajte si [článok](https://ieeexplore.ieee.org/abstract/document/9089903 Comparison of Recurrent Neural Networks for Slovak Punctuation Restoration, urobte si poznámky.
 | |
| - [x] Prečítajte si "Attention is all you need" https://arxiv.org/abs/1706.03762, urobte si poznámky.
 | |
| - [-] Vyhľadajte heslo "punctuation restoration" na google scholar, poznačte si najdôležitejšie články. Prečítajte si ich a napíšte, akú metódu používaju.
 | |
| 
 | |
| Zásobník úloh:
 | |
| 
 | |
| - Vyberte množinu slovenských textov a upravte ju do podoby  vhodnej na trénovanie neurónovej siete. Natrénujte neurónovú sieť.
 | |
| - Na katedrovom gite si vytvorte repozitár s názvom DP2024, do neho dajte kódy pre tvorbu dát a trénovanie siete. Dáta nedávajte na git.
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 |