bakalářská práce

Aplikace pro analýzu dat z bankovních transakcí

Text práce 3.89 MB

Autor práce: Bc. Petr Hýbl

Ak. rok: 2022/2023

Vedoucí: Ing. Vladimír Bartík, Ph.D.

Oponent: Ing. Jiří Hynek, Ph.D.

Abstrakt:

Cílem této práce je navrhnout a implementovat webovou aplikaci pro analýzu bankovních transakcí. Aplikace využívá  na serveru webový framework Flask a na klientu framework React. Při práci byl kladen důraz zejména na jednoduchost a uživatelský zážitek. Hlavní funkcí této aplikace je automatická kategorizace transakcí pomocí umělé inteligence. Podstatou této funkce je dvouvrstvá architektura. V této architektuře se podařilo dosáhnout úspěšnosti 85 %. Tato aplikace umožňuje uživatelovi nahrát měsíční výpis a zobrazit si přehledný graf s kategorií, kde nejvíc utrácí. Dále může uživatel porovnávat jednotlivé měsíce a přemýšlet nad tím jak optimalizovat své finance.

Klíčová slova:

webová aplikace, bankovní transakce, analýza umělou inteligencí, React, Javascript, Python, Flask, bankovní výpisy

Termín obhajoby

14.06.2023

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaCznamka

Klasifikace

C

Průběh obhajoby

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.

Otázky k obhajobě

  1. Bylo by technicky možné pro dané účely využít aplikaci jedné banky (např. George), která by importovala účty jiných bank prostřednictvím tzv. funkce multibanking? Vyhodnoťte proveditelnost a případné výhody/nevýhody přístupu oproti Vašemu systému.

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

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)

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).

Kritérium hodnocení Slovní hodnocení
Informace k zadání

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.

Práce s literaturou

Většinu literatury si student obstaral samostatně, k volbě literatury nemám výhrady.

Aktivita během řešení, konzultace, komunikace

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ě.

Aktivita při dokončování

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.

Publikační činnost, ocenění
Výsledný počet bodů navržený vedoucím: 82

Známka navržená vedoucím: B

Posudek oponenta
Ing. 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.

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: 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é.

Rozsah splnění požadavků zadání

Stupeň hodnocení: zadání splněno

Rozsah technické zprávy

Stupeň hodnocení: je v obvyklém rozmezí

Prezentační úroveň technické zprávy

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ě.

55
Formální úprava technické zprávy

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é.

80
Práce s literaturou

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í.

80
Realizační výstup

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í).

70
Využitelnost výsledků

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ě.

Otázky k obhajobě:
  1. Bylo by technicky možné pro dané účely využít aplikaci jedné banky (např. George), která by importovala účty jiných bank prostřednictvím tzv. funkce multibanking? Vyhodnoťte proveditelnost a případné výhody/nevýhody přístupu oproti Vašemu systému.
Výsledný počet bodů navržený oponentem: 70

Známka navržená oponentem: C

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová