2. Text Mining...11 Realizacja analizy tekstów z wykorzystaniem ODM...12 Realizacja analizy tekstów z wykorzystaniem RM...17

Podobne dokumenty
Laboratorium 11. Regresja SVM.

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Laboratorium 10. Odkrywanie cech i algorytm Non-Negative Matrix Factorization.

1. Grupowanie Algorytmy grupowania:

Laboratorium 4. Naiwny klasyfikator Bayesa.

Laboratorium 6. Indukcja drzew decyzyjnych.

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Laboratorium 13. Eksploracja danych tekstowych.

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Wprowadzenie. SOM jest skrótem od Self Organizing Maps, czyli Samoorganizujące się mapy.

Lekcja 5: Sieć Kohonena i sieć ART

wiedzy Sieci neuronowe

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

Temat: Sieci neuronowe oraz technologia CUDA

Zastosowania sieci neuronowych

Uczenie sieci typu MLP

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych. Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

Uczenie sieci radialnych (RBF)

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2014/2015

Sieci neuronowe w Statistica

Sztuczne sieci neuronowe

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Laboratorium 12. Odkrywanie osobliwości.

Text mining w programie RapidMiner Michał Bereta

Testowanie modeli predykcyjnych

8. Neuron z ciągłą funkcją aktywacji.

Podstawy Sztucznej Inteligencji (PSZT)

Laboratorium 5. Adaptatywna sieć Bayesa.

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

1. Odkrywanie asocjacji

2. Ocena dokładności modelu klasyfikacji:

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Sieć przesyłająca żetony CP (counter propagation)

Sztuczne sieci neuronowe (SNN)

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

Zastosowania sieci neuronowych

Laboratorium 3. Odkrywanie reguł asocjacyjnych.

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Metody sztucznej inteligencji Zadanie 3: (1) klasteryzacja samoorganizująca się mapa Kohonena, (2) aproksymacja sieć RBF.

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2013/2014

Sieci Kohonena Grupowanie

Wstęp do sztucznych sieci neuronowych

Metody Sztucznej Inteligencji II

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

Przykładowa analiza danych

Algorytm grupowania danych typu kwantyzacji wektorów

4.1. Wprowadzenie Podstawowe definicje Algorytm określania wartości parametrów w regresji logistycznej...74

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Instrukcja realizacji ćwiczenia

Obliczenia inteligentne Zadanie 4

Metody i techniki sztucznej inteligencji / Leszek Rutkowski. wyd. 2, 3 dodr. Warszawa, Spis treści

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

METODY INŻYNIERII WIEDZY

Podstawy sztucznej inteligencji

Ćwiczenie 12. Metody eksploracji danych

Automatyczna predykcja. Materiały/konsultacje. Co to jest uczenie maszynowe? Przykład 6/10/2013. Google Prediction API, maj 2010

BIOCYBERNETYKA SIECI NEURONOWE. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Podstawy Sztucznej Inteligencji

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek

Sztuczna inteligencja

METODY INTELIGENCJI OBLICZENIOWEJ wykład 5

Aproksymacja funkcji a regresja symboliczna

ĆWICZENIE 5: Sztuczne sieci neuronowe

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

Elementy inteligencji obliczeniowej

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

Dokumentacja Końcowa

I EKSPLORACJA DANYCH

Metody klasyfikacji i rozpoznawania wzorców. Najważniejsze rodzaje klasyfikatorów

Asocjacyjna reprezentacja danych i wnioskowanie

Laboratorium 2. Określanie ważności atrybutów.

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak

Inteligentne systemy przeciw atakom sieciowym

SIECI RBF (RADIAL BASIS FUNCTIONS)

SZTUCZNA INTELIGENCJA

Zadania. Przygotowanie zbiorów danych. 1. Sposób 1: 2. Sposób 2:

Sztuczne siei neuronowe - wprowadzenie

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

Sztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW

