Wstęp do przetwarzania języka naturalnego

Podobne dokumenty
Wstęp do przetwarzania języka naturalnego. Wykład 11 Maszyna Wektorów Nośnych

Wydział Elektrotechniki, Informatyki i Telekomunikacji. Instytut Informatyki i Elektroniki. Instrukcja do zajęć laboratoryjnych

Zaglądamy pod maskę: podstawy działania silnika wyszukiwawczego na przykładzie Lucene

Wyszukiwanie i Przetwarzanie Informacji Information Retrieval & Search

Wstęp do przetwarzania języka naturalnego. Wykład 10 Zaawansowana wektoryzacja i klasyfikacja

Wyszukiwanie i Przetwarzanie Informacji Information Retrieval & Search

cx cx 1,cx 2,cx 3,...,cx n. Przykład 4, 5

Agnieszka Nowak Brzezińska

Co wylicza Jasnopis? Bartosz Broda

Agnieszka Nowak Brzezińska Wykład III

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Wykład 9. Matematyka 3, semestr zimowy 2011/ listopada 2011

TEORETYCZNE PODSTAWY INFORMATYKI

Wyszukiwanie tekstów

Zadania z algebry liniowej Iloczyn skalarny, przestrzenie euklidesowe

Agnieszka Nowak Brzezińska Wykład III

Wyszukiwanie dokumentów WWW bazujące na słowach kluczowych

Bazy dokumentów tekstowych

Wyszukiwanie informacji w internecie. Nguyen Hung Son

Wyszukiwanie dokumentów/informacji

Eksploracja tekstu. Wprowadzenie Wyszukiwanie dokumentów Reprezentacje tekstu. Eksploracja danych. Eksploracja tekstu wykład 1

1 Przestrzeń liniowa. α 1 x α k x k = 0

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Lista. Przestrzenie liniowe. Zadanie 1 Sprawdź, czy (V, +, ) jest przestrzenią liniową nadr :

Text mining w programie RapidMiner Michał Bereta

Iloczyn skalarny, wektorowy, mieszany. Ortogonalność wektorów. Metoda ortogonalizacji Grama-Schmidta. Małgorzata Kowaluk semestr X

Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem.

EmotiWord, semantyczne powiązanie i podobieństwo, odległość znaczeniowa

Przestrzeń unitarna. Jacek Kłopotowski. 23 października Katedra Matematyki i Ekonomii Matematycznej SGH

Geometria Lista 0 Zadanie 1

Systemy Wspomagania Decyzji

Wykład 16. P 2 (x 2, y 2 ) P 1 (x 1, y 1 ) OX. Odległość tych punktów wyraża się wzorem: P 1 P 2 = (x 1 x 2 ) 2 + (y 1 y 2 ) 2

2 1 3 c c1. e 1, e 2,..., e n A= e 1 e 2...e n [ ] M. Przybycień Matematyczne Metody Fizyki I

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

3. Iloczyn zewnętrzny w ogólności nie jest przemienny, ale zachodzi wzór:

Wykład 10 Skalowanie wielowymiarowe

Eksploracja danych. Grupowanie. Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne. Grupowanie wykład 1

Grupowanie danych. Wprowadzenie. Przykłady

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

baton OR mars 282,000, ,000,000 baton OR mars 283,000,000 WYSZUKIWANIE BOOLOWSKIE

Informacja o przestrzeniach Hilberta

Kierunek i poziom studiów: Matematyka, studia I stopnia (licencjackie), rok I

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

Wstęp do Modelu Standardowego

Zadania egzaminacyjne

Wykład Matematyka A, I rok, egzamin ustny w sem. letnim r. ak. 2002/2003. Każdy zdający losuje jedno pytanie teoretyczne i jedno praktyczne.

Zastosowanie metod statystycznych do ekstrakcji słów kluczowych w kontekście projektu LT4eL. Łukasz Degórski

PODSTAWY RACHUNKU WEKTOROWEGO

Rachunek wektorowy - wprowadzenie. dr inż. Romuald Kędzierski

Kierunek i poziom studiów: Matematyka, studia I stopnia (licencjackie), rok I

KMO2D. Kolizje między-obiektowe w 2D

Rozdział 1. Wektory losowe. 1.1 Wektor losowy i jego rozkład

Zadania z Analizy Funkcjonalnej I Które z poniższych przestrzeni metrycznych są przestrzeniami unormowanymi?

Algebra liniowa. 1. Macierze.

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B

