Obsah | Dal¹à | Pøedchozà |
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:
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Ã.
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.
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.
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.
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.
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.
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 |