142 lines
6.1 KiB
Markdown
142 lines
6.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 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|