Fakulta elektrotechniky a informatiky

Size: px
Start display at page:

Download "Fakulta elektrotechniky a informatiky"

Transcription

1 Slovenská technická univerzita v Bratislave Fakulta elektrotechniky a informatiky Študijný odbor: INFORMATIKA Peter Liczki Internetovský vyhľadávací program Diplomová práca Vedúca diplomovej práce: Ing. Anna Považanová December 2000

2 ČESTNÉ PREHLÁSENIE Prehlasujem, že diplomovú prácu som vypracoval samostatne a inú ako uvedenú literatúru som nepoužil. Peter Liczki

3 Ďakujem Ing. Anne Považanovej a Ing. Marekovi Straube za odborné rady a cenné pripomienky, ktoré mi ochotne poskytli pri písaní tejto práce.

4 ANOTÁCIA Slovenská technická univerzita v Bratislave FAKULTA ELEKTROTECHNIKY A INFORMATIKY Študijný odbor: INFORMATIKA Autor: Peter Liczki Diplomová práca: Internetovský vyhladávací program Vedenie diplomového projektu: Ing. Anna Považanová December 2000 Cieľom predloženej práce bolo navrhnúť a implementovať vyhľadávací program MetaScouter, ktorý umožní vyhľadávanie dokumentov na WWW (World Wide Web) a ich uskladňovanie podľa tém. V etape analýzy som preštudoval viaceré systémy určené na vyhľadávanie informácií na Internete. Na základe týchto poznatkov som navrhol systém meta vyhľadávací program, ktorý je založený na architektúre klient server. Toto riešenie zabezpečuje možnosť viacpoužívateľského prístupu a možnosť komunikácie s programom cez WWW prehliadače, t.j. štandartným rozhraním medzi WWW a používateľom. Klientská časť aplikácie je riešená ako dynamicky generované DHTML stránky a zabezpečuje interakciu programu s používateľom. Aplikácia na strane servera zabezpečuje spracovanie používateľových požiadaviek a je implementovaná v programovacom jazyku Java. Charakteristickou vlastnosťou meta vyhľadávacích programov je, že používateľove požiadavky na WWW dokumenty presmeruje existujúcim vyhľadávacím službám. Na druhej strane však vhodným spôsobom môžu ovplyvniť výber zobrazených WWW dokumentov a tým zabezpečiť vyššiu spokojnosť používateľa. V projekte som vyriešil získavanie odkazov na WWW dokumenty z Internetovských vyhľadávacích služieb (altavista a yahoo) a ich uchovávanie podľa tém v databáze na strane servera. Navrhol som tiež spôsob ako zabezpečiť hodnotenie týchto WWW dokumentov pre používateľa s ohľadom na charakteristiky slovenského jazyka. Pre každého používateľa sa vytvára takzvaný profil, ktorý predstavuje istý vzorový WWW dokument na danú tému. Získané WWW dokumenty sa hodnotia na základe podobnosti k týmto vzorovým.

5 ANNOTATION Slovak University of Technology, Bratislava Faculty of Electrical Engineering and Information Technology Degree Course: Informatics Author: Bc. Peter Liczki Thesis: Search engine Supervisor: Ing. Anna Považanová 2000, December The main goal of this project is to design and implement a search engine MetaScouter, which allows searching for documents on the Web and their storing by topics. I have analysed several applications developed for information retrieval from the Internet. Based on that information I have designed a system a meta search engine, which has client-server architecture. This ensures the multi-user access to this system and the possibility of communication with the application via Web browsers, i.e. via standard interface between the user and the Web. The client side application is based on dynamically generated DHTML pages, which ensure the interaction between the search engine and the user. The application on the server side is responsible for processing user requests and is implemented in Java language. The main characteristic of a meta search engine is, that user requests for information retrieval are forwarded to existing, and more powerful, search engines. On the other side the meta search engines may classify these pages and provide some ratings to user. In this project I have solved the problem of link retrieval from the Web pages of existing search engines (altavista and yahoo) and their storing in a database on the server side. I have designed a concept of rating Web pages, which provide existing search engines. I have designed this page rating concept with a special aspect of slovak language. For each user created topic the system creates a profile which represents a model web page for this topic. The Web pages gained from existing search engines, are classified by the similarity to the model pages in profiles.

6 Obsah 1 ÚVOD ANALÝZA SÚČASNÉHO STAVU WWW APLIKÁCIE (WEB TOOLS) VYHĽADÁVACIE PROGRAMY (SEARCH ENGINES) AUTOMATIZOVANÝ VYHĽADÁVACÍ PROGRAM (ROBOT-DRIVEN SEARCH ENGINES) VYHĽADÁVACÍ PROGRAM - INTERNET ADRESÁR META VYHĽADÁVACÍ PROGRAM OBSAHOVO ORIENTOVANÝ PRÍSTUP Vektorová reprezentácia Bayesianov klasifikátor (Bayesian classifier) Algoritmus najbližšieho suseda Rozhodovacie stromy KOLABORATÍVNY PRÍSTUP PRÍKLADY VYHĽADÁVACÍCH PROGRAMOV Automatizované vyhľadávacie programy Vyhľadávacie programy - WWW adresáre Inteligentné meta vyhľadávacie programy MORFOLOGICKÁ ANALÝZA SLOVENSKÉHO JAZYKA ZHRNUTIE OPIS POSTUPU RIEŠENIA ŠPECIFIKÁCIA POŽIADAVIEK Vízia Požiadavky na systém NÁVRH Architektúra systému Logický model údajov IMPLEMENTÁCIA Serverovská časť Databáza systému Klientská časť TESTOVANIE RIEŠENIA Testovanie funkčnosti Testovanie prínosov VÝSLEDKY RIEŠENIA A ICH ZHODNOTENIE SPOJITOSŤ S DIPLOMOVÝM PROJEKTOM... 56

7 5 TECHNICKÁ DOKUMENTÁCIA DOKUMENTÁCIA K ŠPECIFIKÁCII POŽIADAVIEK Požiadavky na technické a programové vybavenie Nápoveda DOKUMENTÁCIA K NÁVRHU Fyzický návrh prípadov použitia FYZICKÝ MODEL ÚDAJOV DOKUMENTÁCIA K IMPLEMENTÁCII Zdrojové kódy vybratých algoritmov DOKUMENTÁCIA K OVERENIU RIEŠENIA Vzorka testovacích údajov DOKUMENTÁCIA K POUŽÍVANIU A ÚDRŽBE Požiadavky na technické vybavenie Požiadavky na programové vybavenie Inštalácia systému Odinštalácia systému Obsah priloženého média Používateľská príručka PRÍLOHA A ZDROJOVÉ KÓDY PROGRAMU PRÍLOHA B PRILOŽENÉ CD MÉDIUM LITERATÚRA... 85

8 1 Úvod V poslednom desaťročí zaznamenávame nesmierne prudký rozvoj v oblasti informačných technológií. Tento pokrok sa premieta aj na sieť Internet, ktorá za krátky čas po tom, ako sa stala prístupnou pre širokú verejnosť, rozrástla zo siete, ktorá slúžila iba úzkemu okruhu ľudí, na celosvetovú počítačovú sieť, ktorého služby využíva už viac miliónov používateľov v rozdielnych kútoch sveta. Vo viacerých krajinách sa pre veľkú skupinu používateľov počítačov stal prístup na túto sieť úplne bežnou záležitosťou a podobný vývoj sa črtá aj na Slovensku. Internet je dnes najväčším a najvšeobecnejším zdrojom informácií, ktoré poskytuje používateľom cez svoje služby. Tieto informácie sú však rozmiestnené po celom svete bez regulácie alebo riadenia, nie sú zozbierané podľa tém a ani zadelené do žiadnych kategórií. Na ich získavanie sú teda potrebné aplikácie, ktoré na základe popisu požadovaných informácií, tie sprístupnia. Túto úlohu na celosvetovej pavučine (World Wide Web, ďalej WWW), ktorá je jedným zo základných služieb Internetu, zastávajú vyhľadávacie servery (Altavista, Lycos, Excite, HotBot,...), ktoré poskytujú zoznam odkazov na WWW dokumenty, ktoré vyhovujú používateľom zadanej požiadavke. Problémom však je, že tieto programy vyhľadávajú iba na základe veľmi malého množstva informácií (kľúčové slová zadané používateľom). Stáva sa preto, že na používateľovu požiadavku zobrazia nespočetné množstvo odkazov, z ktorých však väčšina je pre daného používateľa nepoužiteľná. Tento priestor vypĺňajú isté nadstavby vyhľadávačov, tzv. meta vyhľadávacie programy, ktoré sú charakteristické tým, že využívajú služby existujúcich vyhľadávačov. Tieto systémy sa postupne učia špecifické záujmy používateľa (vytvárajú si profil používateľa) a na základe toho odporúčajú relevantné WWW dokumenty. V tejto práci sa budem venovať návrhu a tvorbe internetovského meta vyhľadávacieho programu umožňujúceho hľadanie, triedenie a uskladňovanie vyhľadaných liniek podľa tém. Pri návrhu architektúry systému budeme sledovať jeho použiteľnosť v rámci nejakej organizácie (napr. firmy) a do návrhu algoritmu zisťovania tematiky WWW dokumentu zakomponujeme podporu morfológie slovenského jazyka. 1

9 Na záver úvodu si povedzme niečo o štruktúre tejto práce. Samotnú dokumentáciu by sme mohli rozdeliť do dvoch častí. V prvej časti (Analýza súčasného stavu) sa zaoberáme teóriou k danej problémovej oblasti a existujúcimi riešeniami. Ďalšia časť dokumentácie (Opis postupu riešenia) je venovaná popisu jednotlivých etáp vývoja softvéru. Za hlavným textom diplomovej práce nasleduje technická dokumentácia a prílohy. 2

10 2 Analýza súčasného stavu V tejto časti dokumentácie popíšem teóriu, ktorá sa vzťahuje k problematike vyhľadávania a uvediem príklady na najznámejšie existujúce vyhľadávacie programy. V prvej časti analýzy sa zameriam na teoretické zázemie, v druhej uvediem a popíšem existujúce riešenia. 2.1 WWW aplikácie (Web tools) Takisto ako Internet aj WWW obsahuje obrovské množstvo informácií, ktoré sa nachádzajú vo WWW dokumentoch (WWW stránkach). Postupom času sa na WWW pridávajú nové dokumenty, prípadne existujúce sa aktualizujú, alebo rušia. Používateľ nie je bez pomoci schopný sledovať všetky tieto zmeny a tak zisťovať stále najnovšie dostupné informácie. Z toho dôvodu boli vyvinuté WWW aplikácie (WA), ktoré pomáhajú vyhľadávať, sprístupňovať a spravovať WWW dokumenty. Vo všeobecnosti môžeme WA aplikácie zadeliť do piatich úrovní a to na základe ich inteligencie [3]: Úroveň 0: WA, ktoré sprístupňujú WWW dokumenty používateľovi priamo na základe jeho dopytu. Používateľ musí aplikácii zadať presnú adresu dokumentu (URL z angl. Unified Resource Locator). Najznámejšími aplikáciami tohoto druhu sú: Internet explorer, Netscape, Mosaic... Úroveň 1: WA, ktoré vykonávajú používateľom iniciované prehľadávanie WWW za účelom zozbierania požadovaných WWW stránok. Príkladmi na túto úroveň WA sú: Altavista, Lycos, HotBot,... Väčšina z týchto aplikácií neustále prehľadáva WWW a indexuje (uchováva si abstrakt) veľké množstvo dokumentov. Používateľom iniciované vyhľadávanie potom prebieha ako hľadanie používateľom zadaných kľúčových slov v indexových súboroch (v databáze daného systému). Používateľovi sa potom poskytnú odkazy na vyhovujúce WWW dokumenty. Úroveň 2: WA, ktoré si udržiavajú istý profil používateľa (user profiles). Pod profilom sa rozumie istá charakteristika oblastí záujmu daného používateľa. Aplikácia sa potom pomocou aktívnej komponenty pokúša nájsť profilu (a teda 3

11 aj používateľovi) vyhovujúce WWW dokumenty. Príkladom na WA úrovne 2 je aplikácia WebWatcher. Úroveň 3: WA, ktoré majú nástroje na vypozorovanie (learning component) a dedukovanie (deductive component) profilu používateľa. Profil používateľa môže pozostávať napríklad z oblastí záujmu a vzorov prehľadávania (browsing patterns), ktoré sa vytvárajú na základe frekvencie prístupu k jednotlivým dokumentom. Tieto systémy teda nepotrebujú od používateľa žiadne hodnotenie WWW dokumentov. Príkladmi na WA úrovne 3 sú experimentálne systémy DiffAgent a Letizia. Úroveň 4: WA, ktoré sa okrem správania sa používateľa učia aj správanie sa zdrojov informácií. Teda WA úrovne 4 môžeme definovať ako aplikáciu, ktorá je schopná vypozorovania správania sa profilu používateľa a aj správania sa zdrojov informácií. Základnou súčasťou všetkých WA úrovní 1 až 4 je vyhľadávací program (search engine), ktorý v nasledujúcej časti popíšem. 2.2 Vyhľadávacie programy (search engines) Vyhľadávacími programami (VP) nazývame vo všeobecnosti všetky aplikácie, ktoré umožňujú sprístupnenie WWW dokumentov na základe vstupných kľúčov. Existuje viac prístupov na klasifikovanie VP. V tejto práci budem postupovať podľa rozdelenia prevzatého z literatúry [5]: rozdelenie na základe získavania informácií o WWW dokumentoch: VP využívajúce vyhľadávajúcich robotov (spiders) VP Internet adresár Meta VP Iné rozdelenie by mohlo byť na základe oblastí vyhľadávania: Všeobecné vyhľadávače (altavista, google, yahoo, ) Špecializované vyhľadávače (zopár príkladov): vyhľadávanie textov piesní: vyhľadávanie v biblii: 4

12 vyhľadávanie stiahnuteľného softvéru: Automatizovaný vyhľadávací program (robot-driven search engines) Sú to najznámejšie a najrozšírenejšie VP. Rozosielajú robotov (spiders) na všetky WWW servery na svete, na ktorých potom zozbierajú všetky dostupné HTML súbory. Uchovávajú si abstrakt týchto súborov (index) vo vlastných databázach a poprípade ak nastali zmeny, tak si ich aktualizujú. Na obrázku 1 je znázornená všeobecná štruktúra automatizovaného VR. Obrázok 1: Architektúra automatizovaného vyhľadávacieho robota [6]. V podstate väčšina robotov pracuje pri lokalizovaní dokumentov na WWW podľa rovnakého algoritmu [1]: Vytvor zoznam WWW odkazov na dokumenty, ktoré sa majú preskúmať. Zoznam musí obsahovať aspoň jeden odkaz. Vyber jeden odkaz zo zoznamu. Prebádaj WWW dokument, ktorý bol vybraný v kroku 2 a zisti všetky odkazy z tohoto dokumentu. Pridaj odkazy do zoznamu WWW odkazov. 5

13 Spracuj dokument z kroku 2 za účelom získania výňatku informácií z textu, ako napríklad názvu, kľúčových slov... Choď na krok 2. Rozdiel medzi jednotlivými VP je v spôsobe výberu WWW stránky zo zoznamu (krok 2) a v informáciách, ktoré si uchováva o prebádaných stránkach (krok 4). Rozdielny môže byť aj spôsob akým sa tieto informácie poskytujú používateľovi. Výber smeru šírenia (čo preskúmať ako ďalšie) Prvotné vyhľadávače prehľadávali WWW do hĺbky, a to tak, že v ďalšom kroku rozvíjali odkaz, ktorý bol nájdený naposledy. Toto priveľmi zaťažovalo WWW servery a často to spôsobovalo ich pád. Neskôr sa začalo používať prehľadávanie do šírky, pri ktorom sa ďalej rozvíja najskôr nájdený odkaz. Tento spôsob však diskriminuje veľké WWW servery, aké sa nachádzajú napríklad na univerzitách, alebo u poskytovateľov internetových služieb. Vyhľadávač Lycos si napríklad vyberá odkazy na základe heuristiky popularity. Pričom táto popularita sa meria v počte externých WWW serverov, z ktorých existuje aspoň jeden odkaz na tento dokument. Aké informácie si uchovávať Spočiatku si vyhľadávače uchovávali iba názov, prípadne ešte hlavičku stránky. Bolo to spôsobené nedostatočnosťou zdrojov, ktoré tieto projekty mali k dispozícii. Dnes sú už vyhľadávače, ktoré si uchovávajú celý text stránky (prvý bol vyhľadávač WebCrawler). Tento prístup má však veľké nároky na zdroje (počítačové disky) a môže so sebou prinášať aj problémy s autorskými právami. Najlepší prístup je uchovávať abstrakt z danej stránky. Abstrakt sa skladá z kľúčových slov vybratých z WWW dokumentu na základe štatistickej heuristiky. Používateľský dopyt Po zozbieraní informácií o WWW dokumentoch robotmi, sa môže začať s obsluhou používateľských dopytov. Na zadávanie dopytu existuje viac spôsobov: zadávanie kľúčových slov s použitím booleovskej logiky, presne štruktúrované formulácie v prirodzenom jazyku, zadávanie vzorových dokumentov. V tejto kategórii vyhľadávačov sa najčastejšie používa metóda 6

