• No results found

Analysis of Relations Between Web Pages and Used Patterns

N/A
N/A
Protected

Academic year: 2021

Share "Analysis of Relations Between Web Pages and Used Patterns"

Copied!
78
0
0

Loading.... (view fulltext now)

Full text

(1)

Fakulta elektrotechniky a informatiky

Katedra informatiky

Anal ´yza vztah ˚u webov ´ych str ´anek a

pouˇzit ´ych vzor ˚u

Analysis of relations between web

pages and used patterns

(2)
(3)
(4)

C´ılem pr´ace je implementace metod pro automatickou detekci vybran ´ych webov ´ych vzor ˚u na webov ´ych str´ank´ach a proveden´ı experiment ˚u vych´azej´ıc´ıch z popisu webov ´ych str´anek pomoc´ı n´avrhov ´ych vzor ˚u. V teoretick´e ˇc´asti uvedu pˇrehled metod vyuˇziteln ´ych pro z´ısk´an´ı informac´ı z webov ´ych str´anek. Metody, kter´e implementuji, vych´azej´ı z Gestalt princip ˚u (bl´ızkost, podobnost, souvislost, celek). Pr´ace se zab ´yv´a anal ´yzou dom´eny, v ´ybˇerem ˇcasto se vyskytuj´ıc´ıch n´avrhov ´ych vzor ˚u a sestaven´ım kl´ıˇcov ´ych slov. Kl´ıˇcov´a slova jsem vyb´ıral ruˇcnˇe. V z´avˇeru pr´ace jsem provedl testov´an´ı a vyhodnocen´ı v ´ysledk ˚u.

Kl´ıˇcov ´a slova: automatick´a detekce, webov´e vzory, webov´e str´anky, kl´ıˇcov´a slova, dolov´an´ı

textu, dolov´an´ı webu, kategorizace

Abstract

The goal is the implementation of methods for automatic detection of selected web pat-terns on the web pages and design experiments based on the description of Web pages using design patterns. In the theoretical part I will review the methods available for obtaining information from the website. Methods that implement are based on Gestalt principles (proximity, similarity, continuity, closure). The paper analyzes the domain by selecting frequently occurring design patterns and the establishment of key words. Key words I chose manually. Finally, I carried out testing and evaluation of results.

Keywords: automatic detection, web patterns, web site, keywords, text mining, web

(5)

DIS – Dokumentografick´e informaˇcn´ı syst´emy

DM – Data Mining

HAP – HTML Agility Pack

HTML – Hyper Text Markup Language

IDF – Inverse Document Frequency

ILP – Induktivn´ı Logick´e Programov´an´ı

IR – Information Retrieval

KS – Kl´ıˇcov´a Slova

SEO – Search Engine Optimization

SVD – Singular Value Decomposition

TF – Term Frequency

TFIDF – Term Frequency Inverse Document Frequency

TM – Text Mining

W3C – World Wide Web Consortium

WWW – World Wide Web

(6)

Obsah

1 Uvod´ 6

2 N´avrhov ´y vzor 9

3 DIS 10

3.1 Booleovsk ´y model . . . 11

3.2 Vektorov ´y model . . . 12

4 Mining 15 4.1 Data Mining . . . 15

4.1.1 ˇZivotn´ı cyklus Data Mining . . . 16

4.1.2 Kategorie metod . . . 19

4.2 Text Mining . . . 20

4.2.1 Pˇredzpracov´an´ı textu . . . 21

4.2.2 Klasifikace dokument ˚u . . . 22

4.2.3 Shlukov´an´ı . . . 23

4.2.4 Metody shlukov´an´ı . . . 24

4.3 Web Mining . . . 25

4.3.1 Web content mining . . . 25

4.3.2 Web structure mining . . . 26

4.3.3 Web usage mining . . . 27

5 Vlastn´ı metoda ˇreˇsen´ı 28 5.1 Metodika sbˇeru dat . . . 28

5.2 Metodika anal ´yzy dat . . . 29

5.3 Nastaven´ı automatick´e detekce . . . 32

5.4 Obr´azky vybran ´ych n´avrhov ´ych vzor ˚u . . . 34

6 N´avrh ALGORITM ˚U 35 6.1 HTML Agility Pack (HAP) . . . 36

6.2 HTML TAG v XML souborech . . . 36

6.3 Smaz´an´ı a nahrazen´ı v textu . . . 36

6.4 Redundance v HTML . . . 37

6.5 Rozdˇelen´ı na tokeny . . . 38

6.6 Odstranˇen´ı diakritiky, Stop slova . . . 39

(7)

6.8 Odstranˇen´ı koncovky - kmen slova . . . 41

6.9 Datov´e typy - druh ´y pr ˚uchod . . . 42

6.10 Anal ´yza . . . 44

6.10.1 Vzor vyskytuj´ıc´ı se jednou . . . 44

6.10.2 Vzor vyskytuj´ıc´ı se v´ıcekr´at . . . 45

6.11 Podobnost vektor ˚u . . . 46

7 N´avrh aplikace 47 7.1 GUI . . . 47

7.2 Naˇcten´ı vstupn´ıch dat . . . 48

7.3 Vyhled´an´ı informac´ı . . . 48

8 Experimenty a vyhodnocen´ı v ´ysledk ˚u 51 8.1 V ´ysledky pro dom´enu Dovolen´a . . . 52

8.2 V ´ysledky pro dom´enu Diskuse . . . 54

8.3 V ´ysledky pro dom´enu Technick´e ´udaje . . . 55

8.4 Hodnocen´ı klasifik´atoru . . . 57

8.4.1 Klasifikace Dovolen´a . . . 57

8.4.2 Klasifikace Diskuse . . . 57

8.4.3 Klasifikace Technick´e ´udaje . . . 58

8.4.4 Souhrnn´e v ´ysledky klasifikace . . . 58

9 Z´avˇer 60 10 Reference 62 Pˇr´ılohy 64 A Zdrojov´e k ´ody 65 A.1 Rozdˇelen´ı na tokeny . . . 65

A.2 Anal ´yza 2 . . . 66

B Popis vzoru (XML) 68 B.1 Vzor dovolen´a . . . 68

B.2 Vzor diskuze . . . 69

B.3 Vzor technick´e ´udaje . . . 70

(8)

Seznam tabulek

1 Kl´ıˇcov´a slova . . . 30

2 Skupiny dokument ˚u . . . 30

3 Text v bloku . . . 31

4 Kl´ıˇcov´a slova v bloku . . . 31

5 Matice z´amˇen . . . 51

6 Matice z´amˇen: titulek . . . 53

7 Matice z´amˇen: Nab´ıdka dovolen´e . . . 53

8 Matice z´amˇen: Vyhled´an´ı dovolen´e . . . 53

9 Matice z´amˇen: Teplota . . . 54

10 Dovolen´a souhrnn´e v ´ysledky . . . 54

11 Matice z´amˇen: titulek . . . 54

12 Matice z´amˇen: Pˇr´ıspˇevek . . . 55

13 Diskuse souhrnn´e v ´ysledky . . . 55

14 Matice z´amˇen: Titulek . . . 56

15 Matice z´amˇen: Technick ´y ´udaj . . . 56

16 Technick´e ´udaje souhrnn´e v ´ysledky . . . 56

17 Matice z´amˇen: klasifikace Dovolen´a . . . 57

18 Matice z´amˇen: klasifikace Diskuse . . . 58

19 Matice z´amˇen: klasifikace Diskuse . . . 58

(9)

Seznam obr ´azk ˚u

1 N´avrhov ´y vzor Nab´ıdka dovolen´e . . . 9

2 Hodnocen´ı efektivity . . . 11

3 ˇZivotn´ı cyklus Data Miningu . . . 16

4 Pozice Data Miningu v procesu z´ısk´av´an´ı znalost´ı z datab´az´ı . . . 18

5 N´avrhov ´y vzor Diskuze . . . 34

6 N´avrhov ´y vzor Technick´e ´udaje . . . 34

7 N´avrhov ´y vzor Poˇcas´ı . . . 34

8 Uˇzivatelsk´e rozhran´ı programu RWV . . . 47

(10)

Seznam v ´ypis ˚u zdrojov ´eho k ´odu

1 Pˇr´ıklad XML . . . 32

2 Seznam tag ˚u . . . 36

3 Seznam koˇren ˚u . . . 36

4 Maz´an´ı v textu . . . 37

5 Redundance v HTML . . . 37

6 Odstranˇen´ı diakritiky . . . 39

7 Rozdˇelen´ı vˇety podle mezer . . . 39

8 Poˇcet ˇc´ıslic . . . 40

9 Datov ´y typ telefonn´ı ˇc´ıslo . . . 40

10 Odstranˇen´ı koncovky . . . 42 11 Token cena . . . 43 12 Token teplota . . . 43 13 Anal ´yza . . . 45 14 Obsahuje povinn´e . . . 45 15 Tokenizace . . . 65 16 Anal ´yza 2 . . . 66

17 Vzor dom´eny dovolen´a . . . 68

18 Vzor dom´eny diskuze . . . 69

(11)

1

Uvod

´

Dneˇsn´ı svˇet je charakterizov´an exploz´ı objemu dat. Disky pojmou st´ale v´ıce dat, a proto neust´ale vzr ˚ust´a i objem ukl´adan ´ych dat, at’ uˇz uˇziteˇcn ´ych nebo zbyteˇcn ´ych. Je pravdˇepodobn´e, ˇze v tˇechto datech je ukryto mnohem v´ıce informac´ı, neˇz kter´e m ˚uˇzeme jednoduˇse vyˇc´ıst. Zpracov´an´ı dat z rozs´ahl ´ych datab´az´ı m´a v dneˇsn´ı Infor-matice nejr ˚uznˇejˇs´ı formy. Tradiˇcn´ı pˇr´ıstupy analyzuj´ı data prostˇrednictv´ım dotazovac´ıch n´astroj ˚u SQL. Pˇresto existuje mnoho ´uloh, na kter´e tyto bˇeˇzn´e pˇr´ıstupy nestaˇc´ı.

V souˇcasn´e dobˇe je Internet nejpouˇz´ıvanˇejˇs´ım zdrojem pro z´ısk´an´ı informac´ı. Aby jsme z´ıskali relevantn´ı informace, potˇrebujeme k tomu tzv. vyhled´avaˇc. Napˇr´ıklad Google1 nebo Seznam2. V´ıce v indexu search engines3. Pro spr´avnou funkci potˇrebuje vyhled´avaˇc mˇeˇrit kvalitu str´anek pomoci tzv. Ranku (napˇr. PageRank u Google, S-Rank u Seznam). Obecnˇe vyhled´avaˇc pracuje ve tˇrech kroc´ıch:

1. proch´azen´ı webov ´ych str´anek 2. vytvoˇren´ı datab´aze v ´yskytu slov 3. indexov´an´ı

Proch´azen´ı zajiˇst’uje program tzv. vyhled´avac´ı robot, kter ´y proch´az´ı str´anky pˇres hyper-textov´e odkazy a snaˇz´ı se navˇst´ıvit ide´alnˇe cel ´y Internet. Str´anky si ukl´ad´a do datab´aze a po ˇcase se k nim vrac´ı, aby sledoval zmˇeny. Z uloˇzen ´ych str´anek robot vybere vˇsechna slova, kter´a uloˇz´ı do datab´aze. Ke kaˇzd´emu slovu si pamatuje str´anku kde se vyskytuje. T´ım vznik´a velice obs´ahl ´y rejstˇr´ık. K urychlen´ı vyhled´an´ı se pouˇz´ıv´a indexov´an´ı. Index se tvoˇr´ı tak, aby se zobrazily na prvn´ıch m´ıstech str´anky s nejvˇetˇs´ı relevanc´ı. Pro v ´ypoˇcet rel-evance se pouˇz´ıvaj´ı r ˚uzn´e metody anal ´yzy. Napˇr. v´aha slov (slovo se vyskytuje v titulku, frekvence slova, hustota), atraktivita (na str´anku smˇeˇruje v´ıce odkaz ˚u), sponzorovan´e odkazy (zaplacen´ım poplatku se zvyˇsuje v´aha) nebo technick´a kvalita (v´aha se zvyˇsuje pokud str´anky vyhovuj´ı W3C4standard ˚um). Jin ´y zp ˚usob jak dostat web na pˇredn´ı pozice je optimalizace pomoc´ı SEO. V´ıce o SEO zde [1].

Jin ´y pˇr´ıstup poskytuje meta vyhled´avaˇc Pattrio5. Jin ´y v tom smyslu, ˇze pouˇz´ıv´a metodu zaloˇzenou na s´emantice webov ´ych str´anek. Pracuje jak se strukturou, tak i s tex-tov ´ym obsahem str´anky. V n´asleduj´ıc´ıch vˇet´ach velice struˇcnˇe objasn´ım jak funguje Pat-trio. Vyhled´avaˇc z´ısk´a str´anku (napˇr´ıklad pˇres Google), kter´a obsahuje slova zadan´a

