Záver
Témou nášho tímového projektu bola Grafická podpora vyhľadávania znalostí v dokumentoch. Podrobnú dokumentáciu k priebehu a výsledkom nájdete medzi dokumentami. Spustiteľnú aplikáciu si môžete vyskúšať priamo na tomto serveri v časti knowledgeBase. Upozorňujeme však, že je nutné mať nainštalované JRE (Java Runtime Environment) minimálne vo verzii 1.6 a je potrebné používať internetový prehliadač Internet Explorer 7 (a vyšší) alebo Mozilla Firefox 3.0. Odporúčame Vám najprv si preštudovať používateľskú príručku (DOC, resp. PDF verziu).
Výsledky projektu
Vytvorili sme grafický modul pre zobrazenie prepojenia dokumentov. Implementovaný nástroj je výborným pomocníkom pri vyhľadávaní znalostí. Svojím prevedením značne uľahčuje, zrýchľuje a zefektívňuje vyhľadávanie relevantných zdrojov dát. Nástroj dokáže pracovať s týmito typmi dokumentov:
- text/plain – napr. TXT, JAVA, CPP, atď.
- HTML - HyperText Markup Language
- PDF - Portable Document Format
- DOC - Microsoft Office Word 97-2007 Binary File Format
- DOCX - Microsoft Office Open XML Format Document
- XLS - Microsoft Office Excel 97-2007 Binary File Format
- PPT - Microsoft Office PowerPoint 97-2007 Binary File Format
Vrcholy (t.j. dokumenty) a hrany (t.j. väzby medzi dokumentami) majú rôzny vzor, farbu, hrúbku a podobne podľa množstva spoločných kľúčových slov, autorov, názvov a podobne. Nad grafom sa dajú vykonávať rôzne operácie ako napríklad pridávať do grafu ďalšie vyhľadané dokumenty, odstrániť z grafu pre používateľa nezaujímavý dokument (tzv. slabé mazanie), zobraziť ďalšie súvisiace dokumenty (tzv. expand) resp. opak, teda skryť súvisiace dokumenty alebo cesty (tzv. collapse). Používateľ môže aj vytvárať vlastné väzby či vytvárať tzv. virtuálne dokumenty. Používateľovi je umožnené aj pridať do bázy znalostí nový dokument, aktualizovať či stiahnuť si už existujúci, odstrániť z bázy nepotrebný dokument (tzv. silné mazanie) a veľa ďalších filtrov a možností pri vyhľadávaní informácií.
Neimplementované časti a možnosti rozšírenia systému
Najdôležitejším prvkom, ktorý by bolo potrebné implementovať je zabezpečenie konzistencie indexu s databázou. Dosiahnuť sa to dá pomocou transakcií, ktoré nástroj Compass podporuje, a ktoré sme kvôli nedostatku času implementovali len v základnej podobe. Riadenie transakcií by bolo vhodné presunúť z indexovacieho systému do vrstvy biznis logiky aby sa ľahšie manažoval zápis do indexu a databázy.
Ďalšou dôležitou funkcionalitou je masové pridávanie dokumentov, ktoré by sa určite využilo pri nasadzovaní systému do ostrej prevádzky. Dôvodom neimplementovania tejto funkcionality je problém vysokej pravdepodobnosti chýbajúcich metadát, čo by spôsobovalo nemožnosť vyhľadávať relevantné dokumenty.
Ručné pridávanie metadát je neefektívne, a tak by bolo v hodné rozšíriť náš systém aj o dolovanie dát, resp. presnejšie, dolovanie metadát, teda autor, názov, kľúčové slová a referencie na iné dokumenty. Táto funkcionalita predstavuje vstupnú podmienku (angl. precondition) pre masové pridávanie dokumentov.
Čo sme sa naučili
Počas práce na tomto projekte sme sa oboznámili s novými, modernými technológiami, ktoré sú často využívané aj v praxi. Konkrétne sa jedná o J2EE frameworky ako Hibernate a Spring, build systém Maven, Jgraph knižnicu a nástroj Lucene. Takisto sme sa oboznámili so základmi vyhľadávania informácií (Information retrieval) v neštruktúrovanom texte.
Pre niektorých z nás bol predmet 'Tímový projekt' prvý projekt, na ktorom sme pracovali ako tím, zistili sme teda v čom sa práca v tíme odlišuje od samostatnej práce.