14 zadávania kľúčových slov s booleovskou logikou. Niektoré vyhľadávače po tom prehľadávajú celú svoju databázu a tak zisťujú, ktoré stránky zodpovedajú zadanej podmienke. Tento prístup je však výpočtovo veľmi náročný a teda aj veľmi pomalý. Preto si väčšina vyhľadávačov v databáze vytvára pre každé kľúčové slovo zoznam všetkých dokumentov, ktoré ho obsahujú. Má to síce väčšie nároky na kapacitu diskových polí, ale značne to urýchli prehľadávanie. Náročnosť automatizovaných vyhľadávacích programov Ak je snaha, aby v lokálnej databáze boli stále aktuálne verzie WWW dokumentov, musí sa proces prehľadávania WWW opakovať pomerne často (každý mesiac sa musí zaktualizovať celá lokálna databáza). Ak si zoberieme, že na WWW je približne 70 miliónov stránok (údaj z roku 1997), môžeme usúdiť, že tento proces je z časového a aj finančného hľadiska veľmi náročný. Obyčajne majú na rozosielanie robotov a zozbieranie informácií vyhradené viacero počítačov a jeden, alebo dva vysokovýkonné servery na spracovávanie používateľských dopytov. V súčasnosti sú tieto VP z komerčného hľadiska najúspešnejšie a viacero firiem, ako aj AltaVista, Excite, HotBot a Lycos poskytujú práve tieto služby. 7

15 2.4 Vyhľadávací program - Internet adresár Sú to staršie, jednoduchšie a menej výkonné typy VP. Svoje databázy WWW dokumentov si vytvárajú veľmi jednoduchým spôsobom a to tak, že si majitelia registrujú svoje stránky v danom VP. Pri registrácii stránky je väčšinou ponúknutá možnosť zaradenia do kategórie a majiteľ stránky musí vyplniť formulár. Operátor (človek) potom preverí správnosť údajov a následne zaregistruje stránku do databázy. Tieto VP sú výhodné pre používateľov, ktorí majú iba približnú predstavu o tom čo hľadajú. VP im môže ponúknuť širokú škálu kategórií tematických okruhov, v ktorých si môžu nájsť potrebné informácie. Avšak pre používateľov, ktorí majú presnú predstavu o charaktere hľadanej informácie, vykazuje tento typ VS veľmi slabé výsledky. Najznámejšou VS, ktorá pracuje na tejto báze je Yahoo. 8

16 2.5 Meta vyhľadávací program Pre Meta VP je charakteristické, že si nevytvárajú vlastnú databázu indexov WWW dokumentov, ale pri uspokojovaní používateľových požiadaviek využívajú služby existujúcich VP. Architektúra Meta VP je schematicky znázornená na obrázku 2. Obrázok 2: Architektúra Meta VP [1]. Keďže Meta VP nevykonáva prechádzanie WWW za účelom indexovania a ani neprehľadáva indexovú databázu, môže sa viac sústrediť na vylepšenie používateľského rozhrania, napríklad sa môžu efektívnejšie filtrovať výsledky získané z VP, s ktorými spolupracuje. Takto upravené výsledky potom budú podstatne precíznejšie zodpovedať používateľovým zámerom. Tento proces v meta VP zabezpečujú inteligentný agenti (intelligent agents). Inteligentný agent je pomocný systém, ktorý sa dokáže prispôsobiť charakteristickému vkusu používateľa a na základe toho mu odporúčať iba relevantné WWW dokumenty. Fáza prispôsobovania sa volá učenie a väčšinou sa zakladá na dokumentoch, ktoré v minulosti používateľ uznal za vhodné. Existujú dva druhy inteligentných agentov: obsahovo orientované (contentbased) a kolaboratívne (collaborative) [2]. 2.6 Obsahovo orientovaný prístup Pri tomto prístupe k hodnoteniu textu obsiahnutého v dokumente, sa agent pokúša odhadnúť, či daný WWW dokument vyhovuje používateľovým predstavám na základe jej obsahu. Rozpoznáva obsah stránky na základe toho 9

17 čo už videl. Uchováva sa teda istý model používateľovi vyhovujúcich dokumentov. Problémom však ostáva ich vhodná reprezentácia. Používajú sa na to rôzne metódy [16]: vektorová reprezentácia bayesianov klasifikátor algoritmus najbližšieho suseda rozhodovacie stromy Vektorová reprezentácia Najčastejšou reprezentáciou modelových stránok je tzv. vektorová reprezentácia (vector representation) [4]. Princíp tejto metódy spočíva v tom, že sa vyberie množina najčastejšie sa opakujúcich slov v danom dokumente a uchovajú sa. Môže sa uchovávať prípadne aj počet výskytov daného slova, ďalej pozícia slova alebo aj susedné slová. Pri vektorovej reprezentácii WWW dokumentov sa objavujú 2 problémy: ako vytvoriť vhodný vektor vzorových dokumentov a vektor posudzovaného dokumentu? ako porovnať tieto dva vektory? V nasledujúcej časti popíšem spôsoby akými sa to rieši. Vektor posudzovaného dokumentu Pri vytváraní vektora posudzovanej stránky je dôležité vytvoriť abstrakt, ktorý dobre charakterizuje tému dokumentu. Najčastejšie používaná metóda: Frekvencia kľúčov Základnou myšlienkou tejto metódy je to, že čím častejšie sa nejaké slovo vyskytuje v dokumente, tým viac hovorí o tematike daného dokumentu. Vyberú sa teda všetky slová (napr. reťazce oddelené medzerou), tzv. kľúče a uložia sa do vektora spolu aj s početnosťou. Je veľmi výhodné do tohoto spracovania dokumentu zakomponovať aj isté charakteristické črty daného jazyka, napríklad odstránenie kľúčov, ktoré nie sú nosičmi žiadnej informácie o tematike daného dokumentu, prípadne aj odstránenie morfologických prípon (pozri časť analýzy - morfológia slovenského jazyka). 10

