Original title:
Automatická extrakce jídelních lístků
Translated title:
Automatic Extraction of Restaurant Menus
Authors:
Trifonov, Dmytro ; Juránková, Markéta (referee) ; Kohút, Jan (advisor) Document type: Bachelor's theses
Year:
2026
Language:
eng Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[eng][cze]
Zjištění, co konkrétní restaurace nabízí — nebo který blízký podnik servíruje určité jídlo — v současnosti vyžaduje navštívení každé webové stránky zvlášť: žádná specializovaná aplikace neagreguje data jídelních lístků napříč nezávisle provozovanými restauracemi. Jídelní lístky se vyskytují v různorodých formátech (HTML stránky, PDF dokumenty a obrázky), což činí automatizované vyhledávání napříč podniky technicky náročným. Tato práce představuje návrh a implementaci systému, který automaticky extrahuje strukturované položky jídelních lístků z libovolných webových stránek restaurací a zpřístupňuje je prostřednictvím jednotného vyhledávacího rozhraní. Systém zpracovává webové stránky restaurací prostřednictvím třífázového pipeline: bezhlavé procházení webu s detekcí URL jídelního lístku a deduplikací pomocí SimHash; zpracování obsahu pomocí klasifikace obrázků modelem CLIP, nástroje PaddleOCR a skórování relevance pomocí MiniLM; a strukturovaná extrakce položek jazykovým modelem gpt-4o-mini. Backend je postaven na ASP.NET Core 10 podle principů čisté architektury s perzistencí v SQL Server a úlohami na pozadí pomocí Hangfire; výsledná webová aplikace umožňuje správu podniků, plánování extrakcí a ruční korekce konceptů. Kvalita extrakce byla posouzena manuální inspekcí výstupů na živé sadě 384 podniků. Uživatelská studie s pěti účastníky hodnotila vyhledávací rozhraní a prokázala 85 % úspěšnost dokončení úloh (17 z 20 instancí) s mediánem doby řešení 85 sekund.
Finding what a specific restaurant serves — or which nearby venue offers a particular dish — currently requires visiting each website individually: no dedicated application aggregates menu data across independently operated restaurants. Menus appear in heterogeneous formats (HTML pages, PDF documents, and images), making automated cross-venue search technically challenging. This thesis presents the design and implementation of a system that automatically extracts structured menu items from arbitrary restaurant websites and exposes them through a unified search interface. The system processes restaurant websites through a three-stage pipeline: headless crawling with menu URL detection and SimHash-based deduplication; content processing using CLIP image classification, PaddleOCR, and MiniLM-based relevance scoring; and structured item extraction with gpt-4o-mini. The backend is built on ASP.NET Core 10 following clean architecture principles with SQL Server persistence and Hangfire background jobs; the resulting web application supports venue management, extraction scheduling, and manual draft corrections. Extraction quality was assessed through manual output inspection on a live dataset of 384 venues. A user study with five participants assessed the search interface, demonstrating an 85 % task completion rate (17 of 20 task instances) with a median task time of 85 seconds.
Keywords:
ASP.NET Core; CLIP; extrakce jídelních lístků; gpt-4o-mini; MiniLM; PaddleOCR; Playwright; React; webové stahování; čistá architektura; ASP.NET Core; clean architecture; CLIP; gpt-4o-mini; menu extraction; MiniLM; PaddleOCR; Playwright; React; web crawling
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/258881