Master's Thesis

Enhancing the visual data extraction and classification system for improved scam detection

Author of thesis: Ing. Vojtěch Dvořák

Acad. year: 2025/2026

Supervisor: Ing. Daniel Snášel

Reviewer: Ing. Anton Firc, Ph.D.

Abstract:

The long-term increase in the number of cyber fraud cases, combined with the ability to generate fraudulent data automatically, implies greater demands on the efficiency of processing malicious documents. The goal of this work is to improve the analysis of potentially fraudulent documents through the design and implementation of the Viper Pit distributed system, which clusters documents based on their visual and semantic features. The system incorporates several approaches to document clustering. These approaches were compared on an evaluation dataset. However, it was not demonstrated that any single method was significantly better than the others for clustering this type of data. During development, the system was tested primarily on PDF documents, and testing was also conducted on websites in the final phase. The new system was tested and deployed in a production environment, where it identified 10 cyber fraud campaigns using PDF documents and classified over 30 000 documents.

Keywords:

scam, social engineering, phishing, document, classification, detection, PDF, clustering, feature extraction, visual manipulation, DINOv2, E5, embedding, keywords, rendering

Date of defence

24.06.2026

Date of publish

23.06.2029

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

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

Topics for thesis defence

  1. Implementoval jste vlastní scheduling systém místo použití Celery. Jaká konkrétní omezení Celery vedla k tomuto rozhodnutí?
  2. Tvrdíte, že žádná metoda není jednoznačně horší než ostatní. Je to skutečný závěr, nebo spíše limit evaluace? Za jakých podmínek má analytik zvolit PagesDino, Keywords nebo Narratives?
  3. Jak ukazujete, keywords clustering může u 500K dokumentů běžet až 14 hodin. Co se stane, pokud worker spadne ve 13. hodině? Je výpočet checkpointovaný?
  4. Nakolik je vhodné mluvit o explainability, pokud je pro interpretaci výsledků použit velký jazykový model (LLM)?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

Machine Learning (NMAL)

Composition of Committee

prof. Dr. Ing. Jan Černocký (předseda)
doc. Ing. Vítězslav Beran, Ph.D. (místopředseda)
doc. Ing. Ondřej Lengál, Ph.D. (člen)
doc. Ing. František Zbořil, Ph.D. (člen)
Ing. Michal Hradiš, Ph.D. (člen)
Ing. Martin Fajčík, Ph.D. (člen)

Supervisor’s report
Ing. Daniel Snášel

K řešení student přistupoval samostatně a s vlastní iniciativou — sám navrhoval architektonická řešení, věcně je obhajoval a aktivně reagoval na zpětnou vazbu od analytického týmu. Inženýrská kvalita výsledku (distribuovaná architektura, vlastní plánovací subsystém, šablonovité řešení pro snadné přidávání dalších metod) přesahuje běžnou úroveň diplomové práce a vytváří solidní základ pro další rozvoj. Systém je nasazen v produkci a za první měsíce provozu pomohl identifikovat 10 reálných kampaní kybernetických podvodů. Práce navíc nabízí publikovatelný komparativní benchmark osmi metod shlukování. Navrhuji hodnocení A.

Evaluation criteria Verbal classification
Information about assignment

Cílem bylo rozšířit analytickou pipeline společnosti Gen Digital Inc. o systém pro shlukování potenciálně podvodných dokumentů na základě vizuální reprezentace a sémantických příznaků. Zadání hodnotím jako obtížné - student musel kombinovat znalosti z kybernetické bezpečnosti, strojového učení (vision a text embedding modely, hustotně založené shlukování) a distribuovaných systémů. Student splnil zadání ve všech bodech. Implementoval osm metod shlukové analýzy (pět založených na HDBSCAN, tři na exaktní shodě příznaků), evaluoval je na veřejné datové sadě o velikosti 59 248 dokumentů i na reálném produkčním provozu. Vzniklý systém Viper Pit byl nasazen do produkce, identifikoval 10 kampaní kybernetických podvodů a posloužil k manuální klasifikaci přes 30 000 dokumentů. 

Activity during solution, consultations, communication

Práce byla dokončena s časovou rezervou a její finální podoba byla průběžně konzultována. Připomínky vedoucího byly důsledně zapracovány, včetně kritických bodů spojených s NDA.

Publication activity, awards