Podstawy Sztucznej Inteligencji Sztuczne Sieci Neuronowe. Krzysztof Regulski, WIMiIP, KISiM, B5, pok. 408

Monitorowanie i Diagnostyka w Systemach Sterowania

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Obliczenia Naturalne - Sztuczne sieci neuronowe

AUTOMATYKA INFORMATYKA

Sieci M. I. Jordana. Sieci rekurencyjne z parametrycznym biasem. Leszek Rybicki. 30 listopada Leszek Rybicki Sieci M. I.

Wprowadzenie do analizy korelacji i regresji

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Elementy modelowania matematycznego

Uczenie sieci neuronowych i bayesowskich

PRÓBA ZASTOSOWANIA SIECI NEURONOWYCH DO PROGNOZOWANIA OSIADAŃ POWIERZCHNI TERENU POWSTAŁYCH NA SKUTEK EKSPLOATACJI GÓRNICZEJ**

Sztuczne sieci neuronowe

Algorytmy sztucznej inteligencji

Transkrypt:

1. Sieci neuronowe...1 1.1. Model neuronu...1 1.2. Perceptron...2 1.3. Sieci RBF...2 1.4. Definiowanie i trenowanie sieci neuronowych...3 1.4.1. Reguła delty...3 1.4.2. Algorytm wstecznej propagacji...4 1.5. Sieci samoorganizujące się (ang. Self-organizing maps SOMs)...4 1.6. Realizacja sieci neuronowych w RM...6 1.6.1. Sieci MLP...7 1.6.2. SOM...9 2. Text Mining...11 2.1. Realizacja analizy tekstów z wykorzystaniem ODM...12 2.2. Realizacja analizy tekstów z wykorzystaniem RM...17 1. Sieci neuronowe Sieć neuronowa (sztuczna sieć neuronowa) to ogólna nazwa struktur matematycznych i ich programowych lub sprzętowych modeli, realizujących obliczenia lub przetwarzanie sygnałów poprzez rzędy elementów wykonujących pewną podstawową operację na swoim wejściu, zwanych neuronami. 1.1. Model neuronu Poniżej przedstawiono model sztucznego neuronu, który na wejściu uzyskuje sygnały we1 wen. Moc poszczególnych sygnałów jest określona poprzez ich wagi w1 wn. w1 we1 we2 w2 wen wn Potencjał membranowy neuronu można wyliczyć z zależności n p wi xi w T x i 1-1-

gdzie w jest wektorem współczynników wag, x - wektorem sygnałów wejściowych, (.)T - operatorem transponowania wektora lub macierzy, n - liczbą wejść neuronu. W bloku sumowania, zależnie od typu sieci, mogą być stosowane: funkcje kombinacji liniowej, funkcje kombinacji radialnej. W bloku aktywacji wykorzystywana jest tzw. funkcja aktywacji. Jest to funkcja niemalejąca jednej zmiennej, ciągła lub nieciągła (np. element progowy) przyjmująca wartości z przedziału <0,1> lub <-1,1>. liniowa ( y = e, najprostszy możliwy przypadek), nieliniowa: o jednobiegunowa (unipolarna), np. funkcja sigmoidalna, o dwubiegunowa (bipolarna), np. tangens hiperboliczny Neurony łączone są ze sobą w sieci. Sygnał w sieci może rozprzestrzeniać się w jednym kierunku od warstwy wejściowej- do 1 warstwy ukrytej, z 1 warstwy ukrytej do kolejnej warstwy ukrytej, a z ostatniej warstwy ukrytej do warstwy wyjściowej. Wówczas mamy do czynienia z sieciami jednokierunkowymi jedno- lub wielowarstwowych (perceptron wielowarstwowy). Gdy sygnał wyjściowy z danej warstwy jest jednocześnie wejściowym dla tej warstwy mówimy o sieciach rekurencyjnych. 1.2. Perceptron Perceptron to model sieci, w której elementem składowym jest sztuczny neuron, którego model matematyczny może być opisany funkcją aktywacji unipolarną lub bipolarną. Sieć perceptronową można podzielić jednoznacznie na ściśle uporządkowane i rozłączne klasy elementów zwane warstwami, wśród których wyróżnić można warstwę wejściową i wyjściową. Pozostałe noszą nazwę warstw ukrytych. Perceptron nie zawiera połączeń pomiędzy elementami należącymi do tej samej warstwy. Połączenia pomiędzy warstwami są asymetryczne i skierowane zgodnie z ich uporządkowaniem, tzn. od warstwy wejściowej do pierwszej warstwy ukrytej, następnie od pierwszej do drugiej warstwy ukrytej, itd. aż do warstwy wyjściowej. Nie ma połączeń zwrotnych. W perceptronie wielowarstwowym MLP (Multi Layer Perceptron) mamy: dowolną liczba wejść jedną lub więcej warstw ukrytych o dowolnej liczbie modułów dla warstw wejścia i ukrytej stosowana jest liniowa kombinacja funkcji dla warstwy ukrytej stosuje się funkcję aktywacji sigmoidalną dowolną liczba wyjść z dowolnymi funkcjami aktywacji połączenia: wejście-pierwsza warstwa ukryta, pierwsza w. ukryta- kolejna ukryta,..., ostatnia ukryta-wyjście 1.3. Sieci RBF Sieci radialne RBF (Radial Basis Function) charakteryzuje: dowolna liczba wejść -2-

