zpwiki/pages/teachers/hladek/subjects/bp2020/README.md

185 lines
6.8 KiB
Markdown

---
title: Bakalársky projekt 2019/2020
published: true
---
# Bakalársky projekt 2019/2020
- Vedúci: Daniel Hládek
- odporúčaný čas konzultácie: štvrtok o 9:00
- Oblasť: [Spracovanie prirodzeného jazyka](../../topics/nlp), [Programovanie v jazyku Python](../../topics/python)
## Ciele
- oboznámiť sa so základmi spracovania prirodzeného jazyka
- naučiť sa pracovať s [odbornou literatúrou](../zp)
- vypracovať článok na vybranú tému
- vytvoriť praktickú aplikáciu (demo, krátky program)
## Zápočet
Podmienky na zápočet:
- vypracovanie písomného prehľadu a práca so softvérom podľa pokynov vedúceho
- vypracovanie prezentácie a osobná obhajoba pred komisiou dňa 28. 1. 2020
- dohodnuté znenie zadania záverečnej práce
- vypracovaný osobný profil [podľa šablóny](../../../../students/2017/vzorny_student) v časti https://git.kemt.fei.tuke.sk/KEMT/zpwiki/src/branch/master/pages/students/2017
- odovzdanie písomnej časti [cez Moodle](https://moodle.tuke.sk/moodle35/course/view.php?id=872&noprocess) heslo je BP2019
- odovzdanie písomnej časti do osobného profilu
## Študenti a témy
- [Stanislav Matsunych](../../../../students/2017/stanislav_matsunych) Rekurentné neurónové siete pre jazykové modelovanie a generovanie prirodzeného jazyka
- Peter Maľar Automatická oprava preklepov
- Andrej Hopko Anotácia lingvistického korpusu
- Kyryl Kobzar Identifikácia pomenovaných entít v prirodzenom jazyku s pomocou neurónových sietí
- Dmitro Ushatenko Jednoduchý chatbot v jazyku Python
- Ediz Morochovič Identifikácia pomenovaných entít v slovenskom jazyku
## Stretnutia
- 10.10 - Hopko, Matsunych, Kobzar
- 17.10 - Hopko, Pavlišin, Matsunych, Kobzar, Ushatenko (Prečítať knihu, prejsť Spacy tutoriál, nainštalovať Anaconda)
- 21.10. - Maľar
- 24.10 - Pracovná cesta
- 28.10 o 9:30 -
- 31.10 - Dekanské voľno
- 4.11. - Hopko
- 7.11 - Maľar, Ushatenko
- 14.11 - Odovzdanie draftu reportu
- 22.11. Matsunych
- 19.12. Matsunych
- 21.1.2020 - Maľar, Hopko, Morochovič, Pavlišin
## Andrej Hopko
- Práca pomocou "Anaconda Prompt"
- Vyskúšať "python -m spacy" podľa tutoriálu na stránke
- Oboznámiť sa s https://prodi.gy/ (využíva spacy) a nainštalovať (python wheel)
Projekty:
- [NLP](../../topics/nlp)
- [Python](../../topics/python)
- [prodigy](../../topics/prodigy)
- [spacy](../../topics/spacy)
28.10
- Na idoc.fei.tuke.sk nainštalovať [Minoconda](https://repo.anaconda.com/miniconda/)
- pozrite si "python virtualenv" a [prostredia conda](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html)
Cieľ:
- Vedieť pripraviť textové dáta na anotáciu pomocou Prodigy (textové dáta sa použijú na učenie systému)
- V prvom semestri bude výstup:
- Oboznámiť sa "ako písať záverečnú pracu"
- nainštalovaný systém prodigy
- Vybratá dátová množina pripravená vo vhodnom formáte.
- Pripravená anotačná uloha
- Report o inštalácii Prodigy a príprave anotačnej úlohy na cca 3 strany použiteľný ako návod pre druhých - vysvetlite na čo sú potrebné anotácie a čo je crowdsourcing
- V reporte spomente aspoň 3 odborné články na tému "crowdsourcing"
- V druhom semestri - rešerš o príprave trénovacích dát a crowdsourcingu.
## Kyryl Kobzar
Cieľom je:
Vedieť použiť nástroj Spacy na natrénovanie modelu a rozpoznávanie pomenovaných entít v texte v (anglickom) jazyku
Zdroje dát
https://lindat.mff.cuni.cz/repository/xmlui/
https://lindat.mff.cuni.cz/repository/xmlui/discover?field=subject&filtertype=subject&filter_relational_operator=equals&filter=named+entity+recognition
Výstup do prvého semestra:
- Tutoriál na cca 3-4 strany ako natrénovať a použiť Spacy na rozpoznávanie pomenovaných entít
- Rešerš na tému cca 10 strán : "Rozpoznávanie pomenovaných entít" - "named entity recognition", vystetlíte, čo to je, aké metódy sa používajú, ako sa to vyhodnocuje.
Projekty
- [NLP](../../topics/nlp)
- [Python](../../topics/python)
- [spacy](../../topics/named-entity)
V druhom semestri:
- natrénovanie vlastného modelu na vlastných dátach
- vyhodnotenie modelu
- dokončenie práce
## Dmytro Ushatenko
Cieľ:
Vytvorenie jednoduchého chatbota s použitím toolkitu RASA ktorý bude informovať o zvolenej téme,
napr. o predmetoch štúdia prvého ročníka programu PS na KEMT:
Pomôcka pre začínajúcich študentov:
- Čo mám robiť?
- Aké predmety budem študovať?
- Ako skončím predmet? (potrebujem zápočet a skúšku)
Úlohy na tento semester:
- Prejdite si tutoriál https://rasa.com/docs/rasa/user-guide/rasa-tutorial/
- Pripravte jednoduchý dialógový systém
- Pripravte "návod na použitie", kde zapíšete čo ste spravili v tutoriáli
- Vylepšite Vašu rešerš, dajte dôraz na citovanie zdrojov a na jazykovú stránku.
V druom semestri:
- pripravíte si celé demo
- dookončíte prácu
## Peter Maľar
Cieľ:
Vytvoriť jednoduchý systém na opravu preklepov na báze neurónových sietí
Úlohy na tento semester:
- Naštudovať si článok "Sequence to sequence spelling correction..."
- Nainštalovať a vyskúšať [fairseq](https://github.com/pytorch/fairseq)
- Prejsť si tutoriál na strojový preklad https://github.com/pytorch/fairseq/blob/master/examples/translation/README.md
- Vytvorte (prejdite krátky tutoriál - zapisujte čo ste urobili)
- Skúsiť zopakovať experimenty s použitím systému
- Vytvorte rešerš na tému "sequence to sequence systémy", "encoder-decoder" neurónové siete (5 strán, min. 5 odborných článkov)
Návrh na zadanie bakalárskej práce:
1. Vypracujte prehľad metód automatickej opravy preklepov.
2. Podrobne opíšte zvolenú metódu opravy preklepov.
3. Vykonajte sadu experimentov a vyhodnoťte presnosť zvolenej metódy.
4. Na základe výsledkov experimentov navrhnite zlepšenia.
## Ediz Morochovič
Zadanie BP:
1. Vypracujte prehľad štatistických metód identifikácie pomenovaných entít v texte.
2. Podrobne opíšte zvolenú metódu identifikácie pomenovaných entít v texte
3. Zvoľte si vhodnú metodiku vyhodnotenia a na vhodnej testovacej množine navrhnite a vykonajte sadu experimentov.
4. Na základe výsledkov experimentov navrhnite možné zlepšenia.
Úlohy:
- Nainštalujte si prostredie Anaconda https://www.anaconda.com/
- Oboznámiť sa so zvoleným štatistickým systémom pre rozpoznávanie pomenovaných entít (https://www.nltk.org/), https://www.nltk.org/install.html, https://stanfordnlp.github.io/CoreNLP/, https://www.nltk.org/book/
- Zistite použitú štatistickú metódu a podrobne ju opíšte
- Vypracujte prehľad používaných štatistických metód (maximum entropy, conditional random fields, hidden markov models), min. 5 strán s min. 10 odkazmi na odborné články
- Navrhnite experimenty a vykonajte ich s rôznymi parametrami systému