18 Vektor vzorových dokumentov Pri vytváraní vektora vzorových WWW stránok sa v podstate vytvára model istého vzorového dokumentu. V nasledujúcej časti popíšem dve metódy slúžiace na túto transformáciu: Frekvencia kľúčov, popísaný vyššie, s tým rozdielom, že sa vektor vytvára z viacerých dokumentov TF-IDF, ktorý popri početnosti výskytu daného kľúča berie do úvahy aj počet dokumentov, na ktorých sa daný kľúč objavil aspoň raz. Algoritmus TF-IDF (Term frequency inverse document frequency) [4]: Každá zložka vektora dokumentu sa vypočítava podľa nasledovného vzorca: kde TF je počet výskytov slova a ( i) d = TF( w, d). IDF( w ), (1) i i IDF = log[ D / DF( w )], (2) kde D je počet stránok a DF w ) je počet tých stránok, na ktorých sa slovo w i ( i objavilo aspoň raz. To znamená, že sa zvyšuje váha slova počtom stránok, na ktorých sa nachádza. i Podobnosť vektorov Úlohou funkcií podobnosti v teórii vyhľadávania informácií je určiť stupeň podobnosti dvoch vektorov (teda aj pôvodných dokumentov). Pod pojmom podobnosť rozumieme sémantickú podobnosť. V tejto časti uvediem funkcie, ktoré sa používajú na určenie stupňa podobnosti dvoch vektorov. Niektoré z týchto funkcií narábajú s dokumentom ako s množinou jej kľúčových slov, iné však vyžadujú aby bol dokument reprezentovaný ako váhový vektor. Preto by som chcel zvýrazniť rozdiel medzi dokumentom modelovaným ako množina kľúčových slov ( d m ) a váhovým vektorom kľúčov daného dokumentu ( d m ), kde sa váhy označujú ako w.. Funkcie podobnosti [11]: 1. Najjednoduchším spôsobom určenia podobnosti dvoch množín je zistenie počtu rovnakých prvkov: match( d j, dk ) = d j dk (3) 11

19 2. Ak predchádzajúci výsledok vydelíme priemernou veľkosťou daných množín, dostaneme normovaný výsledok, ktorý sa bude pohybovať v určitých medziach (0-1): dice( d j, d k d j dk ) = 2. (4) d + d j k Poslednou funkciou z tejto kategórie je Jaccardov koeficient,ktorý výrazne trestá malý počet spoločných kľúčových slov. jaccard( d j, d k d j dk ) = (5) d d j k Váhovaný kosínus. Na rozdiel od predchádzajúcich, táto funkcia je menej prísna pre veľmi rozdielne vektory. Narába s váhami kľúčov w. n w i= ij. 1 n 2 wij. wik weight cos( d j, dk ) = (6) n 2 w i= 1 i= 1 ik Euklidovská vzdialenosť. Udáva vzdialenosť medzi dvomi vektormi, t.j. čím je výsledná hodnota menšia, tým sú vektory podobnejšie. Narába s váhami kľúčov w. n i = 1 2 euclid( d, d ) = ( w w ) (7) j k ij ik Skalárny súčin. Pri tejto metóde sa vychádza z toho, že dva vektory sú si podobné ak je uhol, ktorý zvierajú malý. Pokiaľ sú násobené vektory normované, výsledná hodnota bude medzi 0 a 1. Narába s váhami kľúčov w. dot ( d, d ) = d d, (8) kde znamená skalárny súčin vektorov. j k j k 12

20 2.6.2 Bayesianov klasifikátor (Bayesian classifier) Bayesianov klasifikátor je jednoduchá klasifikačná metóda, ktorá na základe pravdepodobnosti zaradí vstupnú vzorku j do niektorej z tried Ci. Táto pravdepodobosť sa ráta nasledovným spôsobom: P C A = H,..., A = H ), (9) ( i 1 1 n n kde vzorky sú zadané ako dvojice atribút hodnota (A - H). Daná pravdepodobnosť sa potom vyráta ako: P( Ci ) P( Ak = Vk C j i ) (10) k Na určenie, do ktorej triedy daná vstupná vzorka patrí, sa vyráta táto pravdepodobnosť pre každú triedu. Vstupná vzorka sa nakoniec priradí do triedy, pri ktorej vyšla najvyššia hodnota pravdepodobnosti. Ak túto teóriu prevedieme na jazyk problémovej oblasti v rámci, ktorej sa pohybujeme v tejto dokumentácii, tak si pod pojmom vstupná vzorka môžeme predstaviť hodnotený WWW dokument a pod pojmov trieda, jednotlivé tematické okruhy, popísané vzorovými WWW dokumentami Algoritmus najbližšieho suseda Pri tomto algoritme sa vstupná vzorka porovnáva s každou vzorovou vzorkou, pričom tieto vzorové vzorky sú zadelené do tried. Vstupná vzorka sa potom pridelí do triedy, v ktorej sa nachádza vzorová vzorka, ktorá je najbližšia. Vzdialenosť vzoriek sa počíta pomocou nasledovného vzorca: n i= 1 w. sim( f i n i= 1 w i 1 i, f R i kde w i je váha (dôležitosť) i-teho kľúča, ), (11) 1 f i, f i vstupnej a vzorovej vzorke, sim je funkciou podobnosti. R sú hodnotami kľúča f i vo 13

21 Obrázok 3. Metóda nájdenia najbližšieho suseda Rozhodovacie stromy Systémy fungujúce na tomto princípe, si vzorové vzorky zadeľujú do skupín a podskupín. Vytvárajú tak hierarchickú stromovú štruktúru, až pokým tieto podskupiny obsahujú samotné triedy, do ktorých sa majú vstupné vzorky zadeliť. Pri postupnom zadeľovaní vstupnej vzorky do podskupín, až napokon do triedy, sa rozhodovanie robí na základe zvolenej vlastnosti vzoriek (napr.: Je kľúč databáza rovný 4?). Väčšinou sa rozhodovací test volí tak, aby prinášal čo najväčšiu informačnú hodnotu. 2.7 Kolaboratívny prístup Pri kolaboratívnom prístupe k vyhľadávaniu relevantných WWW dokumentov sa vychádza z toho, že daný systém používa viac používateľov. Systém utriedi používateľov do skupín na základe ich spoločných oblastí záujmov. Www dokumenty, ktoré vyhovovali jednému používateľovi z danej skupiny, odporučí aj ostatným členom skupiny. Teda pri tomto prístupe sa sleduje namiesto podobnosti dokumentov, podobnosť používateľov. Ako príklad môžeme uviesť ohodnotenie hudobných skupín jednotlivými používateľmi (pozri tabuľku 1). 14

22 Hudba Chopin Bach Levellers Garbage Pixies Beatles ABBA Enya Použ Použ Použ Tabuľka 1: Príklad na ohodnotenie jednotlivých hudobných skupín používateľmi. Najvyššie možné ohodnotenie je 7, minimum je 0. Z tabuľky 1 je vidno, že používateľ 1 a používateľ 2 majú veľmi podobné záujmy. To znamená, že WWW dokumenty, ktoré má v zozname jeden z nich, môže systém odporučiť druhému používateľovi. Problémom sú však taký jedinci, ktorý majú veľmi jedinečné charakteristiky (používateľ 3). Pri nich vykazujú tieto systémy veľmi slabé výsledky. 15

23 2.8 Príklady vyhľadávacích programov V tejto časti uvediem príklady na každý typ VP a detailnejšie popíšem princíp ich činnosti Automatizované vyhľadávacie programy Príklad: AltaVista Považuje sa za najlepší WWW vyhľadávač. Je to klasický automatizovaný vyhľadávač, ktorý pomocou robotov indexuje WWW. Sprístupňuje najväčší počet WWW dokumentov zo všetkých vyhľadávačov tohoto typu. Umožňuje dva druhy vyhľadávania jednoduché rozšírené Pri jednoduchom vyhľadávaní sú nasledovné možnosti zápisu: zápis výrazov za sebou použije sa medzi nimi operátor or zápis výrazov v úvodzovkách bude sa vyhľadávať veta v úvodzovkách ako celok zápis výrazov za pomoci + a - znamená či sa daný výraz musí vyskytovať v zázname o hľadanej stránke (+), alebo sa nesmie (-). zápis za pomoci operátora * nahradí sa ľubovolným počtom znakov. zápis anchor: názov- vyhľadávanie stránok, na ktorých sa vyskytuje odkaz s názvom názov. zápis applet: názov - vyhľadávanie stránok, na ktorých sa vyskytuje javovský applet s názvom názov. zápis image: názov - vyhľadávanie stránok, na ktorých sa vyskytuje obrázok s názvom názov. podobné návestia existujú aj pre názov stránky, názov URL,... Pri rozšírenom vyhľadávaní je na dôvažok možnosť využívania boolovských operátorov ( AND, OR, NOT, () ) a metódy NEAR (kľúčové slová majú byť blízko seba). 16

24 2.8.2 Vyhľadávacie programy - WWW adresáre Príklad: Yahoo Má vopred zadefinovanú hierarchickú štruktúru tematických okruhov, do ktorých si majitelia registrujú svoje WWW stránky. Používateľ, hľadajúci informácie, sa potom postupným vnáraním do rozličných podtém dostáva od najširších až po najšpecializovanejšie témy. Keď si nájde tematický okruh, ktorý zodpovedá jeho predstavám, môže si prezrieť ponuku stránok, ktoré sú v Yahoo zaregistrované pod danú tému. Yahoo navyše ponúka aj vyhľadávanie v rámci svojej virtuálnej adresárovej štruktúry (WWW adresára). Pri zadávaní dopytu je možnosť využívania booleovských operátorov AND, OR, NOT,. Jeho nevýhoda je v tom, že sprístupňuje iba veľmi malú podmnožinu WWW dokumentov prístupných na Internete. Ďalšou možnou nevýhodou je napevno daná hierarchická štruktúra tematických okruhov. Majiteľ WWW stránky si pri registrácii musí vybrať z už existujúcich tém, čo nemusí byť v každom prípade jednoduché. 17

25 2.8.3 Inteligentné meta vyhľadávacie programy Príklad: MetaCrawler Poskytuje rozhranie pre viacero VP s tým, že prehodnotí vhodnosť získaných odkazov na základe vlastného algoritmu. Spôsob práce (vývojový diagram) je zobrazený na obrázku 4. Obrázok 4: Vývojový diagram programu MetaCrawler [1]. Popis k obrázku 4. Sformulovanie dotazov používateľov vstup sa musí prispôsobiť vstupom VP. Následné spracovanie výsledkov zisťovanie, či získané odkazy zodpovedajú používateľovej predstave. Porovnanie výsledkov a Odstránenie duplicity zisťovanie, či sa nenašlo viac odkazov na to isté URL. Ak áno tak sa odstránia duplicity. Výhody: Používateľ má jednotné rozhranie pre všetky vyhľadávače, s ktorými MetaCrawler spolupracuje. 18

26 Jedinou otázkou pri vyhľadávaní bude čo?, odpadávajú otázky kde? a ako?. Zvýši sa podobnosť vyhľadaných liniek k požiadavkám používateľa Nevýhodou sú vyššie časové nároky na proces vyhľadávania. Príklad: Web-Watcher Pomáha používateľom získavať informácie tak, že na vstupné kľúčové slová navrhne zodpovedajúce odkazy na WWW dokumenty a nakoniec požiada používateľa o zhodnotenie vyhľadávania. Systém si z jednotlivých vyhľadávaní uchováva: Vstupné kľúčové slová, zobrazené linky a používateľovo hodnotenie. Na základe týchto údajov potom vyhľadáva WWW dokumenty. Príklad: Letizia Nepožaduje od používateľa vstupné kľúčové slová či výsledné hodnotenie. Mapuje si používateľove záujmy na základe jeho prehľadávania. Používatelia sa pri prezeraní WWW riadia väčšinou algoritmom prehľadávania do hĺbky. Kým používateľ číta WWW stránku, Letizia vykonáva prehľadávanie WWW odkazov z daného dokumentu do šírky. Ak nájde nejakú zaujímavú linku, tak ju zobrazí používateľovi do nového okna prehliadača. Príklad: Personal WebWatcher Hlavnou úlohou aplikácie WebWatcher je pomáhať používateľovi pri prehľadávaní WWW bez toho aby vyžadoval špeciálne ovládanie. Jediné čo je potrebné spraviť je nainštalovať systém ako proxy server 1. Každá používateľská požiadavka na WWW dokument prechádza potom cez systém, ktorý požadovanú stránku stiahne na lokálny disk za účelom učenia a spracovania. Systém zvýrazní odkazy zo stránky, ktoré môžu byť pre daného používateľa potenciálne zaujímavé. Túto pozmenenú stránku následne zobrazí používateľovi. Architektúra systému je zobrazená na obrázku 5. 1 Proxy server je program bežiaci na autorizovanej IP doméne, umožňujúci autentifikovaným používateľom prístup k externým službám siete Internet [17]. 19

27 Obrázok 5. Architektúra aplikácie Personal WebWatcher Ako vidíme z obrázku 5, Personal WebWatcher pozostáva z dvoch hlavných častí: z proxy servera, ktorý interaguje s používateľom cez WWW prehliadač a z učiaceho modulu, ktorý modeluje používateľa (učí sa jeho charakteristiky). Tieto dve časti systému navzájom komunikujú jednoducho cez disk počítača. Proxy server ukladá URL používateľom navštívených WWW dokumentov na disk, odkiaľ ich číta a následne spracúva učiaci modul. V krátkosti popíšem funkciu jednotlivých modulov zobrazených na obrázku 5. Proxy server (Proxy server) V nekonečnom cykle čaká na požiadavku od WWW prehliadača na WWW dokument. Ak ju dostane, natiahne požadovaný dokument, ktorý jednak uloží na disk počítača a jednak poskytne odporúčaciemu modulu. Upravený WWW dokument, ktorý dostane od odporúčacieho modulu poskytne používateľovi. Učiaci modul (Learner) Z lokálneho disku počítača získava WWW dokumenty, ktoré používateľ prezeral a na základe týchto informácií vytvára vnútorný model používateľa (jeho oblastí záujmu). Klasifikátor (Classifier) Na základe modelu používateľa, ktoré poskytuje učiaci modul hodnotí relevantnosť WWW dokumentov, na ktoré sa odkazujú vstupné odkazy. 20

28 Odporúčací modul (Adviser) Prevezme od proxy servera používateľom požadovaný WWW dokument a zistí všetky odkazy smerujúce z tohto dokumentu. Tieto odkazy odovzdáva klasifikátoru a na základe získaného hodnotenia prípadne upraví stránku. Pod úpravou rozumieme zvýraznenie odkazov, ktoré sú najadekvátnejšie danému používateľovi. Takto upravenú stránku vracia naspäť proxy serveru. Ako ste si všimli Personal WebWatcher nepožaduje od používateľa žiadne hodnotenia vzorových WWW dokumentov a ani vypĺňanie žiadnych formulárov za účelom zistenia jeho charakteristík. Na jednej strane je takáto aplikácia príjemná na používanie, avšak na druhej strane nie je zaručená jeho presnosť. Príklad: Syskill & Webert Je to softvérový agent, ktorý sa učí hodnotiť WWW dokumenty a na základe toho rozhoduje či môžu dané informácie zaujímať používateľa. Používateľ hodnotí stránky na trojstupňovej stupnici a Syskill & Webert si na základe hodnotenia a informácií nachádzajúcich sa na stránke, vytvára profil daného používateľa. Vytvára samostatný profil pre každú tému používateľa. Priraďovať profil k téme používateľa namiesto vytvárania celkového profilu samotného používateľa má dve veľké výhody. Prvou je to, že používatelia majú viacero oblastí záujmu. Vytvárať profil pre každú zvlášť umožňuje presnejšiu charakteristiku, keďže faktory, ktoré robia jednu oblasť záujmu zaujímavou, môžu pri inej pôsobiť úplne opačne. Druhá výhoda je taká, že každej téme sa môže priradiť tzv. indexová stránka. Indexová stránka je manuálne vytvorená stránka, na ktorej sa nachádzajú odkazy na WWW dokumenty s obsahom relevantným k danej téme. Syskill & Webert umožňuje používateľovi prechádzať stránkami na WWW začnúc z tejto indexovej stránky. Syskill & Webert umožňuje 2 spôsoby použitia: Navrhuje WWW dokumenty, ktoré sú dostupné z indexovej stránky a zodpovedajú profilu používateľa pre danú tému. Vytvára dotazy na vyhľadávač Lycos ( a získava odkazy na WWW dokumenty, ktoré môžu používateľovi vyhovovať a následne tieto dokumenty hodnotí. Pričom rozhodnutie, či daný WWW 21

29 dokument zodpovedá profilu pre daný tematický okruh, sa robí na základe analýzy celého textu posudzovaného dokumentu (full - text search). Obrázok 6. Architektúta systému Syskill & Webert. Pri získavaní informácií zo stránok sa odfiltrujú príkazy jazyka HTML a všetky slová anglického jazyka, ktoré majú nízku (prípadne žiadnu) informačnú hodnotu. Pri implementácii sa vyskúšalo viacero algoritmov učenia (bayesianov klasifikátor, alg. najbližšieho suseda, rozhodovacie stromy, alg. TF-IDF). Pri testovaní sa zistilo, že ďaleko najlepšie výsledky sa dosiali pri používaní alg. najbližšieho suseda a alg. TF-IDF. Príklad: WAWA Zaujímavosťou tohoto systému je to, že na uchovávanie charakteristík používateľa používa neurónové siete. Nevýhodou tohoto riešenia je to, že neurónové siete vo všeobecnosti potrebujú relatívne dlhý čas na učenie používateľského profilu. Príklad: Internet Fish Hlavné ciele projektu Internet Fish boli: Inteligentný systém (heuristika) Konverzovanie s používateľom Príklad interakcie používateľa s aplikáciou, ktorá dobre ilustruje hlavné ciele (konverzovanie, inteligencia): 22

30 Používateľ: Systém, vytvor novú Internet Fish pre mňa. (vytvor proces, ktorý bude spracovávať moju požiadavku) Systém: Internet Fish Fish17" vytvorená, inicializovaná a pripravená na použitie. Používateľ: Fish17, Chcel by som nájsť nejaké informácie o mužovi menom L. Craig Evans. Je to matematik. Fish17: OK, bude to chvíľku trvať [Po chvíli...] Fish17: Keďže si mi povedal, že ide o matematika, tak som sa rozhodol vyhľadať zoznam členov American Mathematical Society". Našiel som tam meno Lawrence Craig Evans". Je to osoba, ktorú hľadáš? Používateľ: Možno. Koľkých členov menom Evans si tam našiel? Fish17: Ešte 6, ale ani jeden nepasuje s L. Craig" Používateľ: A čo si tam našiel o Lawrence Craig Evans"? Používateľ systému môže zadávať svoje požiadavky na vyhľadávanie v prirodzenom jazyku. Toto rozhranie však povoľuje iba obmedzené množstvo presne štruktúrovaných fráz. Na vyhľadávanie využíva existujúce vyhľadávače a používateľove ohodnotenia vzorových WWW dokumentov. 2.9 Morfologická analýza slovenského jazyka Pri popisovaní algoritmov na získavanie kľúčových slov z WWW dokumentov som sa viackrát odvolával na morfologickú analýzu slov nachádzajúcich sa v texte dokumentu. V tejto časti popíšem podstatu tohoto prístupu na určenie základu rozdielnych tvarov toho istého slova pre slovenský jazyk (napr. slová dievča, dievčaťa, dievčati sú významovo rovnaké, sú však v inom páde). Riešiť sa to dá: Použitím slovníka Morfologickou analýzou 23

31 Použitie slovníka je síce najistejším a najpresnejším riešením, avšak vytvorenie potrebného slovníka, v ktorom by boli zachytené všetky vzťahy medzi rôznymi tvarmi slov, je príliš náročné. Omnoho menej náročným a predsa celkom spoľahlivým riešením je použitie morfologickej analýzy daného jazyka. Najprv zadefinujem pojem morfológia[10]: Morfológia (tvaroslovie) je časť jazykovedy, ktorá sa zaoberá skúmaním gramatických tvarov slov. Slová sa vo všeobecnosti skladajú z najmenších významových častí, ktorými sú morfémy. Tie mávajú významovú alebo gramatickú (štruktúrnu) funkciu. Úzko súvisia s ohýbaním slov. Cieľom je na základe hocakého slova v hocakom tvare určiť všetky tvary daného slova (pády, prípadne časy). Pri tejto metóde stačí mať uložené v databáze iba vzorové slová, podľa ktorých sa ohýbavajú potom všetky. Vzor sa používa na tri funkcie: určuje, či slovný druh patrí do jeho skupiny (potrebná vhodná heuristika) určuje koreň a príponu určuje ostatné morfologické prípony daného kmeňa Vzory by sa mali vyberať tak, aby pokryli celý jazyk. Na obrázku 7 sú zobrazené vzťahy medzi jednotlivými morfologickými tvarmi pri slovesách slovenského jazyka. Obrázok 7. Ukážka časti morfologického stromu pre slovesá [10]. V našej problémovej oblasti (získavania kvalitných kľúčových slov) odpadáva problém zisťovania k akému vzoru dané slovo patrí. Stačí odstrániť od koreňa morfologickú koncovku, ktorá je podreťazcom daného slova. 24

32 Ďalšie informácie o morfologickej analýze slovenského jazyka sa nachádza v literatúre [10]. 25

33 2.10 Zhrnutie V predchádzajúcej časti dokumentácie sa nachádza analýza problémovej oblasti a popis existujúcich riešení. V závere by som chcel vyzdvihnúť zaujímavé riešenia, z ktorých by som mohol čerpať pri vytváraní špecifikácie a návrhu systému. Zaujímavým riešením vyhľadávačov je meta VP. Výhodu má v tom, že v podstate má prístup, ku všetkým tým informáciám, ku ktorým vyhľadávače, s ktorými spolupracuje. Avšak má menšie nároky na zdroje, či už na diskové miesto, alebo aj na výkonnosť procesora (procesorov) na indexovanie WWW. Ďalšou ich výhodou je že pomocou inteligentných agentov môžu vytvárať profily používateľov. Pri vyhľadávačoch typu altavista alebo yahoo je tento jednotlivý prístup k používateľom nepredstaviteľný. V rámci meta VP sú z hľadiska triedenia vyhľadaných liniek zaujímavejšie meta VP s obsahovo orientovaným prístupom, kde sa triedia WWW dokumenty do tém na základe obsahu stránky. Pri tomto prístupe je aj možnosť odskúšania rôznych typov algoritmov na zisťovanie obsahu WWW dokumentu. Z týchto algoritmov by som tu chcel spomenúť algoritmus TF-IDF, ktorý pri vhodnom výbere extraktu z WWW dokumentov a použití morfologickej analýzy môže poskytovať dobré výsledky. Otázkou však je ako zistiť, ktorá stránka používateľovi naozaj vyhovuje, teda, ktorá sa môže použiť ako vzorová. VP Web-Watcher sa na to používateľa jednoducho spýta. Pokladám to za najistejší spôsob zistenia používateľových záujmov. Veľmi zaujímavý je meta VP Syskill & Webert, ktorý umožňuje vytvoriť pre používateľa množstvo tém a pre každé vytvára samostatný profil. Na základe profilov generuje potom požiadavky pre existujúce vyhľadávače. Teda používateľovu požiadavku obohatí ešte o kľúčové slová, ktoré sa nachádzajú v profile používateľa pre danú tému. Toto je celkom rozumné riešenie, ktoré by som mohol použiť, avšak treba dávať pozor, na príliš značné obohatenie používateľovej požiadavky. Môže sa stať, že sa to obmedzenie na vyhľadávané 26

34 WWW dokumenty bude príliš prehnané a systém bude poskytovať iba veľmi špecializovanú líniu v danej téme. Pri vyhľadávači altavista, je veľmi zaujímavá bohatosť riadiacich znakov pri zadávaní používateľskej požiadavky. Pokladám za vhodné riešenie, všetky tieto možnosti zápisu (+, -, ) ponechať aj vo vytváranom systéme. Ďalšou kladnou vlastnosťou vyhľadávača altavista je veľké množstvo WWW dokumentov, ktoré dokáže používateľovi sprístupniť. 27

35 3 Opis postupu riešenia V tejto časti sa nachádza opis etáp životného cyklu systému MetaScouter. Najprv sa sústredím na špecifikáciu požiadaviek na daný softvér. Požiadavky boli vytvorené na základe zadania diplomovej práce a na základe požiadaviek, ktoré vyplynuli z analýzy problémovej oblasti. Neskôr sa budem zaoberať návrhom riešenia, implementáciou a testovaním. Na vývoj systému bola použitá technika postupného prototypovania spojená s modelom evolučného vývoja. Bolo to potrebné na overenie si možností implementácie kritických bodov v návrhu systému. 3.1 Špecifikácia požiadaviek V špecifikácii požiadaviek sa nachádza prehľad základných požiadaviek na systém. Špecifikácia požiadaviek je základom pre detailnejší popis technických požiadaviek (návrhu) a bola vytvorená na základe zadania diplomovej práce a analýzy danej problémovej oblasti. Špecifikácia požiadaviek je rozdelená do dvoch častí. V prvej časti Vízia popíšem základnú filozofiu systému, z ktorej budem v druhej časti, podrobnejšej špecifikácii, Požiadavky na systém vychádzať Vízia Vízia umožní čitateľovi porozumieť vyvíjanému systému. Nachádza sa v nej opis základnej myšlienky systému a definícia základných pojmov. Systém MetaScouter je vyhľadávací program, ktorý umožňuje používateľovi uchovávanie odkazov na WWW dokumenty v prehľadnej štruktúre, kde je každý odkaz zadelený pod istú tému (napr. Stránka by mohla byť zadelená pod tému Hudba - klasika). Táto štruktúra sa nazýva WWW adresár. Pre každú tému môže používateľ určiť množinu vzorových dokumentov, čím si postupne buduje svoj profil. Pod pojmom profil používateľa rozumieme množinu kľúčových slov s váhou, pre každú tému. Váha kľúčového slova napovedá, aká je dôležitosť daného slova pre danú tému. Vzorové dokumenty a teda aj profil sú dôležité pre ďalšiu 28

36 službu systému vyhľadávanie. Vyhľadávanie má v sebe zabudovanú podporu morfológie slovenského jazyka, ako aj podporu používateľského profilu. Na obslúženie používateľovej požiadavky sa využívajú existujúce vyhľadávače. Systém tieto WWW dokumenty percentuálne ohodnotí podľa ich podobnosti k vzorovým dokumentom nachádzajúcimi sa v profile používateľa Požiadavky na systém Požívatelia systému Dôležitým faktorom pri vytváraní požiadaviek na systém sú používatelia, ktorý s ním budú narábať. Je dôležité poznať úroveň ich vedomostí a k tomu primerane navrhnúť ich možnosti a kompetencie v danom systéme. Z toho dôvodu je potreba pridať do systému okrem obyčajných používateľov (registrovaných používateľov) aj dvoch špeciálnych (jazykovedec, administrátor). Isté nastavenia v systéme sa budú týkať všetkých používateľov a preto je vhodné aby na tieto mali privilégiá iba títo špeciálny používatelia. Registrovaný používateľ Používateľ, ktorý sa pomocou WWW rozhrania aplikácie zaregistruje do systému a je v danom okamžiku prihlásený. Je oprávnený vytvárať a spravovať vlastný WWW adresár, rozširovať si vlastný profil a vyhľadávať WWW dokumenty. Nemusí mať žiadne špeciálne znalosti, predpokladá sa základná používateľská znalosť Internetu. Jazykovedec Používateľ, ktorý sa pomocou WWW rozhrania aplikácie zaregistruje do systému a má špeciálne prístupové práva k dátovým úložiskám systému, zabezpečujúcim morfologickú podporu slovenčiny. Musí mať prehľad v gramatike slovenského jazyka a predpokladá sa základná používateľská znalosť Internetu. 29

37 Administrátor systému Používateľ, ktorý sa pomocou WWW rozhrania aplikácie zaregistruje do systému a má špeciálne práva, ktoré mu umožňujú konfiguráciu systému a správu používateľov (rušiť, pridávať jazykovedcov). Predpokladá sa dobrá znalosť jazyka HTML a vyhľadávacích služieb na Internete, keďže pri pridávaní ďaľších vyhľadávačov do systému je potrebné popísať štruktúru stránky pomocou tagov (značiek) jazyka HTML. Popis systému z pohľadu používateľov V predchádzajúcich sme si zadefinovali 3 základné typy používateľov systému. Teraz popíšeme požiadavky na funkčnosť systému z pohľadu jednotlivých typov používateľov. Pohľad registrovaného používateľa Registrovaný používateľ má prístupné hlavné činnosti, ktoré systém poskytuje. Tieto činnosti môžeme zadeliť do dvoch kategórií. V prvej kategórii sú činnosti súvisiace so správou WWW adresára: Vytvárať nové témy s prípadným dedením odkazov z už existujúcich tém (aj z tém iných používateľov, pokiaľ to povolili). Vymazať tému Pridať odkaz pod vybranú tému. Zmazať odkaz. Pridať odkaz medzi vzorové pre danú tému (pridať do profilu) V druhej kategórii je vyhľadávanie WWW dokumentov: vyhľadávanie bez hodnotenia vyhľadávanie s hodnotením Pohľad administrátora systému Administrátor systému má na starosti nastavenia systému smerom k vzhľadávacím službám a správu používateľov systému: môže pridať do systému nový vyhľadávač, ktorému budú presmerovávané používateľove dotazy na vyhľadávanie. má možnosť pridávať používateľov typu jazykovedec rušiť používateľské konto. 30

38 Pohľad jazykovedca Jazykovedec má na starosti optimalizáciu morfologickej podpory slovenčiny systémom. Má možnosť spúšťať s tým súvisiace funkcie systému: Správa (pridávanie, editácia, mazanie) morfologických tvarov Popis systému z pohľadu funkcionality V tejto časti popíšem požiadavky na funkcie systému, ktoré som doteraz v rámci popisu používateľov spomínal. Požiadavka možnosti vyhľadávania odkazov V zadaní diplomovej práce bola požiadavka, aby systém spolupracoval s existujúcimi vyhľadávacími programami. Táto požiadavka súvisí hlavne s hardvérovými nárokmi Internetovských vyhľadávacích robotov na uskladnenie svojich indexových súborov. Používateľ bude mať možnosť priamo z aplikácie vyhľadávať odkazy na základe zadaných dopytov. Vyhľadané odkazy potom môže pridať do svojho WWW adresára. Požiadavka možnosti triedenia odkazov: Množstvo odkazov, ktoré poskytujú najväčšie vyhľadávacie služby na zadaný dopyt (požiadavku) môže byť až niekoľko stoviek. Väčšina z týchto liniek je však pre používateľa nevyhovujúca. Požiadavkou na systém je, aby dokázal prefiltrovať tieto odkazy a používateľovi poskytnúť informáciu o adekvátnosti jednotlivých WWW dokumentom jeho požiadavkám. Požiadavka na riadiace znaky pri zadávaní kľúčových slov Aplikácia bude vedieť interpretovať všetky riadiace znaky v kľúčových slovách používateľskej požiadavky, na ktoré sú používatelia zvyknutí z iných vyhľadávačov:

39 Morfologická podpora slovenského jazyka Ďalšou požiadavkou na systém je podpora slovenského jazyka pri hodnotení používateľovi poskytnutých odkazov. Táto požiadavka vyplynula hlavne z analýzy algoritmov na triedenie WWW dokumentov. Vyhodnocovanie užitočnosti dokumentov je do veľkej miery závislé na jazyku. Požiadavka na používateľské rozhranie Keďže sa jedná o Internetovskú aplikáciu, používateľské rozhranie systému tomu bude tiež zodpovedať, t.j. aplikácia bude sprístupniteľná cez WWW prehliadače. Z toho vyplýva aj možnosť pripájania sa viacerých používateľov súčasne. 32

40 3.2 Návrh Po časti špecifikácie požiadaviek, kde sme odpovedali na otázku Čo nasleduje v životnom cykle softvéru časť návrhu, v ktorej sa hľadá odpoveď na otázku: Ako?. Najprv sa pozrieme na celý systém z nadhľadu, na tzv. architektonickú štruktúru. Potom sa budeme podrobnejšie venovať jednotlivým modulom systému a dátovému modelu. V dokumentácii budeme systém modelovať pomocou notácie UML, ktorá sa v poslednom čase stáva štandardom Architektúra systému Pri návrhu architektúry systému boli na výber dve možnosti: Vytvorenie jednopoužívateľskej aplikácie, ktorá by pracovala na lokálnom počítači (inteligentný agent) Vytvorenie systému s architektúrou klient-server (Obr. 8) Vybral som si druhú možnosť a to z viacerých dôvodov: Databáza používateľov môže byť umiestnená na servery, t.j. nemusí byť na každom počítači, z ktorého chceme vyhľadávací program spúšťať Používateľ bude mať možnosť pristupovať k svojim nastaveniam z každého počítača, ktorý je pripojený na Internet Odkazy každého používateľa môžu byť prístupné ostatným používateľom Dopyt Internet Klient Služba Obrázok 8. Architektúra klient-server. Server Z Hľadiska návrhu môžeme systém rozdeliť do dvoch častí. Jedna časť je klientská, ktorá v podstate zabezpečuje rozhranie celého systému smerom na používateľa. Druhá časť beží na strane servera a vykonáva všetky podstatné funkcie systému. Na obrázku 9 je znázornený tento pohľad na systém. 33

41 Obrázok 9. Architektonický návrh systému. Ako je to z obrázku 9 zrejmé, navrhovaný systém bude meta vyhľadávací programom, ktorý na splnenie používateľských dopytov využíva existujúce internetovské vyhľadávacie služby (altavista, google,...). V ďalšom texte na chvíľu odhliadneme od architektonického riešenia a sústredíme sa na funkcie, ktoré bude systém vykonávať. Pozrieme sa na funkčnosť systému z pohľadu používateľa (tzv. usecase pohľad). Na začiatok popíšem nahlasovanie používateľov do systému obr.10. Nahlasovanie sa do systému <<extend>> Login registrovaného používateľa Internetovský používateľ Identifikácia používatela <<extend>> <<extend>> <<extend>> Login administrátora systému Zaregistrovanie nového používateľa Login jazykovedca Obr. 10. Nahlasovanie používateľa. Na obrázku je použitá notácia UML. Väzba extend znamená, že ak sa spustí prípad použitia pri ktorom je šípka, tak sa vykoná jeden z tých, s ktorými je v danej väzbe. 34

42 Pri nahlasovaní používateľa do systému sa identifikuje o akého používateľa sa jedná (registrovaný používateľ, administrátor systému, jazykovedec). Zistí sa to podľa používateľského mena (login) a používateľského hesla. Na základe toho sa sprístupnia funkcie, ktoré môže daný používateľ v systéme vykonávať. Registrovaný používateľ má prístupné dva okruhy funkcíí systému. Prvý okruh súvisí so správou WWW adresára (obr. 11), druhý s vyhľadávaním WWW dokumentov (obr. 12). Funkcie WWW adresára <<extend>> Vytvorenie témy <<include>> Vymazanie všetkých odkazov k téme <<extend>> <<include>> Zrušenie témy Registrovaný používateľ Správa WWW adresára <<extend>> Vymazanie profilu k téme <<extend>> <<extend>> Pridanie odkazu k téme Pridanie vorového dokumentu do profilu Zrušenie odkazu Obr. 11. Správa WWW adresára. Väzba include znamená, že ak sa spustí prípad použitia (PU) Zrušenie témy, tak sa vykonajú všetky PU, s ktorými je v danej väzbe. Tento proces umožňuje používateľovi spravovať svoje nastavenia vo WWW adresáry (v databáze systému). Ako vidno na obrázku 6 pod pojmom správa WWW adresára rozumieme jeden z nasledujúcich prípadov použitia: vytvorenie témy, zrušenie témy, pridanie WWW dokumentu pod tému, zmazanie WWW dokumentu z témy a pridanie vzorového WWW dokumentu k téme. V nasledujúcich častiach podrobnejšie opíšem návrh niektorých hlavných funkcií systému. 35

43 Obr. 13. Hlavný používateľský formulár. Pridávanie novej témy Systém bude umožňovať používateľom pridávať nové tematické okruhy. Používateľ bude môcť volať túto funkciu z položiek menu (obr. 13). Zobrazí sa obrazovka (obr. 14), v ktorom sa zadávajú údaje pre novo vytváranú tému. Systém bol navrhnutý tak, aby si používateľ mohol vybrať, či má byť vytváraná téma (teda odkazy patriace pod danú tému) dostupná pre ostatných používateľov. Pod touto dostupnosťou sa rozumie isté dedenie odkazov na WWW dokumenty. Používateľ si môže z niektorej z verejných tém (označených ako dostupné pre iných používateľov) prebrať odkazy pre svoju vytváranú tému. Na obrázku 14 sú tieto odkazy vložené do výberu (combo box) Verejné témy. Obr 14. Návrh obrazovky pre pridávanie novej témy. Zmazanie témy Systém bude umožňovať vymazanie tém, ktoré sú už pre používateľa nepotrebné. Túto funkciu bude možné volať z menu systému. Pri vymazaní témy, sa z databázy vymaže záznam o danej téme, vymažú sa všetky odkazy prislúchajúce k danej téme a vymaže sa aj profil k tejto téme. 36

44 Pridávanie odkazu do témy Funkciu pridania odkazu bude možné spúšťať z používateľského menu. Systém si zapamätáva používateľom posledne otvorený odkaz na WWW dokument. Po aktivácii funkcie pridávania témy, systém poskytne URL (Uniform Resource Locator) tohto WWW dokumentu požívateľovi na overenie, či je to naozaj ten odkaz, ktorý chce pridať. Po potvrdení sa odkaz pridá do WWW adresára. Pridávanie odkazu do systému znamená jednak pridanie jej URL a tiež pridanie indexu (popisu získaného od vyhľadávača, z ktorej bol odkaz získaný). Bližšie si o údajoch pridávaných do databázy pri pridávaní linky povieme v časti Logický model údajov. Zmazanie odkazu Táto funkcia systému sa bude dať spúšťať z používateľského menu. Po jej aktivovaní si používateľ vyberie zo zoznamu stránku na mazanie. Po potvrdení mazania sa daná stránka (url a index) odstráni zo systému. Pridanie vzorovej linky do profilu Táto funkcia bude používateľovi umožňovať budovať si profil k témam, ktoré si vytvoril. Funkcia bude spustiteľná priamo z hlavného používateľského formulára. Rovnako ako v prípade pridávania linky aj tu si bude systém pamätať posledne otvorenú linku a tú pridá do profilu pod tému, ktorú má používateľ aktuálne nastavenú vo výbere tém (obr. 13). Z WWW dokumentu, na ktorý sa linka odkazuje sa získajú a následne uložia do databázy dvojice kľúč a váha daného kľúča podľa nasledovného algoritmu (alg. 1): Rozparsuje sa daný WWW dokument a získajú sa z neho užitočné informácie, t.j. odfiltrujú sa z textu značky, konštrukcie jazyka HTML (tzv. HTML tagy). Takto získaný text sa rozloží na jednotlivé slová (reťazce oddelené medzerou) a tie sa uložia do poľa (vektora). Odfiltrujú sa slová, ktoré majú menej znakov ako 3 Prebehne morfologická analýza daných slov, v ktorej sa zistí základ pre každé slovo. Pri tomto procese sa pre rôzne morfologické tvary toho istého slova nájde základ daného slova (v ďalšom ich budeme nazývať kľúče). Pre ilustráciu si môžeme vyskloňovať slovo hrdina. Nemenný základ tohoto slova je hrdin. Morfologické tvary: hrdina, hrdinu, hrdinovi, atď. 37

45 Mechanizmus je teda taký, že sa systém na každé slovo pokúša napasovať čo najdlhšiu príponu, akú má v databáze. Ak nájde vyhovujúcu príponu, tak ju odstráni a tým získa základ daného slova. Vyhľadajú sa a uložia rovnaké kľúče a ich násobnosť. Na uloženie týchto informácií je najvýhodnejšie použiť hašovaciu tabuľku, v ktorej bude kľúčom základ slova (teda kľúč) a prvkom bude počet výskytov. Takto získané dvojice kľúč počet výskytov sa uložia do databázy pod prislúchajúcu tému 38

46 Vyhľadávanie <<extend>> Zobrazenie odkazov z DB <<extend>> Registrovaný používateľ Správa vyhľadávania <<extend>> Vyhľadávanie na vyhľ. serveroch bez hodnotenia Vyhľadávanie na vyhľ. serveroch s hodnotením Obr. 12. Vyhľadávanie odkazov na WWW dokumenty. Zobrazenie odkazov z databázy Táto funkcia bude umožňovať používateľovi prezeranie si obsahu svojho WWW adresára. Používateľ si vo výbere Témy (obr.13) vyberie tému a funkciu výpisu aktivuje výberom položky Zobraz v hlavnom používateľskom menu (obr. 13). V tomto výbere bude mať používateľ všetky svoje témy. Odkazy sa vypíšu do dolnej časti používateľského rozhrania (dolného FRAMEu). Vyhľadávanie na vyhľadávacích serveroch bez hodnotenia Táto funkcia bude vykonávať presmerovanie používateľského dopytu (kľúčové slová, na základe ktorých má prebehnúť vyhľadávanie) na vyhľadávacie servery, ktoré sú systémom podporované. Takto získané výsledky sa následne zobrazia používateľovi, ktorý ich potom môže prezerať, pridávať do tém, alebo profilu. Vyhľadávanie na vyhľadávacích serveroch s hodnotením Funkcia vyhľadávania s hodnotením rozširuje predchádzajúcu o to, že ponúka používateľovi percentuálne ohodnotenie jednotlivých vyhľadaných stránok. Toto ohodnotenie symbolizuje podobnosť stránky k vzorovým stránkam v profile. Na nasledujúcich riadkoch popíšem návrh mechanizmu hodnotenia WWW dokumentov. (alg. 2): 1. Vytvorí sa hašovacia tabuľka z profilu pre danú tému: 39

47 Z kľúčov uložených v profile používateľa sa pomocou algoritmu TD-IDF vytvorí vektor u reprezentovaný hašovacou tabuľkou, kde kľúčom do tabuľky je samotný kľúč a prvkom je váha toho kľúča. Váha kľúčového slova sa vypočíta pomocou nasledovného vzorca: DF( i) w i = TF( i)., (12) D kde w i je váha i -teho kľúča, TF (i) je celkový počet výskytov i - teho kľúča na vzorových stránkach, DF (i) počet vzorových WWW dokumentov pre danú tému, na ktorých sa daný kľúč vyskytol aspoň raz, D celkový počet vzorových WWW dokumentov pre danú tému. Získaný vektor sa normuje, t.j. sčítajú sa všetky hodnoty v hašovacej tabuľke a následne sa každá hodnota vydelí výslednou sumou: w Normi = n w i= 1 i w i Z posudzovanej stránky sa vytvorí vektor v reprezentovaný hašovacou tabuľkou podľa algoritmu 1 popísaného v časti pridanie vzorového WWW dokumentu. Normuje sa daný vektor Vypočíta sa výsledné hodnotenie podľa vzorca: t.j, vektory (13) Hodnotenie = u. v.100%, (14) u a v sa skalárne vynásobia a výsledok sa prevedie na percentá. Normovanie vektora u a v bolo potrebné, aby výsledok tohoto súčinu bola hodnota medzi 0 a 1. Samotné vyhľadávanie je z pohľadu návrhu a aj z pohľadu používateľa dvojstupňové. Najprv používateľ zadá kľúčové slová pre vyhľadávanie. Systém tieto posunie ďalej všetkým vyhľadávačom, ktoré sa nachádzajú v databáze systému. V tomto kroku systém zisťuje počet a URL stránok s výsledkami vyhľadávania na vyhľadávačoch. Výsledkom prvého stupňa vyhľadávania je teda zobrazenie odkazov na tieto stránky používateľovi (obr. 15). 40

48 Ďaľší stupeň vyhľadávania sa spúšťa po kliknutí na niektorú z týchto liniek. Systém zobrazí vyhľadané stránky buď s hodnotením, alebo bez (podľa zvoleného typu vyhľadávania). Obrázok 15. Výsledok 1. stupňa vyhľadávania. 41

49 3.2.2 Logický model údajov Jednou z najdôležitejších častí vytváraného vyhľadávacieho programu je databáza, v ktorej sa budú uchovávať údaje používateľov. Z toho dôvodu je potrebné vhodne navrhnúť dátový model systému. Na obrázku 16 je znázornený logický model údajov, ktorý na nasledujúcich stranách stručne objasním. Zameriam sa hlavne na tie časti modelu, na ktoré som sa v predchádzajúcom texte odvolával. Pre náčrt modelu som znova použil notáciu Uml. Linka url : String index : String 0.n Používateľ login : String heslo : Long uroven pocet vzor. dok. : Long 1.n 0.n Téma 1.n názov : String dotaz : String verejné : Boolean počet vzor. dok. : Integer n Profil kľúč : String počet : Integer počet dokumentov : Integer 0..n Obrázok 16. Logický model údajov Dátový model pozostáva zo štyroch entít: používatelia, témy, profily, linky. Neskôr ešte k tomuto modelu pridám ďalšie 2 entity, ktoré sú síce iba pomocné, avšak zastávajú veľmi dôležitú úlohu v systéme. Jedná sa o entity, ktoré popisujú morfologické tvary slov a vyhľadávače, s ktorými systém spolupracuje. Keďže je systém navrhnutý pre viacpoužívateľský prístup, je potrebné uchovávať isté informácie o používateľoch. Entita používatelia obsahuje základné údaje o používateľoch systému. Pod tým rozumieme používateľské meno, heslo a typ používateľa (registrovaný používateľ, administrátor, jazykovedec). 42

50 Entita témy popisuje témy, ktoré si daný používateľ vytvoril. O každej téme sa uchováva jej názov, základný dopyt (kľúče, ktoré charakterizujú danú tému), verejnosť témy a počet vzorových dokumentov pre danú tému. Všimnite si vzťah medzi entitami používatelia a témy. Každá téma musí mať aspoň jedného vlastníka, ale môže mať aj viacerých. Vo fyzickom dátovom modely, ktorý je uvedený v časti fyzickej dokumentácie je zmena v tom, že každá téma má jedinečný identifikátor (automaticky generované číslo) a teda každá téma patrí práve jednému používateľovi. Entita linky obsahuje odkazy na WWW dokumenty. Popisuje odkazy, ktoré používateľ pridal pod nejakú tému. Obsahuje URL daného dokumentu a popis uvedený vo vyhľadávači pre danú stránku. Jeden údaj typu linky patrí aspoň k jednému používateľovi a aspoň k jednej téme. Entita profily popisuje charakteristiky daného používateľa vzhľadom na nejakú tému. Teda reprezentuje istý vzorový WWW dokument pre nejakú tému daného používateľa. Obsahuje kľúč (kľúčové slovo), celkový počet výskytu kľúča na vzorových stránkach a počet vzorových stránok, na ktorých sa daný kľúč vyskytol aspoň raz. Všetky tieto informácie sú vstupom do algoritmu TF- IDF, ktorý som popísal v časti návrhu funkcie vyhľadávania. Vyššie popísané entity sú základom celého dátového modelu. Okrem nich sa však budú v systéme využívať aj ďalšie izolované, pomocné tabuľky. Presný popis týchto tabuliek sa nachádza v časti technickej dokumentácie. Tu popíšem dve najdôležitejšie: model tabuľky na uchovávanie morfologických tvarov slov a model tabuľky na popis vyhľadávačov, s ktorými systém spolupracuje. Tabuľka na uchovávanie morfologických tvarov Táto dátová entita umožňuje systému podporu morfológie slovenského jazyka. Obsahuje morfologické tvary vzorových podstatných mien v slovenčine. 43

51 Prípony M orfologický základ : String 1. pád : String 2. pád : String 3.pád : String pád : String Obrázok 17. Dátová entita Prípony Dátová štruktúra Prípony obsahuje morfologický základ slova (podstatného mena) a morfologickú príponu pre každý pád. Tabuľka na popis vyhľadávačov Dátová entita Vyhľadávače obsahuje údaje potrebné na zaslanie požiadavky používateľa na vyhľadávanie a na následné získanie informácií o vyhľadaných odkazoch zo stránky vyhľadávača (altavista, google, ) url : String nazov : String logický AN D : String logický O R : String logické úvodzovky : String logický NOT : String defaultný operátor : String začiatok linky : String koniec linky : String prve query prefix : String prve query suffix : String začiatok zoznam u : String koniec zoznam u : String Vyhľadávače Obrázok 18. Dátová entita Vyhľadávače Na tomto mieste nebudem popisovať všetky atribúty danej štruktúry (je to v časti technickej dokumentácie k návrhu). Spomeniem ale aspoň tie najdôležitejšie. Atribúty začiatok linky a koniec linky vymedzujú časť HTML kódu na stránke vyhľadávača (altavista, google, ), v ktorom sa nachádza jeden odkaz na nájdený WWW dokument Atribúty začiatok zoznamu a koniec zoznamu vymedzujú časť HTML kódu, kde sa nachádzajú odkazy na ďalšie stránky v rámci daného vyhľadávača s odkazmi na nájdené WWW dokumenty. 44

52 Podrobnejší popis jednotlivých entít a atribútov dátového modelu je v časti Technická dokumentácia Dokumentácia k návrhu Fyzický model údajov. 45

53 3.3 Implementácia Vytváraný systém - MetaScouter je z implementačného hľadiska aplikácia bežiaca na WWW servery. WWW server je program, ktorý umožňuje aby WWW dokumenty, alebo aplikácie, ktoré generujú WWW dokumenty (tzv. dynamicky generované stránky) uložené na jednom počítači, boli prístupné používateľom cez Internet. Práve technológiu dynamického generovania stránok som použil aj pri implementácii vyhľadávača XY. Schematicky je táto technológia znázornená na obrázku.19. Obrázok 19. Schéma spôsobu dynamického generovania stránok Na obrázku 20 je globálny pohľad na architektúru systému z implementačného hľadiska. Aplikáciu môžeme z hľadiska použitých technológií rozdeliť na 2 časti: serverovskú časť a klientskú časť. 46

54 Obr. 20. Fyzické moduly systému. Plné čiary tok údajov, prerušované Serverovská časť riadenie. Je implementovaná v programovacom jazyku Java. Programy implementované v Jave a bežiace na WWW serveroch sa nazývajú Servlety. Použitie Javy ako implementačného jazyka má viacero výhod: Je čisto objektovo orientovaný jazyk prehľadnejší, dobre čitateľný kód Podporuje serverovské aplikácie Java servlety Platformová nezávislosť možnosť prevádzkovania na rôznych druhoch operačných systémov Výborné vývojové prostriedky, ktoré urýchľujú vývoj JDeveloper (IBM), JBuilder (Inprise) Zaručuje robustnosť výslednej aplikácie Navyše v samom zadaní diplomovej práce bola ako implementačný jazyk odporúčaná Java, zrejme z dôvodu dobrých skúseností zadávateľov projektu s daným jazykom. Okrem toho s týmto jazykom som už mal predchádzajúce programátorské skúsenosti. Možné alternatívy použitia servletov boli technológie: CGI, ASP, PHP. CGI (Common Gateway Interface) je staršia technológia, ktorá sa pomaly, ale isto vytráca z Internetu. Jej nevýhodou oproti servletom je, že sa kód 47

55 programu musí pri každej požiadavke znova a znova naťahovať z disku do operačnej pamäte. Toto je časovo dosť náročná operácia. Servlet sa oproti tomu načíta iba pri prvom spustení a potom už ostáva v operačnej pamäti serverovského počítača. Tým sa ďalšie požiadavky obsluhujú pomerne rýchlo. ASP (Active Server Pages) je technológia spoločnosti Microsoft. Jej nevýhodou je, že bola vyvinutá iba pre platformu Microsoft Windows. Serverovské aplikácie sa však väčšinou nasadzujú na operačný systém UNIX, ktorá je pre tieto účely veľmi efektívna. PHP je tretia možná alternatíva a podľa môjho názoru by pre vyvíjanú aplikáciu bola zo spomenutých technológií (CGI, ASP, PHP) vyhovujúca. Ak však zoberieme do úvahy pohodlnosť programovania, tak aj v tomto súboji vyhráva Java (výborné vývojové prostriedky, jasný kód). Pre vývoj som použil Javu od spoločnosti SUN, JDK 1.2 (Java Development Kid) rozšírenú o triedy potrebné pre implementáciu servletov JSDK (Java Servlet Development Kid). Môj výber ovplyvnilo najmä to, že tento balík Javovských tried je dnes istým štandardom, ktorý zaručuje prenesiteľnosť vyvinutej aplikácie na rôzne platformy. Serverovskú časť aplikácie by sme mohli rozdeliť do troch modulov - balíkov (package). Toto rozdelenie je v podstate založené na súdržnosti jednotlivých tried systému (Obr. 20). V prvom module sú triedy, ktoré zabezpečujú funkcionalitu systému pre registrovaného používateľa, v druhom sú triedy, ktoré umožňujú správu globálnych nastavení, t.j. takých, ktoré sa týkajú všetkých registrovaných používateľov (tento modul teda zabezpečuje funkcionalitu systému z pohľadu administrátora systému a jazykovedca). Tretí, posledný modul je externý a slúži na parsovanie HTML stránok (WWW dokumentov). Tento balík sa volá JTidy a je v zdrojových kódoch voľne šíriteľný XML/HTML parser napísaný v Jave. Bol vytvorený v Massachusetts Institute of Technology. Podmienky použitia sa nachádzajú na priloženom CD médiu (súbor copyright.txt). Ako je to na obrázku 20 znázornené, pri vytváraní modulov som dodržiaval trojvrstvovú architektúru: vrstva obchodnej logiky (BL z angl. Business Layer), vrstva prípadov použitia (UC z angl. Use Case), vrstva generovania stránok (PAGE z angl. Page). 48

56 Vrstva obchodnej logiky zabezpečuje celú logiku systému. Na tejto úrovni sa nachádzajú metódy na prácu s databázou, metódy umožňujúce interakciu systému s WWW vyhľadávačmi a tiež s modulom na parsovanie HTML stránok. Stredná vrstva : vrstva prípadov použitia v podstate iba používa metódy BL na naplnenie dátových štruktúr potrebných na vygenerovanie stránky (čo sa robí o úoveň vyššie). To v podstate znamená, že UC iba poskladá potrebnú funkcionalitu z metód BL, teda neobsahuje žiadnu logiku. Najvyššia vrstva: vrstva generovania stránok zabezpečuje vlastnú tvorbu stránky na základe dát získaných od vrstvy UC. Pracuje na takom princípe, že sa výstup presmeruje na používateľov WWW prezerač a vypisuje na výstup HTML kód. Kvôli názornosti tu uvediem krátky príklad: out.println(" <INPUT type=hidden name=\"uc\" value=\"peckem.addlink\">"); out.println(" <INPUT type=hidden name=\"method\" value=\"setaddlink\">"); out.print(" <input type=hidden name=\"topic\" value=\""); out.print(context.dslink.oidtopic); out.println("\">"); Na obrázku 21 je znázornená časová postupnosť v akej sa jednotlivé vrstvy aktivujú. 49

57 Obrázok 21. Časová postupnosť aktivovania jednotlivých vrstiev. Klientská aplikácia zašle dotaz na základnú triedu systému - Servlet. Táto trieda zabezpečuje, že sa systém správa ako Javovský servlet. Tento dopyt sa skladá z URL časti, ktorá je cestou k danému servletu a z parametrov: url parameter = hodnota & parameter = hodnota &...& parameter n = hodnota? n kde parametre udávajú, ktorý UC má trieda Servlet zavolať a s akými parametrami. Tento prístup, pri ktorom existuje iba jeden spustiteľný súbor a ten spúšťa ostatné podľa potreby, sa nazýva Beans. Vrstva UC potom zavolá metódy BL, ktoré naplnia potrebné dátové štruktúry. Tie UC následne predá vrstve PAGE, ktorá ich pridá na vygenerovanú stránku., Databáza systému Databázu systému som vyvoril v programe MS Access od spoločnosti Microsoft. MS Access ukladá štruktúru tabuliek aj s údajmi do súboru (*.mdb) na lokálny disk. K tomuto súboru pristupujem ako k ODBC (Open Database Connectivity) zdroju dát. Toto zaručí, že databáza môže byť nahradená inou (mysql, MS SQL,...) a zaručí aj prenesiteľnosť systému na inú platformu (napr. LINUX). 50

58 3.3.3 Klientská časť Na obrázkoch 20 a 21 je už naznačená funkcia klientskej časti aplikácie. Zabezpečuje rozhranie smerom k používateľovi a na základe jeho požiadavok zasiela dopyty na server, t.j aktivuje potrebné prípady použitia (UC). Je založená na technológii Dynamickej HTML (DHTML), čo je v podstate HTML kód obohatený o skriptovací jazyk Java Script a kaskádové štýly (slúžia na grafickú úpravu stránky). Kód týchto stránok bol optimalizovaný pre WWW prehliadač Microsoft Iinternet Explorer. 51

59 3.4 Testovanie riešenia Testovanie systému som rozdelil do dvoch kategórií: Testovanie funkčnosti Testovanie prínosov Testovanie funkčnosti Pod testovaním funkčnosti rozumiem zistenie a odstránenie funkčných chýb aplikácie a nezrovnalostí so špecifikáciou požiadaviek. Toto testovanie prebiehalo na viacerých úrovniach. Testovanie tried a ich metód sa uskutočnilo už pri samotnej implementácii. Každá trieda bola pred integrovaním do systému samostatne otestovaná. Pre testovanie metód som používal techniku bielej skrinky, pre testovanie tried, prípadne množiny tried (modulov) som použil techniku čiernej skrinky. Integrovanie a testovanie systému prebiehalo postupne, pridávaním ucelených modulov do systému (obr. 781). Obrázok 22. Testovanie a integrácia systému. Pred pridaním možnosti vyhľadávania liniek na WWW, sa väčšina testovacích údajov pridávala do databázy ručne. Pre testovanie výsledného systému som plánoval použiť aplikáciu Rational Site Check. Táto aplikácia je veľmi užitočná pri testovaní statických stránok. Odhalí všetky neplatné odkazy vyskytujúce sa na testovaných stránkach. Do istej miery podporuje aj stránky 52

60 s formulármi, avšak iba značne obmedzene, čo pre testovanie vyvíjanej aplikácie nepostačovalo. Z toho dôvodu som sa rozhodol funkčnosť výslednej aplikácie otestovať ručne. Prechádzal som všetky funkcie systému a porovnával správanie sa systému s požadovaným správaním popísaným v špecifikácii. Pri tom som sa snažil objavovať aj drobné chyby (Bugy), väčšinou grafického charakteru Testovanie prínosov Pri testovaní prínosov sa preveruje, či boli splnené ciele projektu a do akej miery. Stanovenie miery splnenia cieľov projektu je v tomto prípade dosť subjektívne. Pri testovaní som si vytváral vlastné témy a pridával som k nim vzorové WWW dokumenty. Už pri pridaní prvého (až potom systém začína hodnotiť) bol schopný odhaliť nefunkčné odkazy a WWW stránky, ktoré sa podľa môjho úsudku podobali na vzorový hodnotil vysoko. Po pridávaní ďalších vzorových WWW stránok som bol s výsledkami systému spokojný. Problémom však boli WWW stránky, ktoré obsahovali tzv. rámce (FRAME). Keďže sa informácie nenachádzajú priamo na danej stránke, ale sa naťahujú z iných URL, systém nemá prístup k informáciám, ktoré sa používateľom zobrazujú na danej stránke. Hodnotenie v týchto prípadoch nezodpovedá obsahu danej WWW stránky. Testovanie systému prebiehalo na platforme Windows NT v podmienkach, ktoré boli určené v špecifikácii požiadaviek na technické a programové vybavenie. 53

61 4 Výsledky riešenia a ich zhodnotenie Témou mojej diplomovej práce je vývoj aplikácie MetaScouter - Internetovského vyhľadávacieho programu. Pri vypracovávaní diplomového projektu som sa najprv venoval štúdiu problémovej oblasti. Zaoberal som sa možnosťami a obmedzeniami súčasných vyhľadávacích programov, komerčných aj experimentálnych. V analýze som sa ďalej zaoberal problematikou zisťovania používateľských záujmov pomocou inteligentných systémov (agentov). Na základe týchto poznatkov som sa rozhodol, že budem vytvárať meta vyhľadávací program, ktorý je založený na obsahovo orientovanom prístupe k hodnoteniu relevantnosti WWW dokumentu používateľovým záujmom. Pri hodnotení WWW dokumentov som navrhol možnosť hodnotenia obsahu s ohľadom na morfológiu slovenského jazyka. Na vývoj systému MetaScouter bola použitá technika postupného prototypovania spojená s modelom evolučného vývoja. Bolo to potrebné na overenie si možností implementácie kritických bodov v návrhu systému. Navrhnutý systém je založený na architektúre klient-server a okrem vyhľadávania poskytuje aj funkciu tzv. WWW adresára, t.j. umožňuje uchovávanie získaných odkazov na WWW stránky podľa tém, vytvorených používateľom. Systém je implementovaný v programovacom jazyku Java (tzv. Java servlety Javovské serverovské aplikácie) s využitím technológie dynamického generovania DHTML stránok. Výsledky testovania systému ukázali, že systém vyhovuje v špecifikácii stanoveným požiadavkám a do veľkej miery sa splnili aj ciele projektu. Ako je to analýze uvedené, existuje niekoľko meta vyhľadávacích programov, ktoré sú založené na princípe hodnotenia relevantnosti obsahu WWW dokumentov pre daného používateľa. Prínosy tohoto systému zhrniem v nasledujúcich bodoch: Architektúra klient server, t.j. viacpoužívateľský prístup Použité technológie namodernejšie technológie (Java servlety, DHTML) Algoritmus hodnotenia obsahu WWW dokumentov (alg. typu TF-IDF) 54

62 Zakomponovanie morfológie slovenského jazyka do algoritmov hodnotenia obsahu WWW dokumentov. Keďže tvorba tohoto systému bola prácou jedného človeka, museli sa niektoré časti systému vyriešiť čo najjednoduchšie aby sa na iné (tie dôležitejšie) mohlo viac sústrediť. Systém síce zodpovedá požiadavkám, ktoré boli naň kladené, aby sa však mohol prezentovať ako komerčný produkt, bolo by potrebné na ňom vykonať isté úpravy (vylepšenia): Používateľsky príjemnejšie používateľské rozhranie Podpora viacerých WWW prehliadačov (zatiaľ iba MS Internet Explorer) Použitie výkonnejšej databázy (databázového servera) Rozšírenie systému o ďalšie funkcie, ktoré vylepšia prácu so systémom (objavia sa používaním) 55

63 4.1 Spojitosť s diplomovým projektom Vytvorený systém je výsledkom trojsemestrálnej práce. Prvý rok vývoja prebiehal v rámci Diplomového projektu [10], ktorého výsledkom bola rovnomenná práca. V tej publikácii som popísal rozsiahlu analýzu súčasného stavu, špecifikáciu požiadaviek a tiež som načrtol hrubý návrh systému, ktorý som čiastočne overil pomocou jednoduchých prototypov. V danom projekte som navrhol aj technológie, ktoré by sa mohli použiť pri implementácii. V diplomovej práci som prebral veľkú časť analýzy súčasného stavu a špecifikácie požiadaviek. Tieto časti som doplnil a vylepšil. Podrobný návrh, implementácia a testovanie boli už riešené v rámci Diplomovej práce. 56

64 5 Technická dokumentácia V technickej dokumentácii uvediem dodatočné informácie k predchádzajúcim častiam. Zaradil som sem podrobné informácie o jednotlivých etapách vývoja daného softvéru, ktoré sú väčšinou technického charakteru. Dokumentácia je rozdelená do menších častí, ktoré zodpovedajú práve týmto etapám. Obsah tejto časti: Dokumentácia k špecifikácii požiadaviek Požiadavky na technické a programové vybavenie Nápoveda Dokumentácia k návrhu Fyzický návrh prípadov použitia Fyzický model údajov Dokumentácia k implementácii Zdrojové kódy vybratých algoritmov Dokumentácia k overeniu riešenia Vzorka testovacích údajov Dokumentácia k používaniu a údržbe Požiadavky na technické vybavenie Požiadavky na programové vybavenie Inštalácia systému Odinštalácia systému Obsah priloženého média Používateľská príručka 57

65 5.1 Dokumentácia k špecifikácii požiadaviek V nasledujúcej časti uvediem prídavné požiadavky na systém, ktoré sú skôr technického charakteru a preto neboli zaradené priamo do hlavného textu práce Požiadavky na technické a programové vybavenie Keďže sa jedná o aplikáciu klient server, tak aj požiadavky na technické vybavenie je treba rozdeliť na dve časti: Serverovská časť Klientská časť Požiadavka je tá, aby na strane klienta aplikácia nevyžadovala žiadne špeciálne technické a ani programové vybavenie. Smerodajné by mali byť vybavenia počítačov, ktoré sa používajú bežne na kancelárske práce (Windows 95/NT, MS Explorer 4.0 a vyššie) Nápoveda Okrem písomnej používateľskej príručky musí aplikácia poskytovať aj nápovedu v on-line forme. 58

66 5.2 Dokumentácia k návrhu V nasledujúcej časti uvediem detailný fyzický návrh, na ktorý sa z hlavného textu práce odvolávam Fyzický návrh prípadov použitia V tejto časti uvediem ukážkové diagramy volania metód, ktoré boli vytvorené v rámci návrhu a boli použité pri implementácii systému. Tieto diagramy zachytávajú, časovú postupnosť vykonávania metód na jednotlivých vrstvách. Prípad použitia: Pridávanie odkazu : Servlet AddLink BroEng D B addlink() dataaddlink() generateaddlink() setaddlink() addlink(dslink:link) INSERT Obrázok 23. Diagram časovej postupnosti volania metód na jednotlivých vrstvách. addlink() metóda, ktorá načíta potrebné údaje a vygeneruje formulár pre pridanie nového odkazu pod tému. SetAddLink() metóda, ktorá načíta údaje zadané používateľom a prevedie zmeny v databáze. Štvorček AddLink (hore) reprezentuje vrstvu UC, štvorček BroEng reprezentuje vrstvu BL narábajúcu z databázou a štvorček DB reprezentuje samotnú databázu. 59

67 Prípad použitia: 1. Stupeň vyhľadávania : Servlet Search01UC BroEng BroWeb DB search01uc datasearch01uc() gettopic(long:oidtopic):dstopic SELECT getsearchengines():vector SELECT getnexts(vector:searcheng,dstopic:topic, String:query, String url):vector generatesearch01uc Obrázok 24. Diagram časovej postupnosti volania metód na jednotlivých vrstvách pre prípad použitia vyhľadávanie I. Search0ľUC UC pre prvý stupeň vyhľadávania BroEng časť BL narábajúca z databázou BroWeb časť BL narábajúca s vyhľadávačmi (altavista, yahoo, ) DB databáza systému 60

68 Prípad použitia: 2. Stupeň vyhľadávania Search02UC BroEng BroWeb BroSrch DB : Servlet search02uc() datasearch02uc gettopic(long:oidtopic):dstopic SELECT getsearchengines():vector SELECT getdocs(dssearchengine:se, DSTopic:topic, String query):vector getgarbagelist():vector SELECT getsuffixlist():vector SELECT gethkeys(string:url, Vector:garbage, Vector:suffix):Hashtable getprofil(long:oidtopic):hashtable SELECT tfidf(dsprofil:profil):hashtable pagerating(hashtable:model, Hashtable:page):double generatesearch02uc() Obrázok 25. Diagram časovej postupnosti volania metód na jednotlivých vrstvách pre prípad použitia vyhľadávanieii. Search01UC UC pre prvý stupeň vyhľadávania. BroEng časť BL narábajúca z databázou. BroWeb časť BL narábajúca s vyhľadávačmi (altavista, yahoo, ). BroSrch časť BL vykonávajúca spracovanie WWW dokumentov. DB databáza systému 61

69 5.3 Fyzický model údajov V tejto časti sa nachádza nákres fyzického modelu údajov (Obr. 26) aj s popisom jednotlivých entít. Linka ID : Long IDTema : Long url : String index : String ID : Long kľúč : String Odpad Používateľ ID : Long login : String heslo : Long uroven pocet vzor. dok. : Long n 1 1 n Téma ID : Long IDUser : Long názov : String dotaz : String verejné : Boolean počet vzor. dok. : Integer 1 n Profil ID IDTema : Long kľúč : String počet : Integer počet dokumentov : Integer Prípony Morfologický základ : String 1. pád : String 2. pád : String 3.pád : String pád : String url : String nazov : String logický AND : String logický OR : String logické úvodzovky : String logický NOT : String defaultný operátor : String začiatok linky : String koniec linky : String prve query prefix : String prve query suffix : String začiatok zoznamu : String koniec zoznamu : String Vyhľadávače Obrázok 26. Fyzický model údajov. 62

70 Popis entít a atribútov Používateľ entita obsahujúca údaje o používateľoch systému Login prihlasovacie meno používateľa Heslo heslo používateľa Uroven typ používateľa (1 registrovaný používateľ, 2 jazykovedec, 3 - administrátor) Pocet vzor. dok celkový počet vzorových dolumentov, ktoré má daný používateľ v profile Téma entita obsahujúca informácie o téme v systéme IDUser cudzí kľúč na používateľa Nazov názov témy Dotaz kľúčové slová pre danú tému Verejne flag, či je daná téma verejná pre ostatných používateľov Pocet vzor. dok.- počet vzorových dokumentov v profile pre danú tému Linka - entita obsahujúca údaje o odkazoch v systéme IDTema cudzí kľúč na tému URL URL adresa na WWW dokument Index popis WWW dokumentu získaný z vyhľadávača Profil entita popisujúca profil používateľa. IDTema cudzí kľúč na tému. Kluc kľúčové slovo Počet počet výskytov daného kľúčového slova Pocet dokumentov počet WWW dokumentov, na ktorých sa dané kľúčové slovo vyskytlo aspoň raz Prípony entita obsahujúca morfologické vzory Morfologicky zaklad základ daného slova Pad1 až Pad7 morfologické prípony pre 1. až 7. pád Odpad entita obsahujúca odfiltrovávané slová z WWW dokumentov (nemajú žiadnu informačnú hodnotu) Kluc kľúčové slová, ktoré sa majú odfiltrovať 63

71 Vyhľadávače - entita popisujúca vyhľadávacie služby, s ktorými systém spolupracuje Url URL daného vyhľadávača Nazov v systéme zobrazovaný názov vyhľadávača Logicky AND znak pre logickú operáciu AND v danom vyhľadávači pri zadávaní používateľského dopytu Logicky OR - znak pre logickú operáciu OR v danom vyhľadávači pri zadávaní používateľského dopytu Logicke uvodzovky - znak pre spájanie kľúčov v danom vyhľadávači pri zadávaní používateľského dopytu Logicky NOT - znak pre logickú operáciu NOT v danom vyhľadávači pri zadávaní používateľského dopytu Defaultny operator logická operácia, ktorá sa v danom vyhľadávači priradí medzere medzi kľúčovými slovami při zadávaní používateľského dopytu Zaciatok linky časť HTML kódu, ktorý udáva začiatok odkazu na stránke vyhľadávača Koniec linky časť HTML kódu, ktorý udáva koniec odkazu na stránke vyhľadávača Prve query prefix predná časť dopytu na vyhľadávač Prve query suffix - koncová časť dopytu na vyhľadávač Zaciatok zoznamu - časť HTML kódu, ktorý udáva začiatok zoznamu odkazov na ostatné stránky s vyhľadanými odkazmi na stránke vyhľadávača Koniec zoznamu - časť HTML kódu, ktorý udáva koniec zoznamu odkazov na ostatné stránky s vyhľadanými odkazmi na stránke vyhľadávača 64

72 5.4 Dokumentácia k implementácii Zdrojové kódy vybratých algoritmov V tejto časti uvediem zdrojové kódy vybratých algoritmov. Všetky tieto algoritmy sa nachádzajú na úrovni obchodnej logiky (BL) Algoritmus: TF-IDF /** Metoda vrati jednotkovy vektor vzorovych stranok podla algoritmu TFIDF */ public Hashtable tfidf(dsprofil dsprofil) { Hashtable result = new Hashtable(); double rate; double weight; DSProfilElm dsprofilelm; Enumeration enum = dsprofil.dsprofilelm.elements(); while (enum.hasmoreelements()) { dsprofilelm = (DSProfilElm) enum.nextelement(); weight = ((long)dsprofilelm.count) * ((long)dsprofilelm.docs) / ((long)dsprofil.alldocs); result.put(dsprofilelm.key, new Double(weight)); } result = simplevector(result); return result; } Algoritmus: Normovanie vektora /** Metoda vytvory zo vstupneho vektora jednotkovy vektor */ public Hashtable simplevector(hashtable h) { Enumeration e = h.elements(); Enumeration keys = h.keys(); double power = 0; double value; double length = 0.0; String key; 65

73 while (e.hasmoreelements()) { value = ((Double)e.nextElement()).doubleValue(); power += value * value; } length = Math.sqrt(power); while (keys.hasmoreelements()) { key = (String)keys.nextElement(); value = ((Double)h.get(key)).doubleValue(); h.remove(key); h.put(key, new Double(((double)value)/length)); } return h; } Algoritmus: Odstránenie morfologických prípon /** Metoda odstrani nepotrebne pripony slov * Autor: Peter Liczki * */ protected Vector cutthedevil(vector words, Vector suffix) { String slovo, koncovka = "", res; Enumeration ewords = words.elements(); Enumeration esuffix; Vector result = new Vector(); while (ewords.hasmoreelements()) { slovo = (String)eWords.nextElement(); esuffix = suffix.elements(); if (esuffix.hasmoreelements()) do { koncovka = (String)eSuffix.nextElement(); } while (!slovo.endswith(koncovka) && esuffix.hasmoreelements()); res = slovo.substring(0, slovo.length() - koncovka.length()); 7 res = res.trim(); if (!res.equals("")) result.addelement(res); } } return result; 66

74 5.5 Dokumentácia k overeniu riešenia Vzorka testovacích údajov Pri testovaní systému som sa zameral hlavne na testovanie prínosov. Popri tom som však sledoval aj to, či sa aplikácia správa podľa požiadaviek stanovených v špecifikácii. Systém som testoval vyhľadávaním informácií o slovenskej hudobnej skupine Free Faces. Postup testovania: Vytvoril som novú tému hudba Do systému som zadal dopyt: +hudba + free faces Systém bol nakonfigurovaný pre vyhľadávače altavista a yahoo, teda zadaná požiadavka bola presmerovaná na tieto vyhľadávače. Vyhľadávač altavista poskytol dve stránky s odkazmi na relevantné WWW dokumenty, yahoo jednu. Ako prvé som začal prezerať výsledky z altavisty. Otvoril som teda prvú stránku. Hneď druhý odkaz reprezentoval presne takú stránku, akú som hľadal ( Pridal som ju teda medzi vzorové pre danú tému. Systém uložil do profilu asi kľúčov. Najfrekventoanejšie boli: fre, faces (z názvu skupiny) buntaj, šeban, andrej, marce, oskar (členovia skupiny) albu, hudobní, skladb, hudb, skupin,štúd Ako vidíme, tak tieto kľúče sú koreňmi slov, sú bez morfologických prípon. Po tom ako som pridal prvý vzorový WWW dokument, mohol som spustiť vyhľadávanie s hodnotením Ostatné odkazy ohodnotil systém veľmi nízkym ratingom. Maximálna hodnota bola 37% pre WWW dokument Po preštudovaní daného dokumentu som usúdil, že toto ohodnotenie bolo relevantné. Po prehľadaní všetkých ponúknutých WWW dokumentov som usúdil, že tie nízke ohodnotenia boli opodstatnené. 67

75 5.6 Dokumentácia k používaniu a údržbe V tejto časti sa nachádza istá príručka k správnej inštalácii, nastaveniu a používaniu systému Požiadavky na technické vybavenie Systém z pohľadu požiadavky na technické vybavenie môžeme rozdeliť na 2 časti: Klientská časť Serverovská časť Klientská časť nemá žiadne špeciálne nároky na technické vybavenie počítača. Jedinou podmienkou je, aby na ňom bolo možné prevádzkovať MS Internet Explorer 4.0 a vyššie. Minimálna konfigurácia je: Pentium 100 MHz, 16MB RAM, pripojenie na Internet. Serverovská časť má už podstatne vyššie nároky. Je to spôsobené implementačným jazykom a aj náročnosťou výpočtových operácií. Optimálna konfigurácia pre jedného až troch používateľov je: Procesor 500 MHz, 192 MB RAM, pripojenie na Internet minimálne s 8 kb linkou Požiadavky na programové vybavenie Požiadavky na programové vybavenie na strane klienta: MS Windows 95/98/NT/2000, MS Internet Explorer 4.0 a vyššie. Požiadavky na programové vybavenie na strane servera: MS Windows NT/2000, WWW server, ktorý podporuje technológiu Javovských servletov (Java Web Server, Apache s Jserv pluginom), operačný systém musí mať nainštalovanú podporu pre ODBC zdroj dát Inštalácia systému Postupnosť krokov potrebná na nainštalovanie systému. Všetky potrebné súčasti sa nachádzajú na priloženom CD médiu (Príloha B). Prvý krok je nastavenie databázy: 68

76 V MS Windows (anglická verzia) otvorte Start -> Settings-> Control Panel Dvojklik na ikonku ODBC Nastavte si záložku User DSN Stlačte tlačidlo Add Z možností vyberte Microsoft Access driver (*.mdb) a stlačte tlačidlo Finish Do zobrazeného formulára zadajte pre Data Source Name: links Stlačte tlačidlo Select a pomocou ponúknutého explorera nájdite súbor linky.mdb na disku. Stlačte Ok. Stlačením tlačidla Ok zatvorte obidva otvorené dialógy. Tým je nastavená cesta k databáze Nainštalovanie serverovskej aplikácie: Nainštalujte WWW server (napr. Java Web Server) podľa inštalačnej dokumentácie daného produktu. Do adresára vyhradenej pre servlety nakopírujte z CD média celý adresár Peckem. Do súboru WebServ.ini zapíšte URL k hlavnému servletu. Napríklad: (Pri použití Java Web Servera je adresa stále: počítača/servlet/peckem.servlet). Na strane klienta je potrebné nainštalovať MS Internet Explorer. Potom stačí zadať URL: servera/servlet/peckem.servlet a spustí sa systém Odinštalácia systému Pri odinštalovaní systému je potrebné zrušiť ODBC zdroj dát a binárne súbory systému: V MS Windows (anglická verzia) otvorte Start -> Settings-> Control Panel Dvojklik na ikonu ODBC Nastavte si záložku User DSN Vyberte si zdroj dát, ktorý chcete odstrániť (links) Stlačte tlačidlo Remove Potvrďte mazanie 69

77 5.6.5 Obsah priloženého média Na priloženom CD médiu (Príloha B) sa nachádzajú nasledovné dáta (štruktúra obsahu kopíruje adresárovú štruktúru na médiu): Diplomová práca Dokumentácia dokumentácia diplomovej práce Zdrojové kódy systému Binárne súbory binárne súbory, ktoré stačí nakopírovať na WWW server. Databáza systému (linky.mdb) HTML parser použitý externý HTML parser Zdrojové kódy Dokumentácia Diplomový projekt Dokumentácia dokumentácia Diplomového projektu Zdrojové kódy prototypov Binárne súbory prototypov Prídavné aplikácie Java Web Server 2.0 (shareware) Súbor!citaj.ma informácie o obsahu média 70

78 5.6.6 Používateľská príručka 1. Prihlasovanie do systému 2. Registrovaný používateľ a) Pridanie témy b) Zrušenie témy c) Zobrazenie liniek k téme z Internet adresára d) Pridanie odkazu pod tému e) Zrušenie odkazu f) Pridanie vzorového odkazu g) Vyhľadávanie bez hodnotenia odkazov h) Vyhľadávanie s hodnotením odkazov 3. Jazykovedec a) Pridanie vzorového slova b) Editácia vzorového slova c) Zrušenie vzorového slova 4. Administrátor systému a) Pridanie vyhľadávacej služby b) Editácia vyhľadávacej služby c) Zrušenie vyhľadávacej služby d) Zrušenie používateľského konta 1. Prihlasovanie do systému Do nahlasovacieho dialógu zadajte svoje vstupné meno a heslo. Pri zadávaní hesla dbajte o veľkosť písmen. Obr. 27. Dialóg pre nahlasovanie. Po tom jako ste zadali vaše údaje kliknite na tlačidlo Login. Po tomto sa používateľovi zobrazí hlavná stránka systému (podľa typu používateľa) 71