zwykle jedna warstwa ukryta o dowolnej liczbie modułów dla warstwy ukrytej stosowana jest radialna kombinacja funkcji w warstwie ukrytej stosowana jest funkcja aktywacji wykładnicza lub softmax liniowa kombinacja funkcji w warstwie wyjścia dowolna liczba wyjść o dowolnych funkcjach aktywacji połączenia: wejście-warstwa ukryta, i ukryta-wyjscie 1.4. Definiowanie i trenowanie sieci neuronowych W celu przygotowania sieci do wykorzystania w procesie klasyfikacji lub regresji należy: zdefiniować strukturę sieci przeprowadzić trenowanie sieci przeprowadzić testowanie sieci Definiowanie sieci wymaga określenia: Liczby wejść i wyjść Liczby warstw ukrytych, liczba neuronów w każdej warstwie Określenia funkcji aktywacji neuronów w każdej warstwie Ustalenia wartości początkowych wag W procesie trenowania sieci nadawane są wartości początkowe wagom połączeń pomiędzy neuronami i wartości początkowe parametrów uczenia. Następnie prezentowane są wzorce i następuje modyfikacja wag. Proces trenowania kończy się po osiągnięciu kryterium zakończenia procesu uczenia 1.4.1. Reguła delty Przy uczeniu sieci z nauczycielem stosuje się min. regułę delty. Jest to reguła uczenia z nauczycielem. Polega na tym, że każdy neuron po otrzymaniu na wejściu określonych sygnałów (z wejść sieci albo od innych neuronów z poprzedzających warstw sieci ) wyznacza swój sygnał wyjściowy wykorzystując posiadaną wiedzę w postaci wcześniej ustalonych wartości współczynników wzmocnienia (wag) wszystkich wejść oraz (ewentualnie) progu (bias). Wartość sygnału wyjściowego, wyznaczonego przez neuron na danym kroku procesu uczenia porównywana jest z odpowiedzią wzorcową podaną przez nauczyciela. W przypadku rozbieżności - neuron wyznacza różnicę pomiędzy swoim sygnałem wyjściowym a tą wartością sygnału, która była by - według nauczyciela prawidłowa. Różnica oznaczana jest zwykle symbolem greckiej litery d (delta) i stąd nazwa opisywanej metody. y d ; blad odpowiedzi sieci, y wartosc sygnalu wyjscioweg o, d wymagana wartosc wi * ' * xi, wspolczynnik uczenia ' * f ' ( p ), f ' pochodna funkcji aktywacji -3-

