Obsah Dal¹í Pøedchozí

3 Pou¾itý vyhledávací model

Na poèátku práce nad systémem Agent, bylo nutné zvolit vyhledávací model, který byl následnì pou¾it pøi návrhu implementace systému. V úvahu byly brány zejména oba dva nejznámìj¹í vyhledávací modely, model vektorový a model boolský. Pøi výbìru mezi tìmito dvìma modely hrála úlohu øada faktorù. Výhodou systému boolského je pøedev¹ím snadná implementace, dal¹í výhodou byla existence øady obdobných produktù, které by mohli pøípadnì slou¾it pro porovnávání dosahovaných výsledkù a v neposlední øadì i osobní zku¹enosti s pou¾íváním tohoto modelu v praxi. Nevýhody byly pøedev¹ím ve kvalitì vyhledávání (nacházení velkého mno¾ství nerelevantních dokumentù). Na druhou stranu zde byl model vektorový jeho¾ hlavními pøednostmi jsou vìt¹í relevantnost nacházených dokumentù v porovnání s modelem boolovským, mo¾nost roz¹iøitelnosti o dal¹í prvky a mnohem vìt¹í volnost pøi tvorbì dotazù (umo¾òuje vkládat do dotazu celé dokumenty èi úryvky textù...) na daný systém. Nevýhodou byla ponìkud slo¾itìj¹í implementace tohoto vyhledávacího modelu a také men¹í osobní zku¹enosti s pou¾íváním podobných systémù.

V koneèné fázi návrhu byl pro implementaci vybrán vektorový dokumentografický informaèní systém v jeho základní podobì. Dále pak k nìmu byla pøidána øada vylep¹ení, která si kladla za úkol:

3.1 Vylep¹ení

Nyní bude následovat nìkolik základní metod a algoritmù pou¾itých v námi implementovaném vektorovém dokumentografickém informaèním systému za úèelem zlep¹ení jeho chování.

3.1.1 Redukce mno¾ství termù v databázi

Hlavním úèelem tìchto procesù je obecnì snaha o co mo¾ná maximální redukci "nepodstatných termù" v jednotlivých dokumentech a tím zároveò v celé databázi. Spojením "nepodstatné termy" jsou my¹leny termy, které nemají význam pro jednotlivé dokumenty nebo pro databázi jako takovou. V rámci dokumentù jsou to slova buï pøíli¹ málo èastá (ojedinìlé termy nebo pøeklepy), a nebo slova, která slou¾í ke stavbì jednotlivých vìt a nenesou de facto ¾ádnou skuteènou informaci (pøedlo¾ky, spojky, zájmena, citoslovce, nìkteré slovesa...). Z pohledu databáze jsou to termy, které se vyskytují ve vìt¹inì dokumentù a tudí¾ nemají rozli¹ovací schopnost, nebo naopak termy, které se skoro nikde nevyskytují a tudí¾ dotazy na tyto termy dávají prázdnou mno¾inu výsledkù. Tyto termy se v systému Agent redukují dvìma základními mechanismy.

Redukce pomocí StopListu

Systém Agent umo¾òuje evidovat seznam pøíli¹ èastých termù nebo termù které nenesou ¾ádnou praktickou informaci (pøedlo¾ky, spojky, zájmena, citoslovce, nìkteré slovesa...). Ka¾dý vkládaný dokument, ale i pokládaný dotaz, je v¾dy pøed pøedáním do vlastní databáze, porovnán s tímto seznamem zakázaných termù a jsou z nìj odstranìny termy, které se vyskytly v daném seznamu. Tím dochází ke zmen¹ení informací o dokumentu (velikost vektoru), kterou je nutné uchovávat.

Redukce dle relativní èetnosti výskytu termu v dokumentu.

Dal¹í zpùsob jak omezit mno¾ství termù ulo¾ených pro jeden dokument v databázi je v odstranìní pøíli¹ èastých nebo pøíli¹ vzácných termù v daném dokumentu. Øe¹ení spoèívá v seøazení jednotlivých termù dle relativní èetnosti výskytù tìchto termù v dokumentu a v následného odebrání termù, jejich¾ relativní èetnost výskytù pøekraèuje maximální povolenou relativní èetnost, nebo naopak jejich relativní èetnost nepøekraèuje minimální èetnost nutnou proto, aby mohl být term zaøazen do databáze. Maximální i minimální hodnoty pøípustných relativních èetností jsou urèovány pro ka¾dý vkládaný dokument samostatnì. Jejich hodnoty jsou odvozovány z velikosti dokumentu a relativní èetnosti nejèastìj¹ího termu.