79 Hlavná stránka registrovaného používateľa: Obr. 28. Hlavný formulár registrovaného používateľa. 2. Registrovaný používateľ a) Pridanie témy 1. Kliknite v hlavnom formuláry na položku Pridaj tému. 2. Do zobrazeného formulára zadajte požadované údaje: názov témy, základné kľúčové slovo pre danú tému, verejnosť témy ostatným používateľom, tému, z ktorej chcete zdediť odkazy. 3. Kliknite na tlačítko Pridaj Obr. 29. Formulár pre pridávanie témy. b) Zrušenie témy 1. Kliknite v hlavnom formuláry na položku Zruš tému. 2. V zobrazenom formuláry (Obr. 30) si vyberte tému 3. Kliknite na tlačítko Zruš 72

80 Obr. 30. Formulár pre zrušenie témy. c) Zobrazenie liniek k téme z Internet adresára 1. V hlavnom formuláry si vyberte tému 2. Kliknite na položku menu Zobraz d) Pridanie odkazu pod tému 1. V hlavnom formuláry si nastavte tému, pod ktorú chcete pridať odkaz 2. V dolnej části používateľského rozhrania (v dolnom FRAMEe) kliknite na odkaz, ktorý chcete pridať 3. Kliknite v hlavnom formuláry na položku Pridaj odkaz 4. Systém vám ponúkne posledne prezeraný odkaz (Obr. 31) 5. Porovnajte, či je to odkaz, ktorú chcete pridať. Ak nie je tak zadajte url, ktoré chcete pridať 6. Kliknite na tlačidlo Pridaj Obr 31. Formulár pre pridávanie odkazu. e) Zrušenie odkazu 1. V hlavnom formuláry si nastavte tému, z ktorej chcete zrušiť odkaz 2. Kliknite v hlavnom formuláry na položku Zobraz 3. V dolnej časti (v dolnom FRAMEe) sa vám zobrazia odkazy k téme 4. Kliknite na tú, ktorú chcete zmazať 5. Kliknite v hlavnom formuláry na položku Zruš odkaz 6. Systém vám zobrazí url daného odkazu 7. Kliknite na možnosť Zruš. 73