Sygnał błędu (delta) wykorzystywany jest przez neuron do korygowania swoich współczynników wagowych (i ewentualnie progu), stosując następujące reguły: wagi zmieniane są tym silniej, im większy błąd został wykryty i im większy jest współczynnik uczenia; wagi związane z tymi wejściami, na których występowały duże wartości sygnałów wejściowych, zmieniane są bardziej, niż wagi wejść, na których sygnał wejściowy był niewielki. Sieć neuronowa sama przerywa proces uczenia gdy jest już dobrze wytrenowana, gdyż małe błędy powodują jedynie minimalne korekty wag. Wybranie współczynnika uczenia ma kluczowe znaczenie dla procesu uczenia sieci. Zbyt mały skutkuje bardzo powolnym procesem uczenia. Wybór za dużego współczynnika uczenia sprawia, że następują bardzo gwałtowne zmiany parametrów sieci, co może destabilizować proces uczenia. Znając błąd popełniony przez neuron oraz jego sygnały wejściowe możemy łatwo przewidzieć, jak będą się zmieniać jego wagi 1.4.2. Algorytm wstecznej propagacji Kolejną metodą uczenia sieci jest algorytm wstecznej propagacji - BP (BackPropagation), który określa strategię doboru wag w sieci wielowarstwowej przy wykorzystaniu gradientowych metod optymalizacji. Podczas uczenia sieci prezentowane są zestawy uczące (wektorów wejściowych oraz wzorcowe, odpowiadające im wektory sygnałów wyjściowych). W procesie uczenia prowadzi ma miejsce taki dobór wag neuronów by uzyskać błąd sieci mniejszy od zadanego. Nazwa "wsteczna propagacja" pochodzi od sposobu obliczania błędów w poszczególnych warstwach sieci. Najpierw obliczane są błędy w warstwie ostatniej. Błąd dla neuronów w dowolnej warstwie wcześniejszej obliczany jest jako pewna funkcja błędów neuronów warstwy poprzedzającej. Sygnał błędu rozprzestrzenia się wstecz od warstwy ostatniej, aż do warstwy wejściowej. Korekcja wektora wag sieci oparta jest na minimalizacji funkcji miary błędu, która określona jest jako suma kwadratów błędów na wyjściach sieci: Q 2 1 n * y i y i, n liczba wzorcow 2 i 1 y i wartosc oznaczona przez siec y i* wartosc oczekiwana na wyjsciu neuronu 1.5. Sieci samoorganizujące się (ang. Self-organizing maps SOMs) Są to sieci uczące się bez nadzoru. Ważną rolę odgrywają wśród nich sieci działające na zasadzie współzawodnictwa między neuronami (ang. competitive learning), neurony wyjściowe rywalizują między sobą, by stać się neuronem wygrywającym, jedynym węzłem pobudzanym przy konkretnej obserwacji wejściowej. -4-

