Študijný program: Informatika
Vedúci bak. záver. práce: RNDr. Peter Gurský
Pracovisko: Katedra informatiky
Cieľ
Cieľom bakalárskej práce je navrhnúť a implementovať fulltextové vyhľadávanie nad stránkami Ústavu informatiky http://ics.upjs.sk/.Čiastkové cieľe:
- Oboznámenie sa z problematikou indexovania, evidovania jednotlivých termov, vytvorenia ohodnotenia týchto termov v rámci dokumentu.
- Oboznámiť sa a zapracovať komunikáciu s databázov "Tvaroslovník" /doc. RNDr. Stanislav Krajči PhD./
- Analyzovať možnosti spracovania dokumentov /stránok/ v rámci http://ics.upjs.sk/ a vytvorenie "vlastnej" formy WGET-u
- Vytvovenie celého programu v programovacom jazyku PHP5
Základné užívateľské požiadavky
- Jednoduchá implementácia systému sa server ics.upjs.sk
- Vyhľadávanie s podporou slovenčiny pomocou "Tvaroslovníka"
- Efektíny spôsob indexovania termov v rámci dokumentov a samotné ohodnotenie jednotlivých termov
- Nízka pamäťová náročnosť systému
Problém získavania informácií pre indexovanie
Táto problematika je veľmi komplexná. Existujú rôzne formy získania obsahu stránok a dokumentov v rámci servera. Jednou z nich je pouzitie linuxovej aplikácie WGET.Na mojé účely však nieje možné tento nástroj použiť. WGET dokáže uložiť do dočasného priečinka obsah hocaj celej domény, no nezachová presne odkazovú štruktúru. Nakoľko je premna aj táto štruktúra dôložitá z dôvodu uchovania si odkazov pre následné vyhľadávanie, nieje možné tento nástroj použiť.
Riešením tohto problému je vytvorenie "vlastného" WGET, MWGET
MWGET
Ide o mnou naprogramovaný alternatívný WGET bežiaci pod PHP5.Základom celého MWGET je funkcia file_get_contents(). Táto funkcia vracia obsah stránky /dokumentu/ zadaného na vstup ako parameter.
Tvaroslovník
Slovným spojením „podpora slovenčiny“ je myslené vytváranie základných tvarov a neurčitok zo slov pre efektívnejšie vyhľadávanie. Uvediem jeden príklad: v texte dokumentu sa nachádza slovo „otcov“. Systém z tohto slova vytvorí základný tvar „otec“ a ten sa uloží do indexu. Výhodou je kvalitnejšie ohodnocovanie termov, pretože sa ohodnocuje term v základnom tvare a nie pôvodný. Takisto to slúži k presnejšiemu vyhľadávaniu v rámci dokumentov.Na vytváranie základného tvaru sa využíva projekt „Tvaroslovník“ realizovaný doc. RNDr. Stanislavom Krajčim, PhD.
Ohodnocovanie termov v rámci dokumentov
Ako už bolo spomenuté, výpočet hodnoty termu sa vykonáva nad neurčitok respektíve nad základným tvarom termu. Ako model som zvolil Vektorový model (3.4). Proces ohodnocovania sa spúšťa až po zaevidovaní všetkých termov a vytvorení základných tvarov z týchto termov.Váha j-teho termu v i-tom dokumente sa vypočíta pomocou Tf-idf formuly:

tfi,j je počet výskytov j-teho termu v i-tom dokumente
N je počet všetkých dokumentov a Ni je počet dokumentov, v ktorých sa vyskytuje j-ty term.
Vyhľadávanie
Vyhľadávanie je realizované priamo nad štruktúrou indexov a nie nad dokumentmi, nakoľko všetky potrebné informácie sa už nachádzajú v indexe.Samotné vyhľadávanie funguje nasledovne:

Prezentácia