81 f) Pridanie vzorového odkazu 1. V hlavnom formuláry si nastavte tému, pod ktorú chcete pridať odkaz 2. V dolnej části používateľského rozhrania (v dolnom FRAMEe) kliknite na odkaz, ktorý chcete pridať 3. Kliknite v hlavnom formuláry na položku Pridaj vzorový odkaz 4. Systém vám ponúkne posledne prezeraný odkaz (Obr. 32) 5. Porovnajte, či je to odkaz, ktorú chcete pridať. Ak nie je tak zadajte url, ktoré chcete pridať 6. Kliknite na tlačidlo Pridaj Obr 32. Formulár pre pridávanie vzorového odkazu. i) Vyhľadávanie bez hodnotenia odkazov 1. V hlavnom formuláry si nastavte prázdnu tému 2. V hlavnom používateľskom formuláry zadajte do poľa Dopyt kľúčové slové 3. Kliknite v hlavnom formuláry na položku Hľadaj 4. V strednej časti používateľského rozhrania (stredný FRAME) kliknite na stránku, ktorá sa má zobraziť (Obr. 33) 5. V dolnej časti používateľského rozhrania (dolný FRAME) sa vám zobrazia požadované odkazy Obr. 33. Používateľské rozhranie pre vyhľadávanie bez hodnotenia. 74