Celem tych sieci jest przekształcanie złożonych, wielowymiarowych sygnałów wejściowych w prostsze, mniej wymiarowe dyskretne odwzorowania. W trakcie uczenia sieci samoorganizujących na wejście każdego neuronu podawany jest N-wymiarowy sygnał x ze zbioru wzorców uczących. Główną rolą neuronów jest reagowanie na bodźce. Neurony są przystosowane do tego, by reagować wyłącznie na bodźce z bardzo wąskiego zakresu. Każdy z neuronów łączy się z neuronami ze swego bezpośredniego otoczeniu. Wagi połączeń synaptycznych tworzą wektor Wi=[wi1, wi2,..., win]. Podobne sygnały wejściowe powinny być klasyfikowane jako należące do tej samej kategorii; kategorie te natomiast wyznaczane są przez samą sieć na podstawie korelacji danych wejściowych. Najbardziej znanym modelem jest sieć Kohonena. Pozwala ona na grupowanie obiektów. Wyniki przedstawiane są za pomocą dwuwymiarowej mapy o stałym rozmiarze. Siatka ma najczęściej budowę heksagonalną lub prostokątną. Każdy punkt mapy, w powyższej siatce, reprezentuje jeden neuron (komórkę nerwową). Sieci Kohonena to sieci, w których neurony rywalizują ze sobą. We współzawodnictwie zwycięża jeden neuron, którego wagi najmniej różnią się od odpowiednich składowych wektora x. Stosowane są strategie: Zwycięzca bierze wszystko lub Zwycięzca bierze najwięcej. WTA: Winner Takes All Zwycięzca bierze wszystko - najbardziej podobny do elementu prezentowanego (którego wagi są najbardziej podobne składowym wektora -5-

wejściowego) zostaje zmodyfikowany tak aby jego wagi były jak najbardziej zbliżone do wektora wejściowego. WTM: Winner Takes Most Zwycięzca bierze najwięcej - nie tylko neuron najbardziej podobny, ale także jego otoczenie zostają zmodyfikowane. Najczęściej ta modyfikacja jest zależna od odległości sąsiada od zwycięzcy. Neurony reagujące na podobne bodźce są umiejscowione blisko siebie. W przypadku sieci rozpoznającej barwy, neurony uwrażliwione np. na kolor pomarańczowy albo brązowy leżą w bliskim sąsiedztwie neuronu odpowiedzialnego za reagowanie na barwę czerwoną. Z kolei neuronów reagujących na barwę niebieską bądź zieloną, należałoby się spodziewać znacznie dalej. W ten sposób prosta siatka neuronów staje się mapą badanej przestrzeni (w tym przypadku: przestrzeni barw). Grupowanie polega na podzieleniu przestrzeni na obszary, w których występują podobne przypadki. Zamiast grupować w skupienia przypadki, można grupować neurony, które na nie reagują. Neurony o podobnych wagach znajdą się blisko siebie. Do wizualizacji wag danych wykorzystuje się kolory. Samoorganizująca sieć Kohonena znalazła liczne praktyczne zastosowania, wynikające z jej zdolności do kompresji danych. Typowymi przykładami zastosowania sieci Kohonena są kompresja obrazów, wykrywanie uszkodzeń oraz przetwarzanie mowy. SOM znalazły też zastosowanie w dziedzinie wyszukiwania informacji. Praktycznie w sieci można umieścić nieskończoną ilość dokumentów. WebSom może być bardzo pomocne w wizualnym zorganizowaniu odpowiedzi z tradycyjnych wyszukiwarek. Użytkownik, otrzymując kilkaset lub kilka tysięcy dokumentów z wyszukiwarki w praktyce korzysta jedynie z kilkunastu. Posługując się mapą i jednym relewantnym dokumentem jako punktem odniesienia, może sięgnąć do innych, skorelowanych z nim dokumentów. 1.6. Realizacja sieci neuronowych w RM Do typowych metod klasyfikacji i regresji należy zaliczyć klasyfikator knn, drzewa decyzji jak również systemy indukcji reguł. Dla zmiennych numerycznych najlepszymi rozwiązaniami są zazwyczaj algorytmy oparte o minimalizację ciągłej funkcji celu. Należą do nich m.in. sieci neuronowe typu MLP, sieci neuronowe typu RBF, klasyfikator SVM oraz różne inne. -6-

W przypadku sieci neuronowych proces optymalizacji sprowadza się zwykle do wykorzystania algorytmów gradientowych, które dążą do minimalizacji funkcji celu zdefiniowanej w postaci błędu średniokwadratowego. 1.6.1. Sieci MLP W podanym poniżej przykładzie dysponujemy dwoma zbiorami danych. Jeden posłuży nam do trenowania modelu, zas drugi do testowania modelu. a) Stwórz nowy proces. b) Znajdź kartę Repositories, w niej swoje repozytorium i plik ze zbiorem danych Golf. c) Zmień typ atrybutów nominalnych, OutLook, Wind i Play, na numeryczny. Operator Data Transformaion->Type Conversion ->NominalToNumerical d) Przeprowadź normalizację. Zastosuj operator Data Transformation ->Value Modification->Normalize. Wybierz metodę range transformation. e) Wskaż zmienną Play jako docelową(label) Model sieci neuronowej będzie trenowany na zbiorze Golf a testowany na zbiorze GolfTestSet. f) Wprowadź kolejny operator Retrive do wczytania zbioru testowego. Dane te poddaj transformacji i normalizacji. g) Wprowadź operator NeuralNet i połącz go z SetRole. -7-