Redukce mno¾ství termù a zpøesnìní vyhledávání pomocí Lematizátoru

V systému Agent je pou¾it lematizátor, jak pro jazyk èeský tak i pro jazyk anglický. Dùsledkem pou¾ívání tìchto lematizátorù je sní¾ení mno¾ství termù nutných k evidenci jednotlivých dokumentù. To ¾e se pomocí lematizátoru pøevedou rùzné tvary jednotlivých slov na spoleèný základ, má i dobrý dopad na kvalitu vyhledávání. V první øadì není nutné v dotaze uvést pro jistotu více tvarù hledaného slova, nebo» dotazy procházejí pøes stejné mechanizmy jako dokumenty a tím i pøes lematizátor. V druhé øadì se nerozdìluje váha jednotlivých termù mezi v¹echny jeho tvary (není mnoho termù s malou èetností výskytu), ale zùstává pøidìlena jednomu termu, co¾ zvy¹uje jeho dùle¾itost v rámci daného dokumentu.

3.1.2 Vyhledávání dokumentù pomocí shlukù

Hlavním nosným prvkem kvality a hlavnì rychlosti vyhledávání jsou u vektorových dokumentografických informaèních systémù shluky. Proto jejich implementaci v systému Agent bylo vìnováno hodnì pozornosti. V systému Agent byly implementovány shluky hierarchické, kde dokumenty vytváøejí stromovou strukturu. Podrobnìj¹í obrázek si lze udìlat v kapitole vìnované databázovému stroji(5.2.1.5) . Hlavním motivem proè byly implementovány shluky, byla snaha o zredukování prostoru prohledávaných dokumentù v dotazech. Hlavní my¹lenka vyplývá z charakteru shlukù, pøedev¹ím z jejich konstrukce. Shluky jsou konstruovány dynamicky, tak ¾e se vkládaný dokument vlo¾í pod dokument (støed shluku), který je s ním nejpodobnìj¹í. Neexistuje-li dokument, který by byl s novým dokumentem aspoò minimálnì podobný, tak nový dokument vytvoøí samostatné centrum shluku. Hledání relevantních dokumentù se zahajuje ve shluku nejvy¹¹í úrovnì a pak probíhá v následujících krocích, kdy v ka¾dém kroku je nalezen nejpodobnìj¹í støed shluku v aktuálním shluku, který je v dal¹ích krocích rekurzivnì prohledán.

3.1.3 Èlenìní dokumentù do logických celkù

V systému Agent byl zaveden pojem logická kniha. Jedná se o urèitý zpùsob logického seskupování dokumentù podle zaøazení, které je plnì v re¾ii administrátora (napø. dle data vydání, zamìøení, vazby...). Zaèlenìní jednotlivých dokumentù do logických knih nemusí v ¾ádném pøípadì odpovídat podobnosti jejich obsahù. Zaøazení dokumentu do logické knihy, nebo i do nìkolika logických knih, urèuje pøi jeho pøidávání do databáze administrátor. Dokument mù¾e patøit do libovolného poètu logických knih.

Hlavním dùvodem zavedení tohoto logického rozdìlení bylo umo¾nit polo¾ení dotazu pouze na dokumenty, které mají nìjakou spoleènou vlastnost a tudí¾ by mohly být vlo¾eny do jedné logické knihy. U¾ivatel pak dostane mo¾nost omezit výsledek dotazu pouze na dokumenty z jím zvolené logické knihy.

Pøíjemným dùsledkem zavedení logických knih a mo¾nosti po¾adovat v dotazu omezení výsledku na èlenství v logických knihách (lze pou¾ít logických spojek OR), je omezení prostoru prohledávaných dokumentù o dokumenty, které se nevyskytují v po¾adovaných knihách. Tím dojde k zmen¹ení odezvy na polo¾ený dotaz.


1999-03-04 Tomá¹ Foltýnek