Mateusz Glapiński Wrocław, 5 kwietnia 2007

Slides:



Advertisements
Podobne prezentacje
Szymon Grabowski Katedra Informatyki Stosowanej Politechniki Łódzkiej
Advertisements

Klasyfikacja danych Metoda hierarchiczne
Sortowanie przez scalanie
Rekurencja 1 Podprogram lub strukturę danych nazywamy rekurencyjną, (recursive subprogram, recursive data structure) jeżeli częściowo składa się z samej.
Inteligencja Obliczeniowa Metody oparte na podobieństwie do wzorców.
Programowanie I Rekurencja.
Inteligencja Obliczeniowa Drzewa Decyzji.
Uczenie konkurencyjne.
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Badania operacyjne. Wykład 1
Sztuczne sieci neuronowe
Współprogramy III Ten wykład ma na celu pokazanie kolejnej ciekawej możliwości, którą oferują współprogramy. Wspólprogramy reprezentujące wyrażenia regularne.
CLUSTERING Metody grupowania danych Plan wykładu Wprowadzenie Dziedziny zastosowania Co to jest problem klastrowania? Problem wyszukiwania optymalnych.
Propozycja metodyki nauczania inżynierii oprogramowania
ALGORYTMY GEOMETRYCZNE.
WEDT Klasyfikacja i grupowanie dokumentów
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
Klasyfikacja dokumentów tekstowych w oparciu o blogi
Sztuczna Inteligencja Reprezentacja wiedzy II Systemy produkcyjne Włodzisław Duch Katedra Informatyki Stosowanej UMK Google: W. Duch.
Wprowadzenie do budowy usług informacyjnych
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Paweł Kramarski Seminarium Dyplomowe Magisterskie 2
Grupowanie.
Klasyfikacja Obcinanie drzewa Naiwny klasyfikator Bayes’a kNN
Klasyfikacja Sformułowanie problemu Metody klasyfikacji
Linear Methods of Classification
Additive Models, Trees, and Related Methods
Sieci Hopfielda.
Sieci neuronowe jednokierunkowe wielowarstwowe
Przykład włamania do aplikacji internetowej poprzez modyfikację zapytań SQL Skrypty ASP Serwer bazy danych MS SQL Server Piotr Kuźniacki BDi.
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak Michał Kucal
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak Michał Kucal
Strategia skutecznego szukania informacji w Internecie
Algorytm mini-max.
MECHANIKA NIEBA WYKŁAD r.
Detekcja twarzy w obrazach cyfrowych
Techniki eksploracji danych
GŁOSOWA ŁĄCZNOŚĆ Z KOMPUTEREM
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
XML – eXtensible Markup Language
Korespondencja seryjna
EXCEL Wykład 4.
DMBO Branch and bound.
MS Excel - wspomaganie decyzji
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
VI EKSPLORACJA DANYCH Zadania eksploracji danych: klasyfikacja
VII EKSPLORACJA DANYCH
Politechniki Poznańskiej
IV EKSPLORACJA DANYCH Zadania eksploracji danych: klasyfikacja
Seminarium licencjackie Beata Kapuścińska
Ekonometryczne modele nieliniowe
EXCEL Wstęp do lab. 4. Szukaj wyniku Prosta procedura iteracyjnego znajdowania niewiadomej spełniającej warunek będący jej funkcją Metoda: –Wstążka Dane:
Autor prezentacji: Mateusz Dudek
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Metody Inteligencji Obliczeniowej
Testy jednostkowe. „Test jednostkowy (unit test) to fragment kodu, który sprawdza inny fragment kodu”
Metody Inteligencji Obliczeniowej Adrian Horzyk Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii.
Kompilacja iteracyjna Piotr Błaszyński. Szybkie programy Prawa ograniczające:  prawo Moore'a (jego granice),  prawo Gatesa,  prawo Amdahla,  prawo.
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Listy.
Systemy neuronowo – rozmyte
Zbiory rozłączne.
Perceptrony o dużym marginesie błędu
Co do tej pory robiliśmy:
Perceptrony o dużym marginesie błędu
ALGORYTMY I STRUKTURY DANYCH
Programowanie sieciowe Laboratorium 3
Programowanie sieciowe Laboratorium 3
Zapis prezentacji:

Mateusz Glapiński Wrocław, 5 kwietnia 2007 Klasyfikacja tekstów Mateusz Glapiński Wrocław, 5 kwietnia 2007

Wprowadzenie Ch.Manning, H.Schütze. Foundations of Statistical Natural Language Processing P.Jackson, I.Moulinier. Natural Language Processing for Online Applications