Dla operatora NeuralNet wprowadź 3 warstwy ukryte (nadaj im nazwy). h) Wprowadź operatory ApplyModel i Performance. Pierwszy z nich zastosuje sieć utworzoną z użyciem operatora NeuralNet do zbioru danych, na którym odbywa się testowanie, a Performance porówna obliczone decyzje ze wzorcowymi i oceni jakość klasyfikacji. Upewnij się, że połączenia między wejściami, wyjściami i operatorami są zgodne z poniższym schematem: i) Uruchom proces. j) Prześledź uzyskane wyniki strukturę sieci i jakość klasyfikatora. -8-

k) Przyjmując standardowe parametry dla operatorów modelowania sieci neuronowych porównaj wyniki dla sieci NeuralNet z wynikami uzyskanymi przy użyciu operatorów Perceptron i AutoMLP Gdy nie dysponujemy dodatkowym zbiorem danych do testowania modelu konieczne jest wykorzystanie operatora, który umożliwi walidację np. Evaluation->Validation->SplitValidation. Validation jest operatorem składającym się z dwóch podprocesów: części uczącej klasyfikator (lewa część okna, podpisana Training) i części testującej klasyfikator (prawa część okna, podpisana Testing). Ten operator działa zgodnie ze schematem 10-krotnej walidacji krzyżowej: dzieli zbiór danych dostarczony na wejście training na 10 części i w każdym z 10 uruchomień wewnętrznych procesów 9 z nich dostarcza na wejście training podprocesu Training, a dziesiątą na wejście testing operatora Testing. Po kliknieciu na operatorze należy zamieścić odpowiednie operatory procesów trenowania i testowania modelu. W oknie Training np. operator NeuralNet a w oknie Testing operatory ApplyModel i Performance. ApplyModel zastosuje sieć utworzoną z użyciem operatora NeuralNet do części zbioru danych, na której odbywa się testowanie, a Performance porówna obliczone decyzje ze wzorcowymi i oceni jakość klasyfikacji. 1.6.2. SOM Rapid Miner udostępnia operator SOM, który pozwala na zastosowanie sieci samoorganizujących się. Atrybuty wykorzystywane w modelu muszą być numeryczne. -9-

Dla parametrów modelu sieci SOM podanych powyżej uzyskano następujące wyniki: Mapa wygenerowana dla danych wejściowych. Wyniki po zastosowaniu SOM. Mapę wygenerowaną dla danych wyjściowych, po zastosowaniu SOM przedstawia rysunek poniżej. - 10 -

2. Text Mining Text mining definiowane jest jako odkrywanie i wykorzystanie wiedzy zawartej w zbiorze dokumentów, polega na znalezieniu kluczowych fraz, zdań, które zostają następnie zakodowane pod postacią zmiennych numerycznych. Później stosuje się metody statystyki i eksploracji danych w celu odkrycia zależności pomiędzy zmiennymi. Text mining w ścisły sposób wiąże się z lingwistyka komputerową i przetwarzaniem języka naturalnego (NLP) a także wyszukiwanie informacji (IR). Często analizie poddawane są dane zamieszczone na stronach WWW. Information Retrieval Data Mining Information Extraction/ Statistics Web Mining Text Mining Computational Linguistics and NLP Text mining jest procesem czteroetapowym, na który składają się: czytanie plików tekstowych, wstępne przetwarzanie, redukcja danych analiza dokumentów. Analiza danych jest prowadzona z wykorzystaniem technik Data Mining. - 11 -