1http://www.google.cz 2http://www.seznam.cz 3 http://www.searchenginesindex.com 4 http://www.w3.org 5http://www.pattrio.net

(12)

uˇzivatelem. Z tohoto dokumentu vybere pouze text. V textu hled´a urˇcit´e ´useky, kter´a spl ˇnuj´ı krit´eria. Tyto krit´eria jsou popsan´e ve slovn´ıku n´avrhov ´ych vzor ˚u (knihovna n´avrhov ´ych vzor ˚u6). V pˇredchoz´ım kroku jsme textu pˇriˇradili s´emantiku. Jestliˇze pat-trio rozhodl, ˇze se jedn´a o n´avrhov ´y vzor, vyuˇzije t´eto skuteˇcnosti a zobraz´ı ji ve v ´ypisu relevantn´ıch str´anek. T´ımto z´ısk´ame dalˇs´ı uˇziteˇcn´e informace o str´ance.

Zpracov´an´ım velk´eho mnoˇzstv´ı dat se zab ´yv´a oblast nazvan´a Information Retrieval. T´ımto zpracov´an´ım je myˇsleno ukl´ad´an´ı, anal ´yzu, vyhled´av´an´ı, kategorizace, segmen-tace a sumarizace. Data, ve kter ´ych vyhled´av´am jsou dokumenty. Tyto dokumenty prezentuj´ı z´akladn´ı jednotku textu. Rozsah dokument ˚u muˇze b ´yt r ˚uzn ´y. V t´eto pr´aci se zab ´yv´am pouze webov ´ymi str´ankami, ale obecnˇe se jedn´a o liter´arn´ı d´ıla, novinov´e ˇcl´anky ˇci dokonce zvuk nebo video. V ´ysledkem vyhled´av´an´ı je mnoˇzina dokument ˚u, kter´a odpov´ıd´a uˇzivatelsk´emu dotazu.

C´ılem t´eto pr´ace je vytvoˇrit aplikaci, kter´a bude schopna analyzovat a rozhodovat, zda webov´a str´anka obsahuje relevantn´ıch informace. C´ılem je sestavit vlastn´ı mnoˇzinu n´avrhov ´ych vzor ˚u a na tˇech prov´adˇet experimenty. Pro experimenty jsem shrom´aˇzdil kolekci webov ´ych str´anek. Pˇri tvorbˇe t´eto pr´ace bylo potˇreba z´ıskat znalosti z nˇekolika oblast´ı a ˇreˇsit r ˚uzn´e probl´emy. To jsem shrnul do nˇekolika bod ˚u.

• N´avrhov ´y vzor

• DIS (Modely pouˇz´ıvan´e pro vyhled´av´an´ı dokument ˚u) • Data mining, Text mining, Web mining

• N´avrh vlastn´ı metody ˇreˇsen´ı • N´avrh a implementace aplikace • Experimenty

Struktura pr´ace se bude drˇzet tˇechto bod ˚u. V kapitole 2 vysvˇetl´ım co je n´avrhov ´y vzor7. V kapitole DIS uv´ad´ım dva modely. Prvn´ı z nich je model booleovsk ´y. Tento model mohu vyuˇz´ıt pro popis a vyhled´an´ı dokumentu, ve kter´em jsem jiˇz objevil (neob-jevil) n´avrhov ´y vzor. U takov´eho dokumentu udrˇzuji seznam, kter ´y obsahuje n´azev n´avrhov´eho vzoru a hodnotu ano/ne. Pomoc´ı tohoto seznamu mohu vyhledat jen ty dokumenty, kter´e obsahuj´ı urˇcit´e n´avrhov´e vzory. Druh ´y z model ˚u je model vektorov ´y, kter ´y pop´ıˇsu v kapitole 3.2. Vektorov ´y model vyuˇz´ıv´am k popisu dokument ˚u a vy-hodnocen´ı podobnosti s dotazem. Dokument popisuji pomoc´ı n´avrhov ´ych vzor ˚u. Ve

6

http://www.welie.com/patterns/

(13)

svoj´ı pr´aci ohodnocuji v´ahu slova (n´avrhov´eho vzoru) podle metody TF (poˇcet v ´yskyt ˚u v dokumentu). Jin ´ym zp ˚usobem hodnocen´ı je metoda TFIDF, kter´a zohled ˇnuje frekvenci termu v ostatn´ıch dokumentech. Pomoc´ı t´eto metody bych mohl automaticky vypoˇc´ıtat v´ahu n´avrhov´eho vzoru s ohledem na to v kolika jin ´ych dokumentech (jin´a dom´ena) se n´avrhov ´y vzor vyskytuje.

V kapitole 4.1 objasn´ım co je Data mining. Data mining jsem zde uvedl, protoˇze moje pr´ace vyuˇz´ıv´a metody porozumˇen´ı a predzpracov´an´ı dat. Kapitola 4.2 pojedn´av´am o Text miningu. Text mining se mimo jin´e zab ´yv´a zpracov´an´ım a pˇr´ıpravou textov ´ych dat a pˇresnˇe tyto probl´emy ˇreˇs´ım v t´eto pr´aci. V posledn´ı teoretick´e kapitole Web mining jsem popsal pouˇzit´ı n´avrhov ´ych vzor ˚u pro popis a klasifikaci webov ´ych str´anek. To je z´akladn´ı myˇslenka, kterou vyuˇz´ıv´a tato pr´ace.

(14)

2

N ´avrhov ´y vzor

V t´eto pr´aci budu pouˇz´ıvat pojem n´avrhov´y vzor a vzor. Tyto dva term´ıny nejsou ekviva-lentn´ı. Vysvˇetl´ım v n´asleduj´ıc´ım textu.

N´avrhov ´y vzor (design pattern)ch´apu jako popis charakteristick ´ych struktur´aln´ıch rys ˚u a rys ˚u chov´an´ı, kter´e zlepˇsuj´ı pouˇzitelnost architektury software, uˇzivatelsk´eho rozhran´ı, webov ´ych str´anek nebo cokoliv jin´eho v zam ´yˇslen´e dom´enˇe. V t´eto pr´aci pouˇz´ıv´am n´avrhov´e vzory, kter´e obsahuj´ı s´emantick´e informace - vzory dom´en. V n´asleduj´ıc´ım seznamu uvedu z´akladn´ı rysy n´avrhov ´ych vzor ˚u:

• m´alo z´avisl ´y na implementaci • z´avisl ´y na vn´ım´an´ı uˇzivatele

• komunikaˇcn´ı n´astroj mezi uˇzivatelem a program´atorem

• jednotliv´e prvky konkr´etn´ı instance vzoru jsou na str´ance v´ıcem´enˇe pohromadˇe Pro lepˇs´ı pˇredstavu uvedu konkr´etn´ı pˇr´ıklad n´avrhov´eho voru Nab´ıdka z´ajezdu viz. obr´azek 1. Struˇcn ´y popis: N´azev vzoru: Nab´ıdka dovolen´e. Probl´em: potˇreba pˇrehledn´eho

Obr´azek 1: N´avrhov ´y vzor Nab´ıdka dovolen´e

zobrazen´ı informac´ı o z´ajezdu. Kdy uˇz´ıt?: prodej a nab´ıdka z´ajezd ˚u, tam kde je potˇreba zobrazit pˇrehledn ´y seznam nab´ızen ´ych z´ajezd ˚u. Proˇc?: prodejce potˇrebuje pˇrehlednˇe a srozumitelnˇe zobrazit informaci o z´ajezdech. Jak?: zobrazen´ı jedn´e a v´ıce poloˇzek (typ-icky 4 a v´ıce). Obvykle obsahuje: n´azev letoviska, obr´azek, term´ın, poˇcet dn´ı, druh stravy, cenu, tlaˇc´ıtko pro v´ıce informac´ı nebo pro objedn´an´ı.

Vzor pouˇz´ıv´am ve vztahu s Data miningem. ´Ukolem data miningu je extrakce zaj´ımav ´ych ne trivi´aln´ıch (potencion´alnˇe uˇziteˇcn ´ych, skryt ´ych) souvislost´ı v datech. V ´ysledkem je vytvoˇren´ı pravidel chov´an´ı, kter´a se dlouhodobˇe opakuj´ı. Tato pravidla se naz ´yvaj´ı vzor. Pˇr´ıklad vzoru: v minulosti se data chovala podle nˇejak´eho vzoru (z´akazn´ık, kter ´y m´a vˇek vˇetˇs´ı neˇz 30 let a je ˇzenat ´y, si obvykle kupuje velk´e rodinn´e auto), v budoucnu se chov´an´ı z´akazn´ık ˚u nezmˇen´ı (z´akazn´ık ˚um, kteˇr´ı maj´ı vˇek vˇetˇs´ı neˇz 30 let a jsou ˇzenat´ı nab´ızej rodinn´a auta. Napˇr´ıklad zasl´an´ım akˇcn´ı nab´ıdky na email).

(15)

3

Dokumentografick ´e informa ˇcn´ı syst ´emy

Dokumentografick´e informaˇcn´ı syst´emy (DIS) pˇredstavuj´ı tˇr´ıdu programov ´ych n´astroj ˚u, urˇcen ´ych pro zpracov´an´ı a v ´ybˇer dokument ˚u. Obor, kter ´ym se DIS zab ´yv´a se naz ´yv´a In-formation Retrieval (vyhled´av´an´ı informaci). Vyhled´an´ı informac´ı je ˇcinnost, jej´ımˇz c´ılem je v ´ybˇer relevantn´ıch dokument ˚u. Souvis´ı s reprezentac´ı, ukl´ad´an´ım a pˇr´ıstupem k infor-mac´ım.

Objekty v Information Retrieval(d´ale jen IR) jsou vstupn´ı a v ´ystupn´ı. Z´akladn´ım vs-tupn´ım objektem je dokument. Dokument m ˚uˇze b ´yt napˇr.: novinov ´y ˇcl´anek, web, fo-tografie, ˇreˇc a zvuk, video. Kaˇzd ´y dokument m ˚uˇze b ´yt popisov´an pomoc´ı metadat, struk-tury textu a obsahu. Kaˇzd ´y dokument m ˚uˇze b ´yt pops´an pomoc´ı DDL(document descrip-tion language). Jin ´y vstupn´ı objekt je dotaz. Dotaz m ˚uˇze b ´yt cokoliv z v ´yˇse uveden ´ych. V ´ystupn´ım objektem je obvykle mnoˇzina dokument ˚u. Tyto dokumenty tvoˇr´ı odpovˇed’ na dotaz a naz ´yvaj´ı se hity [20],[19].

T´ımto se dost´av´ame k hodnocen´ı efektivity vyhled´avac´ıch syst´em ˚u. Pro zmˇeˇren´ı kvality m ˚uˇze b ´yt d ˚uleˇzit´a cel´a ˇrada faktor ˚u (rychlost, poskytnut´ı informace o rele-vantn´ıch dokumentech). Schopnost poskytnout informaci o relerele-vantn´ıch dokumentech se vyjadˇruje pomoc´ı dvou koeficient ˚u. Pojmem relevantn´ı dokument oznaˇc´ıme doku-ment, kter ´y vyhovuje sv ´ym obsahem dotazu tazatele. Tedy ne vˇsechny dokumenty vy-bran´e jako odpov´ıdaj´ıc´ı uˇzivatelovu dotazu mus´ı b ´yt relevantn´ı a naopak ne vˇsechny rel-evantn´ı dokumenty mus´ı odpov´ıdat dotazu.[14],[19]. Viz. obr´azek 2 na stranˇe 11, kter ´y je pˇrevzat ´y z [20].

Popis obr´azku 2. |Hr| - poˇcet vybran ´ych relevantn´ıch dokument ˚u, |R| - poˇcet vˇsech relevantn´ıch dokument ˚u v kolekci, |H| - poˇcet vˇsech vybran ´ych dokument ˚u.

• Koeficient pˇresnosti = |Hr|

|H| • Koeficient ´uplnosti =|Hr|

|R|

Koeficient pˇresnosti ch´apeme jako pravdˇepodobnost, ˇze vybran ´y dokument je rel-evantn´ı. Koeficient ´uplnosti ch´apeme jako pravdˇepodobnost s jakou byly vybr´any vˇsechny relevantn´ı dokumenty. V ide´aln´ım pˇr´ıpadˇe by koeficienty mˇely b ´yt rovny 1. Toho v praxi nelze dos´ahnout. V praxi tedy uˇzivatel, kter ´y po prvn´ım dotazu dostane pˇr´ıliˇs mnoho nerelevantn´ıch dokument ˚u, zaˇcne dotaz zpˇres ˇnovat, t´ım doc´ıl´ı toho, ˇze obdrˇz´ı v´ıce relevantn´ıch dokument ˚u, ale bude jich m´enˇe.[14],[20]. V n´asleduj´ıc´ı kapitole podrobnˇe pop´ıˇsu z´akladn´ı dva modely. Jsou to Booleovsk ´y a Vektorov ´y.

