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!