Práce nebyla dosud publikována, počítá se však s přípravou článku z jejích výsledků.

Work with literature

Student aktivně pracoval s doporučenou literaturou i se zdroji, které si dohledal samostatně.

Activity during solution, consultations, communication

Práce byla konzultována každý týden v průběhu celého roku. Konzultace byly produktivní, student vždy přicházel s novým pokrokem, diskutoval aktuální problémy a navrhoval jejich řešení.

Points proposed by supervisor: 100

Grade proposed by supervisor: A

Reviewer’s report
Ing. Anton Firc, Ph.D.

Práce představuje velmi kvalitní inženýrský výstup s reálným produkčním nasazením, což ji výrazně odlišuje od běžných diplomových prací. Student nenavrhl pouze experimentální prototyp, ale kompletní systém, který byl integrován do prostředí společnosti Gen, je aktivně využíván a má doložený praktický dopad. Podle uvedených výsledků již pomohl identifikovat několik kampaní kybernetických podvodů a přes jeho rozhraní bylo klasifikováno desítek tisíc dokumentů. To je podle mého názoru mimořádně silný výsledek.


Za hlavní přínos práce považuji kombinaci kvalitního návrhu, implementace a dotažení systému do použitelné produkční podoby. Student pracuje s reálnými požadavky firmy, řeší škálovatelnost, paralelizaci dlouho běžících úloh, integraci do existující infrastruktury i uživatelské rozhraní pro analytiky. Výsledný systém působí jako hotový produkt, nikoliv jako prototyp. Z osobní prezentace bylo navíc zřejmé, že student řešení detailně rozumí a umí vysvětlit technická i návrhová rozhodnutí.


Velmi pozitivně hodnotím také práci s literaturou a dokumenty. Citace jsou vedeny pečlivě, často s přesnými odkazy na konkrétní stránky, což výrazně zvyšuje dohledatelnost použitých informací. Takto detailní práce se zdroji není v diplomových pracích běžná.


Slabší stránkou práce je metodická hloubka vyhodnocení. Evaluace porovnává více metod, ale její závěry by mohly být lépe systematizovány do praktických doporučení pro analytiky. Práce také mohla více diskutovat celou preprocessing pipeline, rozdíl mezi evaluačním datasetem a produkčním provozem a statistickou významnost rozdílů mezi metodami.


I přes tyto výhrady považuji práci za výbornou. Nedostatky jsou převážně experimentálně-metodického charakteru, zatímco realizační výstup je velmi silný, produkčně nasazený a reálně využívaný. S ohledem na kvalitu implementace, úroveň integrace, praktický dopad a celkovou dotaženost systému hodnotím práci stupněm A (92b).

Evaluation criteria Verbal classification Points Max. points
The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

Zadání bylo splněno s jemným rozšířením. Student navrhl a implementoval několik metod pro shlukování dokumentů, doplnil je o grafické rozhraní a celý systém integroval do prostředí společnosti Gen, kde je již aktivně využíván. Nad rámec zadání hodnotím zejména automatickou klasifikaci shluků založenou na velkých jazykových modelech.

Extent of the technical report

Evaluation level: is within the usual extent

Rozsah práce je v očekávaných mezích. Práce obsahuje všechny podstatné části od teoretických východisek přes návrh až po implementaci a vyhodnocení.

Presentation level of the technical report

Práce je obecně dobře čitelná a má velmi dobrý tok. Autor postupně přechází od teoretických východisek k existujícím nástrojům, následně k formulaci požadavků, návrhu a implementaci vlastního řešení. Velmi kladně hodnotím překlady cizích pojmů, rozepsané zkratky, vhodně volené zvýraznění důležitých částí a celkově profesionální způsob vedení textu. Čtenář se v práci dobře orientuje a jednotlivé části na sebe většinou logicky navazují.

Slabší stránkou je ale metodická prezentace vyhodnocení. Práce provádí rozsáhlé porovnání více metod, ale závěry z tohoto porovnání nejsou dotaženy do dostatečně praktické podoby. Konstatování, že žádná metoda není jednoznačně horší než ostatní, působí spíše jako nedostatečně vytěžená evaluace než jako silný závěr. Z výsledků přitom vyplývají zajímavé rozdíly: PagesDino se jeví jako vhodný pro vizuálně odlišné dokumenty, Keywords má dobrou specificitu a Narratives vytváří menší počet shluků. Tyto poznatky ale nejsou systematicky převedeny do doporučení, za jakých podmínek má analytik použít kterou metodu.