(16)

Obr´azek 2: Hodnocen´ı efektivity

3.1 Booleovsk ´y model

Booleovsk´e DIS poch´azej´ı z 50. let. Jednalo se o prvn´ı syst´emy pro automatizaci kni-hovnictv´ı. Pˇresto se vˇsak tyto syst´emy ve velk´e m´ıˇre pouˇz´ıvaj´ı dodnes (pˇrev´aˇznˇe pro jejich snadnou implementaci). Kaˇzd ´y dokument D je v indexu reprezentov´an pomoc´ı mnoˇziny term ˚u T = (t1, . . . , tm) , kter´e jej co nejl´epe popisuj´ı. Dokument D ⊆ T . Pˇriˇrazen´ı mnoˇziny term ˚u kaˇzd´emu dokumentu prob´ıh´a dvˇema zp ˚usoby:

• Ruˇcn´ı - Nekonzistentn´ı. V´ıce lid´ı, kteˇr´ı ohodnocuj´ı dokument se nemus´ı shodnout na mnoˇzinˇe term ˚u. Jeden ˇclovˇek m ˚uˇze ohodnotit stejn ´y dokument jinak - subjek-tivn´ı pohled.

• Automatick´a - Konzistentn´ı, ale chyb´ı lidskost - porozumˇen´ı textu (synonyma). Mnoˇzina term ˚u je bud’ pˇredem dan´a a vyberou se ty, kter´e jsou vhodn´e pro doku-ment, nebo se mnoˇzina term ˚u mˇen´ı s pˇrib ´yvaj´ıc´ımi dokumenty. V booleovsk´em mod-elu je zaj´ımavˇe vytv´aˇren index. Ten totiˇz nen´ı tvoˇren tak, ˇze ke kaˇzd´emu dokumentu je pˇriˇrazena mnoˇzina term ˚u, kter´e obsahuje, ale naopak, ke kaˇzd´emu termu je pˇriˇrazena mnoˇzina dokument ˚u, kter´e dan ´y term obsahuj´ı. Tohoto se vyuˇz´ıv´a pˇri hled´an´ı doku-ment ˚u (napˇr.: pr ˚unik mnoˇzin dokudoku-ment ˚u, kter´e obsahuj´ı slovo A a mnoˇzina dokudoku-ment ˚u obsahuj´ıc´ı slovo B)

Dotaz je pak sestaven z term ˚u a logick ´ych spojek d´avaj´ıc´ı logick ´y v ´yraz. Obecnˇe lze pouˇz´ıt n´asleduj´ıc´ı logick´e spojky:

(17)

• AV

B: Logick ´y souˇcin, konjunkce. Ve v ´ysledku budou dokumenty, kter´e obsahuj´ı A a z´arove ˇn B.

• AW

B: Logick ´y souˇcet, disjunkce. Ve v ´ysledku budou dokumenty, kter´e obsahuj´ı A nebo B.

• AL

B: Exkluzivn´ı souˇcet. XOR. Ve v ´ysledku budou dokumenty, kter´e obsahuj´ı A nebo B, ne vˇsak oba souˇcasnˇe.

• ¬A: Negace. Ve v ´ysledku budou dokumenty, kter´e neobsahuj´ı A.

Protoˇze pouˇzit´ım v ´yˇse uveden ´ych pravidel by informaˇcn´ı syst´em moc kvalitn´ı nebyl, jsou pouˇz´ıv´any dalˇs´ı rozˇs´ıˇren´ı:

• Sekund´arn´ı informace: datab´azeV

(autor= ˇSarmanov´a). • Z´astupn´e znaky: * - pro v´ıce znak ˚u, ? - pro jeden znak • Proximitn´ı omezen´ı:

A (m,n) B: slovo A je vzd´aleno minim´alnˇe m a maxim´alnˇe n slov od termu B.

A vˇeta B: term A se vyskytuje ve stejn´e vˇetˇe jako term B (stejnˇe pro odstavec a kapitolu).

Probl´em booleovsk´eho modelu je pˇredevˇs´ım v neschopnosti seˇradit v ´ysledek v poˇrad´ı (nejv´ıce relevantn´ı dokumenty jsou nejv´ıce nahoˇre). Dalˇs´ı nev ´yhoda je sloˇzitost pokl´ad´an´ı dotazu, vˇsechny termy v dotazu i v identifikaci dokumentu jsou ch´ap´any jako stejnˇe d ˚uleˇzit´e, relevantn´ı dokumenty jsou pouze ty, kter´e lexik´alnˇe obsahuj´ı zadan´e pojmy. Pro nˇekter´e dotazy dostaneme ´uplnˇe ˇspatn´e dokumenty. Nen´ı totiˇz jasn´e, zda hledan ´y dokument m´a obsahovat souˇcasnˇe vˇsechny nebo jen nˇekter´e pojmy (synonyma). [19]

V t´eto pr´aci booleovsk ´y model zat´ım nevyuˇz´ıv´am. Pokud bych tuto pr´aci rozˇs´ıˇril, mohl bych booleovsk ´y model pouˇz´ıt pro vyhled´an´ı str´anek, kter´e obsahuj´ı jen urˇcit´e n´avrhov´e vzory. Metodou (popsanou d´ale v textu) z´ısk´am n´avrhov´e vzory. Automat-icky (programem RWV) urˇc´ım, zda se n´avrhov ´y vzor na str´ance vyskytuje (ohodno-cen´ı ano/ne). Pomoc´ı booleovsk´eho dotazu z´ısk´am str´anky, kter´e obsahuj´ı poˇzadovan´e n´avrhov´e vzory. Pˇr. titulek AND nab´ıdka AND login AND NOT teplota.

3.2 Vektorov ´y model

Vektorov ´y model vznikl v 70. letech. Snahou bylo odstranit probl´emy Booleovsk ´ych DIS. Hlavn´ım rozd´ılem oproti pˇredchoz´ımu modelu je reprezentace dokument ˚u a

(18)

uˇzivatelsk ´ych dotaz ˚u pomoc´ı vektor ˚u. Model obsahuje datab´azi D obsahuj´ıc´ı n doku-ment ˚u. D = (d1, . . . , dn). Dokumenty jsou popisov´any pomoc´ı m term ˚u. T = (t1, . . . , tm). Kaˇzd ´y dokument je reprezentov´an pomoc´ı vektoru vah ~di = (wi,1, . . . , wi,m) ∈ < 0, 1 >m. Pro vektor dotazu Q plat´ı stejn´a pravidla.

• Pokud wi,j = 0, znamen´a to, ˇze term tj nen´ı pro identifikaci dokumentu di v ˚ubec d ˚uleˇzit ´y.

• Pokud wi,j = 1, znamen´a to, ˇze term tj je pro identifikace dokumentu di velice d ˚uleˇzit ´y.

Indexov ´y soubor vektorov´eho modelu potom pˇredstavuje matici:

D =        w1,1 w1,2 · · · w1,m w2,1 w2,2 · · · w2,m .. . ... . .. ... wn,1 wn,2 · · · wn,m        ∈ < 0, 1 >n×m

Ohodnocen´ı slov ve vektorov´em prostoru prob´ıh´a n´asledovnˇe. Hodnocen´ı slov je funkce, kter´a kaˇzd´emu slovu pˇriˇrad´ı nˇejakou ˇc´ıselnou hodnotu. Existuje nˇekolik typ ˚u ohodnocen´ı slov.

1. Bin´arn´ı - pokud se slovo v dokumentu vyskytuje alespo ˇn jedenkr´at, bude slovo ohodnoceno ˇc´ıslem 1, jinak 0. Je to velmi ztr´atov´a reprezentace, ale v mnoha algo-ritmech poskytuje dobr´e v ´ysledky. V´ıce v [14].

2. Frekvenˇcn´ı (TF) - u kaˇzd´eho slova spoˇc´ıt´a jeho frekvenci. Frekvence kl´ıˇcov´eho slova v dokumentu je ˇc´ıslo, kter´e ud´av´a poˇcet v ´yskyt ˚u kl´ıˇcov´eho slova v dokumentu. Nˇekdy se pouˇz´ıv´a normalizovan´a frekvence kl´ıˇcov´eho slova. Frekvence je normal-izovan´a d´elkou dokumentu. V t´eto pr´aci vyuˇz´ıv´am tuto metodu pro ohodnocen´ı. 3. TFIDF(Term Frequency Inverse Document Frequency) - Jedna z nejpouˇz´ıvanˇejˇs´ıch

metod. Tato metoda se snaˇz´ı zohlednit frekvenci slova vzhledem k jeho v ´yskytu v ostatn´ıch dokumentech. ˇC´ım ˇcastˇeji se slovo vyskytuje v ostatn´ıch dokumentech, t´ım m´enˇe d ˚uleˇzit´e bude.[8].

T F IDF = T Fi× log D DFi

T Fi je poˇcet v ´yskyt ˚u termu Ti v dokumentu. D je poˇcet vˇsech dokument ˚u. DFi je poˇcet dokument ˚u neobsahuj´ıc´ı term Ti.

(19)

Hlavn´ım probl´emem vektorov´eho modelu je velik´a dimenze. Z hlediska v ´yˇse uve-den ´ych metod je problematick´e odvozovat z´avˇery ze stovek (tis´ıc ˚u) pˇr´ıklad ˚u, kde kaˇzd ´y pˇr´ıklad obsahuje des´ıtky aˇz stovky atribut ˚u. Jednou z moˇznost´ı je pouˇz´ıt metody redukce dimensionality nebo pouˇz´ıt jen urˇcit´e term´ıny. Pro selekci atribut ˚u se d´a pouˇz´ıt χ2 (chi-square test). Pro transformaci term´ınu lze pouˇz´ıt shlukov´an´ı, faktorovou anal ´yzu, nebo indexaci latentn´ı s´emantiky (LSI). Pro sn´ıˇzen´ı dimenze prostoru se pouˇz´ıv´a metoda Sin-gul´arn´ı rozklad (SVD). Ta n´am umoˇz ˇnuje prov´est redukci dimenze prostoru dokumentu pˇri zachov´an´ı shluk ˚u. V´ıce o t´eto metodˇe napsal Michal Kr´atk ´y v [14].

V pˇredchoz´ım textu jsem popsal vˇsechny n´aleˇzitosti vektorov´eho modelu a zb ´yv´a popsat jak se provede v ´ypoˇcet podobnosti mezi dotazem Q a dokumentem D. V praxi se pouˇz´ıv´a velk´e mnoˇzstv´ı mˇer podobnost´ı, kter´e vyjadˇruj´ı vztahy mezi dokumenty. V ´ybˇer m´ıry podobnosti z´aleˇz´ı na jak ´ych datech chceme prov´adˇet v ´ypoˇcet. Ja pouˇz´ıv´am data intervalov´a, pro kter´e se obvykle pouˇz´ıv´a m´ıra Kosinov´a. Touto m´ırou se spoˇc´ıt´a ´uhel, kter ´y sv´ır´a dokument D s dotazem Q. Viz vzorec (1). Dalˇs´ı m´ıry: Jaccradova viz. vzorec (2), Diceova m´ıra viz. vzorec (3).

Sim(Q, D) = n P i=1 (Di· Qi) s n P i=1 (Di)2· n P i=1 (Qi)2 (1) Sim(Q, D) = m P j=1 Qj ∗ Dj m P j=1 Qj+ m P j=1 Dj− m P j=1 Qj∗ Dj (2) Sim(Q, D) = 2 ∗ Pm j=1 Qj∗ Dj m P j=1 Qj+ m P j=1 Dj (3)

(20)

4

Mining

4.1 Data Mining

Data Mining (ˇcesky

”dolov´an´ı dat“) je proces hled´an´ı informac´ı a znalost´ı ve velk´em objemu dat. Jedn´a se o n´astroj pouˇz´ıvan ´y v oblasti anal ´yzy dat, slouˇz´ıc´ı jako podklady pro manaˇzersk´e ˇcinnosti. Pro Data Miming se vyuˇz´ıvaj´ı technologie rozpozn´an´ı vzor ˚u, statistick´e a matematick´e metody.