Przestrzeń algorytmów klastrowania

Statystyczna analiza danych

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Wykład 5. Ker(f) = {v V ; f(v) = 0}

Hierarchiczna analiza skupień

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2012/13

Algebra liniowa z geometrią

Kwantyzacja wektorowa. Kodowanie różnicowe.

Przetwarzanie i transmisja danych multimedialnych. Wykład 8 Transformaty i kodowanie cz. 2. Przemysław Sękalski.

Estymacja gęstości prawdopodobieństwa metodą selekcji modelu

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Notatki do wykładu Geometria Różniczkowa I

1 Podstawowe oznaczenia

1 Formy hermitowskie. GAL (Informatyka) Wykład - formy hermitowskie. Paweł Bechler

Rozwiązywanie równań nieliniowych

Przestrzenie liniowe

1 Rozwiązywanie układów równań. Wyznaczniki. 2 Wektory kilka faktów użytkowych

Blok V: Ciągi. Różniczkowanie i całkowanie. c) c n = 1 ( 1)n n. d) a n = 1 3, a n+1 = 3 n a n. e) a 1 = 1, a n+1 = a n + ( 1) n

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

FUNKCJE LICZBOWE. Na zbiorze X określona jest funkcja f : X Y gdy dowolnemu punktowi x X przyporządkowany jest punkt f(x) Y.

Rodzinę spełniającą trzeci warunek tylko dla sumy skończonej nazywamy ciałem (algebrą) w zbiorze X.

Iloczyn skalarny. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 10. wykład z algebry liniowej Warszawa, grudzień 2013

Wstęp do przetwarzania języka naturalnego. Wykład 13 Podsumowanie i spojrzenie w przyszłość

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Analiza funkcjonalna 1.

Zajęcia nr 1 (1h) Dwumian Newtona. Indukcja. Zajęcia nr 2 i 3 (4h) Trygonometria

Analiza danych tekstowych i języka naturalnego

Algebra Liniowa 2 (INF, TIN), MAP1152 Lista zadań

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

Endomorfizmy liniowe

A,B M! v V ; A + v = B, (1.3) AB = v. (1.4)

Zagadnienia brzegowe dla równań eliptycznych

OPISY PRZESTRZENNE I PRZEKSZTAŁCENIA

19 Własności iloczynu skalarnego: norma, kąt i odległość

Mechanika. Wykład 2. Paweł Staszel

Rozróżnianie sensów polskich słów za pomoca rozwinięcia metody Leska

W. Guzicki Zadanie IV z Informatora Maturalnego poziom rozszerzony 1

Rachunek Prawdopodobieństwa Rozdział 5. Rozkłady łączne

R n jako przestrzeń afiniczna

Podstawy Informatyki. Sprawność algorytmów

Geometria analityczna - przykłady

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Prawdopodobieństwo i statystyka

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Transkrypt:

Wstęp do przetwarzania języka naturalnego Wykład 9 Wektoryzacja dokumentów i podstawowe miary podobieństwa Wojciech Czarnecki 17 grudnia 2013

Section 1 Przypomnienie

Bag of words model

Podejście Przypomnienie Na dotychczasowych wykładach - probabilistyczne Od teraz - geometryczne

Section 2

Dla ustalenia uwagi Załóżmy, że rozważamy problem stworzenia wyszukiwarki, tzn. mamy pewną bazę dokumentów (niekoniecznie stron), oraz użytkownika, który wpisuje jakąś frazę. Chcemy przedstawić mu najlepszy dokument (albo posortowaną listę najlepszych dokumentów).

Problem wyszukiwania Mając dane zapytanie q wyszukaj najlepszy dokument d z puli D

Problem wyszukiwania jest to istotnie różne od sprawdzania, czy q jako zdanie, należy do jakiegoś modelu języka zadanego przez okreslony dokument d przede wszystkim D jest duże, wiec musimy mieć bardzo wydajną metodę (zarówno pamięciowo jak i obliczeniowo) zapytania bardzo rzadko są zdaniami to, co nas tak na prawdę interesuje to sens, potrzeba, która doprowadziła do wpisania q, nie zaś samo q

Reprezentacja binarna (set of words) φ( Ala ma kota. Ala lubi też psy ) = {Ala, ma, kota., lubi.tez, psy}

Jaccard coefficient Własności: J(A, A) = 1 J(A, B) = J(A, B) = 0 A B = A B A B A i B mogą być dowolnej (różnej) długości J(A, B) [0, 1]