Text popisuje jednotlivé shlukovací algoritmy, ale méně vysvětluje kompletní tok zpracování dokumentů, přípravu reprezentací a vliv jednotlivých kroků na výsledné shlukování. Některé metody by bylo možné popsat podrobněji a jejich vlastnosti lépe propojit s konkrétními požadavky produkčního prostředí. Slabší je také akademická hloubka evaluace; hodily by se například ablation study, statistické testy nebo podrobnější analýza toho, kdy která metoda selhává.

Důležitým omezením je i evaluační dataset, který podle práce ne zcela odpovídá produkčnímu provozu. To je pochopitelné z praktických důvodů, ale mělo by to být výrazněji diskutováno, protože to omezuje interpretaci naměřených výsledků. Přes tyto výhrady je textová část stále dobře zpracovaná a čitelná; problém není v tom, že by práce byla špatně napsaná, ale spíše v tom, že některé analytické závěry mohly být dotaženy hlouběji.

77 100
Formal preparation of a technical report

Formální úprava je dobrá. Práce působí profesionálně, je dobře formátovaná a čitelná. Výhrady mám především k chybějícím odkazům na některé obrázky v textu a k prázdné straně 51.

85 100
Work with literature

Práci s literaturou hodnotím velmi kladně. Citace jsou jasně uvedené, často s přesným odkazem na konkrétní stránky citovaných dokumentů, což je u diplomových prací nadstandardní. Použité zdroje jsou převážně odborná literatura a technické dokumentace relevantní k tématu.

94 100
Realisation output

Realizační výstup hodnotím výborně. Student vytvořil systém, který nepůsobí jako akademický prototyp, ale jako hotový produkt připravený pro produkční použití. Systém je již nasazen ve společnosti Gen, aktivně využíván a podle dostupných informací pomohl identifikovat 10 kampaní kybernetických podvodů; přes rozhraní bylo klasifikováno více než 30 000 podvodných dokumentů ve 48 shlucích.

Velmi pozitivně hodnotím důraz na finální zpracování, návrh požadavků, jejich promítnutí do návrhu systému a řešení praktických aspektů jako škálovatelnost, délka běhu jednotlivých úloh a jejich paralelizace. Návrh je detailní, dobře popisuje důležité komponenty, jejich komunikaci i architekturu.

Slabší stránkou je akademická metodická hloubka vyhodnocení, ale z pohledu inženýrského výstupu jde o velmi kvalitní práci s reálným dopadem.

98 100
Usability of results

Využitelnost výsledků je velmi vysoká. Systém je již nasazen v produkčním prostředí společnosti Gen, je aktivně používán a existuje reálná zpětná vazba na jeho přínos. To považuji za mimořádně silný argument ve prospěch práce.

The difficulty of the assignment

Evaluation level: moderately difficult assignment

Zadání hodnotím jako průměrně náročné. Student měl navrhnout, implementovat a vyhodnotit metody pro shlukování reprezentací dokumentů, primárně PDF, s ohledem na požadavky firmy a limity produkčního prostředí.

Topics for thesis defence:
  1. Implementoval jste vlastní scheduling systém místo použití Celery. Jaká konkrétní omezení Celery vedla k tomuto rozhodnutí?
  2. Tvrdíte, že žádná metoda není jednoznačně horší než ostatní. Je to skutečný závěr, nebo spíše limit evaluace? Za jakých podmínek má analytik zvolit PagesDino, Keywords nebo Narratives?
  3. Jak ukazujete, keywords clustering může u 500K dokumentů běžet až 14 hodin. Co se stane, pokud worker spadne ve 13. hodině? Je výpočet checkpointovaný?
  4. Nakolik je vhodné mluvit o explainability, pokud je pro interpretaci výsledků použit velký jazykový model (LLM)?
Points proposed by reviewer: 92

Grade proposed by reviewer: A

Reasons for publication postponement

Publication of the final thesis has been postponed in compliance with the provisions of Section 47b (4) of Act No. 111/1998 Coll., on the Higher Education Institutions and on amendments and supplements to other acts, as amended.

Responsibility: Mgr. et Mgr. Hana Odstrčilová