Wprowadzenie klasyfikacja – przydzielenie obiektów z pewnego uniwersum do dwóch lub więcej kategorii kategoryzacja dokumentów: klasyfikacja dokumentów klasyfikacja dokumentów na podstawie zawartości

Wprowadzenie Przykłady klasyfikacji w NLP: tagging (word -> tag) disambiguation (word -> sense) PP attachment (sentence -> parse tree) author identification (document -> authors) language identification (document -> language) text categorization (document -> topics)

Wprowadzenie Zastosowania klasyfikacji tekstów: Katalogi stron internetowych Identyfikacja spamu Filtrowanie wiadomości ...

Charakteryzacja problemu klasyfikacji Dane: zbiór uczący złożony z obiektów: zakodowanych (data representation model), przypisanych do jednej lub więcej klas. class model – parametryzowana rodzina klasyfikatorów procedura ucząca – procedura wyznaczająca klasyfikator z class model

Charakteryzacja problemu klasyfikacji Przebieg: Na podstawie zbioru uczącego wybiera się w procedurze uczącej klasyfikator z class model optymalizujący pewną miarę będącą kryterium optymalizującym (np. entropia, missclassification rate) Klasyfikator ten testuje się na zbiorze testowym, aby określić jego efektywność

Ręczna klasyfikacja tekstów state of the art – kompromis między udziałem człowieka i maszyny. Przykład 1: automatyczne pełnotekstowe indeksowanie nadchodzących dokumentów + ręczne tworzenie zapytań dla poszczególnych kategorii precision i recall? 2 days per query

