340 likes | 799 Views
WEDT Teoria informacji. Wykład 3 Piotr Gawrysiak pgawrysiak@supermedia.pl. 2005. Projekt. Dwie grupy studentów 1) Piotr Gawrysiak – pgawrysiak@supermedia.pl 2) Piotr Andruszkiewicz - P.Andruszkiewicz@elka.pw.edu.pl 1) Jabłonka – Marcinkowska 2) Mierzejewski - Zyśk Etapy:
E N D
WEDTTeoria informacji Wykład 3 Piotr Gawrysiak pgawrysiak@supermedia.pl 2005
Projekt • Dwie grupy studentów • 1) Piotr Gawrysiak – pgawrysiak@supermedia.pl • 2) Piotr Andruszkiewicz - P.Andruszkiewicz@elka.pw.edu.pl • 1) Jabłonka – Marcinkowska • 2) Mierzejewski - Zyśk • Etapy: • I wybór tematu – 1 tydzień / propozycja tematu • II projekt wstępny – 4 tygodnie / wstępna analiza teoretyczna • III implementacja – ost. termin / pełna dokumentacja • Ostateczny termin oddania projektu – ostatnie zajęcia (jeśli jednak ktoś chce być zwolniony z egzaminu, musi oczywiście oddać projekt wcześniej, czas sprawdzania • Zgłoszenie pełnej dokumentacji na konferencję jest dodatkowo premiowane ;-)
Teoria informacji • Opracowana przez Shannona w latach 40-tych XX w. • Określenie ilości informacji możliwej do przesłania przez nieidealny /„zaszumiony” – „noisy channel”/ kanał komunikacyjny • Określenie maksymalnych wartości: • Szybkości transmisji (pojemność kanału) • Stopnia kompresji danych (entropia) • Możliwe jest zapewnienie dowolnie małego prawdopodobieństwa wystąpienia błędu transmisji pod warunkiem zastosowania odpowiednio niewielkiej szybkości transmisji i stopnia kompresji
Entropia • Entropia – miara chaosu, stopnia nieuporządkowania • Fizyka – entropia układu rośnie, lub pozostaje stała, jeśli nie zostanie dostarczona energia • Miara niepewności: • Niska entropia – wysoka pewność, przewidywalność • Wysoka entropia – niska pewność, ale także ilość informacji jaką możemy uzyskać przeprowadzając eksperyment • Miara ilości informacji
Entropia • X: dyskretna zmienna losowa • pmf p(X) – rozkład zmiennej X 0 log 0 = 0 • Jednostka – bity (stąd log2) • Entropia określa ilość informacji w zmiennej losowej: średnia długość słowa potrzebnego do przekazania wartości tej zmiennej przy użyciu optymalnego kodowania • Notacja – H(X) = Hp(X) = H(p) = HX(p) = H(pX)
Entropia Przykład: rzucamy 8-ścienną kostką i przekazujemy wynik Entropia: 1=001, 2=010, ... Średnia ważona prawdopodobieństwem wystąpień wartości x Wartość oczekiwana
Entropia Przykład: jakiś język polinezyjski • Entropia (przesłanie jednej litery): • Kodowanie liter (dla częściej występujących liter używamy mniejszej liczby bitów)
Entropia Inne interpretacje: • Liczba pytań niezbędnych do odgadnięcia przekazu – wielkość przestrzeni poszukiwań /search space/ Czyli gdy nie ma niepewności
Entropia łączna • Podobnie jak dla prawdopodobieństw (łączne, warunkowe) • Entropia łączna /joint entropy/ - dla dwóch dyskretnych zmiennych losowych X, Y, średnia długość słowa potrzebnego dla przekazanie ich wartości
Entropia warunkowa Zakładając, że odbiorca informacji zna X, entropia warunkowa określa długość słowa potrzebną, aby przekazać wartość Y
Reguła łańcuchowa dla entropii • Logarytmy, więc w odróżnieniu od prawdopodobieństw reguła łańcuchowa będzie sumą składników
Przykład • Nasz język polinezyjski modelowaliśmy za pomocą zmiennej losowej • Załóżmy, że dodatkowe badania pozwoliły odkryć strukturę użycia sylab w tym języku: wszystkie słowa składają się z ciągów sylab złożonych ze spółgłoski (C) i samogłoski (V):
Przykład cd. • Używając reguły łańcuchowej dla obliczenia H(C,V):
Przykład cd. • Entropia ciągu (znaków, wyrazów itd.) zależy od jego długości. W praktyce zatem wygodnie definiować entropię dla pojedynczych znaków – entropy rate Dla całej sylaby
Entropia języka • Załóżmy, że język L jest reprezentowany przez proces stochastyczny, generujący sekwencję tokenów: L=(Xi)
Informacja wzajemna /mutual information/ • Informacja o zmiennej losowej Y, którą zawiera zmienna losowa X • Miara niezależności Reguła łańcuchowa ?
Informacja wzajemna cd. • H(X|X)=0 stąd • H(X)=H(X)-H(X|X)=I(X;X) • Gdy X i Y są niezależne to: • H(X|Y) = H(X) • I(X;Y) = H(X)-H(X) = 0 • Interpretacja MI – I(X;Y) mierzy to jak bardzo nasza wiedza o Y ułatwia (średnio) przewidywanie wartości X • Mierzona w bitach Entropia – miara informacji własnej
X W* Y W Kanał p(y|x) dekoder koder wiadomość wejście wyjście Model zaszumionego kanału • Dualizm pomiędzy kompresją, a jakością transmisji • Pojemność kanału – określa maksymalną szybkość transmisji informacji • Wykorzystamy pojemność kanału, gdy użyjemy kodowania X, którego rozkład maksymalizuje wartość informacji wzajemnej pomiędzy wejściem i wyjściem dla wszystkich możliwych rozkładów wejściowych p(X)
Przykład: • Symetryczny kanał binarny: • Wejście X ~ {0,1} • Wyjście Y -> 0->1 oraz 1->0 z prawdopodobieństwem p • I(X;Y) = H(Y)-H(Y|X)=H(Y)-H(p) • Gdy p=0 lub p=1 (kanał zawsze zamienia bity) C=1 • Gdy p=1/2, C=0; taki kanał nie nadaje się w ogóle do transmisji danych Gdy kody dla X i Y takie same, wymagany 1 bit
Zastosowanie w NLP • Pragniemy określić najbardziej prawdopodobną wiadomość na wejściu kanału, znając zakodowane wyjście • p(i) – model języka, rozkład występowania słów (lub innych sekwencji) • p(o|i) – „operacja” wykonywana przez kanał I O Kanał p(o|i) dekoder
Porównywanie rozkładów • Dywergencja Kullbacka-Leiblera • Miara różnic pomiędzy pmf p(x), q(x) • I(X;Y) = D(p(x,y)||p(x)p(y)) • D(p||q)>0 oraz D(p||q)=0 wtw. p=q • To nie jest miara odległości, nie spełnia warunku nierówności trójkąta, ponadto nie jest symetryczna Jeszcze jedna definicja MI – „odległość” rozkładu łącznego dwóch zmiennych od rozkładu dla zmiennych niezależnych
Wyrażenia regularne /regular expressions/ • Są wszędzie • emacs, vi, perl, python, grep, sed, awk,... • Elementy wyrażeń regularnych • Ciągi znaków • Kleene star • Zbiór znaków, dopełnienie zbioru • Kotwice • Zakres • Alternatywa • Grupowanie
Reguły • case sensitive • /woodchuck/ • Ciągi • Zakres
Reguły • Dopełnienie • Znaki opcjonalne • Kleene * • Zero lub więcej powtórzeń poprzedzającej sekwencji • /[ab]*/ - aaaa, bbbb, abababbba, bbabaaab
Reguły • Alternatywa i grupowanie • Kotwice • ^ - początek ciągu • $ - koniec ciągu • \b – granica słowa • \B – środek słowa • Kleene + • Przynajmniej jedno wystąpienia sekwencji • /[0-9]+/ - liczba całkowita
Hierarchia operatorów 1. Grupowanie () 2. Liczniki * + ? {} 3. Kotwice the ^my end$ 4. Alternatywa | {n} – n wystąpień sekwencji {n,m} – od n do m wystąpień {n, } - przynajmniej n wystąpień Character escaping – np. \*, \. itd.
Przykład • Znaleźć wystąpienia określnika “the”: The recent attempt by the police to retain their current rates of pay has not gathered much favor with the southern factions. Przykład - Kathy McCoy
Przykład • Znaleźć wystąpienia określnika “the”: /the/ The recent attempt by the police to retain their current rates of pay has not gathered much favor with the southern factions.
Przykład • Znaleźć wystąpienia określnika “the”: /[Tt]he/ The recent attempt by the police to retain their current rates of pay has not gathered much favor with the southern factions.
Przykład • Znaleźć wystąpienia określnika “the”: /\b[Tt]he\b/ The recent attempt by the police to retain their current rates of pay has not gathered much favor with the southern factions. • Dwa rodzaje błędów: • False negatives • False positives
Zastosowania w NLP • Wszędzie • ELIZA: • U: Men are all alike. • E: IN WHAT WAY? • They’re always bugging us abouy something or other. • CAN YOU THINK OF A SPECIFIC EXAMPLE? • Well, my boyfriend made me come here. • YOUR BOYFRIEND MADE YOU COME HERE • He says I’m depressed much of the time. • I AM SORRY TO HEAR YOU ARE DEPRESSED
ELIZA • Seria następujących po sobie substytucji ciągów znaków • 1 – zamiana wszystkich wystąpień my na YOUR oraz I’m na YOU ARE itd. • 2 – słownik substytucji: • s/.* YOU ARE (depressed|sad) .*/I AM SORRY TO HEAR YOU ARE \1/ • s/.* YOU ARE (depressed|sad) .*/WHY DO YOU THINK YOU ARE\1/ • s/.* all .*/IN WHAT WAY/ • s/.* always .*/CAN YOU THINK OF A SPECIFIC EXAMPLE/ • Do jednego ciągu może pasować więcej niż jeden wzorzec