kucharka exportu pro 9FFFIMU

kucharka exportu pro 9FFFIMU požiadavky na export kodek : Xvid 1.2.1 stable (MPEG-4 ASP) // výnimočne MPEG-2 bitrate : max. 10 Mbps pixely : štvorcové (Square pixels) rozlíšenie : 1920x1080, 768x432 pre 16:9 // výnimočne 1440x1080,

More information

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Spájanie tabuliek Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Úvod pri normalizácii rozdeľujeme databázu na viacero tabuliek prepojených cudzími kľúčmi SQL umožňuje tabuľky opäť spojiť

More information

Registrácia účtu Hik-Connect

Registrácia účtu Hik-Connect Registrácia účtu Hik-Connect Tento návod popisuje postup registrácie účtu služby Hik-Connect prostredníctvom mobilnej aplikácie a webového rozhrania na stránke www.hik-connect.comg contents in this document

More information

Copyright 2016 by Martin Krug. All rights reserved.

Copyright 2016 by Martin Krug. All rights reserved. MS Managed Service Copyright 2016 by Martin Krug. All rights reserved. Reproduction, or translation of materials without the author's written permission is prohibited. No content may be reproduced without

More information

Obsah. SOA REST REST princípy REST výhody prest. Otázky

Obsah. SOA REST REST princípy REST výhody prest. Otázky REST Peter Rybár Obsah SOA REST REST princípy REST výhody prest Otázky SOA implementácie WEB (1990) CORBA (1991) XML-RPC (1998) WS-* (1998) SOAP RPC/literal SOAP Document/literal (2001) REST (2000) SOA