Jaccard coefficient J(A, B) = A B A B J(φ( Ala ma kota ), φ( Ala ma psa )) = = {Ala, ma, kota} {Ala, ma, psa} {Ala, ma, kota} {Ala, ma, psa} = {Ala, ma} {Ala, ma, kota, psa} = 2 4

Jaccard coefficient Nie bierze pod uwagę częstotliwości wystąpień słów Normalizacja przez sumę mnogościową nie jest najlepsza

Set of words Przypomnienie

Bag of words Przypomnienie

Bag of words - reprezentacja wektorowa φ(antony and Cleopatra) = [157, 4, 232, 0, 57, 2, 2] N 7

Term frequency Przypomnienie Term frequency Częstotliwością termu (term frequency, tf) t w dokumencie d nazywamy liczbę wystąpień t w d i oznaczamy przez tf t,d tf t,d = count(t, d) = #{i : d[i] = t}

Term frequency - zastosowania i problemy Można wykorzystywać do mierzenia na ile dany dokument odzwierciedla zapytanie w wyszukiwarce, tzn.: score(q, d) = tf t,d t q Jeśli szukamy hasła dog, to dokument zawierający 100 słów dog będzie 100 razy lepszy niż ten zawierający jedno słówko dog Wraz ze wzrostem częstotliwości występowania termu powinna wzrastać ocena, ale na pewno nie liniowo!

