Wstęp do przetwarzania języka naturalnego Wykład 10 Zaawansowana wektoryzacja i klasyfikacja Wojciech Czarnecki 8 stycznia 2014
Section 1
Wektoryzacja tfidf document x y z Antony and Cleopatra 5.25 1.21 1.51 Julius Caesar 3.18 6.1 0 The Tempest 0 0 1.9 Hamlet 0 1 0.12 Othello 0 0 5.25 Macbeth 0.35 0 0.88 Rysunek: VSM na bazie utworów Szekspira
Idea Section 2 Wektorowa postać tekstu - klasyfikacja
Przykład Idea
Przykład Idea
k-nearest Neighbours Idea T = {(x i, y i )} N i=1 knn(x) = zbiór indeksów k najbliższych x punktów ze zbioru uczącego cl(x) = arg max #{i knn(x) : y i = c} c
Przykład Idea
knn dla dokumentów Idea Podstawowa wersja: Uczenie 1 Przekształć dane przez tfidf do postaci wektorowej 2 Zapisz zbiór uczący oraz przekształcenie tfidf Testowanie nowego dokumentu d 1 Przekształć dane przez zapisaną funkcję tfidf i nazwij x 2 Używając podobieństwa kosinusowego, znajdź k najbliższych punktów do x 3 Zwróć etykietę którą ma najwięcej z sąsiadów x a
Wady i zalety Idea Zalety: Wady: Bardzo prosty algorytm Pozwala na dowolne zdefiniowanie funkcji odległości (podobieństwa) Łatwo interpretowalny wynik Wymaga pamiętania całego zbioru uczącego Stosunkowo powolny (znalezienie k najbliższych sąsiadów wg. arbitralnie zadanej funkcji odległości wymaga przejrzenia wszystkich punktów) Nic nie jest uczone, więc zdefiniowanie metryki jest kluczowe Trzeba też dobrać k
Wpływ wyboru k Idea
Wpływ wyboru k Idea k = 1 podział Voronoi k = N zwracanie najczęstszej klasy k (1, N) lokalne rozmycie podziału Voronoi
Section 3 Problem WSD
WSD Word Sense Disambigousation
WSD Cheetah runs over 100km/h! My program runs but crashes after any key is pressed. The argument runs as follows...
Wordnet run
Wordnet run Jako rzeczownik 16 znaczeń Jako czasownik 41 znaczeń razem 57 znaczeń
Wordnet Podstawowa jednostka synset Wordnet to etykietowany graf synsetów
Wordnet
Wordnet
Wordnet
Idea znaczenie słowa zależy od kontekstu dobry zasób zawiera definicję każdego synsetu oraz gloss można wybierać taki sens, którego definicja/gloss są najbardziej podobne do definicji/glossów słów z kontekstu
Lesk algorithm PINE 1 kinds of evergreen tree with needle-shaped leaves 2 waste away through sorrow or illness CONE 1 solid body which narrows to a point 2 something of this shape whether solid or hollow 3 fruit of certain evergreen trees
Lesk algorithm LESK(word, sentence) 1 bestsense most frequent sense of word 2 bestoverl 0 3 context set of sentence words 4 foreach sense in senses(word): 1 signature set of words in the gloss and examples of sense 2 overlap overlap(signature,context) 3 if overlap > bestoverl 5 return sense 1 bestoverl overlap 2 bestsense sense
Lesk algorithm My pine tree has a cone PINE 1 kinds of evergreen tree with needle-shaped leaves 2 waste away through sorrow or illness CONE 1 solid body which narrows to a point 2 something of this shape whether solid or hollow 3 fruit of certain evergreen trees
Lesk algorithm My pine tree has a cone PINE 1 kinds of evergreen tree with needle-shaped leaves (1) 2 waste away through sorrow or illness (0) CONE 1 solid body which narrows to a point (0) 2 something of this shape whether solid or hollow (0) 3 fruit of certain evergreen trees (1)
Lesk algorithm Skuteczność na Dumie i uprzedzeniu : 50-70%
Lesk algorithm Problemy Podejście bardzo czułe na użyte słownictwo Oparcie się o definicje z glosów bardzo utrudnia procedurę, jako, że są one z zasady bardzo skrótowe
Section 4 Postać wektorowa a semantyka
Syntaktyka a semantyka Syntaktyka - składnia, określa zasady poprawnego języka, np. jakie części mowy po jakich występują Semantyka - znaczenie, określa faktyczny sens wypowiedzi, jego spójność przekazu
LSA Dotąd zakładaliśmy, że dokumenty reprezentowane są przez liczności (byćmoże przeskalowane) wystąpień termów Zamiast tego, możemy reprezentować dokumenty w przestrzeni konceptów, idei Dla uproszczenia załóżmy, że koncept to liniowa kombinacja termów, czyli np. coś postaci vehicle = car + 0.3 truck + 0.5 bicycle
LSA Niech X będzie macierzą m n określającą w X ij wystąpienia iego termu jym dokumencie (np. tfidf) ] ti T = [x i,1... x i,n d j = x 1,j... x m,j
LSA Kowystępowanie dwóch termów w dokumentach: n ti T t p = t i, t p = t i,k t p,k k=1 Macierz XX T zawiera wszystkie takie kowystępowania, tj. (XX T ) ip = ti T Symetrycznie macierz X T X t p Zawiera kowystępowania dla dokumentów, tj. (X T X ) jq = d T j d q
LSA Załóżmy, że istnieje dekompozycja X = UΣV T taka, że Σ jest diagonalna, a U i V są macierzami ortonormalnymi. Innymi słowy - rozkład SVD (Singular Value Decomposition)
LSA XX T = (UΣV T )(UΣV T ) T = UΣV T V Σ T U T = UΣΣ T U T X T X = (UΣV T ) T (UΣV T ) = V Σ T U T UΣV T = V Σ T ΣV T Zgodnie z założeniami ΣΣ T oraz Σ T Σ są diagonalne, więc U zawiera wektory własne XX T a V wektory własne X T X, jednocześnie wartości własne obu iloczynów są takie same i znajdują się na przekątnej Σ T Σ
LSA Jeśli teraz weźmiemy k największych wartości własnych, i odpowiadające im wektory z macierzy U i V to dostaniemy aproksymację rangi k wyjściowej macierzy. Okazuje się, że jest to też najlepsza aproksymacja rangi k (o najmniejszej normie frobeniusa błędu). Oznaczmy tę aproksymację przez X k = U k Σ k V T K
LSA Możemy przenieść dokument do przestrzeni konceptów Σ 1 k UT k d Możemy przenieść term do przestrzeni konceptów Σ 1 k V k T t T Przestrzeń konceptów jest wektorowa, więc można w niej dokonywać klasyfikacji, klastrowania, i wszelkiej innej analizy Zapytanie do wyszukiwarki q też możemy przenieść do przestrzeni konceptów Σ 1 k UT k q
LSA
LSA
LSA
LSA
LSA Ograniczenia Wymaga stosunkowo dużo obliczeń przy dużej ilości danych Zredukowana przestrzeń może być trudna w interpretacji, o ile (1.3 car + 0.28 truck) można uznać za koncept pojazd o tyle w rzeczywiśtości pojawia się wiele w postaci (1.3 car + 0.28 truck 0.1 flower) Model probabilistyczny stojący za LSA zakłada Gaussowskość rozkładów, co zostało empirycznie obalone (jest to raczej rozkład Poisson a)
LSA Jako metoda redukcji wymiarowości do klasyfikacji Jako metoda wizualizacji Jako narzędzie do semantycznej eksploracji dużych korpusów
Wektory? A może jednak grafy?
Wordnet
Wordnet Mając dwa słowa w 1 i w 2 oraz wordnet W Jaka jest odległość semantyczna tych 2 słów?
Wordnet Mając dwa słowa w 1 i w 2 oraz wordnet W Jaka jest odległość semantyczna tych 2 słów? Możemy zmierzyć semdist(w 1, w 2 ) = min s1,s 2 W s(w 1 ) W s(w 2 ) len(w path (s 1, s 2 ))
Wordnet - przykład
Wordnet - przykład naivesim(w 1, w 2 ) = 1/semdist(w 1, w 2 )
Wordnet Nie wszystkie znaczenia są równie prawdopodobne semdist(w 1, w 2 ) = sim(w 1, w 2 ) = min len(w path(s 1, s 2 )) s 1,s 2 W s(w 1 ) W s(w 2 ) s 1,s 2 W s(w 1 ) W s(w 2 ) P(s 1, s 2 w 1, w 2 ) len(w path (s 1, s 2 ))
Wordnet sim(w 1, w 2 ) = s 1,s 2 W s(w 1 ) W s(w 2 ) P(s 1, s 2 w 1, w 2 ) len(w path (s 1, s 2 )) W szczególności, jeśli wiemy (z innego źródła), że w 1 wystąpiło w sensie np. s 1 to s s1 P(s i, s 2 w 1, w 2 ) = 0 więc a znając oba sensy sim(w 1, w 2 ) = s 2 W s(w 2 ) P(s 1, s 2 w 1, w 2 ) len(w path (s 1, s 2 )) sim(w 1, w 2 ) = P(s 1, s 2 w 1, w 2 ) len(w path (s 1, s 2 ))
Wordnet Mierzenie podobieństwa semantycznego dwóch zdań (dokumentów): 1 Przypisujemy każdemu ze słów w i jego najbardziej prawdopodobny sens s i (np. używając Lesk a) 2 Liczymy sim(w i, w j ) (przy założeniu, że znamy s i, s j ) 3 Traktujemy nasze zdania jako graf dwudzielny, gdzie wagami krawędzi są wartości sim 4 Szukamy maksymalnego pełnego dopasowania (maximum total matching), i rozwiązujemy go np. poprzez algorytm Węgierski
Podobieństwo dokumentów Podstawowe, omówione techniki: W postaci wektorowej - kosinus kąta W wektorowej postaci konceptów - kosinus kąta między konceptami W postaci grafowej - oparte o analizę ścieżek w Wordnecie
Kolejny wykład
Egzamin Wybierzmy wspólnie jego datę
Egzamin Wesołych Świąt!