More information

Aplikačný dizajn manuál

Aplikačný dizajn manuál Aplikačný dizajn manuál Úvod Aplikačný dizajn manuál je súbor pravidiel vizuálnej komunikácie. Dodržiavaním jednotných štandardov, aplikácií loga, písma a farieb pri prezentácii sa vytvára jednotný dizajn,

More information

Databázové systémy. SQL Window functions

Databázové systémy. SQL Window functions Databázové systémy SQL Window functions Scores Tabuľka s bodmi pre jednotlivých študentov id, name, score Chceme ku každému doplniť rozdiel voči priemeru 2 Demo data SELECT * FROM scores ORDER BY score

More information

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator Anycast Ľubor Jurena CEO jurena@skhosting.eu Michal Kolárik System Administrator kolarik@skhosting.eu O nás Registrátor Webhosting Serverové riešenia Správa infraštruktúry Všetko sa dá :-) Index Čo je

More information

Riešenia a technológie pre jednotnú správu používateľov

Riešenia a technológie pre jednotnú správu používateľov Riešenia a technológie pre jednotnú správu používateľov Radovan Semančík Agenda Úvod: Identity Crisis Technológie správy používateľov Postup nasadenia Záver Súčasný stav IT Security Nekonzistentné bezpečnostné

More information

1 Komplexný príklad využitia OOP

1 Komplexný príklad využitia OOP 1 Komplexný príklad využitia OOP Najčastejším využitím webových aplikácií je komunikácia s databázovým systémom. Komplexný príklad je preto orientovaný práve do tejto oblasti. Od verzie PHP 5 je jeho domovskou

More information

Databázy (1) Prednáška 11. Alexander Šimko

Databázy (1) Prednáška 11. Alexander Šimko Databázy (1) Prednáška 11 Alexander Šimko simko@fmph.uniba.sk Contents I Aktualizovanie štruktúry databázy Section 1 Aktualizovanie štruktúry databázy Aktualizácia štruktúry databázy Štruktúra databázy

More information

Spôsoby zistenia ID KEP

Spôsoby zistenia ID KEP Spôsoby zistenia ID KEP ID KEP (kvalifikovaný elektronický podpis) je možné zistiť pomocou napr. ovládacieho panela, prostredíctvom prehliadača Internet Expolrer, Google Chrome alebo Mozilla Firefox. Popstup

More information

Manuál k programu FileZilla

Manuál k programu FileZilla Manuál k programu FileZilla EXO TECHNOLOGIES spol. s.r.o. Garbiarska 3 Stará Ľubovňa 064 01 IČO: 36 485 161 IČ DPH: SK2020004503 support@exohosting.sk www.exohosting.sk 1 Úvod EXO HOSTING tím pre Vás pripravil

More information

VYLEPŠOVANIE KONCEPTU TRIEDY

VYLEPŠOVANIE KONCEPTU TRIEDY VYLEPŠOVANIE KONCEPTU TRIEDY Typy tried class - definuje premenné a metódy (funkcie). Ak nie je špecifikovaná inak, viditeľnosť členov je private. struct - definuje premenné a metódy (funkcie). Ak nie

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia dec.16 nov.16 okt.16 sep.16 aug.16 júl.16 jún.16 máj.16 apr.16 mar.16 feb.16 jan.16 Internetová populácia SR 12+ 3 728 988 3 718 495 3 718 802 3 711 581 3 700

More information

Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami)

Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami) I2AI: Lecture 04 Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami) Lubica Benuskova Reading: AIMA 3 rd ed. chap. 6 ending with 6.3.2 1 Constraint satisfaction problems (CSP) We w

More information

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára REPORT DESIGNER úprava formulárov v Money S4 / Money S5 Informačný systém Money S4/S5 umožňuje upraviť tlačové zostavy tak, aby plne vyhovovali potrebám používateľa. Na úpravu tlačových zostáv slúži doplnkový

More information

Vzory, rámce a webové aplikácie

Vzory, rámce a webové aplikácie Vzory, rámce a webové aplikácie Jakub Šimko jakub.simko@stuba.sk Návrhové vzory (načo slúžia?) 1. Dobré zvyky v programovaní 2. Riešia často sa opakujúce problémy praxou overeným spôsobom 3. Pomôžu nám

More information

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec Problém Big Data a ako ho riešiť pomocou NoSQL Ján Zázrivec Softec Dáta dnešného sveta Oblasti kde sa spracováva veľké množstvo dát: Internet Web vyhľadávače, Sociálne siete Veda Large Hadron Collider,

More information

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP Recipient Configuration Štefan Pataky MCP, MCTS, MCITP Agenda Mailbox Mail Contact Distribution Groups Disconnected Mailbox Mailbox (vytvorenie nového účtu) Exchange Management Console New User Exchange

