55
1 Rok akademicki 2012/2013 Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki PRACA DYPLOMOWA INŻYNIERSKA Michał Karpiuk Klasyfikacja dokumentów tekstowych z wykorzystaniem uogólnionych wzorców sekwencyjnych. Opiekun pracy dr inż. Piotr Andruszkiewicz Ocena: ..................................................... ................................................................ Podpis Przewodniczącego Komisji Egzaminu Dyplomowego

M.karpiuk Pdi

  • Upload
    g296469

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

  • 1

    Rok akademicki 2012/2013

    Politechnika Warszawska

    Wydzia Elektroniki i Technik Informacyjnych Instytut Informatyki

    PRACA DYPLOMOWA INYNIERSKA

    Micha Karpiuk

    Klasyfikacja dokumentw tekstowych z wykorzystaniem uoglnionych wzorcw

    sekwencyjnych.

    Opiekun pracy

    dr in. Piotr Andruszkiewicz

    Ocena: .....................................................

    ................................................................

    Podpis Przewodniczcego Komisji Egzaminu Dyplomowego

  • 2

    Kierunek: Informatyka

    Specjalno: Inynieria Systemw Informatycznych

    Data urodzenia: 1990.12.14

    Data rozpoczcia studiw: 2009.10.01

    yciorys

    Urodziem si 14 grudnia 1990 roku w Bielsku Podlaskim. W roku 2006

    ukoczyem Gimnazjum i rozpoczem nauk w IV Liceum Oglnoksztaccym im.

    Kamila Cypriana Norwida w Biaymstoku. W szkole redniej uczszczaem do klasy o

    profilu matematyczno-informatycznym. W roku 2009 rozpoczem studia dzienne na

    Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej na kierunku

    Informatyka. W roku 2011 odbyem trzymiesiczn praktyk w firmie Samsung R&D

    Polska.

    ........................................................

    Podpis studenta

    EGZAMIN DYPLOMOWY

    Zoy egzamin dyplomowy w dniu ................................................................................. 2013 r

    z wynikiem ...................................................................................................................................

    Oglny wynik studiw: ................................................................................................................

    Dodatkowe wnioski i uwagi Komisji: .........................................................................................

    ......................................................................................................................................................

    ......................................................................................................................................................

  • 3

    STRESZCZENIE

    Niniejsza praca powicona jest tematyce eksploracji danych tekstowych w

    rodowisku sieci web, a w szczeglnoci takim metodom jak uoglnione wzorce

    sekwencji oraz klasyfikacja. Podstawowym celem tej pracy byo zbadanie efektywnoci

    klasyfikacji stron domowych naukowcw i uniwersytetw na podstawie wystpowania

    w ich treci czstych sekwencji tekstowych.

    W pracy dokadnie zosta opisany algorytm GSP wykorzystywany do

    odkrywania wzorcw sekwencji w tekcie. Przedstawione zostay rwnie typowe

    reprezentacje tekstu w algorytmach eksploracji danych tekstowych oraz sposb

    przeksztacania dokumentu do reprezentacji odpowiedniej dla zada wykrywania

    sekwencji oraz klasyfikacji.

    Do przeprowadzenia klasyfikacji uyto nastpujcych klasyfikatorw: DeEPs,

    Naive Bayes oraz KStar, ktrych dziaanie zostao opisane. W szczeglnoci skupiono

    uwag na leniwym klasyfikatorze DeEPs.

    Sowa kluczowe: Eksploracja danych w tekcie, GSP, Sekwencje, Klasyfikacja, DeEPs

    ABSTRACT

    Title: Classification of Text Documents based on Generalized Sequence Patterns.

    This bachelor thesis concerns the subject of text data mining in web

    environment, especially such techniques as discovering generalized sequence patterns

    and classification. The main purpose of the work was to investigate the effectiveness of

    the classification of home pages of researchers and universities based on the

    occurrences of frequent text sequences in their content.

    This work thoroughly describes GSP algorithm, which is used to discover text

    sequence patterns. It also presents typical representations of text in text data mining

    algorithms and explains how a document is converted to a representation suitable for the

    tasks like sequence discovery and classification.

    The following classifiers were used to perform classification: DeEPs, Naive

    Bayes and KStar. In particular it focuses on a lazy method of classification called

    DeEPs.

    Key words: Text Data Mining, GSP, Sequence, Pattern, Classification, DeEPs

  • 4

    Spis treci

    1. Wstp .................................................................................................................................... 6

    1.1. Eksploracja danych w sieci Web ............................................................................... 7

    1.2. Cel pracy ...................................................................................................................... 8

    1.3. Struktura pracy ........................................................................................................... 8

    2. Reprezentacje stron www w systemie................................................................................ 9

    2.1. HTML .......................................................................................................................... 9

    2.2. Rodzaje reprezentacji ................................................................................................. 9

    2.2.1. Reprezentacja pena .......................................................................................... 10

    2.2.2. Reprezentacje unigramowe .............................................................................. 10

    2.2.3. Reprezentacja n-gramowa ................................................................................ 10

    2.2.4. Reprezentacja - gramowa .............................................................................. 11

    2.2.5. TF IDF ............................................................................................................. 11

    2.2.6. Reprezentacja pozycyjna .................................................................................. 12

    2.2.7. Strona www jako sekwencja ............................................................................ 12

    2.2.8. Strona www jako obiekt do klasyfikacji ......................................................... 13

    2.3. Transformacja dokumentw tekstowych ................................................................ 14

    2.3.1. Parsowanie dokumentu HTML ....................................................................... 14

    2.3.2. Tokenizacja ........................................................................................................ 15

    2.3.3. Ograniczanie reprezentacji .............................................................................. 16

    2.3.3.1. Stemming ................................................................................................... 16

    2.3.3.2. Filtracja sw ............................................................................................. 17

    2.3.3.3. Waga TF IDF .......................................................................................... 17

    3. Wzorce sekwencji .............................................................................................................. 18

    3.1. Proces odkrywania wzorcw sekwencji .................................................................. 19

    3.2. Przebieg algorytmu GSP .......................................................................................... 20

    3.3. Taksonomie elementw ............................................................................................. 23

  • 5

    3.4. Podsumowanie problemu i obserwacje ................................................................... 24

    4. Klasyfikacja ....................................................................................................................... 26

    4.1. Naiwny Klasyfikator Bayesa .................................................................................... 27

    4.2. Klasyfikatory leniwe ................................................................................................. 28

    4.2.1. k-Nearest Neighbors (kNN) .............................................................................. 29

    4.2.2. K Star classifier (K*) ........................................................................................ 29

    4.2.3. Decisions through Emerging Patterns (DeEPs) .............................................. 29

    4.2.3.1. Przebieg klasyfikacji metod DeEPs ....................................................... 31

    5. Architektura rozwizania ................................................................................................. 34

    5.1. Pobieranie treci stron www na podstawie adresw URL ..................................... 34

    5.2. Modu wykrywania sekwencji czstych................................................................... 35

    5.3. Modu klasyfikacji ..................................................................................................... 36

    6. Testowanie ......................................................................................................................... 38

    6.1. Dane treningowe ........................................................................................................ 38

    6.2. Miary poprawnoci ................................................................................................... 39

    6.3. Wykryte wzorce sekwencji ....................................................................................... 40

    6.4. Wybr sekwencji do klasyfikacji ............................................................................. 41

    6.5. Ewaluacja modelu klasyfikatora ............................................................................. 42

    6.6. Wyniki testw ............................................................................................................ 43

    6.6.1. Porwnanie klasyfikatorw .............................................................................. 43

    6.6.2. Liczba atrybutw a jako klasyfikacji ........................................................... 46

    6.6.3. Sekwencje a sowa ............................................................................................. 46

    7. Podsumowanie ................................................................................................................... 52

    Bibliografia 54

  • 6

    1. Wstp

    Eksploracja danych jest popularn i wan dziedzin informatyki majc bardzo due

    znaczenie praktyczne. Jej istota polega na wykorzystaniu szybkoci komputerw,

    specjalnych algorytmw i technik do odkrywania ukrytych dla czowieka zalenoci i

    prawidowoci w ogromnych zbiorach danych, ktrych czowiek nie byby wstanie

    opanowa konwencjonalnymi metodami jak typowe zapytania do bazy danych. Jest to

    take geneza powstania tej dziedziny: w wielu branach jest potrzeba gromadzenia

    danych, ktre bardzo czsto nieprawdopodobnie rozrastaj si do wielkich rozmiarw.

    Bez odpowiedniej analizy tych danych staway si bezuyteczne, wic potrzebny by

    mechanizm wydobywania wiedzy zawartej w surowych danych.

    Naley rwnie rozrni eksploracj danych od zwykych zapyta operacyjnych na

    bazie danych, ktrych przykadem moe by zapytanie o liczb okrelonych produktw

    sprzedanych w sklepie w konkretnym miesicu lub nawet bardziej zoonych z

    podziaem na kategorie, miesice czy jeszcze inne parametry czy ograniczenia.

    Eksploracja pozwala na znalezienie odpowiedzi na pytania bardziej oglne, wyszej

    abstrakcji, do ktrych nie sposb uoy zapytania SQL1. Przykadem moe by np.

    klasyfikacja klienta na podstawie jego aktywnoci lub zakupw.

    W kontekcie baz danych eksploracja danych jest jednym z etapw bardziej oglnego

    procesu odkrywania wiedzy. W procesie tym najpierw naley odpowiednio

    przygotowa dane do uycia konkretnej metody. Wie si to z takimi czynnociami jak

    selekcja odpowiednich danych, usunicie danych nierelewantnych z punktu widzenia

    problemu czy nawet przeksztacenie ich do odpowiedniej reprezentacji, na ktrej bdzie

    operowa algorytm. Po caym procesie naley odpowiednio zinterpretowa same wyniki

    eksploracji, aby ostatecznie odkry wiedz zawart w danych.

    Eksploracja danych jest silnie powizana z takimi dziedzinami nauki jak statystyka czy

    sztuczna inteligencja, gwnie uczenie maszyn, z ktrej wywodz si techniki

    eksploracji danych.

    1 Structured Query Language

  • 7

    1.1. Eksploracja danych w sieci Web

    Eksploracja sieci Web jest obecnie szczeglnie istotn dziedzin eksploracji danych.

    Jest to odkrywanie interesujcej, potencjalnie uytecznej, dotychczas nieznanej wiedzy

    ukrytej w zawartoci sieci Web, zarwno w treci, strukturze czy nawet logach

    serwerowych. Ze wzgldu na rodzaj analizowanych danych wyrnia si 3 podstawowe

    grupy metod eksploracji sieci web:

    eksploracja zawartoci sieci Web (ang. Web Content Mining)

    Eksploracja zawartoci sieci Web jest wykrywaniem wiedzy z treci stron

    internetowych, w duej mierze przypomina eksploracj dokumentw tekstowych z

    tym, e mamy tu do czynienia z czciowo uporzdkowan struktur dokumentu

    HTML, zawierajcego nie tylko waciw tre strony, ale rwnie rne znaczniki,

    ktre su do nadania dokumentowi jego struktury. Typowymi zagadnieniami przy

    eksploracji zawartoci jest: grupowanie stron WWW, klasyfikacja stron WWW.

    eksploracja pocze sieci Web (ang. Web Structure Mining)

    Eksploracja struktury sieci web polega na analizowaniu grafu pocze miedzy

    stronami internetowymi za pomoc odnonikw (ang. hyperlink lub link). Oglnie

    suy do badania relacji miedzy zasobami w sieci www. Wyszukiwarki internetowe

    wykorzystuj taka analiz do tworzenia rankingu wanoci stron internetowych.

    Jednym z gwnych i bardziej znanych algorytmw wykorzystywanych w takiej

    analizie jest Page Rank stosowany przez jedn z wikszych wyszukiwarek

    internetowych.

    eksploracja korzystania z sieci Web (ang. Web Usage Mining)

    Eksploracja korzystania z sieci web jest analiz dziaa uytkownika sieci. Bada

    zachowanie uytkownikw podczas korzystania z sieci. Sprowadza si do analizy

    logw serwerowych np. historii przegldania stron przez uytkownikw na jakim

    portalu. Wynik analizy mona wykorzysta np. do znalezienia najlepszej logicznej

    struktury witryny, spersonalizowa j pod kontem konkretnych uytkownikw,

    znale najlepsze miejsca na reklamy.

    W pracy przeprowadzane jest znajdowanie wzorcw sekwencji, a nastpnie klasyfikacja

    stron www jedynie na podstawie samych treci stron internetowych. W zwizku z tym

    zagadnienia tej pracy mona zaklasyfikowa do kategorii eksploracji zawartoci sieci

    web.

  • 8

    1.2. Cel pracy

    Gwnym celem niniejszej pracy byo stworzenie systemu umoliwiajcego

    klasyfikacj dokumentw tekstowych na podstawie wzorcw sekwencji wykrytych w

    grupie stron www. Aby to osign system powinien by w stanie automatycznie

    pobra treci stron internetowych, (w tym przypadku byy to strony domowe

    naukowcw oraz strony uniwersytetw) znajdujcych si pod podan, znan wczeniej

    list adresw URL. Z tak zdobytych dokumentw powinny zosta wykryte czste

    sekwencje tekstowe, ktre bd wykorzystane budowy modeli klasyfikatorw. Przy

    pomocy systemu ma zosta zbadana jako takiego podejcia do klasyfikacji.

    Po wstpnej analizie, zostay wybrane odpowiednie algorytmy oraz narzdzia i

    zewntrzne rda potrzebne do zrealizowania wyej wymienionych zada. W ramach

    czci praktycznej owe algorytmy zostay zaimplementowane, a zewntrzne moduy

    takie jak biblioteki do klasyfikacji zintegrowane z systemem.

    Zrealizowane zadania zostay przetestowane, a wyniki tych testw przedstawione i

    opisane.

    1.3. Struktura pracy

    Kolejne rozdziay tej pracy prezentuj zagadnienia i problemy, z jakimi kolejno naley

    si zetkn przy realizacji zaoonych celw. W kadym z nich na pocztku

    przedstawione s podstawy teoretyczne i opis problemu, po czym szczegowo ukazane

    jest rozwizanie. Drugi rozdzia stanowi opis rnych sposobw reprezentacji

    dokumentw tekstowych w algorytmach eksploracji danych. Kolejny rozdzia

    powicony jest wykrywaniu sekwencji czstych w grupie dokumentw tekstowych.

    Nastpny opisuje sposb klasyfikacji strony www na podstawie wzorcw sekwencji

    czstych uzyskanych w poprzednim etapie. Rozdzia pity dotyczy prezentacji

    architektury rozwizania zastosowanej w czci praktycznej niniejszej pracy. W

    przedostatnim rozdziale przedstawione zostay wyniki przeprowadzonych testw

    zwizanych z gwnymi zadaniami, ktrych dotyczya praca. Ostatni, sidmy rozdzia

    jest podsumowaniem pracy. Zawarto w nim wnioski dotyczce wykorzystanych

    algorytmw jak i samej pracy oraz propozycje dalszego rozwoju zbudowanego systemu.

  • 9

    2. Reprezentacje stron www w systemie

    W rozdziale tym zostan przedstawione typowe reprezentacje dokumentw tekstowych,

    wykorzystywane w algorytmach eksploracji tekstu. W dalszej czci opisane zostan

    rwnie struktury wykorzystywane w czci praktycznej tej pracy do reprezentowania

    przeksztaconych dokumentw, zarwno w celu wykrywania sekwencji jak i

    klasyfikacji. Zostan opisane rwnie metody i narzdzia, ktre s stosowane podczas

    procesu przeksztacania dokumentw z formy oryginalnej do waciwej algorytmowi

    reprezentacji.

    2.1. HTML

    Gwnym przedmiotem analizy niniejszej pracy s strony internetowe ludzi nauki oraz

    uniwersytetw. Zanim przejd do opisu reprezentacji tekstowych warto wtrci kilka

    sw o pocztkowej formie dokumentw bdcych przedmiotem analizy. Strona

    internetowa jest dokumentem jzyka znacznikw HTML (ang. HyperText Markup

    Language). Jest to jzyk wprowadzajcy czciow struktur informacji do dokumentu.

    Pozwala on opisa struktur informacji zawartych wewntrz strony internetowej,

    nadajc znaczenie poszczeglnym fragmentom tekstu. Struktur t wprowadzaj

    znaczniki HTML. Treci stron znajduj si wewntrz znacznikw, pomidzy jego

    otwierajcym elementem (np. ) a zamykajcym (). Odpowiednie

    rozmieszczenie tych elementw, ktre tworz np. nagwek, listy, formularze,

    odnoniki, tworzy przejrzyst struktur strony www.

    2.2. Rodzaje reprezentacji

    Posta dokumentu reprezentujcego stron www jest zazwyczaj nieodpowiednia dla

    wejcia algorytmw, ktre dziaaj na danych o szczeglnie okrelonej strukturze.

    Dlatego te niezbdnym krokiem jest uprzednie przeksztacenie dokumentu do innej

    formy, w ktrej moe zosta wykorzystany przez dany algorytm.

    Przy doborze reprezentacji rozsdnym wydaje si by denie do takiej reprezentacji,

    ktra jest maksymalnie ograniczona jednak wystarczajco obszerna, tak aby nie obnia

    jakoci dziaania algorytmu. Reprezentacja powinna przede wszystkim by jak najlepiej

    dopasowana do konkretnego problemu.

  • 10

    2.2.1. Reprezentacja pena

    Jest to sposb reprezentacji dokumentu zachowujcy pen informacj o nim, a wic

    przechowujcy wszystkie wystpienia kadego sowa wraz z jego umiejscowieniem w

    tekcie. Na jej podstawie mona dokadnie odtworzy oryginalny dokument. Nie

    zawsze jest jednak potrzeba przechowywania wszystkich informacji. Co wicej

    korzystanie z takiego modelu dokumentu podczas pracy algorytmu moe by bardziej

    uciliwe oraz mniej wydajne.

    2.2.2. Reprezentacje unigramowe

    Skrajnie odmiennym przykadem jest reprezentacja unigramowa (ang. Unigram Model).

    Jest to bardzo prosty, jednak dosy czsto stosowany model reprezentacji dokumentw.

    Polega na przedstawieniu tekstu w postaci wektora, w ktrym zawarta jest informacja o

    wystpieniach konkretnych sw w dokumencie. Std inna nazwa tej reprezentacji to

    worek sw (ang. Bag of words). Liczba wymiarw takiego wektora jest rwna liczbie

    wszystkich rnych sw wystpujcych we wszystkich dokumentach ze zbioru.

    Istniej dwa warianty reprezentacji unigramowej:

    Binarna odnotowywany jest jedynie fakt wystpienia danego sowa w

    dokumencie. Nie ma natomiast informacji, o tym ile razy sowo to wystpio w

    tekcie.

    Czstociowa liczone s wystpienia danego sowa w dokumencie.

    2.2.3. Reprezentacja n-gramowa

    Jest to bardziej zoona reprezentacja tekstu, zawierajca w sobie wicej informacji ni

    unigramowa. Uwzgldnia ona bowiem wzajemn kolejno sw w dokumencie.

    Zamiast czstoci pojedynczych sw zawiera ona wiadomoci o czstoci

    wystpowania sekwencji dugoci n ssiednich sw w tekcie. Powanym problemem

    takiej reprezentacji jest jej duy oraz bardzo szybko rosncy wraz ze wzrostem sw

    rozmiar. W zwizku z tym rzadko korzysta si z reprezentacji o dugociach sekwencji

    wikszych ni 3 [3].

    Dugo sekwencji (n) Liczba wymiarw wektora

    2 (Bigram) 1 milion (10002)

    3 (Trigram) 1 miliard (10003)

    Tabela 2.1. Rozmiary wektorw reprezentujcych dokumenty, w zalenoci od dugoci n-gramw dla 1000 rnych sw.

  • 11

    2.2.4. Reprezentacja - gramowa

    Jest bardziej elastyczn wersj reprezentacji n-gramowej, ktra zawieraa czstoci

    sekwencji sw o ustalonej dugoci n. Reprezentacja gramowa nie ma takiego

    ograniczenia. Moe przechowywa informacj o czstociach sekwencji sw rnych

    dugoci, zaczynajc od dugoci rwnej 1, czyli po prostu pojedynczych sw. Mona

    powiedzie, e reprezentacja ta jest zoeniem modelu unigramowego oraz kilku modeli

    n-gramowych, w zalenoci od tego, jakiej maksymalnie dugoci sekwencje maj by

    uwzgldnione.

    2.2.5. TF IDF

    W poprzednio opisanych modelach uwzgldniana bya jedynie obecno lub czsto

    wystpowania sowa w danym dokumencie. Reprezentacja TF-IDF (ang. Term

    Frequency Inverse Document Frequency) jest pod tym wzgldem bardziej

    wyrafinowana. Zamiast czstoci przypisuje ona wag obliczan na podstawie

    istotnoci sowa w dokumencie.

    Aby j wyznaczy trzeba najpierw znale nastpujce miary:

    Term frequency TF(ti, d) liczba wystpie sowa ti w dokumencie dj.

    Document frequency DF(ti) liczba dokumentw, w ktrych wystpio sowo

    ti.

    Inverse document frequency IDF(ti) = log(|D|/DF(ti))

    gdzie |D| to liczba wszystkich rozpatrywanych dokumentw.

    Ostateczna waga sowa ti w dokumencie dj wynosi:

    wi = TF(ti, d) IDF(ti)

    Jak wida miara ta jest tym wiksza, im czciej wystpuje w dokumencie. Z drugiej

    strony wano termu zmniejsza si, im czciej wystpuje on w innych dokumentach

    ze zbioru. Interpretacja tego jest taka, e sowo z du wag, jest charakterystyczne dla

    tego dokumentu i raczej dobrze opisuje jego tematyk. Dziki temu metoda jest odporna

    na sowa, ktre s popularne w wikszoci dokumentw zbioru, wic nie s

    wartociowe w analizie, a stanowi jedynie szum. Takimi wyrazami s czsto sowa z

    listy stopwords (2.3.3.2).

  • 12

    2.2.6. Reprezentacja pozycyjna

    W dotychczas przedstawionych reprezentacjach, zawarte byy jedynie informacje o

    wystpieniach sw lub sekwencji sw w dokumentach. Nie byo jednak w aden

    sposb uwzgldniane ich pooenie w obrbie dokumentu. Informacja ta jednak w

    przypadku wielu metod eksploracji tekstu takich jak wykrywanie sekwencji ma

    kluczowe znaczenie.

    W podejciu tym dzieli si dokument na pewne przedziay, ktrych wielko moe by

    dobrana w zalenoci od potrzebnej szczegowoci modelu. Nastpnie obliczane s

    czstoci sw w kadym z przedziaw, w efekcie czego dla kadego sowa

    otrzymujemy funkcj rozkadu czstoci jego wystpowania w dokumencie. W

    szczeglnym przypadku, gdy przedzia skada si z jednego sowa, moliwe jest

    cakowite odtworzenie oryginalnej postaci dokumentu. Kiedy natomiast przedzia ma

    rozmiar caego dokumentu, jest ona rwnowana z modelem unigramowym.

    2.2.7. Strona www jako sekwencja

    Do analizy tekstu pod wzgldem wyszukiwania czstych sekwencji potrzebna bya

    reprezentacja dokumentw uwzgldniajca pozycj kadego sowa. W zwizku z tym

    model opierajcy si na zwykym zliczaniu wystpie sw nie nadawa si do tego

    zadania. Oczywistym wyborem bya tutaj reprezentacja pozycyjna dokumentujca

    dokadne umiejscowienie w tekcie kadego uwzgldnianego w analizie sowa.

    Przebieg transformacji dokumentu wyglda nastpujco:

    1. Pobranie rda strony www w formacie HTML na podstawie adresu URL

    Dokadny opis w przedstawiony w 5.1.

    2. Parsowanie dokumentu HTML w celu wydobycia treci strony znajdujcej si

    wewntrz znacznikw HTML. W tym kroku usuwane s wszystkie elementy

    charakterystyczne dla jzyka HTML. Opis kroku w 2.3.1.

    3. Tokenizacja (2.3.2) treci strony www.

    4. Stemming (2.3.3.1) tokenw.

    5. Filtracja sw

    a. Tokeny o dugoci 1 znaku zostaj odfiltrowane.

    b. Usuwanie sw znajdujcych si na stoplicie (ang. Stopwords).

    Powysze kroki zostay opisane w dalszej czci tego rozdziau.

  • 13

    Przykad

    Zamy, e spod pewnego adresu URL pobrano rdo strony, ktre po sparsowaniu i

    wydobyciu tekstu dao nastpujc tre:

    Welcome to my home page. Like other home pages it contains information about my

    work.

    Po przejciu wszystkich etapw transformacji, dokument bdzie w programie widziany

    jako zbir mapowa: rdze sowa pozycje wystpienia sowa:

    Sowo welcom home page like contain Inform work

    Pozycje

    wystpie 1 4,8 5,9 6 11 12 15

    Tabela 2.2. Reprezentacja przykadowego dokumentu w programie.

    Odfiltrowane zostay wszystkie sowa znajdujce si na stopwords: to, my, it, about.

    Dziki procesowi stemmingu sowa przedstawiane s w formie rdzenia, dziki temu np.

    sowo w liczbie pojedynczej page oraz w liczbie mnogiej pages zostay

    potraktowane jako ten sam element.

    2.2.8. Strona www jako obiekt do klasyfikacji

    W pracy tej klasyfikacja strony www odbywaa si na podstawie obecnoci w niej

    czstych sekwencji wyszukanych w zbiorze trenujcym. Strona www reprezentowana

    bya przez czste sekwencje sw, ktre zawieraa. Obecno kolejnych sekwencji bya

    odznaczana za pomoc elementw binarnego wektora. Wspominane czste sekwencje

    mog by rnej dugoci. Std model ten mona porwna z binarn reprezentacj -

    gramow, przy czym w czystej reprezentacji gramowej sowa sekwencji musz

    rzeczywicie by ssiednimi sowami w tekcie. W reprezentacji wykorzystywanej w tej

    pracy nie ma takiego ograniczenia, poniewa przyjto, e maksymalny odstp midzy

    kolejnymi sowami sekwencji tekstowej wynosi 3. Ponadto liczba sekwencji brana pod

    uwag przy klasyfikacji jest niewielka i uwzgldnia jedynie najczstsze i najbardziej

    istotne sekwencje wybrane spord wszystkich znalezionych. Waha si ona midzy 2 a

    30 sekwencjami.

  • 14

    Przykad

    Zamy, e w procesie sekwencjonowania zostay wykryte, a nastpnie

    wyselekcjonowane do celw klasyfikacji nastpujce sekwencje:

    1) homepage

    2) departmentcomputerscience

    3) researchinterests

    4) internationalconference

    Przyjmijmy rwnie, e nastpujcy tekst jest treci strony www, cignitej spod

    pewnego adresu URL. Strona ta ma sta si obiektem poddanym klasyfikacji.

    In my home page you can find information about my research, general interests and

    list of my publications.

    Pogrubion czcionk oznaczono wyrazy wchodzce w skad wyej wypisanych

    czstych sekwencji.

    W pierwszym kroku tre strony sprowadzona jest do reprezentacji pozycyjnej wg

    schematu opisanego w poprzednim punkcie 2.2.7. W takiej reprezentacji atwo jest

    sprawdzi, czy strona zawiera w swojej treci kolejne sekwencje z listy sekwencji

    branych pod uwag przy klasyfikacji. Jeli strona zawiera dan sekwencj pod

    odpowiedni pozycj w wektorze wynikowym wstawiana jest warto 1, a w

    przeciwnym razie 0.

    Wektor wynikowy w podanym przykadzie miaby nastpujc posta [1, 0, 1, 0] co

    oznacza, e strona zawiera w treci pierwsz i trzeci sekwencj z listy.

    2.3. Transformacja dokumentw tekstowych

    Kolejna cz rozdziau stanowi opis krokw prowadzcych do sprowadzenia strony

    internetowej do postaci obiektu wykorzystywanego w algorytmach eksploracji.

    2.3.1. Parsowanie dokumentu HTML

    W celu eksploracji zawartoci sieci web potrzeba narzdzia, za pomoc ktrego

    moliwe bdzie wygodne wydobywanie interesujcych nas danych. Takim narzdziem

    moe by parser jzyka HTML.

  • 15

    Parser jest to program dokonujcy analizy skadniowej danych wejciowych w celu

    okrelenia ich struktury gramatycznej w zwizku z okrelon gramatyk formaln.

    Analizator skadniowy umoliwia przetworzenie tekstu czytelnego dla czowieka w

    struktur danych przydatn dla oprogramowania komputera.

    W przypadku analizy informacji ze struktury dokumentu HTML umoliwia on

    wykonanie takich operacji jak wyszukiwanie elementw strony, wydobywanie treci

    konkretnych znacznikw, czy nawet wszystkich treci znajdujcych si we wszystkich

    elementach strony.

    W pracy interesuje mnie tre strony zawarta we wszystkich znacznikach, natomiast nie

    ma dla mnie znaczenia, w jakich znacznikach znajdoway si te treci. Analizie nie jest

    poddawana struktura strony, ani sposb rozmieszczenia treci strony.

    2.3.2. Tokenizacja

    Tokenizacja (inaczej atomizacja) jest pierwszym krokiem analizy dokumentw

    tekstowych. Jest to podzia danych na pojedyncze obiekty zwane etonami (ang.

    Token). W przypadku tekstu s to po prostu pojedyncze sowa. Tokeny mog si

    powtarza, zatem istotna jest rwnie jego pozycja w dokumencie. Tokenizacj zajmuje

    si analizator leksykalny inaczej zwany skanerem lub lekserem. Przeglda on kolejne

    znaki tekstu i grupuje je w tokeny wedug okrelonej reguy lub zbioru regu. Tokeny

    rozpoznawane przez lekser, lub elementy rozdzielajce tokeny, mog by opisane w

    programie wyraeniami regularnymi. W pracy korzystam z analizatora leksykalnego

    dostpnego w jednej z gwnych bibliotek jzyka Java. Zakada on, e tokeny

    rozdzielone s cigami znakw opisanymi wyraeniem regularnym:

    [^\\p{L}]+ liczby nie s tokenami

    "[\\W]+" uznajcy liczby jako tokeny

    Oznacza to, e tokeny (sowa) rozdzielone s cigami znakw, wrd ktrych nie ma

    liter (lub nie ma liter ani liczb w drugim przypadku). Dziki temu ju na tym etapie

    odfiltrowane s wszelkie znaki nie zoone z liter (np. znaki interpunkcyjne), a do

    dalszej analizy przychodz tylko waciwe sowa.

    Naley rwnie wspomnie, e po rozpoznaniu tokena nastpuje zamiana wszystkich

    jego wielkich liter na mae. Ma to zapobiec rozpatrywaniu przez program tego samego

    sowa pisanego rnymi wielkociami liter jako rne elementy.

  • 16

    2.3.3. Ograniczanie reprezentacji

    Celem kroku jest zmniejszenia wielkoci reprezentacji dokumentu tekstowego poprzez

    ograniczanie liczby cech reprezentujcych dokument, przy jednoczesnym zachowaniu

    wysokiej jakoci dziaania algorytmu operujcego na tych danych. Nie zawsze, bowiem

    zachowywanie jak najwikszej liczby informacji o dokumencie jest korzystne dla

    dziaania algorytmu. Pomijajc kwesti efektywnoci, niektre informacje mog

    stanowi szum i negatywnie wpywa na wyniki algorytmu.

    2.3.3.1. Stemming

    wietnym sposobem na ograniczenie objtoci reprezentacji dokumentw

    prowadzcym zazwyczaj rwnie do poprawy jakoci dziaania algorytmu jest proces

    stemmingu. Sowo stem po angielsku oznacza rdze, trzon. Proces stemmingu polega

    na przeksztaceniu sowa do jego podstawowej formy fleksyjnej.

    Algorytm stemmingu wykorzystuje reguy budowy wyrazw panujce w danym jzyku,

    do przeksztacenia go do formy podstawowej, wsplnej np. dla wszystkich odmian

    jednego sowa. W zwizku z tym ten sam algorytm nie moe by uyty do rnych

    jzykw.

    Przykad dziaania:

    sowa: "fishing", "fished", "fish", "fisher" zostan zamienione na fish

    Otrzymany rdze nie zawsze jest istniejcym, poprawnym sowem np.:

    {"argue", "argued", "argues", "arguing", "argus"} zamieniaj si w "argu".

    Nie ma to jednak adnych negatywnych skutkw dla dziaania algorytmw eksploracji.

    Dziki procesowi rne formy tego samego trzonu s reprezentowane jednym wyrazem.

    W efekcie zbir rnych sw w dokumencie jest mniejszy oraz co waniejsze sowa o

    tym samym znaczeniu, ale w innej formie, czasie lub liczbie s traktowane jako ten sam

    element.

    Najpopularniejszym algorytmem stemmingu sw jzyka angielskiego jest algorytm

    Portera stworzony w 1980r. Dokadny opis algorytmu w [17]. W projekcie

    wykorzystywana jest jego implementacja w ramach projektu Snowball1.

    Proces stemmingu nie jest krokiem obowizkowym jednak w przypadku zada tej pracy

    jak najbardziej podanym.

    1 http://snowball.tartarus.org/index.php

  • 17

    2.3.3.2. Filtracja sw

    Kolejnym wanym krokiem przy przeksztacaniu dokumentu tekstowego do

    wewntrznej reprezentacji jest filtracja danych zapisywanych do dalszej analizy. Na

    tym etapie odrzucane s zbdne sowa, ktre nie nios za sob adnej informacji, nie

    posiadaj adnej wartoci semantycznej, a mog negatywnie wpywa na wyniki

    dziaania algorytmu. S to zazwyczaj spjniki, rodzajniki czy przyimki takie jak of,

    and, the, as. Sowa takie w jzyku angielskim okrelane s czsto jako tzw.

    stopwords. Zazwyczaj nie s one potrzebne i jedynie zaszumiaj tekst do analizy,

    jednak naley stosowa je z rozwag w przypadku gdy np. istotne w analizie s zwizki

    frazeologiczne, ktre bardzo czsto skadaj si z takich sw. Cech charakterystyczn

    takich sw jest to, e wystpuj one z podobn czstoci w wikszoci treci, nawet w

    aden sposb nie powizanych ze sob tematycznie. Typowo wyrazy z listy stopwords

    s wyrazami czsto wystpujcymi w tekcie std te pozbycie si ich znacznie

    zmniejszy rozmiar obiektw co bdzie miao pozytywny wpyw na skomplikowanie

    problemu, a take wyniki algorytmw eksploracji.

    Tabele poniej prezentuj najczciej wystpujce sowa w zbiorze stron domowych

    naukowcw i uniwersytetw.

    Of And Research The In A Public Univers For Comput

    722 702 676 643 628 609 607 603 589 589

    Tabela 2.3. Najczstsze sowa w grupie stron domowych naukowcw.

    Of Student To The And A Academ Campus

    769 769 768 764 749 742 732 716

    Tabela 2.4. Najczstsze sowa w grupie stron domowych uniwersytetw.

    Jak wida, wrd najczstszych wyrazw przewaaj sowa z listy stopwords nadajce

    si do usunicia.

    Oprcz sw z listy stopwords, ignorowane s rwnie sowa o dugoci jednego znaku.

    2.3.3.3. Waga TF IDF

    Decyzja o tym, czy dany atrybut powinien zosta zachowany czy te pominity jest

    podejmowana moe by rwnie podejmowana na podstawie tzw. funkcji istotnoci.

    Najprostsz tak funkcj jest TFIDF1. Sposb jej obliczania zosta podany podczas

    opisu reprezentacji opartej na niej (2.2.5). Atrybuty, ktrych waga nie przekraczaaby

    pewnej wartoci progowej nie byyby wczane do reprezentacji [13].

  • 18

    3. Wzorce sekwencji

    Problem wykrywania sekwencji polega na analizie danych zawierajcych informacje o

    zdarzeniach, ktre wystpiy w okrelonych przedziaach czasu lub w okrelonej

    kolejnoci w celu znalezienia zalenoci pomidzy wystpowaniem tych zdarze w

    czasie. Kiedy wartoci owych zdarze maj charakter numeryczny mamy do czynienia z

    analiz trendw lub przebiegw czasowych, co jest podobn jednak inn dyscyplin. W

    przypadku, gdy zdarzenia przyjmuj wartoci kategoryczne, jest to problem wzorcw

    symbolicznych. Z takim wanie mamy do czynienia w tej pracy, gdzie wartociami s

    kolejne sowa treci dokumentu.

    Przykadow sekwencj czst moe by nastpujca zaleno:

    Klient, ktry kupi ostatni cz sagi Gwiezdnych Wojen w przecigu nastpnego

    miesica zakupi Star Treka.

    Wzorce sekwencji mog stanowi rdo bardzo uytecznej wiedzy. Za pomoc

    wzorcw sekwencji mona bada naturalne wzorce zachowa klientw w sklepach,

    sposb nawigacji uytkownikw witryn, zalenoci midzy zdarzeniami w

    eksperymentach naukowych. W zwizku z tym wzorce sekwencji znalazy

    zastosowania w bardzo wielu dziedzinach takich jak:

    Analiza koszykowa: Badanie wzorcw zachowa klientw. Moe posuy do

    wyznacza strategii marketingowych w odniesieniu do konkretnych klientw np.

    przez wybieranie odpowiednich reklam.

    Medycyna: Wzorce su do sprawdzania efektywnoci terapii leczenia czy te w

    diagnostyce do znalezienia zalenoci midzy wystpieniami symptomw

    chorobowych, a rozpoznanymi chorobami.

    Serwery www: wzorce sekwencji odkryte poprzez analiz logw serwerowych

    pozwalaj np. na znalezienie idealnej struktury logicznej witryny czy te znale

    najlepsze miejsce na reklamy.

    Telekomunikacja, bankowo, ubezpieczenia: badanie wzorcw zachowa

    klientw prowadzcych np. do przejcia klienta do konkurencji.

    Kolejnym zastosowaniem wzorcw sekwencji moe by wykorzystanie ich do

    klasyfikacji dokumentw tekstowych. Gwnym zadaniem niniejszej pracy byo wanie

    zbadaniem efektywnoci takiej klasyfikacji.

  • 19

    3.1. Proces odkrywania wzorcw sekwencji

    Podstawowym algorytmem odkrywania wzorcw sekwencyjnych jest algorytm GSP

    (Generalized Sequential Pattern algorithm). Jest to podstawowy, a za razem pierwszy

    algorytm odkrywania wzorcw sekwencji opracowany w 1995r. Bazuje on na

    algorytmie apriori wykrywania zbiorw czstych, jest jego rozszerzeniem. Lekko

    zmodyfikowana podstawowa wersja GSP umoliwia na uwzgldnianie dodatkowych

    kryteriw podczas odkrywania sekwencji. Jest to np. minimalny oraz maksymalny

    odstp midzy wyrazami sekwencji lub uwzgldnienie taksonomii elementw

    podlegajcych sekwencjonowaniu.

    W celu zrozumienia algorytmu potrzebne jest wprowadzenie podstawowych poj i

    definicji:

    Zbir literaw { } - zbir wszystkich obiektw, ktre mog

    pojawi si w sekwencji. Obiekty te nazywane bd elementami.

    Transakcja T jest podzbiorem literaw tzn. elementy w transakcji nie

    mog si powtarza.

    Sekwencja S jest uporzdkowan list transakcji. , gdzie Ti

    jest wyrazem sekwencji. Wyraz sekwencji nie moe by zbiorem pustym oraz

    elementy wyrazu sekwencji nie mog si powtarza.

    Zawieranie si sekwencji: Sekwencja zawiera si w

    sekwencji wtedy, gdy istniej liczby cakowite:

    takie, e , ,

    Przykadowo sekwencja (A) (B) (C, D) zawiera sekwencj (A) (D), ale

    nie zawiera sekwencji (A) (B, C, D). Inaczej mwi si, e sekwencja

    wspiera sekwencj , ale nie wspiera sekwencji .

    Wsparcie sekwencji sup(S): Iloraz liczby sekwencji, ktre wspieraj S (zawieraj

    sekwencj S) do liczby wszystkich sekwencji wystpujcych w bazie danych

    sekwencji.

    ( )

    Rozmiar sekwencji - size(S): suma elementw (literaw) wszystkich wyrazw

    sekwencji S.

    Dugo sekwencji length(S): liczba wyrazw sekwencji S.

  • 20

    K-Sekwencja: Sekwencja o rozmiarze K

    Podstawowymi parametrami, wpywajcymi na restrykcyjno algorytmu,

    pozwalajcymi okreli wymagania wobec wykrywanych wzorcw sekwencji s:

    minSup(S): Minimalne wsparcie sekwencji w bazie wszystkich sekwencji DS,

    ktre musi posiada sekwencja by sekwencj czst.

    MaxGap: Maksymalny odstp midzy kolejnymi wyrazami sekwencji.

    MinGap: Minimalny odstp midzy kolejnymi wyrazami sekwencji. Bardzo czsto

    pomijany.

    Wzorzec sekwencji Sekwencja, ktra spenia ograniczenie minimalnego wsparcia

    minSup(S) w bazie sekwencji treningowych.

    Sprowadzenie wykrywania wzorcw sekwencji w grupie dokumentw tekstowych do

    przedstawionej powyej reprezentacji:

    Kady dokument, zawierajcy tre pojedynczej strony internetowej jest pojedyncz

    sekwencj nalec do bazy danych sekwencji.

    Wyrazem sekwencji jest jedno sowo dokumentu lub sowo oraz nazwy grupy, do

    ktrych naley dane sowo w przypadku, gdy obecne s taksonomie sw.

    Dystans midzy elementami sekwencji jest odlegoci midzy sowami.

    Przykadowo odlego sw nastpujcych bezporednio jedno po drugim wynosi

    jeden.

    3.2. Przebieg algorytmu GSP

    1. Sprowadzenie bazy danych do postaci bazy sekwencji.

    W konkretnym omawianym przypadku baz danych jest zbir stron internetowych

    reprezentowanych przez dokumenty tekstowe. Kady dokument jest sprowadzany

    do obiektu sekwencji o wektorowej reprezentacji szczegowo omwionej w

    poprzednim sekcji 2.2.7.

    2. Znalezienie wszystkich czstych 1-Sekwencji.

    Krok ten polega na przejrzeniu wszystkich sekwencji w bazie w celu znalezienia

    wszystkich wystpujcych elementw w sekwencjach oraz usuniciu tych, nie

  • 21

    speniajcych ograniczenia minimalnego wsparcia (minSup). Wynikiem s

    jednoelementowe sekwencje czste, a wic po prostu czste sowa.

    3. Sekwencjonowanie

    Gwny krok algorytmu, poprzednie dziaania byy jedynie przygotowaniem do

    przejcia do tego etapu. W tym miejscu znajdowane s wzorce sekwencji, dugoci

    wikszej ni 1.

    Jest to proces iteracyjny. W kadej iteracji znajdowane s sekwencje o rozmiarze o

    1 wikszym ni te z poprzedniego kroku. Ptla koczy si, gdy w iteracji nie

    zostan wygenerowane adne nowe wzorce czste.

    Kada iteracja skada si z 2 podstawowych zada:

    a) Generacja nowych kandydatw

    Polega na generacji kandydatw na sekwencje na podstawie sekwencji czstych

    wygenerowanych w poprzedniej iteracji. Skada si z dwch faz:

    Faza czenia czenie par (k-1)-Sekwencji w k-sekwencje. Sekwencje

    mona ze sob poczy jeli ostatnie k-2 wyrazy pierwszej sekwencji s

    identyczne jak k-2 pierwsze wyrazy drugiej sekwencji. Sekwencja moe

    by czona sama ze sob. Przykady czenia sekwencji:

    (A) (B) (C) oraz (B) (C) (D) jest sekwencja (A) (B) (C) (D),

    (A) (B) (C) oraz (B) (C, D) jest sekwencja (A) (B) (C, D),

    (A) (A) po poczeniu ze sob da sekwencj (A) (A) (A)

    Faza odcicia (ang. Prune) polega na wykorzystaniu wasnoci

    apriori, mwicej o tym, e jeli zbir Z nie jest czsty, to kady

    nadzbir zbioru Z rwnie nie jest czsty. Przekadajc t regu na

    sekwencje otrzymujemy warunek pozwalajcy ju w fazie generacji

    zredukowa liczb sekwencji kandydatw. Ma to wpyw na szybko

    algorytmu, jako e obliczenie wsparcia sekwencji w caej bazie

    sekwencji nie jest operacj szybk. Podczas generacji odrzucane s wic

    takie sekwencje, ktre posiadaj podsekwencje, ktre nie s czste.

    Przykadowo wiedzc, e sekwencja (A) (C) nie jest czsta moemy

    by pewni, e sekwencja zawierajca j: (A) (B) (C, D) rwnie nie jest

    czsta, a zatem nie musi by dalej rozpatrywana.

  • 22

    b) Pozbywanie si nieczstych kandydatw Przegld bazy sekwencji w celu

    obliczenia wsparcia wszystkich wygenerowanych w tym kroku kandydatw oraz

    usunicie tych, ktre nie speniaj kryterium minimalnego wsparcia minSup.

    Wartym uwagi jest sam algorytm sprawdzania zawierania si sekwencji w

    dokumencie przeksztaconym uprzednio do odpowiedniej reprezentacji

    wykorzystywanej w programie.

    Sprawdzanie zawierania sekwencji z uwzgldnieniem ogranicze w

    dokumencie

    Obiekt reprezentujcy stron www, jest postaci opisanej w 2.2.7. Zamy, e

    sprawdzamy obecno sekwencji w dokumencie.

    Algorytm ma posta rekurencyjn i skada si z dwch faz:

    Faza przednia Algorytm sprawdza, czy kolejne elementy zaczynajc od

    pocztku sekwencji s zawarte w tej kolejnoci w dokumencie oraz czy odstp

    midzy nimi jest odpowiedni (speniajcy ograniczenia minGap oraz maxGap).

    Jeli, ktry z elementw sekwencji nie zosta znaleziony, operacja koczy si z

    wynikiem negatywnym. Jeli natomiast element zosta znaleziony, ale odlego

    midzy nim, a poprzednim jest wiksza od dopuszczalnej uruchamiana jest faza

    wsteczna.

    Faza wsteczna uruchamiana jest w momencie, gdy odstp w dokumencie

    midzy aktualnie znalezionym i-tym oraz i-1 elementem sekwencji jest wikszy

    od maxGap. Algorytm w takim przypadku prbuje podcign poprzednie

    elementy sekwencji tak, aby speniay ograniczenia. Oznacza to, e w

    dokumencie szukany jest i-1 element sekwencji, ktry znajduje si na dalszej

    pozycji ni obecnie znaleziony. Jeli nie zostanie znaleziony, algorytm rwnie

    koczy si niepowodzeniem. Jeli jednak element zostanie znaleziony

    sprawdzane jest, czy spenia on ograniczenia, w stosunku do poprzednich

    elementw sekwencji. Jeli nie poprzednie elementy rwnie s w ten sam

    sposb podcigane. Dzieje si tak a do pierwszego elementu sekwencji albo

    do momentu gdy podcignity element nie naruszy ograniczenia w stosunku

    do poprzedniego wyrazu sekwencji. Wtedy to nastpuje przeczenie do

    pierwszej fazy.

  • 23

    4. Usunicie sekwencji niemaksymalnych

    Sekwencja jest maksymalna, jeli nie zawiera si w adnej innej sekwencji. Jest to

    krok opcjonalny wykonywaniu w celu pozbycia si nadmiarowych wzorcw

    mniejszej dugoci.

    3.3. Taksonomie elementw

    Do algorytmu mona dodatkowo wprowadzi taksonomi elementw, inaczej mwic

    pewne pogrupowanie elementw w nazwane grupy. Uwzgldnienie taksonomii pozwala

    na znalezienie bardziej oglnych regu. Za przykad niech posuy taksonomia

    przedstawiona na rysunku 3.1.

    Rysunek 3.1. Przykadowa taksonomia elementw

    Przykad

    Wystpujce bardziej szczegowe sekwencje:

    (kot) (zamieszkuje) (tereny)

    (w) (zamieszkuje) (tereny)

    (aba) (zamieszkuje) (tereny)

    Mog by zastpione jedn oglniejsz:

    (zwierz) (zamieszkuje) (tereny)

    Dziki taksonomiom mog zosta odkryte interesujce reguy, ktre inaczej nie

    zostayby wykryte z powodu zbyt maego wsparcia przy rozpatrywaniu bardziej

    uszczegowionych podobnych sekwencji jako cakiem rne.

    zwierz

    ssak

    pies kot

    gad

    w

    paz

    aba

  • 24

    Modyfikacja algorytmu GSP umoliwiajca uwzgldnienie taksonomii polega na

    rozszerzeniu wyrazw sekwencji z bazy sekwencji o nazwy grup, do ktrych nale

    elementy tego wyrazu wedug podanej taksonomii (lub kilku taksonomii).

    Przykad

    Ponownie posikujc si przykadem taksonomii z rysunku 3.1. pierwotna sekwencja z

    bazy danych o postaci:

    (w) (zamieszkuje) (tereny)

    Zostanie zamieniona na:

    (w, gad, zwierz) (zamieszkuje) (tereny)

    Modyfikacja wydaje si by prost operacj jednak w rzeczywistoci znacznie

    komplikuje algorytm.

    W przypadku, gdy sekwencje reprezentuj dokument tekstowy bez uwzgldniania

    taksonomii, wyrazem sekwencji jest jedno sowo w zwizku z tym wyrazy sekwencji

    zawsze s jednoelementowe, a problem sekwencjonowania znacznie uproszczony. Jeli

    natomiast wyrazy sekwencji mog zosta rozszerzone, trzeba je rozpatrywa jako

    zbiory, co wpywa przede wszystkim na faz generowania kandydatw, a w nastpstwie

    przekada si rwnie na efektywno algorytmu.

    3.4. Podsumowanie problemu i obserwacje

    Wybr algorytmu GSP by podyktowany gwnie tym, e jest to podstawowy algorytm

    sucy do wykrywania wzorcw sekwencji. Dostpnych byo bardzo wiele materiaw

    opisujcych jego dziaanie i sposb implementacji. Jest to algorytm mniej

    skomplikowany i prostszy do zaimplementowania od innych algorytmw

    sekwencjonowania. Co wicej jest on prosty do rozszerzenia o dodatkowe

    funkcjonalnoci takie jak uwzgldnienie taksonomii. Podczas pracy nie wykorzystano

    penego potencjau algorytmu sekwencjonowania GSP. Stworzona wersja umoliwia

    obsug taksonomii, jednak nie zostao to w tej pracy wykorzystane. By moe

    znalezienie odpowiedniej taksonomii elementw dobrze dobranej do tematyki

    dokumentw zaowocowaoby odkryciem dodatkowych ciekawych wzorcw.

    Algorytmy z rodziny GSP jako jedyne pozwalaj na uwzgldnienie maksymalnej i

    minimalnej odlegoci midzy elementami sekwencji. Jest to jednak ju do wiekowy

    algorytm w zwizku z tym powstao kilka innych algorytmw lepiej radzcych sobie w

  • 25

    niektrych sytuacjach. Jego gwn wad jest saba skalowalno. Opis moliwoci

    algorytmu GSP oraz jego dokadniejsze porwnanie z innymi mona znale w [12].

    W przypadku analizy bardzo duego zbioru danych wartym zastanowienia jest

    skorzystanie z innych algorytmw wyszukiwania sekwencji. Pattern-Growth [18] jest

    grup algorytmw prezentujcych inne podejcie do problemu odkrywania wzorcw.

    Algorytmy te mog dziaa szybciej przy ustawieniu niskiego wsparcia. Popularnym

    przedstawicielem algorytmw z tej grupy jest PrefixSpan [20] lub SPADE [19].

  • 26

    4. Klasyfikacja

    Klasyfikacja (ang. classification) to jedna z najstarszych jak rwnie najwaniejszych

    metod eksploracji danych, ktra ma bardzo istotne znaczenie praktyczne. Polega ona na

    znajdowaniu odwzorowania danych w zbir predefiniowanych klas. Na podstawie

    zawartoci bazy danych budowany jest model (np. drzewo decyzyjne, reguy logiczne,

    tablica prawdopodobiestw), ktry suy do klasyfikowania nowych obiektw w bazie

    danych lub gbszego zrozumienia istniejcego podziau obiektw na klasy.

    Gwnym celem klasyfikacji jest zbudowanie formalnego modelu zwanego

    klasyfikatorem.

    Proces klasyfikacji skada si zazwyczaj z trzech etapw:

    1. Budowanie modelu.

    Pierwszym krokiem jest zbudowanie modelu (waciwy klasyfikator), ktry

    konstruowany jest na podstawie danych treningowych. Jest to zbir obiektw

    skadajcych si z atrybutw i ich wartoci oraz jednego atrybutu decyzyjnego (ang.

    Class label attribute), do ktrego przypisywana jest etykieta klasy obiektu.

    2. Ewaluacja modelu.

    Krok ten ma na celu przetestowanie jakoci zbudowanego klasyfikatora,

    przetestowaniu dokadnoci klasyfikacji na podstawie danych testowych.

    Wane jest, aby do tego zadania wykorzysta specjalnie wydzielone dane testowe.

    Nie jest wskazane uywanie do tego celu danych, biorcych udzia w budowaniu

    modelu, poniewa moe prowadzi to do zafaszowanego, zbyt optymistycznego

    wyniku. Dokadniejszy opis rodzajw ewaluacji modelu przedstawiony zosta w

    sekcji dotyczcej testowania (6.5).

    Istnieje wiele wspczynnikw opisujcych jako klasyfikatora. Najprostszym,

    czsto wystarczajcym jest oglna dokadno klasyfikacji. Jest to stosunek

    obiektw poprawnie zaklasyfikowanych do wszystkich obiektw poddanych

    klasyfikacji. Wicej o miarach jakoci w sekcji 6.2.

    3. Klasyfikacja nowych obiektw.

    Ostatnim etapem jest klasyfikacja przy pomocy zbudowanego modelu nowych

    obiektw na podstawie wartoci ich atrybutw.

    Powstao dotychczas bardzo wiele metod klasyfikacji. Jednym z najpopularniejszych

    jak i najprostszych klasyfikatorw jest Naiwny Klasyfikator Bayesa.

  • 27

    4.1. Naiwny Klasyfikator Bayesa

    Swoj popularno klasyfikator Bayesa zyska dziki swojej prostocie oraz

    efektywnoci w wielu przypadkach nie odstpujcej od duo bardziej skomplikowanych

    klasyfikatorw. Jest to klasyfikator liniowy, ktrego dziaanie opiera si na

    prawdopodobiestwie warunkowym twierdzenia Bayesa:

    ( ) ( ) ( )

    ( )

    Klasyfikacja jest wykonywana na podstawie porwnania prawdopodobiestwa

    wystpienia zbioru konkretnych wartoci atrybutw obiektu dla kadej klasy.

    Klasyfikator Bayesa zakada, e wartoci atrybutw w klasach s niezalene, std

    przydomek naiwny. Jest to tak zwane zaoenie o niezalenoci warunkowej klasy.

    Sposb klasyfikacji:

    Zamy, e kady obiekt reprezentowany jest przez wektor wartoci atrybutw:

    X = (F1,F2 Fn)

    Dla kadej klasy Ci obliczane jest prawdopodobiestwo przynalenoci obiektu do tej

    klasy, pod warunkiem posiadania danych wartoci atrybutw czyli P(Ci | X).

    Obiekt zostaje zaklasyfikowany do tej klasy, dla ktrej takie prawdopodobiestwo jest

    najwiksze.

    Do obliczenia tego prawdopodobiestwa wykorzystuje si twierdzeniu Bayesa o

    prawdopodobiestwie warunkowym:

    ( ) ( ) ( )

    ( )

    Podstawiajc do wzoru otrzymujemy:

    P(Ci | X) = ( ) ( )

    ( )

    ( ) ( ) ( ) ( )

    ( )

    P(X) prawdopodobiestwo wystpienia przykadu X (o wektorze wartoci atrybutw

    (f1,f2 fn),

    P(Ci) prawdopodobiestwo wystpienia klasy Ci. Jest to procent obiektw klasy Ci w

    zbiorze trenujcym. Czsto przyjmuje si t warto tak sam dla kadej klasy,

    P(X|Ci) prawdopodobiestwo wystpienia danej konfiguracji wartoci atrybutw w

    klasie Ci

    Wszystkie prawdopodobiestwa pobierane s z tablic prawdopodobiestw bdcych

    modelem klasyfikatora zbudowanym na podstawie danych treningowych.

  • 28

    Przykadowa tablica prawdopodobiestw dla jednej klasy:

    warto\atrybut F1 F2

    Val1 0.08 0.12

    Val2 0.09 0.01

    Tabela 4.1. Przykadowa tablica prawdopodobiestw klasy.

    Warto 0.08 na skrzyowaniu Kolumny F1 oraz wiersza Val1 oznacza, e

    prawdopodobiestwo wystpienia w obiekcie danej klasy wartoci atrybutu F1 rwnej

    Val1 wynosi 8%, wic P(F1=Val1|Ci) = 0.08. Warto ta jest iloczynem liczby obiektw

    klasy Ci, w ktrych warto atrybutu F1 wynosiVal1 do liczby wszystkich obiektw tej

    klasy.

    4.2. Klasyfikatory leniwe

    Specyficzn rodzin klasyfikatorw s tzw. klasyfikatory leniwe. Wikszo

    klasyfikatorw wykonuje klasyfikacj na podstawie wczeniej zbudowanego modelu na

    podstawie danych trenujcych. Ten sam model jest uywany do klasyfikacji kadego

    nowego obiektu.

    Klasyfikatory leniwe stosuj inne podejcie. Interpretacja danych treningowych (np.

    budowanie klasyfikatora) jest opniane do momentu pojawienia si obiektu do

    klasyfikacji. Jest on wtedy porwnywany z baz przykadw trenujcych a nastpnie

    klasyfikowany. Dziki temu podejciu moliwa jest analiza mniejszej czci bazy

    danych, bez przetwarzania danych nierelewantnych wzgldem przykadu do

    klasyfikacji. Kolejnym atutem jest moliwo dynamicznej zmiany danych trenujcych

    bez koniecznoci przebudowywania klasyfikator. Sama klasyfikacja moe by jednak

    dusza z powodu koniecznoci budowania modelu w czasie rzeczywistym.

    Wanym pojciem w tym przypadku jest podobiestwo elementw definiowane przez

    pewn funkcj podobiestwa.

  • 29

    4.2.1. k-Nearest Neighbors (kNN)

    Najprostszym klasyfikatorem leniwym jest klasyfikator k-Nearest Neighbors [21]. W

    pierwszym kroku znajduje on wrd przykadw treningowych k najbardziej podobnych

    (wg okrelonej funkcji podobiestwa) obiektw do aktualnie klasyfikowanego

    elementu. Wyborem klasyfikacji bdzie najpopularniejsza klasa wrd k najbliszych

    ssiadw tzn. taka, ktra posiada najwicej przedstawicieli w dostpnym zbiorze

    trenujcym.

    4.2.2. K Star classifier (K*)

    Unikalno klasyfikatora K* wynika z jego sposobu obliczania podobiestwa obiektw

    na podstawie entropii. Takie podejcie jest motywowane teori informacji. Odlego

    midzy dwoma obiektami jest zoonoci transformacji jednego obiektu w drugi.

    Transformacja obiektu to sekwencja przeksztace obiektu prowadzca do uzyskania

    innego obiektu. Im transformacja jest bardziej zoona tym mniejsze

    prawdopodobiestwo jej przeprowadzenia.

    Prawdopodobiestwo, e obiekt a naley do klasy C jest mierzone jako suma

    prawdopodobiestw transformacji tego obiektu do kadego obiektu danych

    treningowych nalecego do klasy C.

    ( ) ( )

    a obiekt testowy

    b obiekt ze zbioru treningowego nalecy do klasy C

    Szczegowy opis klasyfikacji metod K* mona znale w [11]

    4.2.3. Decisions through Emerging Patterns (DeEPs)

    Jest to kolejna metoda leniwej klasyfikacji obiektw jednak koncepcyjnie rnica si

    od tych opisanych wczeniej (kNN, K*). W poprzednich przypadkach przeprowadzana

    bya analiza bazujca gwnie na odlegoci midzy obiektem, a krotkami

    treningowymi, obliczana pewn charakterystyczn dla algorytmu funkcj podobiestwa

    midzy obiektami. Rozpatrywano surowe dane treningowe, bez wspomagania si

    wydobywaniem wyszego poziomu wzorcw czy regu.

  • 30

    Idea klasyfikacji algorytmu DeEPs polega na rozpatrywaniu kombinacji wartoci

    wystpujcych czsto w jednej klasie obiektw, ale nie wystpujcych lub

    wystpujcych bardzo rzadko w innych klasach. Taka kombinacja jest zbiorem

    elementw, w ktrym element oznacza przyporzdkowanie atrybutowi konkretnej

    wartoci. W dalszej czci opisu zbir bdzie si odnosi do tej definicji.

    Zamy, e obiekty dziel si na dwie klasy:

    Pozytywne Dp = {P1, P2 Pn} oraz negatywne Dn = {N1, N2 Nm}

    Obiekt do klasyfikacji oznaczany bdzie przez T.

    Rozwamy nastpujcy przykad danych treningowych:

    F1 F2 F3 Klasa

    1 0 1 P

    1 1 0 P

    0 0 1 N

    0 1 1 N

    Tabela 4.2. Przykadowy zbir danych treningowych.

    Zbir elementw dla pierwszego obiektu bdzie mia tutaj posta {F1=1, F2=0, F3= 1}

    Wzorce wyaniajce (ang. Emerging Patterns EPs) zbiory wartoci atrybutw,

    ktrych wsparcie wrd obiektw jednej klasy jest znaczco wiksze od jego wsparcia

    wrd obiektw innych klas. Zbir elementw X jest wzorcem wyaniajcym klasy C1,

    wtedy gdy spenione jest rwnanie:

    ( )

    ( )

    gdzie jest pewn, ustalan uprzednio wartoci

    rne klasy obiektw

    ( ), ( ) wsparcie zbioru X, wrd obiektw z klas C1 oraz C2

    Wzorce wyskakujce (ang. Jumping Emerging Patterns JEPs) zbiory, ktre

    posiadaj wsparcie tylko w jednej klasie obiektw. Jest to szczeglnie rygorystyczny

    podzbir wzorcw EP, ktry nie pozwala na istnienie danego wzorca w adnej innej

  • 31

    klasie. Inaczej mwic jest to zbir takich konfiguracji wartoci atrybutw, ktra

    wystpuje wrd obiektw treningowych tylko jednej klasy.

    Ju przy kilku atrybutach obiektw, liczba moliwych kombinacji ich wartoci jest

    bardzo dua. Standardowe przechowywanie tylu zbiorw mogoby bardzo niekorzystnie

    wpyn na algorytm, a nawet uniemoliwi jego prac w niektrych przypadkach. Aby

    rozwiza ten problem wprowadzono nietypowy sposb reprezentacji zbiorw przy

    pomocy granic:

    Granica (ang. Border) - uporzdkowana para dwch kolekcji zbiorw, midzy

    ktrymi spenione s dwie zalenoci:

    X L, Y R, taki e X Y , Y R, X L, taki e Y X.

    Gdzie X i Y s zbiorami elementw.

    Inaczej mwic granica obejmuje wszystkie zbiory, ktre s nadzbiorami, ktrego ze

    zbioru z lewej granicy, oraz podzbiorami ktrego z prawej. Lewa granica jest

    najbardziej ogln konfiguracj elementw, natomiast prawa reprezentuje najbardziej

    szczegowe zestawienie.

    Granice pozwalaj na zwize reprezentowanie przestrzeni bardzo wielu zbiorw. Na

    granicach moliwe s rwnie rne operacje, takie jak suma, przecicie czy rnica.

    Przykad:

    Granica postaci < {{1}, {2}}, {{1,4}, {1,2,3}}> reprezentuje nastpujce zbiory:

    {1}, {2}, {1, 2}, {1, 3}, {1, 4}, {2, 3}, {1, 2, 3}

    Przestrze horyzontalna (Horizontal Space) granica o pustym lewym zbiorze,

    przykadowo:

    ** ++ ** + * ++

    Reprezentuje wszystkie podzbiory zbioru {1, 2} lub {1, 3, 5}. Nie ma w tym przypadku

    drugiego ograniczenia, poniewa kady zbir jest nadzbiorem zbioru pustego.

    4.2.3.1. Przebieg klasyfikacji metod DeEPs

  • 32

    1. Redukcja danych trenujcych.

    Celem tego kroku jest pozbycie si znaczcej czci danych trenujcych

    nierelewantnych w kontekcie rozpatrywanego obiektu do klasyfikacji. Dziki temu

    zabiegowi analizie poddawana jest mniejsza ilo danych, co uatwia problem i

    korzystnie wpywa na efektywno algorytmu.

    Redukcj wykonuje si przez wykonanie operacji przecicia przykadu testowego i

    kadego przykadu treningowego z osobna:

    T P1, T P2 . . . , T Pm

    Korzystajc z bazy treningowej przedstawionej w tabeli 1 oraz przyjmujc przykad

    testowy: T = {F1=1, F2=1, F3= 0}, baza treningowa po intersekcji z przykadem T

    przedstawia si nastpujco:

    Nr obiektu F1 F2 F3 Klasa

    1 1 - - P

    2 1 1 0 P

    3 - - - N

    4 - 1 - N

    Tabela 4.3. Zbir danych treningowych po przeciciu z przykadem testowym T.

    2. Wyznaczenie przestrzeni horyzontalnej kadej klasy.

    Przestrze horyzontalna budowana jest osobno dla kadej klasy obiektw. Powstaje

    przez pozostawienie maksymalnych zbiorw powstaych po operacji przecicia

    obiektu testowego z kadym obiektem treningowym z tej klasy z osobna. Zbir jest

    maksymalny, jeli nie zawiera si w adnym innym zbiorze.

    3. Odkrycie wzorcw wyskakujcych (JEPs) oraz wyaniajcych (EPs)

    W wyniku odpowiednich operacji na przestrzeniach horyzontalnych klas, mona

    wyznaczy wzorce JEP oraz EP.

    Zbiory JEP klasy P powstaj przez wykonanie operacji rnicy przestrzeni

    maksymalnej tej klasy z przestrzeni klasy przeciwnej N:

    JEPs = < { * +, RP > < { * +, RN >

    Wynikiem s wzorce, ktre wystpuj w klasie P, ale nie w klasie N.

    EP jest wynikiem operacji koniunkcji przestrzeni horyzontalnych rnych klas

    obiektw, w celu znalezienia ich czci wsplnej czyli wzorcw, ktre wystpuj w

    wrd obiektw obydwu klasy.

  • 33

    EP = < { * +, RP > < { * +, RN >

    Szczegowy opis operacji na granicach mona znale w [7] i [8].

    4. Selekcja wzorcw JEP oraz EP do klasyfikacji

    W kroku trzecim zostaj odkryte wszystkie wzorce wyskakujce JEP oraz

    wyaniajce EP. W wikszoci przypadkw ich liczba jest bardzo dua i nie

    wszystkie mog by uwzgldnione w procesie klasyfikacji. Dlatego te naley

    spord nich wybra grup wzorcw, ktre najlepiej nadaj si do ustalenia klasy

    obiektu. W pierwszej kolejnoci wybierane s wzorce JEP.

    5. Wybr klasy obiektu

    Po wyselekcjonowaniu pewnej liczby zbiorw JEP oraz EP biorcych udzia w

    klasyfikacji, mona przystpi do wyznaczania jego wyniku. W tym celu dla kadej

    klasy obliczana jest pewna warto wsparcia wzorcw JEP oraz EP wrd

    przedstawicieli tych klas.

    ( ) ( )

    C klasa, dla ktrej obliczany jest wynik

    SEP wybrane do klasyfikacji wzorce JEP oraz EP

    Dc zbir obiektw treningowych klasy C

    ( ) liczba obiektw klasy C, wspierajcych cho jeden wzorzec ze

    zbioru SEP

    Wynik ukazuje, jaka cz obiektw danej klasy pasuje do obiektu poddawanego

    klasyfikacji.

    Ostatecznie wybierana jest klasa, ktra uzyskaa najlepszy wynik.

    Oprcz samych korzyci pyncych z klasyfikacji metod DeEPs, ktra jest w wielu

    przypadkach bardzo skuteczna, co potwierdzaj testy przeprowadzone w [8], pozwala

    ona na odkrycie interesujcych informacji o przebiegu klasyfikacji. Wzorce

    wyskakujce (JEPs) oraz wyaniajce (EPs) mog ukaza informacj o tym, jakie

    atrybuty, bd konfiguracje atrybutw przewayy o decyzji klasyfikatora.

    Wad tej metody klasyfikacji okazaa si wyjtkowa wraliwo klasyfikatora na

    zaszumienie danych treningowych.

  • 34

    5. Architektura rozwizania

    Czci praktyczn mojej pracy byo stworzenie systemu realizujcego nastpujce

    zadania:

    Automatyczne pobranie treci stron internetowych (strony domowe naukowcw

    oraz strony uniwersytetw) znajdujcych si pod podan, znan wczeniej list

    adresw URL.

    Znalezienie wzorcw sekwencji z danej grupy stron.

    Wykorzystania czstych sekwencji do klasyfikacji stron internetowych jako strony

    bdcej stron domow (naukowca lub uniwersytetu) bd nie bdca tak.

    W czci praktycznej tej pracy stworzony zosta system umoliwiajcy realizacj

    powyszych zada. Program realizujcy opisane w tej pracy zadania zosta napisany w

    jzyku Java. Projekt zosta podzielony na kilka moduw realizujcych rne

    funkcjonalnoci. Stworzone metody zastay rwnie dokadnie przetestowanie pod

    ktem poprawnoci dziaania. Do zadania odkrywania sekwencji stworzony zosta

    interfejs graficzny przy uyciu biblioteki Swing. Caa struktura programu oparta jest o

    wzorzec projektowy MVC (Model View Controller).

    5.1. Pobieranie treci stron www na podstawie adresw URL

    Pierwszym krokiem niezbdnym do realizacji pozostaych czynnoci jest zdobycie

    odpowiedniego zbioru danych treningowych w postaci negatywnych i pozytywnych

    przykadw stron domowych naukowcw i uniwersytetw. Przed przystpieniem do

    zadania posiadaem zbir odnonikw URL do takich stron (opis pochodzenia danych w

    6.1). Modu ten odpowiedzialny jest za dostarczenie treci stron kryjcych si za tymi

    odnonikami do uytku przez program. W tym celu skorzystaem z funkcjonalnoci

    biblioteki Jsoup do pracy z dokumentami HTML. Czynnoci prowadzce do uzyskania

    czystej treci strony www z podanego adresu URL:

    1. Pobranie rda strony znajdujcej si pod danym adresem, moliwe byo

    2. Parsowanie rda dokumentu HTML w celu uzyskania struktury,

    umoliwiajcej wydobycie interesujcych elementw strony.

    3. Wydobycie treci wszystkich znacznikw strony ze struktury uzyskanej z

    parsowania dokumentu.

  • 35

    Powysze zadania byy moliwe do zrealizowania przy pomocy biblioteki Jsoup w

    kilku linijkach programu:

    //pobranie I parsowanie rda strony

    Document doc= Jsoup.connect(http://home.edu.pl).get();

    //wydobycie zawartoci wszystkich znacznikw

    String pageContent = doc.text();

    Z powodu duej licznoci zbioru danych treningowych (kilkaset odnonikw do stron

    www), cignicie wszystkich treci stron internetowych byo czasochonnym

    zadaniem, ktre trwao kilkadziesit minut. Dlatego system zosta poszerzony o

    funkcjonalno zapisania rde stron www do plikw przechowywanych lokalnie na

    maszynie roboczej oraz nastpnie wczytania ich. Dziki temu zabiegowi czas

    zaadowania do programu treci ok. 1500 stron www udao si zmniejszy do kilku

    sekund.

    5.2. Modu wykrywania sekwencji czstych

    Modu ten realizuje jeden z gwnych celw pracy, czyli odkrywanie sekwencji

    czstych wystpujcych w jakiej grupie dokumentw. Sekwencje te s

    charakterystycznymi zwrotami w dokumentach z danej klasy i maj by dalej

    wykorzystywane, jako cechy, dziki ktrym odbywa si bdzie klasyfikacja.

    Danymi wejciowymi w tym etapie jest zbir treci stron internetowych z jakiej

    okrelonej grupy stron np. domowe strony naukowcw.

    Nastpnie nastpuje przeksztacenie kadej strony do obiektu o strukturze,

    umoliwiajcej programowi ich wygodn analiz. Szczegowo transformacja opisana

    w sekcji 2.2.7.

    Algorytm jest konfigurowalny i moliwe jest ustawienie jego parametrw

    wpywajcych na wykryte wzorce:

    Minimalne wsparcie sekwencji czstych (minSup).

    Maksymalny dystans midzy wyrazami sekwencji (maxGap).

  • 36

    Proces odkrywania wzorcw sekwencji jest dosy skomplikowany, a ponadto wymaga

    wielokrotnego dostpu do kilkuset obiektw reprezentujcych dokumenty tekstowe. W

    zalenoci od wielkoci zbioru danych oraz parametrw algorytmu operacja ta trwaa

    nawet kilkadziesit sekund na redniej klasy komputerze. W zwizku z tym system

    zosta wyposaona w opcj zapisu znalezionych sekwencji do pliku. Dziki temu przy

    kadej klasyfikacji nie ma potrzeby odkrywania sekwencji.

    5.3. Modu klasyfikacji

    W ramach tej pracy wykorzystane zostay trzy klasyfikatory: DeEPs, Naive Bayes oraz

    KStar. Klasyfikator DeEPs, zosta zaimplementowany w systemie, natomiast pozostae

    dwa: Naive Bayes oraz KStar zostay zintegrowane dziki wykorzystaniu biblioteki

    WEKA1. Jest to oprogramowanie napisane w jzyku Java, zawierajce szereg

    algorytmw eksploracji danych, gwnie z dziedziny klasyfikacji i grupowania. W

    czci praktycznej wykorzystane zostay rwnie metody walidacji modelu zawarte w

    bibliotece WEKA.

    Danymi wejciowymi procesu klasyfikacji s:

    Zbir przykadw pozytywnych i negatywnych stron internetowych z okrelonej

    grupy (np. domowe strony naukowcw). Zbiory te po przeksztaceniu do

    odpowiedniej postaci stanowi bd dane treningowe i testowe.

    Wyselekcjonowane czste sekwencje lub sowa wystpujce w pewnej klasie

    dokumentw potrzebne do przeksztacenia dokumentw do odpowiedniej

    postaci.

    Ponisze schematy prezentuj przebieg klasyfikacji strony testowej.

    1 WEKA: http://www.cs.waikato.ac.nz/ml/weka/

  • 37

    Rysunek 5.1. Pochodzenie atrybutw obiektw do klasyfikacji

    Rysunek 5.2. Schemat klasyfikacji strony www.

  • 38

    6. Testowanie

    W celu dokadnego przetestowania dokadnoci klasyfikacji stron domowych na

    podstawie wystpowania w nich czstych sekwencji tekstowych, przeprowadzono

    wielokrotne testy.

    6.1. Dane treningowe

    Do dyspozycji podczas testw miaem kilkaset przykadw pozytywnych i

    negatywnych stron domowych naukowcw oraz podobn liczb przykadw stron

    domowych uniwersytetw.

    Prawdziwe strony domowe uniwersytetw zostay zaczerpnite z indeksu stron

    uniwersytetw na terenie USA znajdujcego si na stronie: http://www.clas.ufl.edu/au/.

    Przykady negatywne stron domowych uniwersytetw byy uzyskane z wynikw

    zapyta wyszukiwarki internetowej Google. Przykadowa posta takiego zapytania

    wygldaa w ten sposb: "University of Dallas" -site:udallas.edu.

    Jednak wybierane byy te strony wynikowe, ktre nie byy stron domow tego ani

    adnego innego uniwersytetu. Dziki temu przykady negatywne nie byy zupenie

    losowe, ale byy to strony, ktre faktycznie mogy by przyjte za prawdziwe strony

    domowe uniwersytetw. W ten sposb uzyskano dane, ktre w bardziej obiektywny,

    surowy sposb pozwol przetestowa jako klasyfikatorw, poniewa dobrze

    imitoway prawdziwe warunki klasyfikacji, gdzie klasyfikator po dokonaniu pewnego

    zapytania w wyszukiwarce, majc zbir podobnych stron wynikowych bdzie musia

    wybra t waciw.

    Zbir pozytywnych przykadw stron domowych naukowcw zosta utworzony na

    podstawie bazy ludzi strony DBLP1. Jest to strona zawierajc baz ludzi nauki oraz ich

    publikacji zwizanych z dziedzin nauk informatycznych.

    Przykady negatywne zostay pozyskane w podobny sposb jak w przypadku

    uniwersytetw.

    Do analizy uywane byy tylko strony angielskojzyczne.

    1 Digital Bibliography & Library Project

  • 39

    6.2. Miary poprawnoci

    Do oceny poprawnoci rozwizania stosuje si rne miary, ukazujce jako dziaania

    algorytmu.

    W niniejszej pracy zadaniem klasyfikatora byo ocenienie czy dana strona jest stron

    domow naukowca (lub uniwersytetu). W takim przypadku klasyfikacji, kiedy mona

    przydzieli obiektom jedn z dwch klasy, tzn. klasyfikacja ma charakter binarny,

    obiekty testowe mona podzieli na cztery grupy:

    Tp Prawdziwie pozytywne (ang. True positive) S to obiekty, ktre zostay

    zaklasyfikowane jako strony domowe i w rzeczywistoci takimi bdce.

    Fp Faszywie pozytywne (ang. False Positive) Obiekty, ktre zostay uznane

    przez klasyfikator jako strony domowe, jednak faktycznie nie bdce nimi.

    Tn Prawdziwie negatywne (ang. True negative) Obiekty poprawnie

    zaklasyfikowane jako nie reprezentujce stron domowych.

    Fn Faszywie negatywne (ang. False negative) Obiekty, ktre niewaciwie

    zostay uznane za takie, ktre nie reprezentuj stron domowych, kiedy tak

    naprawd s nimi.

    Zaklasyfikowany jako

    pozytywny

    Zaklasyfikowany jako

    negatywny

    Naley do klasy pozytywnej

    Tp (True positive) Fn (False negative)

    Naley do klasy negatywnej

    Fp (False positive) Tn (True negative)

    Tabela 6.1. Podzia obiektw testowych w klasyfikacji binarnej.

    Dokadno (ang. Accuracy) Jedna z najwaniejszych miar uywana do oceny jakoci

    klasyfikacji. Okrela prawdopodobiestwo poprawnego zaklasyfikowania dowolnego

    przykadu testowego. Jest ilorazem obiektw waciwie zaklasyfikowanych oraz

    wszystkich obiektw poddawanych klasyfikacji:

    Accuracy =

  • 40

    Precyzja (ang. Precision) Okrela jaka cz obiektw zaklasyfikowanych pozytywnie

    jest poprawna. Inaczej jest to prawdopodobiestwo tego, e obiekt faktycznie jest

    pozytywny jeli klasyfikator zaklasyfikowa go jako taki.

    Precision =

    Zupeno, kompletno (ang. Recall) Inaczej zwana True Positive Rate, jest miar

    odpowiadajc na pytanie, jak cz faktycznie pozytywnych obiektw, klasyfikator

    zaklasyfikowa poprawnie.

    Recall =

    Zaszumienie (ang. Fallout) Miara ukazujca stopie bdnego klasyfikowania

    obiektw negatywnych jako pozytywne w stosunku do wszystkich negatywnych

    obiektw.

    Fallout =

    F-Measure Popularna miara czca precyzj i dokadno. Czsto nazywana rwnie

    miar F1. Liczona jest wg nastpujcego wzoru:

    F-Measure =

    ( )

    6.3. Wykryte wzorce sekwencji

    Podczas przeprowadzania testw wspczynnik minimalnego wsparcia sekwencji

    czstej wrd danych treningowych wynosi 15%, co oznacza e co najmniej 15%

    obiektw treningowych z danej grupy, musiao zawiera dan sekwencj aby staa si

    ona wzorcem. Jest to liczba ustalona na podstawie dowiadcze, pozwalajca uzyska w

    rozsdnym czasie, wystarczajc liczb sekwencji czstych. Przy wikszym progu,

    sekwencji byo zbyt mao oraz byy krtkie (maksymalnie 2 elementowe), natomiast

    gdy prg by ustawiony zbyt niski, algorytm znajdowa bardzo duo sekwencji, ktre

    nie koniecznie byy wystarczajco charakterystyczne dla danej grupy dokumentw.

    Poniej zostao przedstawionych kilka najlepszych sekwencji odkrytych w grupie

    pozytywnych oraz negatywnych przykadw stron domowych naukowcw.

  • 41

    Pozytywne:

    1. computerscienceuniversity

    2. departmentcomputerscience

    3. researchinterests

    4. internationalconference

    5. homepage

    6. researchpublications

    Negatywne:

    1. contactus

    2. privacypolicy

    3. computerscience

    4. rightsreserved

    5. internationalconference

    Jak wida w przykadach pozytywnych zostay odnalezione sekwencje, ktre faktycznie

    s charakterystyczne dla stron domowych naukowcw w szczeglnoci zwizanych z

    naukami Technologii Informacyjnych.

    Natomiast czste wzorce sekwencyjne odnalezione w grupie negatywnych przekadw

    stron domowych, czyli stron o rozmaitej tematyce, ale nie bdce stronami domowymi

    naukowcw, s krtsze i mniej charakterystyczne dla konkretnego tematu. S to typowe

    zwroty pojawiajce si na bardzo wielu stronach internetowych niezalenie od ich

    tematyki.

    Na tej podstawie mona byo przypuszcza, e sprawdzanie obecnoci typowych dla

    konkretnej tematyki wzorcw czstych na stronie poddawanej klasyfikacji moe

    przynie dobre rezultaty.

    6.4. Wybr sekwencji do klasyfikacji

    Do dalszej analizy zostaa wybierana pewna liczba N sekwencji. Poowa tej liczby

    pochodzia ze zbioru sekwencji odkrytych w grupie dokumentw pozytywnych, a

    poowa ze zbioru dokumentw negatywnych. Sekwencje najpierw byy sortowane

  • 42

    wedug jakoci, a nastpnie wybierane byy najlepsze. Na jako sekwencji wpyw

    miay 2 czynniki:

    1) W pierwszej kolejnoci brana pod uwag bya dugo odkrytej sekwencji. Dusze

    sekwencje lepiej charakteryzoway dokumenty, w ktrych byy odkryte.

    2) Na drugim planie bya popularnoci sekwencji. Im czciej wystpowaa tym bya

    lepsza.

    6.5. Ewaluacja modelu klasyfikatora

    Aby przetestowa dziaanie klasyfikatora naley najpierw odpowiednio przygotowa

    zbiory danych treningowych, majc na uwadze fakt rozcznoci danych treningowych,

    sucych do budowy klasyfikatora oraz danych testowych, sucych do samego

    testowania jego jakoci.

    Mona rozrni kilka sposobw walidacji modelu, w zalenoci od sposobu podziau

    dostpnych danych na treningowe i testowe:

    Prosta walidacja polega na podzieleniu zbioru na dane uczce oraz dane

    testowe. Zbir testowy zawiera zazwyczaj nie wicej ni 30% wszystkich

    obiektw. Klasyfikator budowany jest z danych treningowych, a sprawdzany

    danymi testowymi.

    Walidacja krzyowa K-krotna (ang. K-fold Cross Validation) wszystkie

    dane dzielone s na K rozcznych, rwnych objtociowo zbiorw. Proces

    trenowania klasyfikatora zostaje przeprowadzony K razy, gdzie jeden

    wyczony z K zbiorw peni rol zbioru testujcego, za pozostae cznie

    stanowi zbir trenujcy. Kadorazowo przeprowadzane s testy, a ostateczny

    wynik jest uredniany. Dziki takiemu podejciu kady obiekt treningowy

    zostanie dokadnie raz przetestowany, a z drugiej strony wszystkie dane mog

    zosta uyte do budowy klasyfikatora.

    Leave One Out Odmiana K-krotnej walidacji krzyowej, w ktrej dane

    dzielone s na zbiory o rozmiarze jednego obiektu tzn. jeden obiekt jest

    testowany, a pozostae su do wytrenowania klasyfikatora. Metoda stosowana

    raczej dla maych zbiorw danych.

  • 43

    Do ewaluacji poprawnoci uytych w programie klasyfikatorw skorzystano z 4-krotnej

    walidacji krzyowej. Oznacza to, e w celu przetestowania dziaania klasyfikatora w

    konkretnych warunkach (liczba atrybutw, rodzaj atrybutw) zbir danych dzielono na

    cztery rwne czci, a nastpnie czterokrotnie budowano i testowano klasyfikator, za

    kadym razem przy innym podziale na dane testowe i trenujce. Ostateczne wyniki

    miar byy uredniany z czstkowych wynikw klasyfikatorw wedug strategii

    makrouredniania.

    czenie czstkowych wynikw testw moliwe jest na dwa sposoby: mikro oraz

    makro uredniania. Dla zobrazowania rnicy zamy, e chcemy pozna Precyzj

    klasyfikatora: Precision =

    Makrourednianie dla kadego z czterech klasyfikatorw liczona jest

    precyzja, a nastpnie jest ona uredniana.

    Mikrourednianie dla kadego z czterech klasyfikatorw, nie jest od razu

    liczona precyzja, ale jedynie zliczane s pewne wyniki klasyfikacji, potrzebne

    do jej obliczenia (Tp - True Positives, Fp - False Positives). Na kocu te wyniki

    s sumowane i dopiero obliczana jest ostateczna warto precyzji.

    6.6. Wyniki testw

    Testy prowadzono oddzielnie dla przypadku klasyfikacji stron domowych naukowcw

    oraz stron domowych uniwersytetw.

    Zostao zbadane jak liczba sekwencji brana pod uwag wpywa na jako klasyfikacji.

    W zwizku z tym dla kadego przypadku testy zostay przeprowadzone z liczb

    czstych sekwencji bdcych atrybutami obiektu wahajc si midzy 2 a 30.

    6.6.1. Porwnanie klasyfikatorw

    W testach porwnano wyniki kilku klasyfikatorw, rnicych si znacznie sposobem

    dziaania. By to zaimplementowany w ramach tej pracy leniwy klasyfikator DeEPs

    (4.2.3), popularny Naiwny Bayes (4.1) oraz dziaajcy w oparciu o entropi klasyfikator

    KStar (4.2.2).

  • 44

    Na poniszych wykresach pozioma o oznacza liczb atrybutw (sekwencji lub sw)

    wzitych pod uwag przy klasyfikacji. O pionowa to warto miary (np. dokadnoci,

    precyzji lub zupenoci) w zakresie od 0 do 1.

    Nastpujce wykresy prezentuj zestawienie oglnej dokadnoci klasyfikatorw

    podczas klasyfikacji stron naukowcw i uniwersytetw najpierw przy uyciu sekwencji

    (pierwsze dwa wykresy), a nastpnie przy pomocy sw (kolejne dwa).

    Rysunek 6.1. Klasyfikacja sekwencjami stron domowych naukowcw porwnanie

    klasyfikatorw.

    Rysunek 6.2. Klasyfikacja sekwencjami stron domowych uniwersytetw porwnanie

    klasyfikatorw.

  • 45

    Rysunek 6.3. Klasyfikacja sowami stron domowych naukowcw porwnanie

    klasyfikatorw.

    Rysunek 6.4. Klasyfikacja sowami stron domowych uniwersytetw porwnanie

    klasyfikatorw

    Najczciej najlepszym klasyfikatorem okazywa si KStar, jednak z reguy Naiwny

    Bayes nie odstawa znacznie od niego, a nawet w jednym przypadku by lepszy.

    Najsabsze wyniki w wikszoci przypadkw osiga klasyfikator DeEPs, zarwno na

    zbiorze stron domowych naukowcw jak i uniwersytetw. Przyczyn takich wynikw

    moe by dua wraliwo klasyfikatora na zaszumienie danych. Sekwencje tekstowe

    wykryte w jednej z grup dokumentw np. w dokumentach pozytywnych czsto

    wystpoway rwnie w dokumentach negatywnych. Eliminowao to moliwo

    zbudowania wzorca wyskakujcego JEP, zawierajcego tak sekwencj (lub

    konfiguracj sekwencji), ktre to byy gwnymi strukturami przy klasyfikacji metod

    DeEPs.

    Czsto dokumenty poddawane klasyfikacji nie zawieray adnej z czstych sekwencji.

    W takim przypadku pozostae klasyfikatory mogy podj decyzj, np. klasyfikator

    Bayesa oblicza, w ktrej klasie obiekty treningowe czciej nie zawieray adnych

    sekwencji i na tej podstawie podejmowa decyzj. DeEPs jednak w takim przypadku nie

  • 46

    mia adnych podstaw do klasyfikacji i w tej sytuacji w testach uznawano to za

    przypadek bdnej klasyfikacji. Std taka dua rozbieno w dokadnoci DeEPsa i

    innych klasyfikatorw dla maej liczby atrybutw, kiedy taki przypadek by bardzo

    czsty.

    Problem braku obecnoci dowolnej sekwencji w dokumencie testowym jest dokadniej

    przestawiony w dalszej czci pracy.

    6.6.2. Liczba atrybutw a jako klasyfikacji

    Zaczynajc ju od dwch atrybutw, wyniki s na do wysokim poziomie. Kolejne

    zwikszanie atrybutw powoduje raczej agodn popraw klasyfikacji. Przypuszczalnie

    jest to zasuga waciwego wyboru sekwencji do klasyfikacji, gdzie wybierane w

    pierwszej kolejnoci sekwencje s lepszymi reprezentantami danej klasy. Okazao si

    rwnie, e w wikszoci przypadkw nie ma potrzeby uwzgldniania bardzo duej

    liczby atrybutw do celw klasyfikacji. Zazwyczaj klasyfikacja osiga najlepsze

    rezultaty dla liczby okoo 20 sekwencji, cho czasami wystarczao nawet 10.

    6.6.3. Sekwencje a sowa

    Dla porwnania efektywnoci klasyfikacji na podstawie wzorcw sekwencji wyniki

    zestawiono z klasyfikacj stron jedynie na podstawie czstych sw wystpujcych w

    danej grupie dokumentw, bdce w rzeczywistoci sekwencjami o dugoci 1, jednak

    do wydobycia ktrych nie s potrzebne skomplikowane algorytmy wykrywania

    sekwencji.

    Rysunek 6.5. Klasyfikator DeEPs porwnanie klasyfikacji sekwencjami i sowami

    stron domowych naukowcw.

  • 47

    Rysunek 6.6. Klasyfikator Bayesa porwnanie klasyfikacji sekwencjami i sowami

    stron domowych naukowcw.

    Rysunek 6.7. Klasyfikator KStar porwnanie klasyfikacji sekwencjami i sowami

    stron domowych naukowcw.

    Wyniki dla zbioru stron domowych uniwersytetw:

    Rysunek 6.8. Klasyfikator DeEPs porwnanie klasyfikacji sekwencjami i sowami

    stron domowych uniwersytetw.

  • 48

    Rysunek 6.9. Klasyfikator Bayesa porwnanie klasyfikacji sekwencjami i sowami

    stron domowych uniwersytetw.

    Rysunek 6.10. Klasyfikator KStar porwnanie klasyfikacji sekwencjami i sowami

    stron domowych uniwersytetw.

    Okazao si, e w zdecydowanej wikszoci przypadkw klasyfikacja na podstawie

    czstych sw osiga nie gorsze wyniki ni na podstawie sekwencji. Wszystkie trzy

    przetestowane klasyfikatory to potwierdzaj. Zarwno testy na zbiorze stron domowych

    naukowcw jak i uniwersytetw przedstawiaj si podobnie. S pojedyncze przypadki,

    w ktrych sekwencje s lepszymi atrybutami. Trzeba jednak uzna, e mimo to nadal

    klasyfikacja na podstawie sw wydaje si by lepszym rozwizaniem, tym bardziej, e

    nie wymaga kopotliwego oraz czsto czasochonnego odkrywania wzorcw sekwencji.

    Jak wida klasyfikacja sekwencjami wyjtkowo sabo sprawowaa si w porwnaniu z

    klasyfikacj sowami dla maej liczby atrybutw. W miar ze zwikszaniem ich liczby

    ta rnica si zmniejszaa. Jest tak dlatego, e pojedyncze czste sowa wystpuj duo

    czciej od czstych sekwencji. W przypadku, gdy liczba sekwencji wzita pod uwag

    przy klasyfikacji bya niewielka, czsto miaa miejsce sytuacja, w ktrej obiekt testowy

    nie zawiera adnej z tych sekwencji. W takiej sytuacji algorytm DeEPs nie ma podstaw

    do dokonania jakiejkolwiek decyzji. Przy dwch sekwencjach czstych, w obydwu

  • 49

    zbiorach danych (strony domowe naukowcw oraz uniwersytetw) a okoo 70%

    obiektw bya nieklasyfikowana.

    Potwierdza to rwnie nastpujcy wykres ukazujcy porwnanie liczby

    nieklasyfikowanych obiektw testowych podczas klasyfikacji sekwencjami oraz

    sowami w zalenoci od liczby atrybutw wzitych pod uwag.

    Rysunek 6.11. Nieklasyfikowane obiekty porwnanie klasyfikacji sekwencjami i

    sowami.

    W jednym przypadku dao si jednak zauway ciekaw zaleno. Przy niewielkiej

    liczbie atrybutw obiekt czsto by nieklasyfikowany. Jeli jednak obiekt zawiera cho

    jedn z czstych sekwencji i zosta zaklasyfikowany to dokadno bya bardzo wysoka,

    bowiem dochodzca do 100%. wiadczy to o tym, e udao si znale w tym

    przypadku sekwencj, ktrej wystpienie, oznaczao prawie cakowit pewno

    klasyfikacji. Jeli bra pod uwag tylko te obiekty, dla ktrych zostaa podjta decyzja

    klasyfikacji metod DeEPs, czyli prawdopodobnie takie, ktre zawieray cho jedn

    sekwencj (lub sowo), klasyfikacja na podstawie sekwencji staje si dokadniejsza ni

    na podstawie sw. Nastpujcy wykres przedstawia dokadno klasyfikacji bez

    uwzgldnienia obiektw nieklasyfikowanych.

  • 50

    Rysunek 6.12. Klasyfikator DeEPs porwnanie dokadnoci klasyfikacji wybranych

    obiektw na podstawie sekwencji i sw.

    Gdy atrybutw jest niewiele klasyfikator duo rzadziej moe podj decyzj, ale wtedy

    jego decyzje s najdokadniejsze. Oznacza to, e najlepsze sekwencje mog wietnie

    charakteryzowa grup dokumentw i nadawa si do klasyfikacji, ale niestety rzadko

    s obecne w dokumentach.

    Tabele poniej prezentuj peny zestaw miar zebranych dla klasyfikacji opisanego

    powyej przypadku. Jak wida na przykadzie zbioru stron domowych naukowcw, nie

    zawsze jednak udaje si znale tak dobre do klasyfikacji sekwencje.

    Atrybuty 2 6 10 14 18 22 26 30

    Dokadno 0,97 0,964 0,918 0,879 0,837 0,852 0,855 0,862 Dokadno2 (wszystkie obiekty)

    0,274 0,333 0,458 0,561 0,698 0,743 0,76 0,775

    Precyzja 1 0,996 0,989 0,979 0,95 0,942 0,929 0,91

    Zupeno 0,214 0,308 0,432 0,514 0,655 0,749 0,773 0,796

    fMeasure 0,35 0,47 0,601 0,674 0,773 0,835 0,844 0,872

    Zaszumienie 0 0,003 0,01 0,018 0,049 0,062 0,087 0,114

    Nieklasyfikowane 0,718 0,654 0,493 0,349 0,168 0,127 0,111 0,101

    Tabela 6.1. Klasyfikacja stron uniwersytetw metod DeEPs na podstawie sekwencji.

    Atrybuty 2 6 10 14 18 22 26 30

    Dokadno 0,795 0,781 0,761 0,777 0,779 0,757 0,767 0,762

    Dokladnosc2 (Wszystkie obiekty)

    0,241 0,512 0,607 0,687 0,736 0,726 0,742 0,741

    Precyzja 0,784 0,748 0,738 0,76 0,779 0,781 0,784 0,764

    Zupeno 0,203 0,633 0,699 0,759 0,763 0,718 0,751 0,784

    fMeasure 0,322 0,686 0,718 0,759 0,770 0,747 0,765 0,774

    Zaszumienie 0,167 0,359 0,333 0,289 0,242 0,223 0,229 0,27

    Nieklasyfikowane 0,697 0,345 0,203 0,116 0,055 0,041 0,033 0,027

    Tabela 6.2. Klasyfikacj