Bachelor's Thesis

Knowledge Discovery from Data of a Library

Final Thesis 6.26 MB

Author of thesis: Jindřich Španěl

Acad. year: 2025/2026

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

Reviewer: Ing. Ivana Burgetová, Ph.D.

Abstract:

This bachelor’s thesis focuses on the analysis of data from a library system in order to obtain useful insights for improving library services. The work applies data analysis methods to real-world data containing information about readers’ borrowing records. Four main analytical methods were implemented: a recommended system for suggesting relevant books to individual readers, cluster analysis for segmenting readers based on their borrowing behavior, statistical analysis of factors influencing book popularity, and association rule mining for discovering relationships between borrowed titles. Additionally, an analysis of borrowing patterns across different seasons was conducted. The results provide the library with concrete insights for recommending books to readers, improving the book collection, better understanding reader needs, and enhancing library services. The implementation was carried out in Python using the pandas, scikit-learn, mlxtend, and numpy libraries. The results are presented through a web application developed using the Vue.js framework, with communication between the frontend and backend handled by the FastAPI framework.

Keywords:

data analysis, data mining, librarianship, recommender system, association rules, clustering, statistics, Python, pandas, scikit-learn, web aplication, javascript, FastAPI

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaEznamka

Grading

E

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

Topics for thesis defence

  1. Jakým způsobem probíhala anonymizace použitých dat?
  2. S kolika čtenáři a výpůjčkami váš systém pracoval?
  3. Proč jsou jména knih exportována s různými koncovkami? Proč jste formát nesjednotil například pomocí regulárních výrazů?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

prof. Ing. Adam Herout, Ph.D. (předseda)
doc. Ing. Michal Bidlo, Ph.D. (místopředseda)
Ing. Jaroslav Dytrych, Ph.D. (člen)
Ing. Ivana Burgetová, Ph.D. (člen)
Dr. Ing. Petr Peringer (člen)

Supervisor’s report
Ing. Vladimír Bartík, Ph.D.

Student zadání bakalářské práce splnil, s přihlédnutím k celkové aktivitě i kvalitě výsledku navrhuji průměrné hodnocení C (dobře). 

Evaluation criteria Verbal classification
Informace k zadání

Cílem této bakalářské práce bylo prostudovat data o výpůjčkách pocházející z prostředí knihovny, navrhnou několik úloh získávání znalostí, jejichž výsledky by mohly být prakticky použitelné a implementovat je v rámci jednoduché webové aplikace. Zadání bylo splněno, i když prostor pro vylepšení by tam ještě byl.  

Práce s literaturou

Část literatury jsem studentovi poskytl, další část si obstaral samostatně, k výběru literatury nemám výhrady. 

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

Student své řešení průběžně konzultoval a zapracovával do aplikace mé připomínky. Na konzultace byl student dobře připraven a termíny dodržoval. 

Aktivita při dokončování

Výsledná aplikace byla dokončena včas, stejně jako technická zpráva, i když některé části jen s malým předstihem. Na revizi z mé strany ale čas byl a bylo možné mé připomínky zohlednit. 

Publikační činnost, ocenění
Points proposed by supervisor: 72

Grade proposed by supervisor: C

Reviewer’s report
Ing. Ivana Burgetová, Ph.D.

V rámci bakalářské práce student vytvořil funkční aplikaci umožňující analýzu dat a realizoval použitelný doporučovací systém, čímž splnil zadání. Vzhledem k velmi slabé práci s literaturou a využití spíše základních algoritmů hodnotím práci jako mírně podprůměrnou. Navrhuji proto hodnocení stupněm D. 

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: průměrně obtížné zadání

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

Prezentační úroveň technické zprávy je dobrá a zpráva je dobře pochopitelná pro čtenáře. Bohužel ale v práci postrádám podrobnější popis různých shlukovacích metod a podrobnější informace o metodách využívaných v doporučovacích systémech. Vzhledem k tomu, že student využil pro řešení práce spíše základní metody, vypadá to, že se podrobnějšímu studiu dostupných metod příliš nevěnoval. Tyto informace by v práci byly určitě cennější než popis struktury DataFrame knihovny Pandas.
Student se také neobvyklým způsobem odkazuje na použité obrázky - často uvádí pouze číslo, aniž by bylo jasné, zde se jedná o obrázek nebo číslo podkapitoly.

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

Po jazykové stránce se jedná o standardní práci. Z typografického hlediska není ideální výskyt jednopísmenných spojek na koncích řádků.  

73
Realizační výstup

Realizačním výstupem této bakalářské práce je nepříliš složitá aplikace, která umožňuje základní statistickou analýzu dat exportovaných z knihovního systému Městské knihovny ve Valašském Meziříčí. Aplikace dále umožňuje analýzu titulů půjčovaných společně (asociační pravidla), shlukovou analýzu čtenářů a implementuje doporučovací systém. Bohužel pro všechny tyto analýzy jsou použity spíše základní algoritmy. Algoritmus k-means pro shlukování čtenářů určitě není nejvhodnější volbou, protože v datasetu existují jedinci se specifickým chováním. 
Nicméně vytvořená aplikace je plně funkční a disponuje doporučovacím systémem, který může být v prostředí knihovny určitě užitečný.

72
Využitelnost výsledků

Jedná se o práci kompilačního charakteru. Práce nepřináší žádné nové výsledky, ale vytvořená aplikace může být využitelná pro potřeby knihovníků. Vytvořený systém byl testován zaměstnanci knihovny, kteří jej ohodnotili, jako dobře použitelný.

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

Evaluation level: zadání splněno

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Práce s literaturou

Práci s literaturou hodnotím jako značně podprůměrnou. Seznam použité literatury obsahuje pouze 10 položek, což je velmi málo. Pro tak zajímavé téma, jako jsou doporučovací systémy, student jistě mohl využít řadu dalších a novějších zdrojů. Výhrady mám také ke zdroji č. 10, student pro toto téma jistě mohl najít lepší zdroj než portál GeeksforGeeks.

55
Topics for thesis defence:
  1. Jakým způsobem probíhala anonymozace použitých dat?
Points proposed by reviewer: 67

Grade proposed by reviewer: D

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