More information

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 851(01(Bra@slava Titl.: Ján(Hrčka Bohrova(11 851(01(Bra@slava V(Bra@slave(21.11.2013 Vec:(Odpoveď(na(informácie(ohľadom(mandátnej(zmluvy(na(základe(Zákona(č.(211/2000(Zb.

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia mar.18 feb.18 jan.18 dec.17 nov.17 okt.17 sep.17 aug.17 júl.17 jún.17 máj.17 apr.17 mar.17 Internetová populácia SR 12+ 3 904 509 3 802 048 3 870 654 3 830

More information

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca Obsah balenia TL-WR743ND Rýchly inštalačný sprievodca PoE injektor Napájací adaptér CD Ethernet kábel Systémové požiadavky

More information

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga.

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga. Ochrana koncových staníc pomocou Cisco Security Agent 6.0 Ľubomír Varga lubomir.varga@lynx.sk Agenda CSA 6.0 refresh Vybrané vlastnosti CSA 6.0 Application Trust levels Notify User Rule Actions User Justifications

More information

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Jazyk SQL Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Jazyk SQL - Structured Query Language SQL je počítačový jazyk určený na komunikáciu s relačným SRBD neprocedurálny (deklaratívny) jazyk

More information

Databázy (1) Prednáška 08. Alexander Šimko

Databázy (1) Prednáška 08. Alexander Šimko Databázy (1) Prednáška 08 Alexander Šimko simko@fmph.uniba.sk Contents I Subqueries (poddopyty) konštrukcia WITH Section 1 Subqueries (poddopyty) Subquery (poddopyt) Použitie SELECTu na mieste, kde sme

More information

BÁZA ZNALOSTÍ A ZRUČNOSTÍ ŠTUDENTOV

BÁZA ZNALOSTÍ A ZRUČNOSTÍ ŠTUDENTOV SLOVENSKÁ TECHNICKÁ UNIVERZITA Fakulta informatiky a informačných technológií BÁZA ZNALOSTÍ A ZRUČNOSTÍ ŠTUDENTOV (Tímový projekt) Dokumentácia k projektu Tím č.10 ČERNÉ OFCE: Bc. Martin Macko Bc. Martin

More information

Rýchlosť Mbit/s (download/upload) 15 Mbit / 1 Mbit. 50 Mbit / 8 Mbit. 80 Mbit / 10 Mbit. 10 Mbit / 1 Mbit. 12 Mbit / 2 Mbit.

Rýchlosť Mbit/s (download/upload) 15 Mbit / 1 Mbit. 50 Mbit / 8 Mbit. 80 Mbit / 10 Mbit. 10 Mbit / 1 Mbit. 12 Mbit / 2 Mbit. Fiber 5 Mbit ** 5 Mbit / Mbit 5,90 Fiber 50 Mbit * 50 Mbit / 8 Mbit 9,90 Fiber 80 Mbit * 80 Mbit / Mbit 5,90 Mini Mbit* Mbit / Mbit 9,90 Klasik 2 Mbit* 2 Mbit / 2 Mbit Standard 8 Mbit* 8 Mbit / 3Mbit Expert

More information

VLSM a CIDR. CCNA2 Kapitola Cisco Systems, Inc. All rights reserved. Cisco Public 1

VLSM a CIDR. CCNA2 Kapitola Cisco Systems, Inc. All rights reserved. Cisco Public 1 VLSM a CIDR CCNA2 Kapitola 6 1 Trošku histórie Pred rokom 1981 IP adresy používali na špecifikáciu siete len prvých 8 bitov Rok1981, RFC 791 Zaviedol adresný priestor s tromi triedami adries Polovica 90

More information

Návod na odstránenie certifikátov so zrušenou platnosťou

Návod na odstránenie certifikátov so zrušenou platnosťou Návod na odstránenie certifikátov so zrušenou platnosťou Dátum zverejnenia: 7. 11. 2017 Verzia: 1 Dátum aktualizácie: Popis: Tento dokument je určený používateľom, ktorí elektronicky podpisujú dokumenty

More information

Distribuovaný riadiaci systém architektúra Klient server. Časť server (jadro, kernel)

Distribuovaný riadiaci systém architektúra Klient server. Časť server (jadro, kernel) Distribuovaný riadiaci systém architektúra Klient server. Časť server (jadro, kernel) Modulárna štruktúra distribuovaného riadiaceho systému Tvorba reportov Konfigurácia systému Vzdialená konzola SQL server

More information

Doporučovací systém pro eshop

Doporučovací systém pro eshop ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ KATEDRA POČÍTAČŮ Diplomová práce Doporučovací systém pro eshop Bc. Martina Čiefová Vedoucí práce: Ing. Jan Drchal, Ph.D. Leden 2018 Poďakovanie

More information

SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU

SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO BRATISLAVA Bakalárska práca SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU ŠTANDARDIZAČNÝCH MATERIÁLOV Eva Porvazníková vedúci bakalárskej práce: Doc.

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona Popis textového formátu a xsd schémy na zasielanie údajov podľa 27 ods. 2 písm. f) zákona (formu na zaslanie údajov si zvolí odosielateľ údajov) Textový formát na zasielanie údajov podľa 27 ods. 2 písm.

More information

Tvorba informačných systémov. 4. prednáška: Návrh IS

Tvorba informačných systémov. 4. prednáška: Návrh IS Tvorba informačných systémov 4. prednáška: Návrh IS Návrh informačného systému: témy Ciele návrhu ERD DFD Princípy OOP Objektová normalizácia SDD Architektonické pohľady UML diagramy Architektonické štýly

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS IMPLEMENTACE

More information

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu Inštalačná príručka Obsah 1 Predpoklady pre inštaláciu D.Signer... 3 1.1 Inštalácia.NET Framework... 3 1.1.1 Windows 8, 8.1... 4 1.1.2

More information

MERANIE SOFTVÉRU. Jakub Šimko MSI

MERANIE SOFTVÉRU. Jakub Šimko MSI Slovenská Technická Univerzita v Bratislave Fakulta Informatiky a Informačných Technológií Jakub Šimko jsimko@fiit.stuba.sk MERANIE SOFTVÉRU 9.10.2012 MSI Meranie a metriky Kto by mal dávať pozor? Predsa

More information

PRIESKUMNÉ VYHĽADÁVANIE NA SOCIÁLNYCH SIEŤACH SO ZAMERANÍM NA DYNAMICKÉ KRITÉRIA A VZŤAHY METADÁT K OBSAHU

PRIESKUMNÉ VYHĽADÁVANIE NA SOCIÁLNYCH SIEŤACH SO ZAMERANÍM NA DYNAMICKÉ KRITÉRIA A VZŤAHY METADÁT K OBSAHU Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT-5208-56351 Bc. Michal Žilinčík PRIESKUMNÉ VYHĽADÁVANIE NA SOCIÁLNYCH SIEŤACH SO ZAMERANÍM NA DYNAMICKÉ KRITÉRIA

More information

ÚMRTNOSŤ NA ÚRAZY MOZGU VO VYBRANÝCH EURÓPSKYCH KRAJINÁCH

ÚMRTNOSŤ NA ÚRAZY MOZGU VO VYBRANÝCH EURÓPSKYCH KRAJINÁCH ÚMRTNOSŤ NA ÚRAZY MOZGU VO VYBRANÝCH EURÓPSKYCH KRAJINÁCH. V NEMOCNICI A MIMO NEJ Alexandra Bražinová, Veronika Rehorčíková, Mark Taylor VIII. STREDOEURÓPSKY KONGRES URGENTNEJ MEDICÍNY A MEDICÍNY KATASTROF.3-1..17

More information

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám.

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám. LL LED svietidlá na osvetlenie športovísk MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám. LL SPORT LL SPORT je sofistikované vysoko výkonné LED svietidlo špeciálne

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY PREVÁDZKA PORTÁLU PROJEKTOV VÝUKOVEJ ROBOTIKY CENTROBOT Bakalárska práca 2015 Denis Spišák UNIVERZITA KOMENSKÉHO V BRATISLAVE

More information

Hodnotenie kvality produktu

Hodnotenie kvality produktu Hodnotenie kvality produktu (2012/2013) Obsah 1. Úvod... 3 2. ISO 9126: Meranie kvality softvérového produktu... 3 2.1 ISO 9126-1: Model kvality... 4 2.2 ISO TR 9126-2: Externé metriky... 6 2.3 ISO TR

More information

Indexovanie v dokumentoch pomocou platformy Apache Solr

Indexovanie v dokumentoch pomocou platformy Apache Solr Masarykova univerzita Fakulta informatiky Indexovanie v dokumentoch pomocou platformy Apache Solr Bakalárska práca Martin Kuchár Brno, jar 2017 Vyhlásenie vyhlasujem, že táto bakalárska práca je mojím

More information

Testovanie bieleho šumu

Testovanie bieleho šumu Beáta Stehlíková FMFI UK Bratislava Opakovanie z prednášky Vygenerujeme dáta Vygenerujeme dáta: N

More information

PV030 Textual Information Systems

PV030 Textual Information Systems PV030 Textual Information Systems Petr Sojka Faculty of Informatics Masaryk University, Brno Spring 2010 Đ Ý Petr Sojka PV030 Textual Information Systems Osnova(Týden šestý) ü Vyhledávání s předzpracováním

More information

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT-XXXX-XXXXX

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT-XXXX-XXXXX Toto je titulný list práce. Je súčasťou každej priebežnej či záverečnej správy (BP, DP) Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT-XXXX-XXXXX evidenčné

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU.

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU. UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU Diplomová práca 2017 Bc. Denis Spišák UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA

More information

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia Microsoft Azure platforma pre Cloud Computing Juraj Šitina, Microsoft Slovakia m Agenda Cloud Computing Pohľad Microsoftu Predstavujeme platformu Microsoft Azure Benefity Cloud Computingu Microsoft je

More information

BGP - duálne prepojenie AS. (primary + backup spoj), s IBGP, cez virtuální L2 linky

BGP - duálne prepojenie AS. (primary + backup spoj), s IBGP, cez virtuální L2 linky BGP - duálne prepojenie AS (primary + backup spoj), s IBGP, cez virtuální L2 linky Peter Jašica Abstrakt: Cieľom tohto projektu je zhotoviť a otestovať funkčnosť BGP s dvojitým prepojením Autonómnych systémov.

More information

Desatinné čísla #1a. Decimal numbers #1b. How much larger is 21,8 than 1,8? Desatinné čísla #2a. Decimal numbers #2b. 14 divided by 0,5 equals...

Desatinné čísla #1a. Decimal numbers #1b. How much larger is 21,8 than 1,8? Desatinné čísla #2a. Decimal numbers #2b. 14 divided by 0,5 equals... Desatinné čísla #1a Mravec išiel 5,5 cm presne na sever, potom 3,4 cm na východ, 1,8 cm na juh, 14,3 cm na západ, 1,3 cm na sever a 10,9 cm na východ. Najmenej koľko cm musí teraz prejsť, aby sa dostal

More information

Vyhľadávanie informácií

Vyhľadávanie informácií UNIVERZITA KOMENSKÉHO V BRATISLAVE Filozofická fakulta. Katedra knižničnej a informačnej vedy Akademická knižnica UK KEGA 133UK 4/2013 Informačná gramotnosť informačné zručnosti, schopnosti, znalosti,

More information

POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV

POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV Bakalárska práca Stanislav Párnický 2013 UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA

More information

Katedra počítačov a informatiky Fakulta elektrotechniky a informatiky Technická univerzita Košice. Informačné technológie Branislav Sobota

Katedra počítačov a informatiky Fakulta elektrotechniky a informatiky Technická univerzita Košice. Informačné technológie Branislav Sobota Katedra počítačov a informatiky Fakulta elektrotechniky a informatiky Technická univerzita Košice Informačné technológie Branislav Sobota 2006 Informačné technológie 2 Predslov Predkladané skriptá majú

More information

BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR

BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR Pre efektívne riadenie celého projektu je potrebné merať jeho veľkosť Ondrej Jurčák Slovenská technická univerzita Fakulta informatiky a informačných technológií

More information

Poradové a agregačné window funkcie. ROLLUP a CUBE

Poradové a agregačné window funkcie. ROLLUP a CUBE Poradové a agregačné window funkcie. ROLLUP a CUBE 1) Poradové a agregačné window funkcie 2) Extrémy pomocou DENSE_RANK(), TOP() - Príklady 3) Spriemernené poradia 4) Kumulatívne súčty 5) Group By a Datepart,

More information

Go networking. Peter Borovanský, KAI, I-18, borovan(a)ii.fmph.uniba.sk

Go networking. Peter Borovanský, KAI, I-18, borovan(a)ii.fmph.uniba.sk Go networking Peter Borovanský, KAI, I-18, borovan(a)ii.fmph.uniba.sk Prejdeme si v Go tri úrovne tzv. TCP Stacku, a naprogramujeme klient/server aplikáciu cez TCP/IP sockety, príklad chat sntp udp klient

More information

Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky. Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti

Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky. Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti Bakalárska práca 2016 Zuzana Majeríková Univerzita

More information

1. ELASTIX inštalácia 2 2. Elastix konfigurácia Nastavenie užívateľských kont Pridanie nových užívateľských kont 10 2.

1. ELASTIX inštalácia 2 2. Elastix konfigurácia Nastavenie užívateľských kont Pridanie nových užívateľských kont 10 2. 1. ELASTIX inštalácia 2 2. Elastix konfigurácia 8 2.1 Nastavenie užívateľských kont 9 2.2 Pridanie nových užívateľských kont 10 2.3 InstantMessaging and presence 12 2.4 TLS 12 2.5 Conference 12 3. Záver

More information

INTERNET. História internetu

INTERNET. História internetu INTERNET 1 Úvod Internet je celosvetová počítačová sieť. Je všade okolo, ale nepatrí nikomu, nikto ho neriadi. Internet predstavuje najväčšie množstvo informácií dostupných z jedného miesta. Internet tvoria

More information

Aplikácia k určovaniu rastlín pre platformu ios

Aplikácia k určovaniu rastlín pre platformu ios Mendelova univerzita v Brně Provozně ekonomická fakulta Aplikácia k určovaniu rastlín pre platformu ios Bakalárska práca Vedúci práce: Ing. Dita Dlabolová Jakub Kozák Brno 2014 Na tomto mieste by som

More information

Xamarin písanie Android a ios aplikácií v C#

Xamarin písanie Android a ios aplikácií v C# www.dotnetcollege.cz Xamarin písanie Android a ios aplikácií v C# Roman Jašek Software Architect, Riganti s.r.o. MSP, MCP roman.jasek@riganti.cz Xamarin vs. Xamarin Forms ios C# UI Android C# UI Windows

More information

Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu

Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu Závereč ný workshop projektu INEDU-GOV Inovatívne vzdelávanie pracovníkov

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

Využití technologie Angular2 při vývoji webových aplikací. Bc. Juraj Štefan

Využití technologie Angular2 při vývoji webových aplikací. Bc. Juraj Štefan Využití technologie Angular2 při vývoji webových aplikací Bc. Juraj Štefan Diplomová práce 2017 ABSTRAKT Táto diplomová práca sa zaoberá návrhom a vývojom webovej aplikácie použitím prístupu MEAN stack.

More information

TRANSCRIPTION OF NUMERICAL OBJETCS TO TEXT FOR SLOVAK LANGUAGE

TRANSCRIPTION OF NUMERICAL OBJETCS TO TEXT FOR SLOVAK LANGUAGE Journal of Information, Control and Management Systems, Vol. 5, (2007), No. 1 25 TRANSCRIPTION OF NUMERICAL OBJETCS TO TEXT FOR SLOVAK LANGUAGE Ján GENČI Technical university of Košice, Faculty of Electrical

More information

Coordinates ordering in parallel coordinates views

Coordinates ordering in parallel coordinates views Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Coordinates ordering in parallel coordinates views Bratislava, 2011 Lukáš Chripko Univerzita Komenského v Bratislave Fakulta

More information

Microsoft SQL Server 2000 Reportovacie služby

Microsoft SQL Server 2000 Reportovacie služby Ľuboslav Lacko Microsoft SQL Server 2000 Reportovacie služby Čo je managed reporting? Architektúra a filozofia produktu Reportovacie služby z pohľadu vývojára Reportovacie služby z pohľadu administrátora

More information

Súborový systém. Ing. Viliam Solčány, PhD. ZS 2011/2012. Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn.

Súborový systém. Ing. Viliam Solčány, PhD. ZS 2011/2012. Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. Súborový systém Ing. Viliam Solčány, PhD. ÓÐ ÒÝ Øº ØÙ º ZS 2011/2012 Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 1 / 42 Osnova Viliam Solčány, FIIT STU Bratislava Operačné systémy

More information

Government Cloud. Stratégia využitia Cloud Computing-u vo Verejnej správe SR. Peter Kišša

Government Cloud. Stratégia využitia Cloud Computing-u vo Verejnej správe SR. Peter Kišša Government Cloud Stratégia využitia Cloud Computing-u vo Verejnej správe SR Peter Kišša Prečo? Aug, 2011 - Amazon launches US government cloud designed to meet the regulatory requirements of U.S. government

More information

Informatika 2. Generiká

Informatika 2. Generiká Informatika 2 Generiká Pojmy zavedené v 10. prednáške (1) štandardný vstup a výstup textové súbory binárne súbory objektové prúdy Informatika 2 1 Pojmy zavedené v 10. prednáške (2) objektové prúdy nečitateľné

More information

Server pre systém na detekciu indikátorov kompromitácie

Server pre systém na detekciu indikátorov kompromitácie Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Server pre systém na detekciu indikátorov kompromitácie Bakalárska práca 2016 Michal Fikar Univerzita Komenského v Bratislave

More information

Cvičenie z PTS

Cvičenie z PTS Cvičenie z PTS 23.3.2010 riadenie + QM + CM +... Návrh systému požiadavky návrh implementácia validácia Návrh hlavným cieľom je určiť, ako bude daný SW produkt realizovaný hlavný vstup: špecifikácia požiadaviek

More information

Prvky inovácie nových jazykov HTML5 a CSS3

Prvky inovácie nových jazykov HTML5 a CSS3 Bankovní institut vysoká škola Praha zahraničná vysoká škola Banská Bystrica Katedra kvantitatívnych metód a informatiky Prvky inovácie nových jazykov HTML5 a CSS3 The HTML5 and CSS3 innovations concepts

More information

Kamera. Sieťová klenbová kamera. Rýchla používateľská príručka---po slovensky. Táto rýchla príručka sa vzťahuje na: DS-2CD2112-(I),

Kamera. Sieťová klenbová kamera. Rýchla používateľská príručka---po slovensky. Táto rýchla príručka sa vzťahuje na: DS-2CD2112-(I), Kamera Sieťová klenbová kamera Rýchla používateľská príručka---po slovensky Táto rýchla príručka sa vzťahuje na: DS-2CD2112-(I), UD.6L0201B1254A01EU 1 Regulačné informácie Vyhlásenie o súlade s normami

More information

NIKY a NIKY S. JEDNOFÁZOVÉ UPS od 600 do 3000 VA SVETOVÝ ŠPECIALISTA PRE ELEKTRICKÉ INŠTALÁCIE A DIGITÁLNE SYSTÉMY BUDOV

NIKY a NIKY S. JEDNOFÁZOVÉ UPS od 600 do 3000 VA SVETOVÝ ŠPECIALISTA PRE ELEKTRICKÉ INŠTALÁCIE A DIGITÁLNE SYSTÉMY BUDOV NIKY a NIKY S JEDNOFÁZOVÉ UPS od 600 do 3000 VA SVETOVÝ ŠPECIALISTA PRE ELEKTRICKÉ ŠTALÁCIE A DIGITÁLNE SYSTÉMY BUDOV Ideálna ochrana pre malé kancelárie a domáce kancelárske aplikácie. Tento rad ponúka

More information

POKROČILÉ C++ Marian Vittek

POKROČILÉ C++ Marian Vittek POKROČILÉ C++ Marian Vittek vittek@fmph.uniba.sk O predmete Pôvodne seminár Teraz normálna prednáška so skúškou/testom Predmetom kurzu je detailnejší pohľad na jazyk C++ a občasné porovnanie s inými programovacími

More information

Programovanie v jazyku Python. Michal Kvasnica

Programovanie v jazyku Python. Michal Kvasnica Programovanie v jazyku Python Michal Kvasnica Organizačné detaily Prednášky aj cvičenia v 638 Povinná účasť na cvičeniach Hodnotenie: priebežné odovzdávanie zadaní (40% známky) záverečný projekt na skúške

More information

OLYMP na MS SQL OBSAH 1 AKO POSTUPOVAŤ. 2 INŠTALÁCIA Microsoft SQL Servera 2008 R2 3 PREVOD DATABÁZY OLYMPU NA SQL

OLYMP na MS SQL OBSAH 1 AKO POSTUPOVAŤ. 2 INŠTALÁCIA Microsoft SQL Servera 2008 R2 3 PREVOD DATABÁZY OLYMPU NA SQL OLYMP na MS SQL OBSAH 1 AKO POSTUPOVAŤ 1.1 Základné informácie k inštalácii Microsoft SQL servera 2008 R2, cesta k inštalačnému programu, možné obmedzenia, licencia programu Olymp 1.2 Aké sú hardvérové

More information

MS Exchange 2010 Prechod Ing. Peter Záhradník

MS Exchange 2010 Prechod Ing. Peter Záhradník MS Exchange 2010 Prechod Ing. Peter Záhradník Gratex Support Center support@gratex.com Exchange 2010 o com to bude? Tato prezentacia bude pre ludi co uvazuju nad prechodom na novy Exchange zopar otazok

More information

SLOVENSKÁ TECHNICKÁ UNIVERZITA FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ ILKOVIČOVA 3, BRATISLAVA 4

SLOVENSKÁ TECHNICKÁ UNIVERZITA FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ ILKOVIČOVA 3, BRATISLAVA 4 SLOVENSKÁ TECHNICKÁ UNIVERZITA FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ ILKOVIČOVA 3, 842 16 BRATISLAVA 4 TÍM 13 SIMULÁCIA DEMONŠTRÁCIE V MESTE DEVELOPERSKÁ PRÍRUČKA Vedúci projektu: Ing. Ivan Kapustík

More information

SLOVENSKÁ POĽNOHOSPODÁRSKA UNIVERZITA V NITRE TECHNICKÁ FAKULTA ON-LINE TESTOVANIE V PREDMETE PROGRAMOVANIE Stanislav Pohuba, Bc.

SLOVENSKÁ POĽNOHOSPODÁRSKA UNIVERZITA V NITRE TECHNICKÁ FAKULTA ON-LINE TESTOVANIE V PREDMETE PROGRAMOVANIE Stanislav Pohuba, Bc. SLOVENSKÁ POĽNOHOSPODÁRSKA UNIVERZITA V NITRE TECHNICKÁ FAKULTA 2136291 ON-LINE TESTOVANIE V PREDMETE PROGRAMOVANIE 2011 Stanislav Pohuba, Bc. SLOVENSKÁ POĽNOHOSPODÁRSKA UNIVERZITA V NITRE Dr. h. c. prof.

More information

JAVA. Sieťové programovanie

JAVA. Sieťové programovanie JAVA Sieťové programovanie Sieťové programovanie Sieťová knižnica jazyka JAVA bola vytvorená podľa súborovej knižnice Zapúzdrovanie pripojení do streamov Multithreading Identifikácia počítača Každý počítač

More information

informačné, riadiace, telemetrické a komunikačné systémy BaWiT Online portál SCT revízia r2.4

informačné, riadiace, telemetrické a komunikačné systémy BaWiT Online portál SCT revízia r2.4 informačné, riadiace, telemetrické a komunikačné systémy BaWiT Online portál SCT1006.0001 revízia r2.4 www.sct.sk www.sct-telemetry.eu www.bawit.eu sales@sct.sk BaWiT Online - 06 Základné informácie portálu

More information

1 Vytvorenie tabuľky

1 Vytvorenie tabuľky Základy jazyka SQL (Structured Query Language) - vyvinula IBM začiatkom 70-tych rokov - je to deklaratívny jazyk (popisuje čo urobiť, nie ako) - je súčasťou veľkých databázových systémov (Informix, Oracle,

More information

WEBOVÝ MODUL NA SPRÁVU DOVOLENKY

WEBOVÝ MODUL NA SPRÁVU DOVOLENKY WEBOVÝ MODUL NA SPRÁVU DOVOLENKY Róbert Lanák Ústav informatizácie, automatizácie a matematiky Oddelenie informatizácie a riadenia procesov Fakulta chemickej a potravinárskej technológie Slovenská Technická

More information

Podpora adaptívneho WEB-u prostriedkami strojového učenia

Podpora adaptívneho WEB-u prostriedkami strojového učenia Podpora adaptívneho WEB-u prostriedkami strojového učenia Kristína Machová 1 Ivan Klimko 2 1 Katedra kybernetiky a umelej inteligencie, FEI, TU Technická Univerzita Košice, Letná 9, 04200, Košice Kristina.Machova@tuke.sk

More information

Klasický WordPress modul Coding standards I18n Post types, taxonomies, meta, options Transients a WP cache Nepoužívajte "super" triedy/objekty

Klasický WordPress modul Coding standards I18n Post types, taxonomies, meta, options Transients a WP cache Nepoužívajte super triedy/objekty WooCommerce pre vývojárov Ján Bočínec Modul pre WooCommerce Klasický WordPress modul Coding standards I18n Post types, taxonomies, meta, options Transients a WP cache Nepoužívajte "super" triedy/objekty

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY. Progresívne meše v Unity Roman Vrecník

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY. Progresívne meše v Unity Roman Vrecník UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY Progresívne meše v Unity 2016 Roman Vrecník UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY Progresívne

More information

Webový komunitný systém otázok a odpovedí

Webový komunitný systém otázok a odpovedí Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Webový komunitný systém otázok a odpovedí Dokumentácia k inžinierskemu dielu Vedúci tímu: Ing. Ivan Srba Členovia

More information

BRNO UNIVERSITY OF TECHNOLOGY FAKULTA PODNIKATELSKÁ ÚSTAV INFORMATIKY FACULTY OF BUSINESS AND MANAGEMENT DEPARTMENT INFORMATICS

BRNO UNIVERSITY OF TECHNOLOGY FAKULTA PODNIKATELSKÁ ÚSTAV INFORMATIKY FACULTY OF BUSINESS AND MANAGEMENT DEPARTMENT INFORMATICS VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA PODNIKATELSKÁ ÚSTAV INFORMATIKY FACULTY OF BUSINESS AND MANAGEMENT DEPARTMENT INFORMATICS NÁVRH REDESIGNU INTERNETOVEJ PREZEN- TÁCIE

More information

Vizualizácia lokalizácie IP adries

Vizualizácia lokalizácie IP adries Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Študijný program: Počítačové systémy a siete Rastislav Szabó Vizualizácia lokalizácie IP adries Bakalársky projekt

More information

Dokumentácia projektu

Dokumentácia projektu Slovenská technická univerzita Fakulta informatiky a informačných technológií Ilkovičova 3, 842 16 Bratislava 4 Dokumentácia projektu Portálový rámec na báze technológií.net a webu so sémantikou Študijný

More information

Automatizované vyhodnocovanie HDL modelov Bakalárska práca

Automatizované vyhodnocovanie HDL modelov Bakalárska práca Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT-5214-47956 Michal Behúň Automatizované vyhodnocovanie HDL modelov Bakalárska práca Študijný program: Počítačové

More information

Bakalárska práca Jún 2008

Bakalárska práca Jún 2008 Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Autor: Michal Novomeský Bakalárska práca Jún 28 Podporný komunitný portál medzinárodného študijného programu MEi:CogSci Školiteľ:

More information

IBM Tivoli Directory Server Verzia 5.2 Client Readme

IBM Tivoli Directory Server Verzia 5.2 Client Readme IBM Tivoli Directory Server Verzia 5.2 Client Readme GI10-6158-00 IBM Tivoli Directory Server Verzia 5.2 Client Readme GI10-6158-00 Poznámka Pred použitím týchto informácií a produktu, ktorý podporujú,

More information

Detekcia antivírusových aplikácií na zariadeniach v počítačovej sieti

Detekcia antivírusových aplikácií na zariadeniach v počítačovej sieti Masarykova univerzita Fakulta informatiky Detekcia antivírusových aplikácií na zariadeniach v počítačovej sieti Bakalárska práca Dušan Janík Brno, jar 2017 Masarykova univerzita Fakulta informatiky Detekcia

More information

Návrh a realizácia aplikácie na analýzu výrobných procesov pomocou Petriho sietí

Návrh a realizácia aplikácie na analýzu výrobných procesov pomocou Petriho sietí Návrh a realizácia aplikácie na analýzu výrobných procesov pomocou Petriho sietí Rudolf REPČÍN, Matej ČOPÍK, Ján JADLOVSKÝ Katedra kybernetiky a umelej inteligencie, Fakulta elektrotechniky a informatiky,

More information