Wstępne przetwarzanie danych obejmuje: tokenizację, wykrywanie końca zdania, analizę morfologiczna, usuwanie niejednoznaczności, zastępowanie zaimków, wykrywanie nazw własnych, rozkład zdań złożonych na zdania proste. W oparciu o znalezione tokeny przeprowadza się następnie indeksację, której celem jest przedstawienie dokumentów w postaci zbioru charakterystycznych termów. Schemat indeksacji: 1. Zidentyfikuj pojedyncze słowa w tekście. 2. Wyeliminuj popularne słowa za pomocą stop list. 3. Użyj lematyzacji dla ograniczenia pozostałych słów do ich podstawowych tematów. 4. Dla wszystkich pozostałych termów Tj w każdym dokumencie Di oblicz częstość tfij jako liczbę wystąpień Tj w Di. 5. Wybierz progową częstość T, i przypisz każdemu dokumentowi Di wszystkie termy Tj dla których tfij > T. Następnie, w oparciu o wektory termów charakterystycznych prowadzi się analizę danych wyszukując dokumenty najbardziej do siebie podobne, czy też dokumenty odpowiadające podanemu zapytaniu. Text mining jest używany w celu: identyfikacji słów kluczowych, analizy treści dokumentów oraz automatycznego wykonania streszczenia dokumentu (sumaryzacja), znajdowania i klasyfikacji dokumentów najbardziej podobnych do zapytania użytkownika, wyszukiwania dokumentów o zadanych wzorcach, automatycznego rozpoznawanie języka. 2.1. Realizacja analizy tekstów z wykorzystaniem ODM a) Uruchom narzędzie Oracle Data Mining i połącz się z bazą danych. b) Z menu głównego wybierz Activity Build. c) Z listy Function Type wybierz Clustering. Rozwiń listę Algorithm i wybierz z niej algorytm k-means. - 12 -

d) Wskaż schemat DMUSER i tabelę MINING_ BUILD_TEXT jako źródło danych do eksploracji. Jako klucz podstawowy wskaż atrybut CUST_ID. Wyłącz z eksploracji wszystkie atrybuty za wyjątkiem atrybutu COMMENTS. e) Zmień typ eksploracyjny atrybutu COMMENTS (kolumna Mining Type) na text. f) Podaj nazwę i krótki opis procesu eksploracji. - 13 -

g) Kliknij przycisk Advanced Settings. Upewnij się, że na zakładce Sample opcja próbkowania jest wyłączona (pole wyboru Enable Step jest odznaczone). Analogicznie upewnij się, że wyłączone są kroki Outlier Treatement, Missing Values i Normalize. Przejdź na zakładkę Text i upewnij się, że krok jest włączony. h) Przejdź na zakładkę Build i zmień liczbę grup na 20. Upewnij się, że wybrano cosinusową miarę odległości. Kliknij przycisk OK. - 14 -

i) Upewnij się, że opcja Run upon finish jest włączona. Kliknij przycisk Zakończ. j) Kliknij na odnośnik Result w bloku Build. Zaznacz opcję Show Leaves Only. k) Przejdź na zakładkę Rules. Zaznacz opcję Only Show Rules for Leaf Clusters. Wybierz dowolny klaster i przeanalizuj wystąpienia słów, które trafiają do wybranego klastra. Na ile łatwy, Twoim zdaniem, jest uzyskany wynik do ręcznej weryfikacji i analizy? - 15 -

l) Wykorzystaj utworzony model do analizy danych z tabelimining_apply_mining m) Sprawdź utworzony z poziomu PL/SQL model klasyfikacji z wykorzystaniem algorytmu SVM na danych z tabeli MINING_TEST_TEXT, a nastepnie wykorzystaj do analizy danych z tabeli MINING_APPLY_MINING - 16 -

