---
title: Martin Wencel
published: true
taxonomy:
    category: [bp2021]
    tag: [demo,nlp,spacy]
    author: Daniel Hladek
---
# Martin Wencel 

Rok začiatku štúdia: 2018

Podmienkou pre získanie zápočtu je účasť na konzultácii min. raz za 2 týždne. Menej ako 6 konzultácií za semester je dôvod pre zníženie hodnotenia alebo neudelenie zápočtu.
Komunikácia je možná aj cez [MS Teams](https://teams.microsoft.com/l/team/19%3aa8596a401a3842e5b91ac918a2a0afb1%40thread.tacv2/conversations?groupId=4fc0c627-d424-4587-b73a-2e47509862e9&tenantId=1c9f27ef-fee6-45f4-9a64-255a8c8e25a5).
Konzultačné hodiny sú v piatok 9:20-14:00.

## Bakalárska práca 2020

Názov: Demonštrácia spracovania slovenského prirodzeného jazyka pomocou knižnice Spacy

- [Demonštračná aplikácia pre Spacy](https://spacy.tukekemt.xyz)
- [Bakalárska práca](https://opac.crzp.sk/?fn=detailBiblioForm&sid=CF9E62B1F4156FE3B22E0B84D7C8)

Návrh na zadanie:

1. Vypracujte teoretický úvod do spracovania prirodzeného slovenského jazyka. Vysvetlite, čo to je parsing, morfologická analýza a rozpoznávanie pomenovaných entít a akými metódami sa vykonávajú.
1. Podrobne vysvetlite, ako pracuje parsing, morfologická analýza a rozpoznávanie pomenovaných entít v knižnici Spacy.
1. Vytvorte demonštračnú webovú aplikáciu pomocou ktorej je možné vyskúšať spracovanie slovenského aj anglického jazyka.
1. Navrhnite možné zlepšenia Vami vytvorenej aplikácie.

- [Repo s výsledkami](https://git.kemt.fei.tuke.sk/mw223on/bp2020)
- [Preprecované repo](https://git.kemt.fei.tuke.sk/KEMT/bc_wencel2021)


Zásobník úloh:
- Vymyslite a doplňte REST API pre služby knižnice Spacy. Cieľ je vedieť využiť Spacy pomocou curl, alebo pythonu cez HTTP na spracovane textových súborov.
- Vymyslieť ako spracovať väčšie textové súbory pomocou REST API alebo podobného?  
- Urobiť deployment s demom

Stretnutie 26.3.

Stav:

- Práca na písomnej časti.

Stretnutie 12.3.

Stav:

- Riešenie deploymentu. V základdnom modeli chýbajú priečinky tagger a parser, je potrebné modifikovať skript pre zostavenie slovenského modelu v repozitári spacy-skmodel.
- Práca na písomnej časti

Úlohy:

- Písať.


Stretnutie 26.2.

Stav: 

- Dokončená a fungujúca aplikácia
- Písomná časť je rozpracovaná vo forme útržkovitých poznámok a nadpisov sekcií.

Úlohy:

- vytvoriť súvislý text.
- V texte uviesť odkazy na odbornú literatúru.




## Bakalársky projekt 2020

Cieľ:
- Vytvoriť demonštráciu spracovania slovenského jazyka pomocou knižnice spacy

Výstupy:

- Aplikácia vie robiť pomocou spacy  tokenizácia, morfologická analýza, parsing a named entity recognition pre slovenčinu a angličtinu.
- [Zdrojové kódy](https://git.kemt.fei.tuke.sk/mw223on/bp2020/)

Zásobník úloh:
- Vymyslite a doplňte REST API pre služby knižnice Spacy. Cieľ je vedieť využiť Spacy pomocou curl, alebo pythonu cez HTTP na spracovane textových súborov.
- Vymyslieť ako spracovať väčšie textové súbory pomocou REST API alebo podobného?  


Stretnutie 2.2.:

- Práca na frontende
- Dorobená slovenčina - prerobené spacy explain. Vysvetľuje tagy.
- Urobené rozhranie na spracovanie súborov.

Do ďalšieho stretnutia:

- Skompletizovať a vykonať deployment.


Virtuálne stretnutie 15.12.:

Stav:

- Pripravený Docker deployment.
- Aplikácia funguje pre anglický jazyk.
- Práca na písomnej časti


Do ďalšieho stretnutia:

- Dorobiť slovenčinu
- Zlepšiť dizajn





Virtuálne stretnutie 27.11.:

Stav:

- Aplikácia prerobená do Flask-u. [Zdrojové kódy](https://git.kemt.fei.tuke.sk/mw223on/bp2020/src/branch/master) sú na Gite.

Úlohy na ďalšie stretnutie:
- Pokračovať na práci na aplikácii.
- Pripraviť deployment. Vytvoriť Python balíček (setup.py, requirements.txt, MANIFEST.in). 
- Pripraviť Dockerfile. Môžete použiť obraz tiangolo/meinheld-gunicorn-flask:python3.7
- Pokračovať v písaní.





Virtuálne stretnutie 20.11.:

Stav:
- práca na písomnej časti
- komplet prerobený frontend (css a html) a backend (hug).

Úlohy na ďalšie stretnutie:
- dať kódy na GIT.
- prepísať frontend a backend do Flask,

Virtuálne stretnutie 30.10.:

Stav:

- Modifikovaná existujúca aplikácia "spacy-streamlit", zdrojové kóódy sú na GITe podľa pokynov z minulého stretnutia.
- Obsahuje aj formulár, neobsahuje REST API

Úlohy do ďalšieho stretnutia:

- Pokračujte v písaní. Prečítajte si odborné články na tému "dependency parsing" a vypracujte poznámky čo ste sa dozvedeli. Poznačte si zdroj.
- Pokkračujte v práci na demonštračnej webovej aplikácii.


Virtuálne stretnutie 19.10.:

Stav: 

- Vypracované a odovzdané poznámky k bakalárskej práci, obsahujú výpisy z literatúry.
- Vytvorený repozitár. https://git.kemt.fei.tuke.sk/mw223on/bp2020
- Nainštalovaný a spustený slovenský Spacy model.
- Nainštalované Spacy REST Api https://github.com/explosion/spacy-services
- Vyskúšané demo Display so slovenským modelom

Úlohy na ďalšie stretnutie:

- Pripravte webovú aplikáciu ktorá bude prezentovať rozpoznávanie závislostí a pomenovaných entít v slovenskom jayzyku. Mala by sa skladať z frontentu a backendu.
- zapíšte potrebné Python balíčky do súboru "requirements.txt"
- Vytvorte skript na inštaláciu aplikácie pomocou pip.
- Vytvorte skript pre spustenie backendu aj frontendu. Výsledky dajte do repozitára.
- Vytvorte návrh na frontend (HTML + CSS).
- Pozrite na zdrojové kódy Spacy a zistite, čo presne robí príkaz display.serve
- Vysledky dajte do repozitára.

Virtuálne stretnutie 9.10.

Stav:
- nainštalovaná anaconda, docker aj linux, spacy, latex
- prečítané niečo o NLP (Speech and Language Processing, Jurafsky and Martin). Blogy a záverečné práce.
- vypracované poznámky

Úlohy do ďalšieho stretnutia:
- odovzdať vypracované poznámky do Moodlu.
- nainštalujte a spustite slovenský [spacy model](https://git.kemt.fei.tuke.sk/dano/spacy-skmodel)
- Pozrite si , nainštalujte a spustite https://github.com/explosion/spacy-services
- Skúste to upraviť tak, aby displacy využíval slovenský model
- Vyskúšajte komunikovať so servrom pomocou CURL
- študujte jazyk Python a web framework hug

Stretnutie 1.10.2O20:

Na štúdium:
- https://git.kemt.fei.tuke.sk/KEMT/zpwiki/src/branch/master/pages/topics
- https://student.kemt.fei.tuke.sk/predmety/zct
- Dive into Python 3

Na vypracovanie:

- Prečítajte si čo je to "natural language processing" a urobte si poznámky. Do poznámok si zapíšte čo ste sa dozvedeli a zdroj.
- Nainštalujte si prostredie Anaconda
- Nainštalujte si Docker
- Skúste rozbehať demo z https://github.com/jgontrum/spacy-api-docker 

Na zlepšenie:

- Chceme vybrať metódu NLP ktorej sa budeme venovať.
- chceme vybrať knižnicu alebo demo ktoré budeme prezentovať.
