Bachelor's Thesis

Tool for Efficient Topic Labeling in Text Collections

Final Thesis 4.08 MB

Author of thesis: Bc. Richard Juřica

Acad. year: 2025/2026

Supervisor: Ing. Michal Hradiš, Ph.D.

Reviewer: Ing. Martin Kišš

Abstract:

Manual semantic annotation of large historical corpora represents a time-consuming and cognitively demanding process for digital humanities researchers. This thesis presents a web-based annotation tool, developed as a part of the semAnt platform, which integrates large language models (LLMs) and vector databases to implement assisted coding within a "Human-in-the-loop" architecture using semantic search. Evaluation on historical periodicals demonstrated a 27.1 % increase in information yield and an average time saving of 9.5 %. Inter-coder reliability increased by 23.3 % due to AI assistance. The result is a tool that streamlines the analysis of text data and helps unify the interpretation of complex semantic categories.

Keywords:

text coding, semantic annotation, text analysis, natural language processing (NLP), large language models (LLM), vector databases, semantic search, digital humanities, web tool, Weaviate, FastAPI, Quasar

Date of defence

17.06.2026

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. Z technické zprávy nebylo jednoznačně patrné, co všechno již bylo připraveno v rámci aplikace semANT a co jste musel navrhnout a implementovat v rámci bakalářské práce. Stručně tedy popište, které části jsou Vaše vlastní.
  2. V rámci testování aplikace byla zjištěna vyšší míra shody anotátorů při navrhování štítků jazykovými modely. Dá se tedy říct, že anotace s takovýmito návrhy jsou přesnější? Pokud ne, co by bylo potřeba udělat/zajistit, aby se toto dalo tvrdit?
  3. Jak obecné je Vaše řešení? Je možné jej využít i v jiných oblastech?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. František Zbořil, CSc. (předseda)
doc. Ing. Michal Španěl, Ph.D. (místopředseda)
Ing. Jan Pluskal, Ph.D. (člen)
Ing. Aleš Smrčka, Ph.D. (člen)
Ing. Josef Strnadel, Ph.D. (člen)

Supervisor’s report
Ing. Michal Hradiš, Ph.D.

Student se aktivně zapojil do vývoje aplikace vytvářené v projektu semANT a své řešení do aplikace integroval. Oceňuji, že k vývoji přistupoval zodpovědně a s cílem vytvořit funkční a užitečné řešení. Také oceňuji jeho schopnost navrhout a vytvořit efektivní uživalská rozhraní. Vytvořený modul dobře otestoval. Výsledné poznatky a zkušenosti dále použijeme při vývoji aplikace. 

Evaluation criteria Verbal classification
Information about assignment

Zadání přímo vychází z výzkumného projektů semANT a výsledek práce student integroval do aplikace, která bude jedním z výsledků projektu. Student vytvořil modul pro anotaci textu s AI asistencí a významně aplikaci rozšířil i v jiných směrech. Integrovaný modul je velmi dobrým základem dané funkcionality. Doufám, že budeme se studentem dále spolupracovat.

Work with literature

Student si samostatně vyhledal potřebné zdroje v dostatečné míře.

Activity during solution, consultations, communication

Student pracoval aktivně, zapojil se do vývoje aplikace i nad rámec zadání. Řešení průběžně konzultoval. 

Activity during completion

Práce byla dokončována na poslední chvíli, ale to bylo z podstatné části způsobeno integrací do společné aplikace a s tím spojenými konflikty a potřebou koordinace. 

Publication activity, awards
Points proposed by supervisor: 88

Grade proposed by supervisor: B

Reviewer’s report
Ing. Martin Kišš

Student v práci navrhl, implementoval a otestoval webovou aplikaci pro anotování textu. Celkově se jedná o velmi dobře zpracovanou bakalářkou práci, u níž shledávám nedostatky pouze v textu technické zprávy. Aplikace je momentálně nasazena v rámci demonstrační aplikace semANT a její uživatelské rozhraní působí kvalitně zpracované s dobře propracovanými funkčními detaily, jako je například zobrazení všech štítků v rámci zpracovávaného textu, asynchronním přidáváním návrhů štítků pomocí jazykových modelů, jejich potvrzování, apod.