2.2. Realizacja analizy tekstów z wykorzystaniem RM Jeden z modułów Rapid Minera (Text Miner) dysponuje odpowiednimi operatorami umożliwiającymi przeprowadzenie wstępnego przetwarzania i indeksacji dokumentów: Do pobrania danych wykorzystuje się min. operator Process Documents from Files. Podział na tokeny realizuje operator Tokenize Użycie stop list umożliwia np. Filter StopWords pozwalający na użycie właściwego języka dokumentu Lematyzację zapewniają operatory z grupy Stemming Zmianę liter na małe umożliwia Transform Cases W przypadku plików zawierających znaczniki html stosuje się operator Remove Dokument Parts a w przypadku plików zawierających dane z wielu dokumentów tekstowych stosuje się Split File by Content. W celu usunięcia znaczników wraz z zawartością należy zamieścić operator Remove Dokument Parts, i w parametrze deletion regexs podać <<[^>]*>> Podział pliku na niezależne dokumenty realizuje się wykorzystując operator Split File by Content. Jako parametry podaje się: wyrażenia ograniczające kolejne dokumenty, katalog źródłowy i wynikowy - 17 -

Przykład: a) Wyszukaj dokumenty pdf i dokumenty txt z ostatniego roku zawierające informacje na temat data mining (w języku angielskim). Zapisz te dokumenty odpowiednio w folderach PDF i DOC b) Utwórz nowy proces np. TEXT. Zamieść operator Process Documents from File Ustal parametry operatora Process Documents from File. Podaj listę katalogów zawierających pliki tekstowe (text directories), wskaż katalogi PDF i DOC Kliknij dwukrotnie na operator by zdefiniować proces indeksowania tekstu (Vector Creation). Wybierz Operator Tokenize, który umożliwi automatyczną tokenizację tekstu. Uruchom proces. Poniżej przedstawiono dane dla przykładowych 12 plików typu PDF lub DOC - 18 -

Uporządkuj dane malejąco wg. kolumny Total Occurences c) Zmodyfikuj proces zamieszczając dodatkowo operator Transform Cases oraz operator Filter Stopwords (English), który umożliwi zastosowanie stop listy, a następnie FilerToken(byLength). Wyświetl wyniki indeksacji, sortując dane wg. kolumny Total Occurences. d) Zastosuj operator np. Stem(Snowball), który pozwoli na lematyzację (stemming). - 19 -

e) Wynik indeksacji dokumentów poddaj np. grupowaniu - 20 -

Literatura: 1. D.Larose, Odkrywanie wiedzy z danych. Wprowadzenie do eksploracji danych, PWN, 2006 2. R.Tadeusiewicz, Sieci neuronowe,akademicka Oficyna Wydawnicza RM, Warszawa 1993 (dostępna w wersji elektronicznej http://winntbg.bg.agh.edu.pl/skrypty/0001/) 3. http://applieddatamining.blogspot.com/ 4. http://download.oracle.com/docs/cd/b12037_01/datamine.101/b10698/8text.htm 5. http://oracle.informatik.haw-hamburg.de/datamine.111/b28131/xform_text.htm 6. http://download.oracle.com/docs/cd/b28359_01/datamine.111/b28129/text.htm#i1 006271 7. http://www.oracle.com/technology/products/text/pdf/10gr2text_mining.pdf 8. http://www.oracle.com/technology/products/text/pdf/9ir2_classification.pdf 9. http://www.oracle.com/technology/products/text/files/textmining05.ppt 10. http://www.oracle.com/technology/products/text/pdf/10gr2_infovis_v2.pdf 11. http://wazniak.mimuw.edu.pl/index.php?title=eksploracja_danych 12. http://my.safaribooksonline.com/book/databases/businessintelligence/9781482205503/part-5-text-mining-spam-detection-languagedetection-and-customer-feedbackanalysis/chapter_15_text_mining_with_ra#x2ludgvybmfsx0j2zgvwrmxhc2hs ZWFkZXI/eG1saWQ9OTc4MTQ4MjIwNTUwMy8yNDI= - 21 -