Ręczna klasyfikacja tekstów Przykład 2 – Construe-TIS (Carnegie Group): concept rules (gold ( &n ( reserve ! medal ! jewelry )) categorization rules (if test: (or (and [gold-concept :scope headline 1] [gold-concept :scope body 1]) [gold-concept :scope body 4]) action: (assign gold-category)

Ręczna klasyfikacja tekstów categorization rules (if test: (or [australian-dollar-concept] and [dollar-concept] [australia-concept] (not [us-dollar-concept]) (not [singapore-dollar-concept]))) action: (assign australian-dollar-category)

Techniki automatyczne Supervised inductive machine learning Wymagania: z góry określone klasy w najprostszym przypadku, klasy te są rozłączne... w przeciwnym przypadku możemy problem rozdzielenia dokumentów między n kategorii rozważać w postaci n podproblemów: klasyfikacji dokumentów do jednej z dwóch klas: tych które należą do danej kategorii i pozostałych.

Naive Bayes classifiers Znamy dystrybucję termów w dokumentach przypisanych do kategorii –> P(t|Ci) Idea: użyć do przewidywania kategorii nieznanych dokumentów Chcemy więc znać nowy doument przypiszemy do klasy:

Naive Bayes classifiers smoothing (np. Laplace smoothing) Warianty: wiele kategorii (treshold, proportional assigment) multinominal model multivariate model

Decision trees Drzewo testujące jedynie te cechy, które rozróżniają obiekty różnych klas. Konstrukcja indukcyjna na podstawie zbioru uczącego Metoda ta charakteryzuje obiekty (dokumenty) w terminach logicznej kombinacji cech (stemmed words) nie wymaga więc obliczeń numerycznych. Decision tree classifiers nie „uczą się” parametrów, lecz zbioru reguł zdefiniowanych na przestrzeni słów kluczowych

Decision trees bankruptcy >1 1 assets N conversion >1 <=1 P N assets N conversion present absent >1 <=1 P N P N

Decision trees Rules: if bankruptcy > 1 & assets = present then positive else if bankruptcy = 0 & conversion > 1 else negative

Decision trees Konstruowanie decision tree: growing: GROWING( Node, Documents ): if the Documents at Node are all of the same class, then the decision tree for Node is a leaf identyfing that class, else // Node contains Documents belonging to a mixture of classes, then choose a test and partition Documents into subsets based on the outcome, creating as many Subnodes below Node as there are Subsets, and call GROWING on each Subnode and its subset of Documents,

Decision trees stopping criterion splitting criterion Wybieramy atrybut a i wartość dzielącą y, które maksymalizują information gain: gdzie t to dystrybucja dla danego wierzchołka, pl i pr to proporcje podziału dokumentów, a tl i tr dystrybucje dla otrzymanych w podziale wierzchołków

Decision trees prunning: overfitting the training set scalamy rozgałęzienia które są najmniej pomocne Po każdym scaleniu uzyskujemy nowy klasyfikator – drzewo mniejsze o jeden wierzchołek od drzewa uzyskanego w poprzednim kroku scalamy, aż uzyskamy drzewo puste uzyskaliśmy w ten sposób n klasyfikatorów – jak wybrać najlepszy? przetestować każdy na validation set: held-out data 5-fold cross-validation

Decision lists Zbiór reguł o ustalonej kolejności zawierających jedynie warunki Boolowskie w szczególności występowanie termu w dokumencie RIPPER – narzędzie wykorzystujące decision lists Przykład reguły: If ’bankruptcy’ & ‘conversion’ & ‘assets’ then BANKRUPTCY

Decision lists growing – budowanie listy reguł: zaczynamy od reguły bez warunków: If Ø then BANKRUPTCY dodajemy warunek (term) identyfikujący pasujące dokumenty: If ‘bancruptcy’ then BANKRUPTCY splitting criterion: Maksymalizacja inforamtion gain: stopping criterion: reguła nie obejmuje niepasujących dokumentów dodanie jakiegokolwiek termu nie zwiększa information gain

Decision lists prunning: Do wyrzucenia wybieramy ten warunek, którego brak maksymalizuje wyrażenie: Wszystkie pasujące do kategorii dokumenty objęte tak wyznaczoną regułą są usuwane ze zbioru uczącego, a cała procedura powtarzana, aż do objęcia wszystkich pasujących egzemplarzy

Nearest Neighbor algorithm Zapamiętujemy pokategoryzowane dokumenty ze zbioru uczącego Klasyfikując nowy dokument d: wybieramy k dokumentów ze zbioru uczącego najbliższych d spośród kategorii tych dokumentów wybieramykategorię d Musimy ustalić: miarę odległości sposób wyboru kategorii k

Nearest Neighbor algorithm Miara odległości: euklidesowa cosinus Wybór kategorii: najczęściej reprezentowana wśród sąsiadów w zależności od odległości sąsiada: Wybór k: empiryczny k zależne od: Bliskości klas Różnorodność dokumentów w klasach

Maximum Entropy Modeling Dane do klasyfikacji są opisane jako pewna (potencjalnie duża) liczba cech, które: mogą być dosyć złożone pozwalają na wybranie ważnych informacji reprezentują ograniczenia nałożone na model Spośród modeli spełniających te ograniczenia wybieramy model o maksymalnej entropii

Maximum Entropy Modeling Selekcja cech jest zazwyczaj zintegrowana z procedurą uczącą, co pozwala na podawanie wszystkich potencjalnie ważnych informacji. Przykładowy class model:

Gradient descent algorithms Perceptron Zastosowanie ograniczone w praktyce do liniowo separowalnych klas: zbieżność do opimum lokalnego słabe wyniki rozwiązanie: sieci neuronowe

Combining classifiers data fusion – łączenie wyników uzyskanych na tym samym korpusie za pomocą różnych mechanizmów Parametry takiego łączenia można uzyskać na podstawie zbioru uczącego Liniowa kombinacja dwóch systemów wyszukiwania działa lepiej od każdego z nich, jeśli wyniki tych systemów: mają możliwie takie same zbiory prawidłowych dokumentów mają możliwie różne zbiory nieprawidłowych dokumentów Kombinacja klasyfikatorów daje dobre wyniki, jeżeli ich właściwości się uzupełniają: np. good precision at high recall + good precision at low recall

Combining classifiers boosting – supervised learning meta-algorithm Algorytm iteracyjny – liczba rund jest wyznaczana a priori lub ograniczana kryterium zatrzymania (np. wielkość błędu klasyfikacji) Wiąże z każdym dokumentem jego wagę – wartość określającą jak trudno jest go sklasyfikować W każdej iteracji: wyznacza klasyfikator najlepiej klasyfikujący trudne dokumenty dołącza klasyfikator do wcześniej otrzymanych i używając ich nadaje aktualizuje wagi dokumentów

Combining classifiers boosting Końcowa reguła klasyfikacji: Jako klasyfikatory stosuje się zarówno proste, dające niewielką poprawę w każdej rundzie, jak i bardziej skompliowane (np. decision trees) Nawet przy użyciu prostych klasyfikatorów bazujących na wystąpieniach termów uzyskuje się dobre wyniki w klasyfikacji tekstów

Ocena działania + - Tp fp fn tn poprawne przypisane

Ocena działania metryki: precission: recall: 11-point average precision break-even point precision oriented:

Ocena działania metryki: accuracy: fallout: #errors: liniowa kombinacja:

Ocena działania Ocena systemów z wieloma kategoriami: macro-averaging – miara systemu średnią z miar dla poszczególnych kategorii micro-averaging – miara systemu wyliczana z summowanych danych z poszczególnych kategorii rank statistics scaling

Pytania?

Dziękuję za uwagę!

Wesołych Świąt!