ODSTRČIL, Š. Aplikace pro parsování a analýzu obsahu webových stránek [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2019.
Študent zadanie bakalárskej práce splnil v plnom rozsahu, navrhol, implementoval a otestoval aplikáciu na automatické sťahovanie a analýzu obsahu webových stránok. Čo sa týka práce počas roka, tak študent pracoval samostatne a veľké zásahy vedúceho neboli potrebné. Každopádne, študent pracoval vo veľmi nepravidelnom režime a väčšinu práce si nechal na poslednú chvíľu. Prácu s literatúrou a externými zdrojmi hodnotím ako dostatočnú, hoc by som privítal o niečo aktívnejší prístup. Študent je evidentne dobrý programátor. Zdrojový kód spĺňa všetky požiadavky na kvalitný, modulárny a rozšíriteľný kód. Na druhej strane žiaľ študent nevenoval veľkú pozornosť návrhu grafického užívateľského rozhrania aplikácie, ktoré je až priveľmi strohé. Po odbornej a formálnej stránke prácu hodnotím skôr negatívne. Ocenil by som väčšiu snahu pri formátovaní a štruktúrovaní práce, ako aj pri prezentácii výsledkov. Navyše, študent sa miestami vyjadruje až priveľmi hovorovo. Aby som to zhrnul, práca spĺňa predpoklady bakalárskej práce, je však evidentné, že nebola študentovou prioritou. Z vyššie uvedených dôvodov hodnotím prácu známkou C, 75.
Student zpracoval práci, jejím cílem byla realizace Python aplikace pro zpracování a analýzu obsahu, s možností generování různých přehledů, včetně těch založených na technikách zpracování přirozeného jazyka. Součástí má být také grafické uživatelské rozhraní (GUI). Zadání považuji za průměrně obtížné a lze konstatovat, že bylo splněno. Aplikace je vhodně členěna do několika modulů a jejich použití jiným programátorem je umožněno pomocí dobře navrženého API, základní architekturu řešení považuji za zdařilou. Jedná se o třídy pro parsování obsahu webů a zpracování anglického přirozeného jazyka (NLP). Jejich funkcionalita se opírá o existující knihovny, které student použil, zejména BeautifulSoap pro zpracování obsahu webů a Spacy, Gensim a Textacy pro analýzu textu. Žádnou zásadní část analýzy nebo zpracování neimplementoval autor a přínos aplikace tak lze vidět pouze v usnadnění využití těchto nástrojů pomocí API a také multiplatformního grafického uživatelského prostředí realizovaného v PyQt5. To ale nepovažuji za zdařilé, uživatelsky nepřívětivé a neintuitivní. Aplikace není dostatečně odladěna, uživatelské vstupy nejsou validovány a zobrazené chyby jsou pro uživatele nepochopitelné. Některé funkce nefungují vůbec (například tlačítko „Text dle třídy“ provádí shodné co „Text dle tagu“, tlačítko „Témata“ vždy zobrazí chybu), občas dojde k neošetřenému pádu aplikace (ukládání výsledků do souboru). Autor se ani nepokusil očistit extrahovaný kód od vložených skriptů ve stránkách, které znemožňují smysluplnou analýzu. Oceňuji, že autor kód doplnil komentáři a vytvořil základní jednotkové testy, avšak pouze pro parser. Velkým problémem je chybějící popis instalace, není uvedena verze Pythonu, na které aplikace funguje nebo byla testována (je funkční pouze v Pythonu 3). Pro spuštění aplikace je nutné stáhnout model ke knihovně. Tato informace je uvedena v textu práce, nicméně příkaz pro instalace je chybný. Pro automatizovanou instalaci závislostí bych doporučil použít nástroj pip a doplnit soubor requirements.txt. Doporučil bych také přidat možnost automatizovaného stažení modelu pro knihovnu Spacy. Pro demonstraci API by bylo přínosné vytvořit ukázkový skript. Textovou část nepovažuji za zdařilou po odborné, ani formální stránce. V textu se vyskytuje mnoho chyb, místy i tvrzení, které nedávají smysl. Některé zkratky nejsou vysvětleny, kvalitu práce kazí také užívání netechnického jazyku, chybně použitá velká písmena, nejednotné uvádění odkazů. Práce s literaturou je dostatečná, byť se autor opírá o velmi málo informačních zdrojů, jejich bibliografické citace plně neodpovídají citační normě ISO 690. Práci nepovažuji za informačně hodnotnou, popis metodiky analýz je stručný a související teorie není vůbec uvedena. V práci nevyskytuje ani jedna tabulka nebo diagram. Za zcela nevhodný považuji úvod kapitoly 4.4, kde autor uvádí: „Úkolem této bakalářské práce není hrát si na takového odborníka a jakékoliv (G)UI by se dalo několikrát vylepšit. V případě, kdy by bylo perfektní, vstupuje do hry pořekadlo ‚Tisíc lidí, tisíc chutí‘.“. Vytvoření GUI bylo úkolem studenta a během řešení práce měl potřebné znalosti nastudovat. Odevzdaná práce působí jako nedokončená (dokonce je odevzdán soubor s obsahem „TODO“). Ošetření snadno odhalitelných chyb a vylepšení GUI, které k charakteru zadání považuji za velmi podstatné, by podstatně zlepšilo dojem z aplikace a její použitelnost. Autor místo toho jeho význam bagatelizuje (kap. 4.4). Podobně by poctivá korektura textu práce značně zlepšila její čitelnost. Vzhledem k tomu, že aplikace sama neimplementuje žádné analýzy či parsování, zmíněné chyby zásadně omezují použitelnost a přínos řešení. Zadání však považuji za splněné, a proto práci doporučuji k obhajobě.
eVSKP id 118054