Prvn´ı n´aznaky se objevily v 60. letech. Rozvoj statistick ´ych metod, datab´azov ´ych aplikac´ı a umˇel´e inteligence vedl k prvn´ımu vyuˇzit´ı data miningu v praxi. Mohl nas-tat probl´em s hled´an´ım vz´ajemn ´ych vztah ˚u ve velk ´ych datov ´ych souborech. Ve velk´em souboru m ˚uˇze vzniknout nepravideln´a zmˇena v datech bez moˇznosti vytvoˇren´ı pravidla a bez praktick´eho vyuˇzit´ı. V 90. letech byly vybudov´any metody, umoˇz ˇnuj´ıc´ı vyhnout se pˇredchoz´ımu probl´emu. Rostla popt´avka po metod´ach zpracov´an´ı rozs´ahl ´ych datab´az´ı, kter´e obsahuj´ı velk´e objemy dat. Z nich je obt´ıˇzn´e z´ıskat potˇrebn´a data pomoc´ı klasick ´ych tabulkov ´ych metod. To napomohlo k rychl´emu rozvoji Data Miningu a jeho rozˇs´ıˇren´ı do komerˇcn´ı praxe. Existuje ˇsirok´a nab´ıdka specializovan ´ych softwaru pro tento ´uˇcel (napˇr. SAS Enterprise Miner, SPSS Clementine, STATISTICA Data Miner, Weka, Orange).

Definice 4.1 Data Mining je proces v´ybˇeru, prohled´av´an´ı a modelov´an´ı ve velk´ych objemech dat, slouˇz´ıc´ı k odhalen´ı dˇr´ıve nezn´am´ych vztah ˚u mezi daty za ´uˇcelem z´ısk´an´ı obchodn´ı v´yhody.

Usama M. Fayyad

Dolov´an´ı dat je extrakce zaj´ımav ´ych netrivi´aln´ıch, potencion´alnˇe uˇziteˇcn ´ych, skryt ´ych souvislost´ı(vzory, informace) ve velk ´ych objemech dat. DM slouˇz´ı k porozumˇen´ı dˇr´ıve nezn´am ´ych vztah ˚u mezi daty a tvoˇren´ı pravidel chov´an´ı, kter´e se dlouhodobˇe opakuj´ı. Nˇekter´e datab´aze jsou velice objemn´e, a tud´ıˇz orientace v nich je prakticky nemoˇzn´a (samotn ´y tv ˚urce datab´aze nev´ı jak´a data obsahuj´ı). Pro takovou datab´azi by bylo pˇr´ınosn´e pouˇz´ıt techniku, kter´a by dok´azala z tˇechto rozs´ahl ´ych dat ”vytˇeˇzit“ d ˚uleˇzit´e informace nebo vzory chov´an´ı. V´ıce v [2], [3], [5].

Vzor v Data minigu ch´apu jako vztah mezi daty v datab´azi. Vysvˇetl´ım na pˇr´ıkladu: Z´akazn´ık nakupuje pˇres internetov ´y obchod. Koup´ı si nov ´y digit´aln´ı fotoapar´at a z´arove ˇn s n´ım si koup´ı pamˇet’ovou kartu. Takovou ˇcinnost provede polovina lid´ı, kteˇr´ı si kupuj´ı fotoapar´at. Takov´a ˇcinnost se d´a zobecnit do vzoru. Vzor popisuje pravidlo, ˇze pokud si z´akazn´ık koup´ı fotoapar´at je pravdˇepodobn´e, ˇze si koup´ı i pamˇet’ovou kartu. Tohoto faktu se d´a vyuˇz´ıt pˇri tvorbˇe internetov´eho obchodu (u fotoapar´at ˚u um´ıst´ım i pamˇet’ov´e karty).

(21)

Obr´azek 3: ˇZivotn´ı cyklus Data Miningu

Zdroje dat

V n´asleduj´ıc´ım seznamu uvedu pˇrehled r ˚uzn ´ych zdroj ˚u dat. Uvedeno v [4]. • Datab´aze, datov´e sklady

• Datov´e toky

• Strukturovan´a data, grafy, soci´aln´ı s´ıtˇe. • World Wide Web

4.1.1 ˇZivotn´ı cyklus Data Mining

Vznik standardizovan´eho metodologick´eho postupu. CRoss-Industry Standard Proces for Data Mining (CRISP-DM)[6], je to standardizovan ´y proces pro vˇsechny zdroje dat. Metodologie je vˇzdy stejn´a a popisuje data mining v n´asleduj´ıc´ıch ˇsesti kroc´ıch. Jejich n´avaznost uk´aˇze obr´azek 3, kter ´y je pˇrevzat ´y z [6]. Jednotliv´e procesy pop´ıˇsu.

• Porozumˇen´ı problematice (Business Understanding).

”Tato poˇc´ateˇcn´ı f´aze se zamˇeˇruje na pochopen´ı c´ıl ˚u projektu a poˇzadavk ˚u z manaˇzersk´eho hlediska a

(22)

pot´e pˇreveden´ı tˇechto poznatk ˚u do definov´an´ı probl´emu data miningu. V t´eto f´azi doch´az´ı tak´e k n´avrhu a tvorbˇe pl´anu pro ˇreˇsen´ı dan´eho probl´emu.“ Citov´ano z [21].

• Porozumˇen´ı dat ˚um (Data Understanding).

”F´aze porozumˇen´ı dat ˚um zaˇc´ın´a pr-votn´ım sbˇerem dat a pokraˇcuje aktivitami vedouc´ımi k sezn´amen´ı se s daty, urˇcen´ım kvality dat, prvn´ım nahl´ednut´ım do dat nebo odhalen´ım zaj´ımav ´ych podmnoˇzin k vytv´aˇren´ı hypot´ez pro skryt´e informace. Tyto hypot´ezy se v pr ˚ubˇehu cel´eho procesu snaˇz´ıme potvrdit. Nˇekdy vˇsak m ˚uˇzeme hypot´ezu vyvr´atit nebo naopak naj´ıt jin´e ˇreˇsen´ı.“ Citov´ano z [21].

• Pˇr´ıprava dat (Data Preparation).

”F´aze pˇr´ıpravy dat zahrnuje vˇsechny aktivity na vybudov´an´ı koneˇcn´eho datov´eho souboru, kter ´y bude zpracov´av´an jednotliv ´ymi analytick ´ymi metodami. Tato data by tedy mˇela obsahovat ´udaje relevantn´ı k dan´e ´uloze a m´ıt podobu, kter´a je vyˇzadov´ana vlastn´ımi analytick ´ymi algoritmy. Tento proces nelze spr´avnˇe prov´est bez znalosti dat. ˇSpatn´a integrace dat by mohla v´est ke znehodnocen´ı zdroj ˚u dat a ovlivnˇen´ı celkov´e kvality ˇreˇsen´ı.“ Citov´ano z [21]. • Modelov´an´ı (Modeling).

”V t´eto f´azi jsou zvoleny a aplikov´any r ˚uzn´e modelovac´ı techniky a jejich parametry jsou kalibrovan´e na optim´aln´ı hodnoty. Obvykle exis-tuje ˇrada r ˚uzn ´ych metod pro ˇreˇsen´ı dan´e ´ulohy (doporuˇcuje se pouˇz´ıt v´ıce r ˚uzn ´ych metod a vybrat nˇekolik nejlepˇs´ıch, kter´e postupuj´ı do dalˇs´ıho kroku) a vhodnˇe nas-tavit jejich parametry. Nˇekter´e techniky maj´ı specifick´e poˇzadavky na podobu dat. Pak je tedy ˇcasto potˇreba pˇristoupit zpˇet k f´azi pˇr´ıpravy dat.“ Citov´ano z [21]. • Vyhodnocen´ı (Evaluation).

”V t´eto f´azi m´ame sestaven ´y model (nebo modely), kter ´y se zd´a m´ıt z hlediska anal ´yzy dat vysokou kvalitu. Pˇred koneˇcn ´ym vyuˇzit´ım modelu je d ˚uleˇzit´e d ˚ukladnˇeji vyhodnotit model a pˇrezkoumat kroky vedouc´ı ke stavbˇe modelu k nabyt´ı jistoty, ˇze skuteˇcnˇe dos´ahneme dan ´ych c´ıl ˚u. Hlavn´ım c´ılem je zjistit, zda existuje nˇejak´a d ˚uleˇzit´a z´aleˇzitost, kter´a nebyla dostateˇcnˇe zahrnuta. Na konci t´eto f´aze by mˇelo b ´yt dosaˇzeno rozhodnut´ı o vyuˇzit´ı v ´ysledk ˚u data miningu. Dle z´ıskan ´ych v ´ysledk ˚u je jiˇz moˇzno zv´aˇzit pˇr´ıpadnou implementaci cel´eho procesu.“ Citov´ano z [21].

• Vyuˇzit´ı v ´ysledk ˚u (Deployment).

”Je posledn´ım krokem v cel´em procesu. Je vˇsak nutn´e podotknout, ˇze proces nekonˇc´ı, ale zaˇc´ın´a se cyklicky opakovat. Pokud se z´akazn´ık rozhodne v ´ysledky data miningu implementovat do sv ´ych proces ˚u, je nezbytn´e modely udrˇzovat aktu´aln´ı. Z´avislosti v datech se ˇcasem mˇen´ı, a pokud by syst´em nebyl dostateˇcnˇe robustn´ı ˇci pravidelnˇe aktualizov´an, je velmi

(23)

Obr´azek 4: Pozice Data Miningu v procesu z´ısk´av´an´ı znalost´ı z datab´az´ı

pravdˇepodobn´e, ˇze by ˇcasem pozbyl kvality, tak i zcela sv´e funkce. Proto je nutn´e pravidelnˇe ovˇeˇrovat funkci modelu nov ´ymi daty a t´ım udrˇzovat aktu´alnost model ˚u. Vytvoˇren´ı modelu obecnˇe nen´ı konec projektu. Z´ıskan´e znalosti budou muset b ´yt zorganizov´any a prezentov´any zp ˚usobem, aby je z´akazn´ık mohl vyuˇz´ıt. V z´avislosti na ´ukolu m ˚uˇze b ´yt tato f´aze zcela prost´a – pouh´e seps´an´ı z´avˇereˇcn´e zpr´avy, nebo tak´e sloˇzit´a – zaveden´ı syst´emu pro automatickou klasifikaci nov ´ych pˇr´ıpad ˚u.“ Citov´ano z [21].

Obr´azek 4 je pˇrevzat ´y z publikace [5]. Na obr´azku 4 je zobrazena pozice Data Minigu v procesu z´ısk´av´an´ı(dolov´an´ı) informac´ı z datab´aze. V prvn´ım kroku se provede selekce dat. Pokud jsou data pro anal ´yzu relevantn´ı jsou naˇctena z datab´aze. V n´asleduj´ıc´ım kroku se uprav´ı data. Zde doch´az´ı k integraci v´ıce datov ´ych zdroj ˚u, ˇciˇstˇen´ı a ´upravˇe dat do podoby, kterou vyˇzaduj´ı analytick´e n´astroje a metody. Odstran´ı se ˇsum a nekonzis-tentn´ı data. V datech se m ˚uˇzou vyskytnout r ˚uzn´e chyby (z´akazn´ık nakoupil zboˇz´ı pˇred t´ım neˇz se narodil), tyto chyby je potˇreba odhalit a opravit. V kroku 3 jsou data transfor-mov´ana nebo slouˇcena do forem vhodn ´ych pro dolov´an´ı. Napˇr´ıklad se provede souhrn nebo agregace. Nˇekdy jsou procesy transformace a konsolidace dat aplikov´any do pro-cesu v ´ybˇeru dat, zvl´aˇstˇe pak v pˇr´ıpadˇe datov ´ych sklad ˚u. Nˇekdy je redukce dat provedena za ´uˇcelem z´ıskat menˇs´ı zastoupen´ı p ˚uvodn´ıch dat bez ztr´aty integrity. Krok 4 je z´akladn´ı proces, kde se z´ısk´avaj´ı datov´e vzory za pouˇzit´ı inteligentn´ıch metod. V posledn´ım kroku se urˇc´ı vzory. Uˇzivateli se vizu´alnˇe prezentuj´ı data z´ıskan´e dolov´an´ım. Je vytvoˇren model, kter ´y mus´ı pˇrin´est uˇzitek. Pˇr´ıklad ´ulohy pro data mining: Kolik bude st´at

(24)

poze-mek 50km od Ostravy? Kter´e produkty se prod´avaj´ı spoleˇcnˇe? Kter´e produkty si lid´e kupuj´ı spoleˇcnˇe s jin ´ymi? [4]

4.1.2 Kategorie metod

Data mining se d´a pouˇz´ıt na ˇreˇsen´ı mnoha r ˚uzn ´ych probl´em ˚u. Podle druhu probl´emu m ˚uˇzeme vytvoˇrit urˇcit´e skupiny, kter´e maj´ı za c´ıl postihnout nezn´am´e vztahy mezi daty. Jednotn´a podoba dˇelen´ı nen´ı definov´ana. M ˚uˇzeme se setkat s r ˚uzn ´ymi skupinami. J´a jsem vybral dˇelen´ı podle Usamy Fayyada [5]. Fayyad urˇcuje dva hlavn´ı c´ıle data miningu, predikci a deskripci.