Log term frequency w t,d = { 1 + log(tft,d ), if tf t,d > 0 0, otherwise

Log term frequency w t,d = { 1 + log(tft,d ), if tf t,d > 0 0, otherwise score(q, d) = w t,d = t q t q d 1 + log(tf t,d )

Log term frequency tf t,d w t,d sow 0 0 0 1 1 1 2 1.3 1 10 2 1 1000 4 1

Document frequency weighting Rzadkie słowa są bardziej informatywne, niż częste np. jeśli szukamy zapytaniem William Shakespeare, to zdecydowanie większą wagę należy poświęcić stronom, które zawierają term Shakespeare (35,000,000 wyników w Google) niż stronom zawierającym William (281,000,000 wyników w Google). bardziej skrajnie - szukając danych o muszce owocówce ( używając zapytania melanogaster fly ) ważniejsze są strony o konkretnym gatunku ( drosophila melanogaster - 1,410,000 wyników) niż te o muchach ogólnie (188,000,000)

Document frequency Document frequency Częstotliwością termu (Document frequency, df) t w zbiorze dokumentów nazywamy liczbę dokumentów w których wystepuje t i oznaczamy przez df t df t = d D min{1, tf t,d } = #{d D : tf t,d > 0}

Document frequency Document frequency jest miarą nieinformatywności termu Chcąc mieć informatywności musimy ten obiekt odwrócić

Inverse Document frequency ( ) N idf t = log dft gdzie N = #D to liczba dokumentów

Inverse Document frequency df t idf t (N = 100) 100 0 99 0.004 98 0.009...... 50 0.3...... 5 1.3 4 1.4 3 1.5 2 1.7 1 2

tf-idf weighting Przypomnienie ( ) N tf.idf t,d = (1 + log(tf t,d )) log }{{} dft }{{} tf - trafność idf - normalizacja score(q, d) = t q d tf.idf t,d

tf-idf Przypomnienie

tf-idf Przypomnienie

tf-idf Przypomnienie 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

VSM Przypomnienie Vector Space Model mamy V wymiarową przestrzeń rzeczywistą każdy term to wymiar przestrzeni (oś) dokumenty to punkty (wektory) w tej przestrzeni bardzo wysoko wymiarowa przestrzeń bardzo rzadkie wektory

VSM w wyszukiwaniu Mając dane zapytanie q wyszukaj najlepszy dokument d z puli D zapytania również można potraktować jak dokumenty i wyrazić je w naszym VSM dokumenty można posortować wg. trafności trafność = bliskość wektorów = odwrotność odległości

Co to jest bliskość wektorów?

Section 3

Odłegłość między dwoma wektorami mamy dokumenty d i wyrażone jako wektory w R V, nazwijmy je x i interesuje nas znalezienie funkcji f, takiej, że: f (x i, x j ) = 0 gdy x i = x j f (x i, x j ) = f (x j, x i ) f (x i, x j ) > f (x i, x k ) gdy x k jest bardziej podobne do x i niż x j

Odległość między dwoma wektorami Norma euklidesowa różnicy wektorów f (x i, x j ) = x i x j

Odległość między dwoma wektorami f (x i, x j ) = x i x j f (q, d 2 ) = q d 2 > q d 1 = f (q, d 1 ) f (q, d 2 ) = q d 2 > q d 3 = f (q, d 3 )

Odległość między dwoma wektorami Wyobraźmy sobie sytuację, gdzie mamy dokument d będący konkatenacją dokumentu d z samym sobą Semantycznie te dwa dokumenty mają tę samą informację Odległość euklidesowa może być dowolnie duża

Odległość między dwoma wektorami Wyobraźmy sobie sytuację, gdzie mamy dokument d będący konkatenacją dokumentu d z samym sobą Semantycznie te dwa dokumenty mają tę samą informację Odległość euklidesowa może być dowolnie duża Idea: używajmy kąta zamiast odległości

Liczenie kąta między wektorami w wysoko wymiarowej przestrzeni Prosta obserwacja, nastepujące działania są równoważne Sortowanie dokumentów po malejącym kącie między nimi Sortowanie dokumentów po rosnącym kosinusie kąta między nimi

Kosinus kąta Przypomnienie

Kosinus kąta przy tfidf t, d : tf.idf t,d 0 (x i, x j ) [0, 90 ] cos( (x i, x j )) [0, 1]

Kosinus kąta Przypomnienie cos(x, y) = x i y to wektory tf.idf x y x y = V V i=1 x 2 i i=1 x iy i V i=1 y i 2 cos(x, y) to kosinus kąta między nimi lub czasem podobieństwo kosinusowe (cosine similarity) tych wektorów gdyby x i y były jednostkowe, to wystarczyłoby liczyć iloczyn skalarny

Znormalizowana reprezentacja VSM

Proces porównywania dokumentów - klasyczna wersja VSM 1 Policz tfidf t,d dla każdego dokumentu i każdego termu 2 Zapisz reprezentację VSM każdego dokumentu korzystając z tfidf 3 Znormalizuj każdy z wektorów (podziel go przez jego normę) 4 W przypadku potrzeby porównania dwóch dokumentów - policz iloczyn skalarny pomiędzy ich reprezentacjami

Generalizacje tfidf tzw. SMART notation: ddd.qqq ltc.ltc (omówiony przed chwilą) lnc.ltc (popularne podejście)

Czy to jedyna możliwość? Jest wiele innych, używanych do analizy tekstu metryk, m.in. Korelacja Pearsona Uśredniona dywergencja Kullbacka-Leiblera

Korelacja Pearsona Rysunek: Współczynnik korelacji Pearsona - wikipedia r xy = (xi x)(y i ȳ) (xi x) 2 (yi ȳ) 2

Korelacja Pearsona Rysunek: Współczynnik korelacji Pearsona - wikipedia r xy = (xi x)(y i ȳ) (xi x) 2 (yi ȳ) 2 r xy = cos(x x, y ȳ)

Dywergencja KL Przypomnienie D KL (P Q) = P(x) log ( ) P(x) dx Q(x)

Dywergencja KL Przypomnienie D KL (P Q) = D KL (x y) = t ( ) P(x) P(x) log dx Q(x) ) w t,x log ( wt,x w t,y

Dywergencja KL Przypomnienie D KL (P Q) = D KL (x y) = t ( ) P(x) P(x) log dx Q(x) ) w t,x log ( wt,x w t,y D JS (P Q) = D KL(P P+Q 2 ) + D KL (Q P+Q 2 ) 2

Klastrowanie dokumentów - Purity Na podstawie Similarity Measures for Text Document Clustering - Anna Huang (University of Waikato)

Klastrowanie dokumentów - Entropia Na podstawie Similarity Measures for Text Document Clustering - Anna Huang (University of Waikato)

Kolejny wykład Przypomnienie Klasyfikacja oparta o miary podobieństwa i model VSM Zaawansowany model VSM - Latent Semantic Analysis (LSA)

Plan WPJN Przypomnienie 19 XII - [W] Podstawowa klasyfikacja oparta o VSM i LSA 22 XII - [Cw] Zasady projektu 4 3 I - [Cw] Deadline projektu 3 8 I - [W] Maszyna Wektorów Nośnych 16 I - [W] Zaawansowane funkcje jądra 19 I - [Cw] Ostateczny deadline projektu 4 23 I - [W] State of the art NLP