Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Petr Hýbl
Acad. year: 2022/2023
Supervisor: Ing. Vladimír Bartík, Ph.D.
Reviewer: Ing. Jiří Hynek, Ph.D.
The goal of this thesis is to design and implement a web application for analyzing bank transactions. The application uses the Flask web framework on the server and the React framework on the client. The focus of the work was simplicity and user experience. The main function of this application is automatic categorization of transactions using artificial intelligence. The core of this feature is a two-layer architecture. In this architecture we were able to achieve a success rate of 85 %. This application allows the user to upload a monthly statement and view a summary graph with the category where they spend the most money. In addition, the user can compare each month and think about how to optimize their finances.
web application, bank transaction, analysis by artificial intelligence, React, Javascript, Python, Flask, bank statements
Date of defence
14.06.2023
Result of the defence
Defended (thesis was successfully defended)
Grading
C
Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm C.
Topics for thesis defence
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Information Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. Dr. Ing. Dušan Kolář (předseda) doc. Ing. Peter Chudý, Ph.D., MBA (člen) RNDr. Marek Rychlý, Ph.D. (člen) Ing. Vojtěch Mrázek, Ph.D. (člen) doc. Ing. Ondřej Lengál, Ph.D. (člen)
Supervisor’s reportIng. Vladimír Bartík, Ph.D.
S přístupem studenta během řešení jsem byl spokojen a i výslednou práci hodnotím jako kvalitní. Navrhuji proto hodnocení stupněm B (velmi dobře).
Cílem této bakalářské práce bylo vytvoření aplikace, které bude načítat bankovní výpisy z různých bank, analyzovat je a zobrazovat statistiky o výdajích v přehledné formě. Také bylo potřeba implementovat klasifikaci pro automatické určení typů jednotlivých položek. Výsledná aplikace je kvalitní a prakticky využitelná, student své zadání splnil.
Většinu literatury si student obstaral samostatně, k volbě literatury nemám výhrady.
Student své řešení pravidelně konzultoval, dohodnuté termíny dodržoval a na konzultace býval dobře připraven. Studentův přístup během řešení tedy hodnotím pozitivně.
Práce byla dokončena včas, technická zpráva byla konzultována a realizační výstup byl včas prezentován. Student mé připomínky zohlednil.
Grade proposed by supervisor: B
Reviewer’s reportIng. Jiří Hynek, Ph.D.
Student vytvořil použitelný systém řešící zajímavé téma. Práce obsahuje některé výše zmíněné nedostatky (jak v technické zprávě, tak v realizačních výstupech). Navrhuji hodnocení stupněm C.
Evaluation level: obtížnější zadání
Cílem práce bylo navrhnout systém pro zpracování a vyhodnocování serializovaných dat exportovaných z aplikací internetového bankovnictví reprezentující vykonané transakce. Student dále řešil klasifikaci těchto transakcí do kategorií a jejich vizualizaci. Pro tyto účely využil jazyk Python a přidružené knihovny PyTorch, Sentence Transformer, Pandas a NLTK. Klasifikaci provádí pomocí výpočtu vektorů vět a porovnávání podobnosti pomocí kosinové podobnosti. Zadání hodnotím jako obtížnější a považuji ho za splněné.
Evaluation level: zadání splněno
Evaluation level: je v obvyklém rozmezí
Prezentační úroveň technické zprávy je na nízké úrovni. Teoretická část představuje seznam existujících aplikací a technologií. Analýza pojednává o formátech exportovaných souborů z bank. Návrh působí značně triviálním dojmem. Popis principu klasifikace působí spíše jako černá skříňka. Student se místy vyjadřuje neohrabaně.
Po formální stránce je práce na přijatelné úrovni. Místy chybí čárky, případně se vyskytují typografické chyby (např. pomlčka místo spojovníku). Pojmy nejsou v mnoha případech vhodně zvýrazněné. Některé výpisy nejsou číslované.
Práce s literaturou je na přijatelné úrovni. Student kombinuje odborné a online zdroje týkající se zejména použitých technologií.
Výsledné řešení je použitelné. Nástroj pro klasifikaci pomáhá automatizovaně roztřídit zpracované transakce (student uvádí úspěšnost 85%). Klientská část systému (dashboard) implementovaná s využitím rámce React působí spíše jednodušším dojmem. Je možné nalézt různé nedodělávky (chybějící paginace nebo správa kategorií).
Výsledky jsou potenciálně využitelné pro analýzu osobních výdajů. Student systém uveřejnil online pod názvem MoneyTracker na své osobní doméně.
Grade proposed by reviewer: C
Responsibility: Mgr. et Mgr. Hana Odstrčilová