• Predikce Umoˇz ˇnuje pˇredpov´ıdat budouc´ı hodnoty atribut ˚u na z´akladˇe nalezen ´ych vzor ˚u v datech. Tyto metody se daj´ı vyuˇz´ıt napˇr´ıklad pro pˇredpovˇed’ poˇcas´ı, v ´yvoj ceny na burze a mnoho dalˇs´ıch.

• Deskripce Je br´ana jako samozˇrejmost. Pokud chcete nˇekomu pˇredat nˇejak´e infor-mace, mus´ıte b ´yt schopni danou skuteˇcnost popsat. Deskripce popisuje nalezen´e vzory a vztahy v datech, kter´e mohou ovlivnit rozhodov´an´ı.

C´ıl ˚u predikce a deskripce je dosaˇzeno pomoc´ı n´asleduj´ıc´ıch ´ukol ˚u:

• Klasifikace. Klasifikace rozdˇeluje objekty podle jejich charakteristick ´ych rys ˚u do jednotliv ´ych klasifikaˇcn´ıch tˇr´ıd. Tato tˇr´ıda (m ˚uˇzeme naz ´yvat dom´ena) je vytvoˇren´a pˇredem z mnoˇziny tr´enovac´ıch dat. Kaˇzd ´y objekt m ˚uˇzeme nˇekam zaˇradit. (Napˇr.: str´anky internetov´eho obchodu m ˚uˇzeme urˇcitˇe zaˇradit mezi tˇr´ıdu n´akup)

• Regrese. Data kter´a jsou obsaˇzena v datab´azi maj´ı informativn´ı hodnotu, ze kter´e m ˚uˇzeme pˇredpov´ıdat jak´e dalˇs´ı hodnoty budou n´asledovat.

• Shlukov´an´ı. Shlukov´an´ı je skupina metod, kter´e tvoˇr´ı shluky dat. Vstupn´ı mnoˇzina dat je rozdˇelena nˇekterou z technik do shluk ˚u (poˇcet takov ´ych skupin je zn´am bud’ pˇredem, nebo aˇz pˇri pr ˚ubˇehu shlukov´an´ı). Pouˇz´ıvan ´ymi technikami jsou rozhodovac´ı stromy, neuronov´e s´ıtˇe, logistick´a regrese, diskriminaˇcn´ı anal ´yza. • Sumarizace. Zahrnuje metody pro hled´an´ı ucelen´eho popisu podmnoˇziny dat

- pod´av´a pˇrehled o struktuˇre dat. Nˇekter´e metody zahrnuj´ı odvozen´ı pravidel z v´ıcerozmˇern ´ych zobrazovac´ıch metod a objeven´ı funkˇcn´ıch vztah ˚u mezi nimi. Jsou aplikov´any na pr ˚uzkumn´e anal ´yzy dat a automatick´e vytv´aˇren´ı zpr´av.

(25)

• Modelov´an´ı z´avislost´ı. Hled´a model, kter ´y popisuje d ˚uleˇzit´e z´avislosti mezi promˇenn ´ymi. Rozdˇelujeme jej na dvˇe ´urovnˇe: 1. Struktur´aln´ı ´urove ˇn modelu (speci-fikuje promˇenn´e, kter´e jsou na sobˇe logick ´y z´avisl´e, ˇcasto graficky). 2. Kvantitativn´ı

´urove ˇn modelu specifikuje s´ıly z´avislost´ı za pouˇzit´ı ˇc´ıseln´e stupnice.

• Detekce zmˇen a odchylek. Kontroluje nejpodstatnˇejˇs´ıch zmˇeny v datech od p ˚uvodnˇe namˇeˇren ´ych nebo normativn´ıch hodnot.

4.2 Text Mining

V posledn´ıch letech lze vidˇet ohromn ´y n´ar ˚ust mnoˇzstv´ı dokument ˚u dostupn ´ych na In-ternetu, nebo napˇr. v podnikov ´ych intranetech. S rostouc´ım poˇctem dat vzr ˚ust´a potˇreba po kvalitn´ıch metod´ach, kter´e vyhled´avaj´ı a zpracov´avaj´ı texty. Textov´a data jsou ob-vykle uloˇzena v nestrukturovan´e podobˇe (obyˇcejn ´y text v ˇcl´anku). Data obob-vykle nejsou uloˇzena v datab´az´ıch, ale pˇredevˇs´ım na webov ´ych serverech, souborov ´ych syst´emech nebo na PC. Pˇr´ıklad dat pro Text Mining:

• elektronick´a poˇsta

• internetov´e dokumenty (pozn´amky, prezentace, z´apisky) • technick´e zpr´avy

• informaˇcn´ı kan´aly

Vyhled´av´an´ım a zpracov´an´ım text ˚u se zab ´yv´a Text Mining(TM). TM je jedna z ´uloh obecn´eho Data Miningu(DM), kter ´y jsem popsal v kapitole 4.1. V dneˇsn´ım svˇetˇe inter-netu je vˇetˇsina (t´emˇeˇr 80%) vˇsech informac´ı uloˇzena v podobˇe textov ´ych dokument ˚u (pouh ´ych 20% je strukturovanˇe uloˇzeno v datab´az´ıch). Z d ˚uvodu rozd´ılnosti dat se oddˇelilo dolov´an´ı v textech od dolov´an´ı v datech. Bylo potˇreba vytvoˇrit nov´e metody pˇredzpracov´an´ı a zpracov´an´ı text ˚u. U TM usilujeme o extrakci zaj´ımav ´ych vzor ˚u z tex-tov ´ych dokument ˚u. Nejd ˚uleˇzitˇejˇs´ı ´ulohy Text Miningu jsou:

• Kategorizace • Shlukov´an´ı

• Extrakce informac´ı • Sumarizace

(26)

”Dolov´an´ı v textech lze definovat jako proces objevov´an´ı (z´ısk´av´an´ı) znalost´ı, kter ´y m´a za c´ıl identifikovat a analyzovat uˇziteˇcn´e informace v textech, jeˇz jsou zaj´ımav´e pro uˇzivatele. Dolov´an´ı v textech lze tak´e definovat jako netrivi´aln´ı extrakci implicitn´ıch, pˇredem nezn´am ´ych a potencion´alnˇe uˇziteˇcn ´ych informac´ı z (velk´eho mnoˇzstv´ı) tex-tov ´ych dat. Pˇredem nezn´am ´ymi informacemi jsou myˇsleny informace, kter´e znal autor dokumentu, a kter´e nejsou implicitnˇe viditeln´e. Nalezen´ı zcela nov ´ych informac´ı je velmi obt´ıˇzn ´y ´ukol, kter ´y se ˇcasto realizuje v souborech text ˚u, kde se analyzuj´ı vz´ajemn´e vazby a souvislosti.“ Jak je pˇeknˇe uvedeno v [7].

Text Mining m ˚uˇzeme rozdˇelit na dvˇe ˇc´asti:

1. Pˇredzpracov´an´ı textu - pˇr´ıprava textu do formy, se kterou se prov´ad´ı dalˇs´ı zpra-cov´an´ı.

2. Z´ısk´av´an´ı znalost´ı - vzor ˚u - v t´eto ˇc´asti se odvozuj´ı vzory z pˇred pˇripraven´eho textu. Doch´az´ı k anal ´yze vygenerovan ´ych term ˚u a k rozhodovac´ımu procesu ve-douc´ımu k poskytnut´ı poˇzadovan ´ych v ´ysledk ˚u (zaˇrazen´ı dokumentu do kate-gorie).

4.2.1 Pˇredzpracov ´an´ı textu

D ˚uleˇzit ´ym krokem, kter ´y pˇredch´az´ı dolov´an´ı dat, je pˇr´ıprava tˇechto dat. Pˇri pˇredzpracov´an´ı je vstupn´ı dokument pˇrev´adˇen do urˇcit´e podoby - do odpov´ıdaj´ıc´ıho form´atu. S touto podobou se prov´ad´ı dalˇs´ı zpracov´an´ı. Ze vstupn´ıch dat je extrahov´an pouze text. Jsou odstranˇeny obr´azky nebo informace, kter´e se net ´ykaj´ı textu. Text je pˇreveden na stejn ´y druh p´ısma. Co je zachov´ano je textov´a struktura textu. Tato struktura m ˚uˇze pomoci k urˇcen´ı v ´yznamu term ˚u. Term je ust´alen ´y celek v dokumentu(z´akladn´ı ob-jekt, s nimˇz se prov´ad´ı dalˇs´ı zpracov´an´ı). Term se skl´ad´a z jednotliv ´ych slov, nebo v´ıce fr´az´ı spolu s urˇcen´ım slovn´ıho druhu. V ´ybˇer termu m ˚uˇze b ´yt ruˇcn´ı, nebo automatizo-van ´y. D´ale jsou z textu vyjmuta slova, kter´a nenesou ˇz´adn ´y v ´yznam. Vektor term ˚u m ˚uˇze b ´yt velice velk ´y, a proto se aplikuj´ı metody, kter´e umoˇz ˇnuj´ı sn´ıˇzit velikost na pˇrijatelnou mez. [9],[11],[10], [7].

Metody pˇredzpracov´an´ı textu

• Pˇrevod na mal´a nebo velk´a p´ısmena: Vˇsechny znaky v textu jsou pˇrevedeny na mal´a, nebo velk´a p´ısmena. Ve svoj´ı pr´aci text pˇrev´ad´ım na mal´a p´ısmena. T´ımto se zbav´ım rozd´ılu mezi slovem, kter´e je napsan´e velk ´ym p´ısmem respektive mal ´ym. [13].

(27)

• Odstranˇen´ı diakritiky: Vˇsechny znaky v textu projdou odstranˇen´ım inter-punkˇcn´ıch znam´enek. Anal ´yza textu se t´ım zase o nˇeco zlepˇs´ı. [13].

• Stemming: Pˇrevod slova do z´akladn´ıho tvaru je velmi ˇcasto pouˇz´ıvan´a technika [13]. Smyslem stemmingu je sjednocen´ı slov se stejn ´ym v ´yznamem, ale jin ´ym tvarem. Jako pˇr´ıklad m ˚uˇzou slouˇzit anglick´e tvary slov looks, looking a looked, kter´e po ´upravˇe maj´ı tvar look. V ˇceˇstinˇe napˇr´ıklad slovo program m´a tvary programov´an´ı nebo programy. Tato technika dok´aˇze sn´ıˇzit v ´yslednou velikost vektoru. Pro an-glicky psan´e texty se pouˇz´ıv´a algoritmus8, kter ´y byl naps´an Martinem F. Porterem v roce 1979. Tento algoritmus vyuˇz´ıv´a pouze odstra ˇnov´an´ı pˇr´ıpon. U pˇredpon se pˇredpokl´ad´a, ˇze jich v angliˇctinˇe nen´ı tolik a nejsou tak ˇcasto pouˇzity. Pro ˇceˇstinu se pouˇz´ıv´a napˇr´ıklad morfologick ´y analyz´ator Ajka v´ıce v[12].

• Stop list: Je to seznam zak´azan ´ych slov, kter´a nechceme zahrnout do anal ´yzy. Pouˇz´ıv´a se pˇredevˇs´ım pro odstranˇen´ı slov, kter´a nemaj´ı ˇz´adn ´y v ´yznam. Jsou to napˇr´ıklad a, nebo, neˇz, aniˇz, tˇreba a mnoho dalˇs´ıch. Tyto slova jsou manu´alnˇe nashrom´aˇzdˇen´a. Jin´a moˇznost neˇz stop list je vypustit urˇcit ´y poˇcet (napˇr. 100, 200, 300) nejfrekventovanˇejˇs´ıch slov v dan´em jazyce. D´ale je nutn´e odstranit slova, kter´a jsou obsaˇzena ve velk´em mnoˇzstv´ı dokument ˚u (pak je v ´yznam tˇechto slov nulov ´y). • Odstranˇen´ı dalˇs´ıch informac´ı: Takov´e informace obvykle nese www dokument.

Jsou to HTML znaˇcky, skripty a jin´e. Tyto znaˇcky nechceme do anal ´yzy zaˇclenit. • Ohodnocen´ı slov: Nejpouˇz´ıvanˇejˇs´ım zp ˚usobem reprezentace dokumentu je pouˇzit´ı

vektoru, kter ´y m´a tolik sloˇzek, kolik je slov v souboru dokument ˚u. Jednotliv´e doku-menty b ´yvaj´ı reprezentov´any ˇr´ıdk ´ymi vektory o tis´ıc´ıch hodnot. V´ıce o ohodnocen´ı jsem zm´ınil v kapitole 3.2.

4.2.2 Klasifikace dokument ˚u