Evaluation criteria Verbal classification Points
The difficulty of the assignment

Evaluation level: more difficult assignment

Jedná se o zadání, které v sobě kombinuje vytvoření webové aplikace (frontend i backend) a zpracování textu pomocí jazykových modelů. Cílem bylo navrhnout a implementovat aplikaci, která bude umožňovat označovat části textů dokumentů pomocí uživatelem definovaných štítků (tagů). Jazykové modely jsou v rámci práce použity na návrhování umístění jednotlivých štítků v textu. Aplikace je implementována a nasazena jako součást demonstrační aplikace výzkumného projektu semANT.

Presentation level of the technical report

Technická zpráva má dobrou strukturu a jednotlivé kapitoly mají vhodný rozsah i návaznost. Drobné výhrady mám ke kapitole s návrhem aplikace, kde chybí ucelenější popis toho, co již v rámci aplikace semANT existovalo a co bylo potřeba navrhnout. Také se zde do návrhu mírně prolínají informace ohledně konkretní implementace.

90
Formal preparation of a technical report

Jayzková úroveň technické zprávy je dobrá a práce se poměrně dobře čte. Výtky mám k používání neodborných termínů, jako např. ... segment je prohnán modelem ..., ... umožňuje systému provádět bleskové sémantické vyhledávání ..., a přílišnému používání závorek, ve kterých jsou buď překlady termínů, případně napsané zkratky daných termínů, což zhoršuje čitelnost textu. Výhradu mám také k některým dvojcím tabulka-obrázek v kapitole o testování aplikace, kdy obrázek i tabulka obsahují stejné informace a stačilo by tedy ponechat pouze jeden prvek.

Po typografické stránce je práce také na dobré úrovni. Výhrady mám k nadbytečnému používání seznamů a odrážek i tam, kde to není potřeba, a chybějícím odkazům na obrázky 3.3 a 3.4. Některé obrázky by také mohly být lépe umístěné tak, aby byly blíže textu, ve kterých se na ně odkazuje.

85
Realisation output

Z textu technické zprávy, odevzdaných materiálů i podle dostupné bežící instanci aplikace vytvořil student kompletní webovou aplikaci pro anotování textu s propracováným uživatelským rozhraním a dobře promyšlenými detaily. Zdrojové kódy jsou rozumně rozděleny, obsahují dokumentační komentáře a dá se v nich dobře orientovat.

100
Usability of results

Výsledkem práce je webová aplikace umožňující anotovat text s použitím jazykových modelů. Testování aplikace ukázalo zlepšení shody anotátorů, takže využitelnost výsledků je dle mého názoru vysoká a to především v projektu semANT.

The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

Zadání bylo splněno.

Extent of the technical report

Evaluation level: is within the usual extent

Rozsah technické zprávy je v obvyklém rozmezí.

Work with literature

Práce cituje celkem 31 zdrojů z nichž 1 je github repozitář, zbytek jsou odborné články a knihy. V technické zprávě je z mého pohledu jediným nedostatkem citování na konci věty, namísto přímo u daného pojmu, či autora.

90
Topics for thesis defence:
  1. Z technické zprávy nebylo jednoznačně patrné, co všechno již bylo připraveno v rámci aplikace semANT a co jste musel navrhnout a implementovat v rámci bakalářské práce. Stručně tedy popište, které části jsou Vaše vlastní.
  2. V rámci testování aplikace byla zjištěna vyšší míra shody anotátorů při navrhování štítků jazykovými modely. Dá se tedy říct, že anotace s takovýmito návrhy jsou přesnější? Pokud ne, co by bylo potřeba udělat/zajistit, aby se toto dalo tvrdit?
Points proposed by reviewer: 91

Grade proposed by reviewer: A

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