Klasifikace dokument ˚u je proces, slouˇz´ıc´ı k vytvoˇren´ı modelu, pro pˇriˇrazov´an´ı nebo ro-zliˇsov´an´ı objekt ˚u do pˇredem zn´am ´ych tˇr´ıd na z´akladˇe jejich vlastnost´ı. V procesu Text Mining se kategorizace pouˇz´ıv´a pro hled´an´ı spr´avn ´ych t´emat pro kaˇzd ´y dokument. Dokument m ˚uˇze b ´yt zaˇrazen podle obsahu, n´azvu, autora apod. Kaˇzd ´y dokument m ˚uˇze b ´yt v nˇekolika, jedn´e nebo ˇz´adn´e tˇr´ıdˇe. Kategorizace se uplatn´ı v aplikac´ıch indexov´an´ı, ˇrazen´ı, filtrov´an´ı ˇci organizov´an´ı textu nebo tˇr´ıdˇen´ı webov ´ych str´anek nebo odhalov´an´ı spamu. Kategorizace dokumentu je pouˇz´ıvan´a jiˇz od 60. let minul´eho stolet´ı. Aˇz do konce

(28)

80. let se klasifikaˇcn´ı pravidla vytv´aˇrela ruˇcnˇe. Pot´e byly vyvinuty syst´emy, kter´e na z´akladˇe jiˇz zaˇrazen ´ych dokument ˚u dok´azaly tyto pravidla vytvoˇrit automaticky.

Klasifikace textov ´ych dokument ˚u patˇr´ı do probl´emu strojov´eho uˇcen´ı. C´ılem je auto-maticky pˇriˇradit textov ´y dokument do nˇejak´e kategorie v z´avislosti na jeho obsahu. Pro kategorizaci lze pouˇz´ıt obecnˇe zn´am´e probl´emy jako jsou rozhodovac´ı stromy, induktivn´ı logick´e programov´an´ı (ILP), asociaˇcn´ı pravidla, Bayesova klasifikace, k-NN a jin´e.

Pro klasifikaˇcn´ı algoritmy, je tˇreba textov ´y dokument reprezentovat jako vektor, kde kaˇzd´a sloˇzka reprezentuje frekvenci slova ˇci termu. Klasifikaci m ˚uˇzeme rozdˇelit do dvou f´az´ı. V prvn´ı f´azi na z´akladˇe tr´enovac´ıch vzor ˚u (u nichˇz v´ıme, do jak´e skupiny patˇr´ı) urˇc´ıme pravidla, podle nichˇz bude klasifikace prov´adˇena. Ve druh´e f´azi jsou pravidla z´ıskan´a v pˇredchoz´ım kroku testov´ana na jin ´ych vzorech, n´aslednˇe pouˇzita pro zaˇrazov´an´ı nov ´ych dat. V´ıce o klasifikaci dokument ˚u napˇr´ıklad zde: [15].

4.2.3 Shlukov ´an´ı

´

Ukolem shlukov´an´ı je nal´ezt shluky tak, aby platilo: dokumenty uvnitˇr shluku jsou si nejv´ıce podobn´e, a aby jejich podobnost s dokumenty z jin ´ych shluk ˚u byla menˇs´ı. Pomoc´ı shlukov´an´ı m ˚uˇzeme zjistit t´emata, kter´a se vyskytuj´ı ve zkouman´e mnoˇzinˇe dokument ˚u. Na rozd´ıl od klasifikace nezn´ame jednotliv´e skupiny. [16],[11].

Kvalita shlukov´an´ı je ´umˇern´a schopnostem porovnat odliˇsnosti jednotliv ´ych ob-jekt ˚u. Je d ˚uleˇzit´e vybrat vhodn´e vstupn´ı parametry. Vych´az´ı se z toho, ˇze um´ıme mˇeˇrit vzd´alenosti mezi objekty. N´asleduje definice shluku.

Definice 4.2 Mˇejme mnoˇzinu objekt ˚u O = O1, . . . , On a m´ıru vzd´alenosti objekt ˚u V. Shlukem nazveme takovou podmnoˇzinu X ∈ O, pro niˇz plat´ı

max(V (Oi, Oj)) < min(V (Ok, Oi)), Oi, Oj ∈ X, Ok ∈ X/

Kapitolu o shlukov´an´ı jsem uvedl, protoˇze bych ho v budoucnu mohl pouˇz´ıt pro shlukov´an´ı webov ´ych str´anek. Pokud bych kolekci r ˚uzn ´ych webov ´ych str´anek pop-sal pomoc´ı vektorov´eho modelu. U kaˇzd´eho dokumentu provedu ohodnocen´ı term ˚u metodou (TFIDF). Pak m ˚uˇzu spustit shlukov´an´ı. Ide´aln´ım v ´ysledkem bude nˇejak ´y poˇcet shluk ˚u, kde kaˇzd ´y shluk odpov´ıd´a jedn´e dom´enˇe. Pro shlukov´an´ı bych vybral algorit-mus (Hierarchick ´y), kter ´y mnoˇzinu str´anek postupnˇe rozdˇel´ı do k shluk ˚u.

N´asleduj´ıc´ı vzorce a text pro v ´ypoˇcet vzd´alenosti jsem si vyp ˚ujˇcil z [17]. ”Pˇredpokl´adejme, ˇze kaˇzd ´y pˇr´ıklad je charakterizov´an m numerick ´ymi veliˇcinami. Vzd´alenost mezi dvˇema pˇr´ıklady x1 = [x11, . . . , x1m] a x2 = [x21, . . . , x2m] lze vyj´adˇrit r ˚uzn ´ymi m´ırami. Napˇr.:

(29)

• Hammingova vzd´alenost dH(x1, x2) = m X j=1 |x1j − x2j| • Euklidovskou vzd´alenost dE(x1, x2) = v u u t m X j=1 (x1j− x2j)2 • ˇCebyˇsova vzd´alenost dC(x1, x2) = maxj|x1j− x2j|

Ve vˇsech v ´yˇse uveden ´ych pˇr´ıpadech se jedn´a o speci´aln´ı pˇr´ıklady Minkovsk´eho metriky L(z)(x1, x2) = z v u u t m X j=1 (x1j − x2j)z dH(x1, x2) = L(1)(x1, x2), dE(x1, x2) = L(2)(x1, x2), dC(x1, x2) = lim z→∞L (z)(x 1, x2) V ´yˇse uveden´e m´ıry vzd´alenosti z´avis´ı na mˇeˇr´ıtku veliˇcin. Proto je tˇreba veliˇciny normovat. Konkr´etn´ı hodnota se obvykle dˇel´ı nˇejakou jinou hodnotou: pr ˚umˇerem, smˇerodatnou odchylkou nebo rozpˇet´ım (max-min). Nav´ıc pˇredpokl´adaj´ı stejn ´y rozptyl u vˇsech veliˇcin. V pˇr´ıpadˇe r ˚uzn´eho rozptylu se doporuˇcuje pouˇz´ıt Mahalanobisovu vzd´alenost, kter´a je zobecnˇen´ım vzd´alenosti euklidovsk´e.“ Citov´ano z [17].

dM2(x1, x2) = (x1− x2)TS−1(x1− x2)

Na z´avˇer uvedu jeden z nejpouˇz´ıvanˇejˇs´ıch vzorc ˚u pro mˇeˇren´ı podobnosti dokument ˚u -Kosinov´a m´ıra. Sim(x1, x2) = n P i=1 (x1i· x2i) s n P i=1 (x1i)2· n P i=1 (x2i)2

4.2.4 Metody shlukov ´an´ı

Shlukov´an´ı nespad´a do jednoho oboru, ale spad´a do v´ıce oblast´ı, je to napˇr´ıklad matem-atika, statistika, numerick´a anal ´yza ˇci umˇel´a inteligence. N´asleduje pˇrehled metod pro shlukov´an´ı pˇrevzat ´y z [18].

(30)

Aglomerativn´ı algoritmy Rozdˇelovac´ı algoritmy • Rozdˇelovac´ı metody Pravdˇepodobnostn´ı shlukov´an´ı k-medoids metody k-means metody

• Algoritmy zaloˇzen´e na hustotˇe prvk ˚u • Metody zaloˇzen´e na mˇr´ıˇzk´ach

• Jin´e metody (Napˇr.: metody pro mnohorozmˇern´a data, r ˚uzn´e metody zaloˇzen´e na strojov´em uˇcen´ı nebo metody vyuˇz´ıvaj´ıc´ı neuronov´e s´ıtˇe).

4.3 Web Mining

Web mining je technika, kter´a vyuˇz´ıv´a metod Data Miningu, pro objevov´an´ı vzor ˚u na webov ´ych str´ank´ach (hled´a a analyzuje uˇziteˇcn´e informace). Na Web Mining by se dalo pohl´ıˇzet jako rozˇs´ıˇren´ı Data Minigu s t´ım rozd´ılem, ˇze se pouˇz´ıv´a pro data z webu. Hlavn´ım ´ukolem Web Miningu je klasifikace webov´eho dokumentu. Web mining se dˇel´ı na tˇri skupiny, kter´e objasn´ım v n´asleduj´ıc´ıch kapitol´ach [26], [27].

4.3.1 Web content mining

Jeden z c´ıl ˚u web content miningu je analyzovat webov´e str´anky a zjistit, kter´e uˇziteˇcn´e informace jsou na nich obsaˇzeny. Uˇziteˇcn´e informace z pohledu uˇzivatele (text, odkazy, obr´azky, zvuk, video). Nˇekdy je oznaˇcov´an jako text mining, protoˇze se vˇetˇsinou zab ´yv´a zpracov´an´ım textu. V´ıce o pouˇzit´ı v [27]. Web content mining se d´a rozdˇelit na dvˇe oblasti:

• Information Retrieval - ´uˇcelem je z´ıskat uˇziteˇcn´e informace, pomoc´ı kter ´ych nalezneme relevantn´ı webov´e str´anky na internetu.

• Extrakce informac´ı - ´uˇcelem je zjistit informace o struktuˇre, kter´e mohou b ´yt uloˇzeny v datab´azi (napˇr. n´azev, cena a term´ın z´ajezdu).

Podle publikace [23] pro oblast web mining je vhodn´e pouˇz´ıt webov´e n´avrhov´e vzory. Vzory se pouˇz´ıvaj´ı odliˇsn ´ym zp ˚usobem neˇz obvykle (podle vzoru program´ator napro-gramuje poˇzadovanou akci - st´ale se opakuj´ıc´ı). V publikaci [23] byla vybr´ana sada

(31)

n´avrhov ´ych vzor ˚u, kter´e se vyskytuj´ı na skuteˇcn ´ych str´ank´ach (tyto n´avrhov´e vzory jsou vn´ım´any uˇzivatelem). N´avrhov´e vzory jsou pak pouˇzity pro popis charakteru webov´e str´anky (na diskusn´ım f ´oru se vyskytuje vzor pˇrihl´aˇsen´ı, pˇr´ıspˇevky a vloˇzen´ı nov´eho pˇr´ıspˇevku). Pro tento ´uˇcel musel b ´yt vytvoˇren katalog tˇechto vzor ˚u9. C´ılem pouˇzit´ı n´avrhov ´ych vzor ˚u je popis webov´e str´anky a pot´e tento popis opakovanˇe pouˇz´ıvat pro jin´e ´ukoly. Vlastnosti n´avrhov´eho vzoru: je m´alo z´avisl ´y na implementaci, je z´avisl ´y na vn´ım´an´ı uˇzivatele, prvky jedn´e konkr´etn´ı instance vzoru jsou na str´ance pohromadˇe. Pro extrakci n´avrhov´eho vzoru jsou pouˇzity tzv. Gestalt principy pro vizu´aln´ı syst´emy. Byly vybr´any 4 nejvhodnˇejˇs´ı pravidla zaloˇzen´a na Gestalt principech. Jsou to:

1. Proximity (bl´ızkost) - souvisej´ıc´ı informace b ´yvaj´ı bl´ızko u sebe.

2. Similarity (podobnost) - podobnˇe vypadaj´ıc´ı prvky obsahuj´ı podobn´e informace 3. Continuity (souvislost) - informace n´asleduj´ı plynule za sebou a dopl ˇnuj´ı se. 4. Closure (celek) - souvisej´ıc´ı informace b ´yvaj´ı spoleˇcnˇe uzavˇreny do celk ˚u.

Metodika moj´ı pr´ace je obdobn´a jako metodika uveden´a v pr´aci [23].

4.3.2 Web structure mining

Web structure mining se zab ´yv´a strukturou hypertextov ´ych odkaz ˚u v r´amci webu (struktura webu). Anal ´yza hyperlink ˚u je star´a oblast v ´yzkumu, ale s rostouc´ım z´ajmem o dolov´an´ı dat z webu se zv ´yˇsilo ´usil´ı a vy ´ustilo v novou oblast tzv. Link Mining. Web obsahuje ˇradu objekt ˚u s t´emˇeˇr ˇz´adnou jednot´ıc´ı strukturou, rozd´ıly ve v ´yvojov´em stylu a obsahu jsou mnohem vˇetˇs´ı neˇz v tradiˇcn´ıch knihovn´ach, proto se analyzuje vz´ajemn´e propojen´ı WWW str´anek. Objekty WWW jsou webov´e str´anky a odkazy. ´Ukoly link miningu:

• Link - klasifikace. ´Ukolem je zamˇeˇrit se na pˇredpovˇed’ kategorie dokumentu, na z´akladˇe slov kter´e se objevuj´ı v dokumentu, vazby mezi str´ankami, html tagy a dalˇs´ı moˇzn´e atributy.

• Link - shlukov´an´ı. C´ılem je naj´ıt pˇrirozenˇe se vyskytuj´ıc´ı pod-tˇr´ıdy. Dokumenty se rozdˇeluj´ı do skupin, kde podobn´e dokumenty jsou pohromadˇe a odliˇsn´e v r ˚uzn ´ych skupin´ach.

• Link - typ. Existuje ˇsirok´e spektrum ´ukol ˚u t ´ykaj´ıc´ıch se predikce existence vazeb (predikce typu spojen´ı dvou dokument ˚u nebo ´uˇcel spojen´ı).

(32)

• Link - v´aha. Odkazy mohou b ´yt ohodnoceny - v´aˇzen´ı odkaz ˚u.

• Link - mohutnost. Pˇredpovˇed’ kolik vazeb je mezi dokumenty(transformace WWW do orientovan´eho grafu).

C´ılem je vytvoˇren´ı modelu organizace Webu. Pom´ah´a zdokonalovat vyhled´avac´ı roboty (page rank - d ˚uleˇzitost str´anky se zvyˇsuje t´ım v´ıc, ˇc´ım v´ıc se na ni odkazuje jin ´ych rele-vantn´ıch str´anek) [24].

4.3.3 Web usage mining

Web usage mining se zamˇeˇruje na vyuˇzit´ı techniky, kter´a by mohla pˇredpov´ıdat chov´an´ı uˇzivatel ˚u, zat´ımco pouˇz´ıvaj´ı WWW. Web usage mining je zaloˇzen na sb´ır´an´ı dat z logo-vac´ıch z´aznam ˚u a z nich vytvoˇren´ı nov ´ych vzor ˚u chov´an´ı uˇzivatele. Chov´an´ı uˇzivatel ˚u m ˚uˇze objevit nov´e vazby a z´avislosti (odvozen´ı vazeb tam kde nebyly dosud navrˇzeny nebo tam kde jsou chybn´e). Probl´emy t ´ykaj´ıc´ı se web usage miningu:

1. Pˇredzpracov´an´ı - dostupn´e ´udaje obsahuj´ı ˇsum, jsou nekonzistentn´ı a ne ´upln´e. ˇ

Ciˇstˇen´ı, integrace, transformace a redukce dat.

2. Objeven´ı vzoru - nˇekolik r ˚uzn ´ych metod a algoritm ˚u (statistika, data mining, stro-jov´e uˇcen´ı a rozpozn´an´ı vzor ˚u) by mohly b ´yt pouˇzity na identifikaci vzoru chov´an´ı uˇzivatele.

3. Anal ´yza vzoru - pochopen´ı, vizualizace a v ´yklad.

S pouˇzit´ım web usage miningu souvis´ı ochrana osobn´ıch ´udaj ˚u. V´ıce o usage miningu v [25].

(33)

5

Vlastn´ı metoda ˇre ˇsen´ı

5.1 Metodika sb ˇeru dat

Abych mohl vytvoˇrit vlastn´ı aplikaci, kter´a dok´aˇze automaticky detekovat vzory, musel jsem sesb´ırat informace o dom´en´ach. Takov´e informace jsem nalezl na str´ank´ach, kter´e se t ´ykaj´ı stejn´eho t´ematu. Str´anky je nutn´e uloˇzit a d ˚ukladnˇe prozkoumat. Na dom´enˇe nez´aleˇz´ı, aplikace mus´ı b ´yt schopna vyhled´avat vˇsechny druhy str´anek. Pro sbˇer dat jsem pouˇzil aplikaci Internet Explorer. Pomoc´ı internetov´eho vyhled´avaˇce Google.cz jsem vyhledal jen ˇcesk´e internetov´e str´anky. Anglicky psan´e str´anky mˇe pro tuto chv´ıli nezaj´ımaj´ı. Pro anglicky psan´e str´anky budou fungovat stejn´e algoritmy, ale jin´e kon-figuraˇcn´ı soubory. Pro vytvoˇren´ı konkon-figuraˇcn´ıho souboru mus´ım analyzovat co moˇzn´a nejvˇetˇs´ı poˇcet HTML soubor ˚u. Existuj´ı postupy pro automatick´e z´ısk´av´an´ı tˇechto kon-figuraˇcn´ıch soubor ˚u (tzv. strojov´e uˇcen´ı). Aplikace se dok´aˇze uˇcit nov ´ym poznatk ˚um, kter´e nejsou explicitnˇe definov´any. Tento postup nen´ı pˇr´ıliˇs vhodn ´y pro tento typ ´ulohy, protoˇze vˇetˇsina automatick ´ych zp ˚usob ˚u indexov´an´ı je zaloˇzena na pozorov´an´ı, ˇze v ´yznamnost kl´ıˇcov ´ych slov pro indexaci pˇr´ımo souvis´ı s frekvenc´ı v ´yskytu kl´ıˇcov´eho slova (term) v dokumentu. Pro moje potˇreby nepotˇrebuji frekvenci jednotliv ´ych slov, ale frekvenci blok ˚u sestaven ´ych ze slov a to vyˇzaduje lidsk ´y cit. Dalˇs´ı nev ´yhoda strojov´eho uˇcen´ı je velk ´y objem tr´enovac´ıch dat. Z tohoto d ˚uvodu se pˇrikl´an´ım k ruˇcn´ımu sestaven´ı konfiguraˇcn´ıch dat. Str´anky, kter´e budu analyzovat jsem vybral na z´akladˇe velikosti rel-evance k dotazu. Vˇsechny postupy pro sbˇer dat jsem popsal v nˇekolika kroc´ıch:

1. V prvn´ım kroku jsem si vybral dom´enu, na kter´e budu prov´adˇet pokusy. Konkr´etnˇe jsem si nevybral jen jednu, ale v´ıce. Jsou to tyto dom´eny: Dovolen´a, Technick´e ´udaje, Diskusn´ı f ´orum. Postup pˇri sbˇeru dat budu demonstrovat pouze na dom´enˇe dovolen´a. Pro ostatn´ı dom´eny se postup neliˇs´ı.

2. Pro sbˇer tr´enovac´ıch dat jsem si vybral aplikaci Internet Explorer verze 8. Spust´ım IE a zad´am adresu http://www.google.cz. Jako kl´ıˇcov´e slovo pro vyhled´an´ı jsem zadal ”dovolen´a”a stisknu tlaˇc´ıtko hledat.V tomto kroku mi google naˇsel pˇribliˇznˇe 12 000 000 v ´ysledk ˚u za 0,06s. V dalˇs´ım kroku zakliknu str´anky pouze ˇcesky. V t´eto f´azi google naˇsel pˇribliˇznˇe 13 100 000 v ´ysledk ˚u za 0,11s.

3. Ve tˇret´ım kroku zaˇcnu proch´azet seznam str´anek, kter´e google vyhledal a jsou seˇrazeny podle m´ıry relevance k dotazu (v tomto pˇr´ıpadˇe je dotaz dovolen´a). Pos-tupnˇe otv´ır´am kaˇzdou str´anku. Prohl´ednu si ji, a pokud odpov´ıd´a dotazu, uloˇz´ım si ji na disk.

(34)

4. V pˇredchoz´ım kroku jsem naˇsel vyhovuj´ıc´ı www str´anku. Tuto str´anku uloˇz´ım na disk klasick ´ym zp ˚usobem. Pˇri ukl´ad´an´ı nastavuji dva parametry. Prvn´ı parametr je Uloˇzit jako typ. Pro moje potˇreby jsem zvolil uloˇzen´ı Webov´a str´anka, pouze HTML, tedy kaˇzdou str´anku uloˇz´ım tak, aby obsahovala html znaˇcky a vˇsechen text. Nic v´ıc pro potˇreby anal ´yzy nepotˇrebuji. Druh ´y parametr, kter ´y nastavuji je k´odov´an´ı. Zde si m ˚uˇzu vybrat z nˇekolika jazyk ˚u. Pro moje potˇreby a potˇreby aplikace si str´anky ukl´ad´am do k ´odov´an´ı Stˇredoevropsk´e jazyky (Windows).

5. Postupnˇe opakuji krok 3 a 4 tak dlouho, aˇz budu m´ıt uloˇzen ´ych nejm´enˇe 20 str´anek. T´ımto krokem sbˇer dat konˇc´ı a pˇrech´az´ım ke kapitole 5.2, kde budu str´anky ruˇcnˇe proch´azet a zaznamen´avat si z m´eho pohledu uˇziteˇcn´e informace.

5.2 Metodika anal ´yzy dat

V kapitole 5.1 jsem popsal postup pˇri sbˇeru dat. T´ımto m´am shrom´aˇzdˇena potˇrebn´a data a na nich provedu anal ´yzu. Anal ´yzou rozum´ım ruˇcn´ı proch´azen´ı jednotliv ´ych soubor ˚u a zaznamen´av´an´ı uˇziteˇcn ´ych informac´ı. Takov´a informace m ˚uˇze b ´yt:

1. Titulek str´anky - v titulku se nach´az´ı informace o str´ance (napˇr. dovolen´a, z´ajezd atd.) tato informace mi pom ˚uˇze ´uspˇeˇsnˇe detekovat str´anku o dovolen´e.

2. Frekvence slov - frekvence slov je velice d ˚uleˇzit´a. Napom´ah´a n´am rozeznat jak´e termy jsou uˇziteˇcn´e pro anal ´yzu respektive neuˇziteˇcn´e. Termy, kter´e se na str´ank´ach vyskytuj´ı ˇcasto, jsou uˇziteˇcn´e - vyskytuj´ı se v urˇcit´e dom´enˇe s velkou frekvenc´ı a tak popisuj´ı tuto dom´enu. Na druh´e stranˇe jsou termy, kter´e se nevyskytuj´ı pˇr´ıliˇs ˇcasto a tedy nemaj´ı pro mˇe ˇz´adn ´y uˇziteˇcn ´y v ´yznam. Nˇekde uprostˇred jsou termy, kter´e se nevyskytuj´ı pˇr´ıliˇs ˇcasto, ale jejich v ´yskyt nen´ı zanedbateln ´y. Tyto termy jsou nejv´ıce problematick´e. Tento problematick ´y term m ˚uˇze zv ´yˇsit relevanci nebo naopak sn´ıˇzit. To zjist´ıme aˇz pˇri testov´an´ı aplikace v praxi. Problematiku v ´ybˇeru kl´ıˇcov ´ych slov (d´ale jen KS) pˇribl´ıˇz´ım na pˇr´ıkladu.

Existuj´ı ˇctyˇri dokumenty, kaˇzd ´y dokument obsahuje urˇcit´a KS. Dokumenty tak´e m ˚uˇzu ch´apat jako ´usek textu (tzv. segment). Z tabulky 1 je patrn´e, ˇze KS a je obsaˇzeno ve vˇsech dokumentech a tedy je z pohledu rozliˇsen´ı dokument ˚u bezv ´yznamn´e. Ostatn´ı KS nejsou obsaˇzena ve vˇsech dokumentech, a proto n´am pˇribliˇzuj´ı resp. oddaluj´ı dokumenty. KS b a d obsahuj´ı dokumenty D1 a D2 a tedy jsou si podobn´e. Obdobnˇe KS f a c obsahuj´ı dokumenty D3 a D4. Pokud takto zvol´ıme kl´ıˇcov´a slova a n´aslednˇe poloˇz´ıme dotaz nad mnoˇzinou dokumentu D1-D4. V ´ysledkem bude skupina S1 respektive S2. Viz tabulka 2.

(35)

Dokument Kl´ıˇcov´a slova

D1 a,b,d

D2 a,b,r,d

D3 a,c,f

D4 a,f,c,z

Tabulka 1: Kl´ıˇcov´a slova

Skupina Dokumenty Kl´ıˇcov´a slova dotazu

S1 D1,D2 b,d

S2 D3,D4 c,f

Tabulka 2: Skupiny dokument ˚u

3. N´avrhov´e vzory vyskytuj´ıc´ı se na str´ance - na pohled rozd´ıln´e, vykon´avaj´ı stej-nou ˇcinnost. N´avrhov ´y vzor je ukryt ´y v bloku textu. Tento text nazvu jako seg-ment. Na str´ank´ach si vˇs´ım´am segment ˚u, o kter ´ych si mysl´ım ˇze by se mohly vyskytovat hlavnˇe na str´ank´ach o dan´em t´ematu. Tyto segmenty textu se ˇcasto opakuj´ı na dan´e dom´enˇe. Tento text je v nˇejak´e grafick´e podobˇe napˇr´ıklad tab-ulka nebo seznam. Jakmile zaznamen´am segmenty a jejich frekvenci (oznaˇc´ım Sf) ze vˇsech str´anek z kolekce ”Dovolen´a”, mohu vybrat kl´ıˇcov´e segmenty. Pro kaˇzd ´y segment stanov´ım jeho IDF (inverzn´ı frekvence segmentu) podle vzorce IDF (segment) = m/F s, kde m je celkov ´y poˇcet dokument ˚u v kolekci a F s je poˇcet dokument ˚u, ve kter ´ych se vyskytuje segment. Protoˇze kolekce dokument ˚u ob-sahuje jen kladn´e str´anky, budu inverzn´ı funkci ch´apat opaˇcn ´ym zp ˚usobem. Pokud se na vˇsech str´ank´ach bude vyskytovat segment, bude se IDF rovnat log(1) = 0. V takov´em pˇr´ıpadˇe je segment jasn ´ym favoritem. V opaˇcn´em pˇr´ıpadˇe, pokud se segment vyskytuje jen na jedn´e str´ance log(20) = 1, 3, nebude pro mˇe d ˚uleˇzit ´y. Vyberu takov´e segmenty, pro kter´e plat´ı IDF < hladina v´yznamnosti.

Tuto problematiku pˇribl´ıˇz´ım na pˇr´ıkladu z dom´eny dovolen´a. Na tˇechto str´ank´ach se ˇcasto vyskytuje vzor Nab´ıdka dovolen´e. Je to ´usek textu, kde se vyskytuj´ı slova: destinace (st´at), term´ın dovolen´e (datum), d´elka dovolen´e (poˇcet dn´ı), cena. Tyto slova jsou bl´ızko u sebe. Tˇechto ´usek ˚u (n´avrhov ´ych vzor ˚u) se na str´ance vyskytuje obvykle v´ıce. Zaznamen´av´an´ım si vytvoˇr´ım seznam n´avrhov ´ych vzor ˚u, kter´e na str´ank´ach budu detekovat. U kaˇzd´eho n´avrhov´eho vzoru si zaznamen´av´am kl´ıˇcov´a slova. Pˇri v ´ybˇeru KS pouˇz´ıv´am techniku popsanou v bodˇe 3 s t´ım rozd´ılem, ˇze nerozliˇsuji

(36)

dokumenty, ale ´useky (bloky) textu. N´asleduj´ıc´ı pˇr´ıklad popisuje n´avrhov ´y vzor Nab´ıdka dovolen´e. Pro jednoduchost jsem uvedl jen tˇri bloky. Data jsem pˇrevzal ze str´anky Bezva-dovolena.htm, kde se tento blok opakuje 33 kr´at. Viz tabulka 3.

Blok Text

B1 term´ın, 14.12.-21.12.2010, 7 dn´ı, Strava, Polopenze, Cena, 11 130,-Kˇc B2 term´ın, 18.10.-26.10.2011, 8 dn´ı, Strava, Sn´ıdanˇe, Cena, 33 990,-Kˇc,

(+2500 Kˇc taxy),koneˇcn´a, cena, vˇc. poplatk ˚u, 36 490,-Kˇc B3 18.01.-25.01.2011 - 7 dn´ı, Strava, All Inclusive, Cena, 15670,-Kˇc

Tabulka 3: Text v bloku

Anal ´yzou tˇechto kl´ıˇcov ´ych slov jsem vytvoˇril mnoˇzinu popisuj´ıc´ı n´avrhov ´y vzor Nab´ıdka dovolen´e. Viz tabulka 4.

Blok Kl´ıˇcov´a slova

B1 <datum>, <mal´e ˇc´ıslo>, <cena>, dn´ı, polopenze B2 <datum>, <mal´e ˇc´ıslo>, <cena>, dn´ı, sn´ıdanˇe B3 <datum>, <mal´e ˇc´ıslo>, <cena>, dn ˚u

Tabulka 4: Kl´ıˇcov´a slova v bloku

Popis tabulky 4:

KS <datum> je datov ´y typ, kter ´y reprezentuje vˇsechny datumy (napˇr. 14.12., 18.10.-26.10.2011, 13. ledna 2000).

KS <mal´e ˇc´ıslo> je datov ´y typ, kter ´y reprezentuje vˇsechny ˇc´ısla, kter´e obsahuj´ı maxim´alnˇe dvˇe cifry (napˇr. 2, 5, 76).

KS <cena> je datov ´y typ, kter ´y reprezentuje vˇsechny ceny (napˇr. 11130,-Kˇc, 15670,-, 11000Kˇc).

Sjednocen´ım kl´ıˇcov ´ych slov z bloku B1-B3 n´am vznikne mnoˇzina obsahuj´ıc´ı tato slova: datum, mal´e ˇc´ıslo, cena, dn´ı, polopenze, sn´ıdanˇe. Tato mnoˇzina n´am reprezentuje n´avrhov ´y vzor Nab´ıdka dovolen´e. Jak je patrn´e KS All Inclusive se v mnoˇzinˇe nevyskytuje, protoˇze se na str´ance vyskytuje i na jin ´ych m´ıstech. Jeho zaˇrazen´ı mezi KS by v nˇekter ´ych pˇr´ıpadech znamenalo pˇribl´ıˇzen´ı blok ˚u textu, kter´e nemaj´ı nic spoleˇcn´eho. Bliˇzˇs´ı popis vˇsech datov ´ych typ ˚u bude uveden v kapitole 6. Pozn´amka: v praxi se nejedn´a pˇr´ımo o kl´ıˇcov´a slova, ale o jejich kmeny. Napˇr´ıklad u slov dn ˚u a dn´ı. Po odtrˇzen´ı koncovky ˚u od slova dn ˚u n´am vznikne kmen dn a

(37)

stejnˇe tak u slova dn´ı po odtrˇzen´ı koncovky´ı n´am vznikne kmen dn. Tedy jsou stejn´e. Koncovkou je to, co se mˇen´ı pˇri sklo ˇnov´an´ı nebo ˇcasov´an´ı. (Pˇr´ıklad: ve slovˇe pˇr´ıspˇevk/ ˚u, pˇr´ıspˇevk/y je spoleˇcn ´y kmen pˇr´ıspˇevk). Tento jednoduch ´y zp ˚usob je pˇrekvapivˇe ´uspˇeˇsn ´y.

4. TAGy - v bodˇe 3 jsem z´ıskal slova, kter´a popisuj´ı n´avrhov ´y vzor. N´avrhov ´y vzor se obvykle vyskytuje v urˇcit´em m´ıstˇe str´anky a m´a nˇejakou grafickou podobu, kter´a je zn´azornˇena uˇzivateli. Tuto pozici (m´ısto) popisuje HTML TAG. Pˇr´ıklad takov´eho TAGu m ˚uˇze b ´yt: table (tabulka), title (titulek), tr (ˇr´adek tabulky), li (poloˇzka v seznamu), div (odd´ıl) nebo p (odstavec). Tˇechto HTML TAG ˚u je mnohem v´ıce. Pˇrehledn ´y sez-nam vˇsech je na internetov ´ych str´ank´ach10. U kaˇzd´eho segmentu si zaznamen´am v jak´em TAGu se vyskytuje. Tyto ´udaje vyuˇziji pro hled´an´ı n´avrhov´eho vzoru. Tento n´apad vysvˇetl´ım. Pˇri vyhled´an´ı n´avrhov´eho vzoru nebudu proch´azet celou str´anku (ta je sestavena z HTML TAG ˚u), ale budu proch´azet jen ty TAGy, ve kter ´ych se vyskytoval n´avrhov ´y vzor.

Ruˇcn´ım zaznamen´av´an´ım jsem z´ıskal data, podle kter ´ych bude aplikace vyh-led´avat. Uloˇzen´ı a popis tˇechto dat bude v kapitole 5.3.

5.3 Nastaven´ı automatick ´e detekce

Nastaven´ı zapisuji do souboru XML. Soubor m ˚uˇze obsahovat libovoln ´y poˇcet vzor ˚u. Jeden XML dokument popisuje jednu dom´enu. Postupnˇe budu vysvˇetlovat jednotliv´e parametry. Jako pˇr´ıklad jsem zvolil dom´enu dovolen´a a n´avrhov ´y vzor (segment) Nab´ıdka dovolen´e. Ve v ´ypisu 1 neuv´ad´ım vˇsechny parametry. Kompletn´ı v ´ypis uvedu v pˇr´ıloze B.

<vzor>

<jmeno>Dovolen ´a</jmeno> <segment id = ”nabidka”>

<seg hodnota>4</seg hodnota>

<seg maxVelikost>3000</seg maxVelikost> <seg minVelikost>15</seg minVelikost>

<seg minPocetNalezenych>3</seg minPocetNalezenych> <seg maxVzdalenostSlov>18</seg maxVzdalenostSlov> <seg musiObsahovat>Tdatum</seg musiObsahovat> <seg musiObsahovat>Tcena</seg musiObsahovat> <seg slovo>dnu</seg slovo>

<seg slovo>snidane</seg slovo> <seg slovo>bez</seg slovo>

(38)

<seg slovo>polopenze</seg slovo> <seg token>Tdatum</seg token> <seg token>Tcena</seg token> <seg token>Tteplota</seg token> <seg tag>tr</seg tag>

<seg tag>a</seg tag> <seg tag>ul</seg tag> </segment>

</vzor>

V ´ypis 1: Pˇr´ıklad XML

Popis parametr ˚u XML: Parametry oznaˇcen´e * jsou povinn´e parametry a jejich hod-nota mus´ı b ´yt nastavena na pˇr´ıpustnou hodnotu.

• <jmeno>* = n´azev dom´eny

• <segment id = "nabidka">* = n´azev vzoru • <seg_hodnota>* = v´aha vzoru

• <seg_maxVelikost>* = maxim´aln´ı velikost textu ve znac´ıch • <seg_minVelikost>* = minim´aln´ı velikost textu ve znac´ıch

• <seg_minPocetNalezenych>* = minim´aln´ı poˇcet kl´ıˇcov ´ych slov nalezen ´ych v textu potˇrebn ´ych pro rozpozn´an´ı vzoru. Stejn´e slovo se zapoˇc´ıt´a jenom jednou. • <seg_maxVzdalenostSlov>* = vzd´alenost od prvn´ıho nalezen´eho slova do

posledn´ıho. Vzd´alenost ve slovech. Pokud se jedn´a o vzor, kter ´y se v textu m ˚uˇze vyskytnou v´ıcekr´at, mus´ım hodnotu nastavit na kladn´e ˇc´ıslo (Viz kapitola 6.10.2). Pokud vyhled´av´am vzor, kter ´y se v textu vyskytuje jedenkr´at, hodnotu nastav´ım na -1 (Viz kapitola 6.10.1).

• <seg_musiObsahovat> = slovo, kter´e mus´ı vzor obsahovat vˇzdy. Tedy bez nˇeho vzor nebude nalezen. Toto slovo mus´ı b ´yt uvedeno i v <seg_slovo>.

• <seg_slovo>* = kl´ıˇcov´a slova, kter´a mohou, ale nemusej´ı b ´yt obsaˇzena. Tato slova jsou jedn´ım z nejd ˚uleˇzitˇejˇs´ım parametr ˚u. Jejich poˇcet nen´ı omezen.

• <seg_token>* = datov ´y typ kter ´y m ˚uˇze nebo nemus´ı b ´yt obsaˇzen. Datov´e typy velice pom´ahaj´ı pˇri anal ´yze. Bez datov ´ych typ ˚u by vˇetˇsina vzor ˚u neˇsla efektivnˇe vyhledat. Poˇcet nen´ı omezen.

References

Related documents

Likewise, among sexually active heterosexual !DUs (n=315) interviewed in Madrid in 1990, only 22 percent were always or almost always using condoms during sexual relations, and

Furthermore, traditional livestock farming directly fosters the usage of groundwater and dug wells (Oshikweyo) and indirectly reduces the water supply security by, for in-

Prag od 48 sati primijenjen je u većini epidemioloških istraživanja o infekcijama u JIL-u, odražavajući čvrstu pretpostavku da su sve infekcije koje se pojave dva dana

Interprofessional education (IPE) occurs when two or more health professions learn together, learn from other health professionals, and study the role of each

Since the relative nature between culture and language indicates that culture coats each part of language use, the notion of when to teach culture is then

Furthermore Winograd (1987) explains that for achieving language understanding, a computer that “as a language machine, manipulates symbols without respect to

─ is low (similar to concrete); HOWEVER a rock mass can have even less tensile strength..

Routine cognitive assessment to identify cancer patients with memory problems, dementia awareness training for the cancer team to help them support people with memory problems to