Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Skrót: wykłady 7-11 i trochę semantyki z wykładu 6

Podobne prezentacje


Prezentacja na temat: "Skrót: wykłady 7-11 i trochę semantyki z wykładu 6"— Zapis prezentacji:

1 Skrót: wykłady 7-11 i trochę semantyki z wykładu 6

2 Semantyka czyli znaczenie
ustalenie co jest znaczeniem konkretnego wyrażenia w języku naturalnym nazwy obiektów, relacji między nimi, ... sieci semantyczne wskazujące na hierarchię i pokrewieństwo terminów ustalenie sposobu reprezentowania znaczenia określenie niezbędnego zakresu wiedzy pragmatycznej określenie zasad wnioskowania

3 „warstwy” problemu reprezentacja znaczenia : metoda zapisu potrzebnych informacji wnioskowanie : uzyskiwanie nowych informacji z już dostępnych analiza semantyczna : automatyczne generowanie zapisu znaczenia zdań (równocześnie lub nie z analizą syntaktyczną)

4 Reprezentacja znaczenia
W jaki sposób można reprezentować semantykę języka naturalnego, czyli jakie mechanizmy formalne można tym celu wykorzystać (zdefiniować)? ... W praktyce może to być „cokolwiek”, co odpowiada praktycznym potrzebom programu dokonującego interpretacji semantycznej Kiedy potrzebna jest semantyka: odpowiedzi na pytania ustalenie, czy dane zdanie jest prawdziwe wnioskowanie, etc.

5 Rachunek predykatów I rzędu
„Naturalną” metodą reprezentowania semantyki jest rachunek predykatów I rzędu Nie jest to idealny sposób zapisu, nie pozwala na wyrażenie wszystkich znaczeń, ale ma wiele właściwych cech: pozwala zapisać czy jakiś fakt jest prawdziwy czy fałszywy pozwala zapisywać pytania (użycie zmiennych) są metody wnioskowania Wybór rachunku pred. I rzędu nie jest całkowicie arbitralny czy sterowany konkretnymi aplikacjami. Można zauważyć pewne analogie między językiem naturalnym a językiem rachunku predykatów. Cechy rachunku pred. I rzędu: wprowadzenie zmiennych, użycie kwantyfikatorów, częściowo kompozycyjna semantyka

6 Struktura predykatowo-argumentowa
Nawet dość pobieżna analiza wykazuje, że struktura predykatowo -argumentowa dobrze oddaje znaczenie wielu elementów języka naturalnego. W szczególności niektóre typy słów w łatwy sposób można przetłumaczyć na predykaty, podczas gdy inne pełnią funkcje ich argumentów: słowa kojarzone z predykatami: czasowniki (frazy czasownikowe), przyimki, przymiotniki, niektóre czasowniki słowa kojarzone z argumentami: rzeczowniki (frazy rzeczownikowe)

7 Przykład zapisu znaczenia
Reprezentacja rzeczowników: - imiona własne -> tłumaczone na unikalne nazwy Jan -> Jan, Marii -> Maria (często to nie wystarcza) - rzeczowniki pospolite nie określają konkretnego obiektu, ale pewien obiekt o jakiś znanych cechach książka -> x Isa(x, Book)

8 Przykład zapisu znaczenia
Przykład: Jan dał Marii książkę. Tłumaczenie „bezpośrednie”: Dać(Jan, Maria, książka) „Lepsze” (dokładniejsze) tłumaczenie: (należy stosować ten sposób) czasownik decyduje o nazwie predykatu, liczbie i roli jego argumentów, ‘dać’ oznacza więc: w,x,y,z Giving(x)  Giver(w, x)  Givee(y, x)  Given(z, x) dla powyżsższego zdania więc: x,y Giving(x)  Giver(John, x)  Givee(Mary, x)  Given(y, x)  Isa(y, Book) Różnica między zapisem rzeczowników ‘Jan’ i ‘książka’ to różnica interpretacji rzeczowników własnych i pospolitych

9 Analiza semantyczna Analiza semantyczna to proces przekształcenia wyrażenia lingwistycznego w zapis jego znaczenia Są miliony sposobów dokonania takiego przekształcenia, od rozwiązań całkowicie ad hoc, opracowanych na potrzeby konkretnych aplikacji do wyrafinowanych metod teoretycznych o często wątpliwym znaczeniu praktycznym Większość metod analizy semantycznej opiera się na wynikach analizy syntaktycznej (albo jest dokonywana równolegle z nią)

10 Semantyka kompozycyjna
Większość metod zapisu znaczenia zakłada KOMPOZYCYJNOŚĆ semantyki, tzn. przyjmuje założenie, że znaczenie większych fragmentów teksu (zdania) może zostać określona jako funkcja znaczeń jego elementów, czyli słów i fraz Na czy polega to w praktyce? Pokażemy na przykładzie zdania: (AyCaramba to nazwa restauracji (niewgetariańskiej)) AyCaramba serves meat

11 Przykład AyCaramba serves meat
S e Isa(e, Serving)  Server(e, AyCaramba)  Served(e, Meat) NP VP NP Proper-Noun Verb Mass-Noun AyCaramba serves meat

12 Rozszerzone reguły syntaktyczne
Jak uzyskać znaczenie zdania ze znaczenia elementów? Dołączymy do reguł gramatyki CFG dodatkowe informacje (podobnie jak miało to miejsce przy rozszerzaniu CFG do gramatyk unifikacyjnych) Reguła gramatyki będzie miała teraz postać: A  1 ... n { f(j.sem, ... , k.sem) } W powyższym przykładzie: ProperNoun AyCaramba {AyCaramba} MassNoun  meat {Meat} NP  ProperNoun {ProperNoun:sem} NP  MassNoun {MassNoun:sem} Verb  serves { e, x, y Isa(e, Serving)  Server(e, x)  Served(e, y)}

13 Wyrażenia Lambda xP(x)  xP(x)(A) P(A) Verb  serves
Jak włączyć semantykę argumentów do semantyki czasownika? Wyrażenia Lambda : xP(x)  xP(x)(A) P(A) Verb  serves {xy {e Isa(e, Serving)  Server(e, y)  Served(e, x)} S  NP VP {VP:sem(NP:sem)} VP  Verb NP {Verb:sem(NP:sem)}

14 Przykład analizy semantycznej
S ( AyCaramba serves meat ) e Isa(e, Serving)  Server(e, AyCaramba)  Served(e, Meat) NP AC VP ye Isa(e, Serving)  Server(e, y)  Served(e, Meat)} NP Meat Proper-Noun AC Verb Mass-Noun Meat AyCaramba serves meat

15 Kolejny przykład W restauracji podają mięso.
Wydaje się, że interpretacją powyższego zdania powinno być: e,x Isa(e, Serving)  Server(e, x)  Served(e, Meat)  Isa(x, Restaurant) ale, jeżeli założymy, że interpretacją wyrazu ‘restauracja’ jest wyrażenie: x Isa(x, Restaurant) to jak uzyskać powyższe tłumaczenie z: {xy {e Isa(e, Serving)  Server(e, y)  Served(e, x)} Proste zastąpienie zmiennej wyrażeniem  nie prowadzi do właściwego rezultatu. Wynikiem jest: e Isa(e, Serving)  Server(e, xIsa(x, Restaurant))  Served(e, Meat) niestety powyższy zapis nie jest wyrażeniem rach. pred. I rz. (FOPC)

16 Wprowadzenie termów złożonych
Rozwiązaniem problemu jest taki zapis semantyki fraz rzeczownikowych, aby jej elementy były dostępne „z zewnątrz”: Wprowadzenie „termów złożonych” i sposobu ich przekształcania: < Quantifier variable body > , np.  x Isa(x; Restaurant) e Isa(e, Serving)  Server(e, <  xIsa(x, Restaurant) >)  Served(e, Meat) Przekształcenie na wyrażenie logiki I rzędu: P (< Quantifier variable body >)  Quantifier variable body Connective P(variable) Server(e, <  xIsa(x, Restaurant) >)   xIsa(x, Restaurant)  Server(e, x)

17 Niejednoznaczności Struktura składniowa (i znaczenie)
Pacjent opuścił salę operacyjną w dobrym stanie „nawiasowanie” negacji Nie zrobisz tego? Nie (nie zrobię albo właśnie, że zrobię) kwantyfikacja Każdy chce mieć piękny samochód. (każdy inny) Każdy chce wygrać szczęśliwy los. (ten jedyny) wiązane zaimków Jan kazał Piotrowi wyczyścić swoje buty.

18 Wieloznaczność kwantyfikatorów
Every restaurant has a menu. Czy to ... x (Isa(x, Restaurantx)   e, y Having(e) ^ Haver(e, x) ^ Isa(y, Menu) ^ Had(e, y) ) czy ...  y (Isa(y, Menu) ^  x Isa(x, Restaurant)   e Having(e) ^ Haver(e, x) ^ Had(e, y) ) przy wieloznaczność zakresu kwantyfikatorów, brak jest ogólnych reguł rozstrzygania

19 Statystyka a język naturalny
Chomsky, 1969 „It must be recognized that the notion of a ‘probability of a sentence’ is an entirely useless one, under any interpretation of this term” Powszechnie zaakceptowane powinno być stwierdzenie, że ‘prawdopodobieństwo zdania’ jest pojęciem całkowicie nieprzydatnym, niezależnie od sposobu jego zdefiniowania. … ale jednak tak nie jest

20 Podejście statystyczne
dane: teksty w języku naturalnym metody analizy: liczenie wyrazów, liter, znaków możliwe wnioski: kolejność słów, stałe frazy (nazwy produktów, firm, ...) współwystępowanie słów (np. w tekście, w którym często pojawia się słowo ‘drzewa’ słowo ‘bal’ ma pewnie znaczenie inne niż w tekście, w którym występuje często słowo ‘suknia’ czy ‘frak’) - podział tekstów na kategorie tematyczne rozpoznanie języka, w którym jest tekst (nie trzeba mieć słownika), np. duża liczba słów zaczynających się od wielkiej litery może sugerować niemiecki, częstotliwość zbitek ‘th’ lub ‘ph’ angielski ...

21 Podejście statystyczne, cd.
Dane: teksty w języku naturalnym z anotacjami (tagami) zawierającymi: informacje o części mowy i cechach fleksyjnych metody analizy: liczenie wyrazów lub tagów (i ich sekwencji) 1 wersja: anotacje wzięte ze słownika, niejednoznaczne piec rzeczownik, r. m3, mianownik, czasownik, bezokolicznik 2 wersja: anotacje ujednoznacznione (ręcznie lub automatycznie , w szczególności metodami statystycznymi) 3: inne rodzaje anotacji: informacje o granicach zdań, fraz, o strukturze składniowej ...

22 Podejście statystyczne, cd.
Co można osiągnąć? anotacje ujednoznacznione znacznie zwiększają skuteczność wyszukiwania, np. w odpowiedzi na pytanie ‘mama’ (we wszystkich formach) nie otrzymamy form czasownika mieć aby jednak dalej poprawić skuteczność potrzebne są anotacje semantyczne: np. ‘serwis’ : porcelanowy, sportowy/giełdowy czy początek gry wyszukiwać określonego typu informacje bnez znajomości dokładnej struktury tesktu formułowanie hipotez o budowie tekstu (znajdowanie granic fraz, zdań, wzorców syntaktyznych)

23 Rozstrzyganie niejednoznaczności. Reguły czy statystyka?
Przykłady problemów, jednoznaczność w kontekście, np.: she books, ona pali --> books, pali (?) to czasowniki reguła: jeżeli niejednoznaczne słowo (rzeczownik/czasownik) poprzedzone jest (zgodnym) zaimkiem, to jest to czasownik ale nie zawsze, np. przecież ona pali nie przesunęła niejasne sytuacje: on pali, nie potnie teraz tych pali on pali, o ile wiem, nie potnie, pali pociąć bal -> czasowniki narzucają wymagania na typ obiektów opisywanych przez ich wymagania przygotowywać się na bal podnieść bal ale: tańczyć na balu

24 Postulaty Nie zgaduj, jeśli wiesz
morfologia (odmiana) słowniki (listy słów) jednoznaczne nazwy być może część stałych fraz reguły syntaktyczne?? Wykorzystuj statystykę (opierając się o dane rzeczywiste) dla ustalania preferencji

25 Prawo Bayes’a p(A,B) = p(B,A) bo p(A Ç B) = p(B Ç A)
czyli: skoro p(A|B)=p(A Ç B) /p(B) to p(A Ç B) = p(A|B) p(B) i p(A Ç B) = p(B|A) p(A) p(A|B) p(B) = p(B|A) p(A) i p(A|B) = p(B|A) p(A) / p(B) p(B|A) = p(A|B) p(B) / p(A) Powyższa reguła znana jest jako prawo Bayes’a. Pozwala ona na przechodzenie między prawdopodobieństwami p(A|B) i p(B|A) w zależności od tego, jakimi danymi dysponujemy

26 „Noisy Channel Model” The channel SOURCE  NOISY CHANNEL  DECODER
Zadaniem jest odkodowanie sygnału źródłowego Input Output(noisy) The channel 0,1,1,1,0,1,0,1, (adds noise) ,1,1,0,0,1,1,0,... SOURCE  NOISY CHANNEL  DECODER word noisy word guess at original word Model to prawdopodobieństwo błędów (szumu): Przykład: p(0|1) = (otrzymaliśmy 1 a było 0 - czyli prawdopodobieństwo że było ‘0’ pod warunkiem, ze otrzymaliśmy ‘1’) p(1|1) = (otrzymaliśmy 1 i było 1) p(1|0) = (otrzymaliśmy 0, a było 1) p(0|0) = .5 The channel (adds noise)

27 „Noisy Channel’ - zastosowania
Wiele problemów związanych z NLP może być widziane jako problemy związane z likwidacją szumów (noisy channel problems), m.in. OCR text ® print (adds noise), scan ® image rozpoznawanie pisma odręcznego text ® neurones, muscles (“noise”), scan/digitize ® image poprawianie błędów pisowni (spelling correctors) rozpoznawanie mowy (dyktowanie, wydawanie poleceń) text ® conversion to acoustic signal (“noise”) ® acoustic waves ??tłumaczenie maszynowe text in target language ® translation (“noise”) ® source language tagowanie (Part of Speech Tagging) sequence of tags ® selection of word forms ® text

28 Wykorzystanie prawa Bayes’a
W przypadku zaszumienia sygnału poszukujemy najbardziej prawdopodobnego ciągu wejściowego, który mógłby odpowiadać zaobserwowanemu sygnałowi. Poszukujemy więc: argmax Source P(Source|Signal) Niestety zwykle brak niezbędnych danych. Jednak: P (Source|Signal) = P (Signal|Source) P(Source) / P (Signal) co nam daje: argmax Source P(Signal|Source)P(Source) / P(Signal) W jaki sposób to nam może pomóc, skoro dysponujemy jedynie zaobserwowanym sygnałem, a nie znamy sygnału właściwego? Wiemy, jaka jest przestrzeń możliwych danych początkowe. Możemy wstawić każdą z nich do powyższego równania, policzyć prawdopodobieństwa i wybrać hipotezę o najwyższym prawdopodobieństwie. p(A|B) = p(B|A) p(A) / p(B)

29 Wykorzystanie prawa Bayes’a do kontroli pisowni
dane (signal): słowo źle napisane rezultat (source): poprawne słowo Załóżmy, że V jest przestrzenią możliwych słów, w oznacza prawidłowe słowo, a s błędną jego pisownię w = argmax wV P(w|s) = argmax wV P(s|w)P(w) / P(s) Do policzenia powyższego potrzebujemy: P(s|w) , P(w), P(s) P(s) - prawdopodobieństwo pojawienia się błędnego słowa s P(w) - prawdopodobieństwo pojawienia się w tekście słowa w P(s|w) - prawdopodobieństwo pojawienia się s zamiast w Rozważmy przykład: w tekście pojawiło się acress zamiast actress ... musimy policzyć prawdopodobieństwo zrobienia takiego błędu ...

30 Rodzaje błędów pisowni
Postulat zbadania częstości występowania konkretnych błędów w poszczególnych słowach jest nierealistyczny. Nie da się zebrać danych odpowiedniej wielkości Trzeba więc policzyć P(s|w) nie dysponując bezpośrednimi danymi. Źródła błędów: wstawienie zbędnej litery: ther - the, jeje - jej brak litery: ther - there, jj - jej zastąpienie prawidłowej litery inną: noq - now, zmiana kolejności liter: teh - the, nei - nie Wystąpienie słowa acress zamiast actress może być potraktowane jako błąd braku ‘t’, a więc poszukiwane prawdopodobieństwo to ... Należy więc w odpowiednio dużym (niepoprawianym) korpusie policzyć częstość braku litery ‘t’.

31 Metoda Kernighan’a (1990) Tabela prawdopodobieństw pomyłek (na podstawie korpusu) P (t|c) = del[c p-1, cp] / count[c p-1cp] if deletion  ile razy zamiast c p-1cp wystąpiło c p-1 ins[c p-1, tp] / count[cp-1] if insertion  ile razy zamiast c p-1 wystąpiło c p-1cp sub[t p, cp] / count[cp] if substitution  ile razy zamiast cp wystąpiło t p trans[c p, c p+1 ] / count[c pcp+1] if transposition  ile razy zamiast c p-1cp wystąpiło cpc p-1 Przykładowo jeśli chcemy podać prawdopodobieństwo błędu jje zamiast jej liczymy częstość wystąpienia je zamiast ej.

32 Metoda Kernighan’a, cd. założenie podstawowe: w słowie jest tylko jeden błąd generujemy wszystkie możliwe pojedyncze błędy dla danego (błędnego) słowa wyznaczamy wszystkie możliwe rezultaty tych błędów i sprawdzamy, które z nich są słowami naszego języka wyznaczamy prawdopodobieństwo wystąpienia poszczególnych słów proponujemy słowa w kolejności ich prawdopodobieństw

33 Wyniki dla acress zamiast actress
Korpus 44 milionów słów, poprawka dla słów niewystępujących w korpusie - dodanie 0.5 do wszystkich częstości P(c) = (C(c)+0.5) /(N+0.5*V) V- liczba słów w słowniku c freq(c) p(c) p(t|c) p(t|c)p(c) % actress x % cress x % caress x % access x % across x % acres x % acres x %

34 Podsumowanie metody a stellar and versatile acress whose... (actress)
Brak wykorzystania kontekstu, np.. a stellar and versatile acress whose... (actress) Zamiast obliczania prawdopodobieństwa błędu na podstawie korpusu ustalenie początkowo wszystkich prawdopodobieństw jako równych i „uczenie się” na podstawie dostarczanych zbiorów danych (pary słów błędnych i poprawnych) ! Jest (bardzo) wiele sposobów, na jakie można w danej sytuacji zastosować model Bayesa - zależy to głownie od rodzaju danych jakie chcemy/możemy zebrać Problemy związane z tym podejściem: potrzeba istnienia korpusów szczególne traktowanie słów, które nie wystąpiły ani razu

35 Automaty z prawdopodobieństwem, rozpoznawanie mowy
Jeżeli założymy, że reprezentacja wymowy jest niestandardową pisownią możemy rozpoznawanie mowy potraktować jako szczególny przykład ‘korektora’ pisowni Do rozpoznawania mowy konstruujemy automat, w którym stany reprezentują elementy wejścia (phones, letters, etc). przejścia wzbogacone są o prawdopodobieństwa mówiące jakie jest jego prawdopodobieństwo, Suma prawdopodobieństw na przejściach wychodzących z jednego stanu musi wynosić 1 z uwagi na tradycję symbole zgodnie z którymi dokonywane są przejścia przypisywane są do stanów, a nie samych przejść Ponieważ analizujemy tekst w języku naturalnym ograniczymy automaty do takich, w których wszystkie przejścia prowadzą „w przód”

36 Prob, FSA, modele słów Automat rozpoznający wymowę słowa ‘need’
start  n  iy  d3  end    n iy d Observation Sequence (phone symbols)

37 Wykorzystanie probabilistycznych FSA
Wykorzystując probabilistyczne FSA możemy odpowiedzieć na pytania: jakie jest prawdopodobieństwo wygenerowania konkretnego wyrażenia? Jaka jest najbardziej prawdopodobna ścieżka przejścia dla danego wyrażenia ? Jaki jest najbardziej prawdopodobny rezultat (wyjście) dla danego wejścia? Jak przypisać prawdopodobieństwa do przejść? (??)

38 Model Bayesa dla wymowy
Zadanie: na podstawie serii fonemów obliczyć najbardziej prawdopodobne słowo, które im odpowiada (założymy chwilowo, że fonemy te są prawidłowo rozpoznane i że znamy granice słowa) Przykład: założymy, że rozpatrywaną sekwencją jest [ni] korpus mówionego języka angielskiego (Switchboard Corpus) podaje następujące słowa, których wymowa jest [ni]: the, neat (neat little), new (New York), need, knee, to (talking to you) , you ! Wybór zgodnie z regułą w’ = argmax wW P(y|w) P(w) y= [ni], w -jedno z 7 słów Jak wyznaczyć p(y|w) ?

39 Reguły probabilistyczne
Propozycja 1: analogicznie jak dla błędów pisowni (tabele częstości pojedynczych błędów (dla pisowni były to: zamiana, opuszczenie, wstawianie, przestawienie kolejności) przeszkoda: zmian wymowy może być w jednym słowie wiele, są od siebie zależne (dotyczą nie tylko jednego fonemu) Idea: reguły probabilistyczne przykład: reguła, która mówi, że po wyrazie zakończonym na ‘n’, lub ‘m’ (głoska nosowa) słowo the może być wymówione jako [ni] (a dokładniej dźwięk [] może być zastąpiony przez [n]):   n / [+nasal]# __ zmiana ta nie zachodzi jednak zawsze: [.15]   n / [+nasal]# __ Jak ustalić wartość [.15]? - odpowiedź: na podstawie korpusu

40 Przykład, I need, cd. Słowo reguła P
the nasal assimilation   n / [+nasal]# __ [.15] neat pominięcie końcowego ‘t’ t   / V __ # [.52] need pominięcie końcowego ‘d’ d   / V __ # [.11] new zmiana ‘u’ przed ‘y’ u  i / __ #y [.36] w freq(w) p(w) p(y|w) p(y|w)p(w) knee the neat need new Poprawa wyniku - uwzględnienie kontekstu (np. bigramy)

41 Metody statystyczne w inżynierii lingwistycznej, cz.2

42 Słowa w kontekście Most zaprojektowany prawie 100 lat GW, 3-4.11.2001
temu przez Leonarda da Vinci otwarto w środę w Norwegii. W wielu przypadkach jesteśmy w stanie przewidzieć kolejne słowo (a przynajmniej klasę do jakiej należy) Rodzaje zasobów wiedzy, z której korzystamy: wiedza ogólna o świecie i dotycząca konkretnej dziedziny wiedza syntaktyczna wiedza leksykalna

43 Słowa w kontekście Postulat: Dużą część wiedzy niezbędnej do przewidywania możliwego dalszego ciągu wypowiedzi możemy analizować korzystając z metod statystycznych. W szczególności możemy mówić o prawdopodobieństwie zdania (wypowiedzi) Czy rzeczywiście chcemy przewidywać jakie będzie następne słowo? NIE, ale jeżeli umiemy to zrobić, to znaczy, że umiemy porównywać prawdopodobieństwa pewnych połączeń - umiemy oceniać prawdopodobieństwo/poprawność zdania. np. Przy analizie mowy możemy ocenić która z naszych hipotez jest najbardziej prawdopodobna

44 Rzeczywiste błędy pisowni
Wiadomo, że pewne typy błędów prowadzą do słów, które występują w słowniku (wykrycie ich wymaga uwzględniania kontekstu); sposób traktowania takich błędów, np. budowa listy często mylonych słów: piece/peace, whether/weather/, their/there etc. Jeżeli w zdaniu występuje któreś z często mylonych słów - konstrukcja alternatywnego zdania, zbadanie prawdopodobieństwa konkurencyjnych zdań i wybór słowa, które wchodziło w skład zdania o większym prawdopod. np.: ... blah blah blah the whether... vs blah blah blah the weather... Prawdopodobieństwo zdania może być widziane jako iloczyn prawdopodobieństwa słów, w nim występujących, np. P(The big cat)= P (the ^ big ^ cat)

45 Łańcuchy (Chain Rule) p(A1, A2, A3, A4, ..., An) =
Przypomnijmy definicję prawdopodobieństwa warunkowego: p(A|B) = p(A^B) / p(B) czyli p(A ^ B) = p(B|A) p(A) tzn. p(The ^ dog) = p(dog|the) p(the) W ogólności: p(A1, A2, A3, A4, ..., An) = p(A1|A2,A3,A4,...,An) ´ p(A2|A3,A4,...,An) ´ ´ p(A3|A4,...,An) ´ p(An-1|An) ´ p(An) inaczej p(wn1) = p(w 1 )p(w2 | w1) p(w3 |w21) ... p(wn | wn-11) = n k=1 p(wk | wk-11) (reguła łańcucha to bezpośrednia konsekwencja reguły Bayesa) !

46 „Złota reguła” (klasycznej statystycznej inżynierii lingwistycznej)
Jeżeli jesteśmy zainteresowani zdarzeniem A pod warunkiem B i jeśli bezpośrednie oszacowanie p(A|B) jest praktycznie trudne bądź niezgodne z naszymi zamierzeniami: zgodnie z regułą Bayes’a liczymy: argmaxA p(A|B) = argmaxA p(B|A) . p(A) / p(B) = argmaxA p(B|A) p(A) ! ... gdyż p(B) jest stałe dla zmieniających się A

47 „Złota reguła ...” OCR, ASR, HR, MT, ...
p(A|B) = p(B|A) p(A) / p(B) (formuła Bayesa) Abest = argmaxA p(B|A) p(A) („złota zasada”) p(B|A): model akustyczny, leksykalny, ... (nazwa zależna od aplikacji) p(A): model języka W statystycznych aplikacjach dotyczących języka naturalnego wiedza o źródle danych nazywana jest częściej modelem języka (Language Model) niż gramatyką.

48 Idealny model języka Język to ciąg form wyrazowych
notacja: A ~ W = (w1,w2,w3,...,wd) zadanie (cel modelowania): p(W) = ? Oczywiście jest reguła: p(W) = p(w1,w2,w3,...,wd) = = p(w1) ´ p(w2|w1) ´ p(w3|w1,w2) ´...´ p(wd|w1,w2,...,wd-1) ale niezbyt praktyczna -> zbyt wiele parametrów nawet przy małym d

49 Łańcuchy Markova W idealnym modelu - pamięć nieskończona:
dla wi, znamy wszystkich poprzedników w1,w2,w3,...,wi-1 Przybliżanie - założenie Markova: P (w n | wn-11)  P (w n | wn-1n-N+1) , (robimy założenie, które umożliwia nam zbieranie statystyk) tzn. pamięć ograniczona: zapominamy o „zbyt dawnych” poprzednikach pamiętamy tylko kilka (k) poprzedzających słów : wi-k,wi-k+1,...,wi-1 metoda ta nazywana jest aproksymacją Markova k-tego rzędu “kth order Markov approximation” + niezmienność w czasie

50 Łańcuchy Markova, bigramy
pełny wzór: P (wn1) = P (w 1) P(w 2 | w 1 ) P(w 3 | w 12)... P(w n | w 1n-1) =  P(w k | w 1k-1) k=1..n przybliżenie - założenie Markova: P (w n | wn-11)  P (w n | wn-1n-N+1) (N- rząd) założenie Markova dla bigramów P (wn1)   P(w k | w k-1)

51 Łańcuchy Markova, bigramy
Estymacja : P(w k | w k-1) na podstawie częstości w korpusie treningowym P (w n | wn-1) = c(w n-1 wn) /  w c(w n-1 w) = = c(w n-1 wn) / c(w n-1)

52 Przykłady x-Gramy unigrams: (bez pamięci)
P(dog), P(sen) bigramy: (pamięć jednego słowa) P(dog|big), P(sen|kolorowy) trigramy: (pamięć dwóch sów) P(dog|the big) P(sen|nienaturalnie kolorowy) quadrigramy: (pamięć trzech słów) P(dog|the big bad) P(sen|bardzo nienaturalnie kolorowy)

53 Przykłady z „Berkeley restaurant project”
Prawdopodobieństwa poszczególnych ciągów słów mogą być przybliżane przez liczebności w odpowiednio dużym korpusie. system odpowiada na pytania dotyczące restauracji w Berkeley, California korzystając z odpowiedniej bazy danych przykładowe pytania: I’m looking for Cantonese food. I’d like to eat dinner someplace nearby. Tell me about Chez Panisse. Can you give me a list of the kinds of food that are available? When is cafe Venezia open during the day? Korpus ok zdań, 1616 form wyrazowych

54 BERP, bigramy Counts I want to eat Chinese food lunch  uni.
P (w n | wn-1) =c(w n-1 wn) / c(w n-1) Counts I want to eat Chinese food lunch  uni. I want to eat Chinese food lunch Probs I want to eat Chinese food lunch I want to eat Chinese food lunch

55 Prawdopodobieństwo zdania
Prawdopodobieństwa policzone z danych: eat on (on|eat) eat at eat some eat Indian eat lunch eat Thai <s> I want to I want to eat British food Wyliczone prawdopodobieństwo zdania: P(I want to eat British food) = = P(I|<s>) P(want|I) P(to|want) P(eat|to) P(British|eat) P(food|British) (z uwagi na małe liczby operujemy zwykle na logarytmach, logprob)

56 Kilka uwag o podanych liczbach:
Częste połaczenia: P (want|I) = P (to|want) = P (eat|to) = .26 P (food|chinese) = .56 P (lunch|eat) = .055 Rzadkie połączenia: P (I|I) P (I|want) P (I|food) ale nie niemożliwe: P (I|I) I I I I want... P (I|want) I want I want P (I|food) the kind of food I want is...

57 N-gramowe modele języka n-gram Language Models
Aproksymacja Markova (n-1)th rzędu ® n-gram LM: p(W) =df Pi=1..dp(wi|wi-n+1,wi-n+2,...,wi-1) W szczególności (przy słowniku |V| = 60k): 0-gram LM: uniform model, p(w) = 1/|V|, 1 parametr 1-gram LM: unigram model, p(w), 6´104 parametry 2-gram LM: bigram model, p(wi|wi-1) ´109 parametry 3-gram LM: trigram model, p(wi|wi-2,wi-1) 2.16´1014 parametry

58 Kilka uwag - wnioski niewielka liczba zdarzeń występuje z dużą częstością duża liczba zdarzeń występuje z niska częstością. ! Można szybko zebrać dane dotyczące dużych częstości ! Zebranie danych dotyczących niskich częstości może trwa zbyt długo ! Zera pojawiające się w tabelach są dwojakiego rodzaju: rzeczywiste 0 0 wynikające ze zbyt małej próby

59 N-gramy, problem zerowych wystąpień
w przypadku generowania tekstów jesteśmy ograniczeni tylko do tych n-gramów, które wystąpiły w analizowanym korpusie; przy dostatecznej wielkości korpusu ograniczenie to ma niewielkie znaczenie praktyczne; przy analizie system przypisuje zerowe prawdopodobieństwa wyrażeniom, które zawierają takie elementy, które nie wystąpiły w korpusie - tak być nie może. Metody „obejścia” problemu nie wykorzystywać n-gramów wyższego rzędu wprowadzenie poprawek do modelu (smoothing) zmniejszeni liczności n-gramów, które wystapiły na rzecz tych, które nie wystąpiły (metody: Add-One , Witten-Bell) środki matematyczne (backoff (Katz Backoff), interpolacja)

60 BERP, bigramy, model Add One
Counts,org. I want to eat Chinese food lunch I want to eat Chinese food lunch Counts I want to eat Chinese food lunch I want to eat Chinese food lunch

61 Co osiągnęliśmy? Add One jest złą metodą przybliżania
bardzo duże zmiany częstości (duży % przypisany tym n-gramom, które nigdy nie wystąpiły) Gale i Church (1994) dowodzą, że jest to metoda gorsza nawet od wersji zupełnie nie poprawianej można dodawać mniej niż 1, ale wciąż nie jest to najlepsza metoda ..

62 Witten-Bell Idea: prawdopodobieństwo n-gramu, który jeszcze nie wystąpił jest zależne od tego jaka część z możliwych n-gramów nie pojawiła się jeszcze w korpusie Ile razy rozpoznawaliśmy jakiś n-gram po raz pierwszy? - tyle razy ile stwierdziliśmy różnych n-gramów (każdy był kiedyś rozpoznany po raz pierwszy), T Tak więc prawdopodobieństwo napotkania nowego typu (n-gramu) (czyli suma prawdopodobieństw wszystkich n-gramów, które jeszcze nie wystapiły):  pi* = T /( N + T) T- liczba typów, które wystąpiły w korpusie i:ci=0 N-liczba wszystkich wystąpień wszystkich typów

63 Witten-Bell Discounting
Ustaliliśmy prawdopodobieństwo wystąpienia wszystkich nie napotkanych jeszcze n-gramów, ale jak je rozdzielić ... Najprostsza propozycja - po równo Z =  1 czyli Z - liczba typów o licz pi* = T / Z ( N + T) i:ci=0 inaczej : pi* = T / Z ( N + T) if ci =0 Nie możemy jednak tylko dodać przewidywanych prawdopodobieństw - musimy unormować sumę do 1. Tym samym pomniejszamy prawdopodobieństwa tych n-gramów, które się pojawiły w korpusie: pi* = ci / (N + T) if (ci > 0)

64 Witten-Bell dla bigramów
W przypadku unigramów metoda ta przypomina metodę Add One Dla bigramów jednak metoda ta uwzględnia w pewnien sposób „historię”: rozdzielanie prawdopodobieństwa równo pomiędzy wszystkie n-gramy nie jest najlepszą strategią -- niektóre słowa częściej niż inne wprowadzają nowe konteksty, możemy oszacować prawdopodobieństwo wprowadzenia nowego bigramu na podstawie dotychczas zgromadzonych danych: Dla danego słowa liczymy ile różnych bigramów zaczyna i dzielimy przez liczbę wystąpień wszystkich bigramów zaczynających się od niego metoda często używana w systemach rozpoznawania mowy

65 Final Witten-Bell Bigram Equations
Całkowite prawdopodobieństwo bigramów, które się jeszcze nie pojawiły:  i:c(wx wi )=0 pi* (wi|wx) = T (wx) /( N(wx) + T(wx)) T- liczba typów bigramów, N- liczba wystąpień Dla poszczególnych bigramów (tak jak poprzednio): Z(wx)=  (ile bigramów ma 0 wystąpień) i:c(wx wi )=0 pi* (wi|wi-1) = T(wi-1) / Z(w i-1) (N + T(wi-1)) if c(wi-1 wi )= 0

66 BERP Liczba różnych bigramów dla słów z przykładu: I want to eat Chinese food lunch - 45 liczba słów 1616, więc dla każdego słowa możliwych bigramów liczba „niewidzianych” bigramów: I want to eat Chinese food lunch

67 BERP, bigramy, model Witten-Bell
Counts I want to eat Chinese food lunch I want to eat Chinese food lunch CountsWB I want to eat Chinese food lunch I want to eat Chinese food lunch

68 bigramy, porównanie Add One i W-B
CountsWB I want to eat Chinese food lunch I want to eat Chinese food lunch Counts I want to eat Chinese food lunch I want to eat Chinese food lunch

69 Good-Turing Discouting
Idea ogólna: (metoda dobra dla estymacji z dużych danych) wyznaczenie częstości występowania N-gramów, N(c) określa ile słów występowało c - razy (count-of-counts) estymator prawdopodobieństwa względnego wyznaczony na podstawie częstości występowania: pr(w) = (c(w) + 1) ´ N(c(w) + 1) / (|T| ´ N(c(w))) w szczególności oszacowanie częstości grupy na podstawie oszacowanego stosunku grupy 1 do 0 (dla słów jeszcze niespotykanych: c(w) = 0) pr(w) = N(1) / (|T| ´ N(0)) mała liczba grup (< 5-10, N(c) wysokie) oczywiście konieczna normalizacja (aby Sw p’(w) = 1)

70 Metody Backoff (cofania, korzystania z wiedzy częściowej)
Celem jest znalezienie przybliżeń dla n-gramów, które nie pojawiły się w zbiorze treningowym, a dokładniej prawdopodobieństwa pojawienia się formy x w konkretnym kontekście O ile forma ta już wcześniej występowała (ale w innym kontekście) możemy oprzeć nasze przypuszczenia na danych jej dotyczących. Na przykład: jeżeli nie mamy danych dla P(proces|poszlakowy) możemy skorzystać jakoś z P(proces), które zapewne nie jest zerowe. Ale trzeba wziąć pod uwagę dwa fakty: normowanie całkowitego prawdopodobieństwa do 1, zachowanie proporcji, tak by nie przypisać zerowym wystąpieniom prawd. wyższego niż dla wystąpień nie zerowych prawdopodobieństwa te ustalane są w różnych przestrzeniach

71 Katz Backoff Jeżeli N-gram ma liczność zero, „cofamy się” do N-1 - gramu, jeśli ten też ma liczność zero, to do n-2 - gramu ... w przypadku trigramów... pi (wi| wi-2 wi-1) if c(wi-2 wi-1 wi )> 0 p`(wi| wi-2 wi-1) = 1 pi (wi| wi-1) if c(wi-2 wi-1 wi )= 0 and c( wi-1 wi )> 0 2 pi (wi) wpp.

72 Podsumowanie Model języka najprostszy model języka składa się z:
Każda z zaprezentowanych metod oparta jest na jakieś obserwacji dotyczącej częstości występowania słów w języku. Żadna z tych obserwacji nie jest nieprawdziwa, ale uwzględnienie ich prowadzi do modeli dających różne rezultaty. Tak naprawdę wiele zależy od wielkości i rodzaju korpusu i potrzeb konkretnej aplikacji. Nie ma metody najlepszej. Model języka najprostszy model języka składa się z: zestawu N-gramów opracowanego na podstawie korpusu z częstościami „wygładzonymi” przy pomocy metody Witten-Bell lub Good-Turing w połączeniu z jakąś formą backoff. Mimo swej prostoty taki model jest użyteczny dla wielu zastosowań

73 Testowanie i uczenie Próbujemy odgadnąć prawdopodobieństwa zdarzeń, które się nigdy nie wydarzyły ! Jak możemy ocenić prawidłowość naszych przypuszczeń? Podział zbioru danych na dwa rozłączne podzbiory: zbiór treningowy wykorzystywany do wyliczenia danych modelu (uczenie się w tym kontekście oznacza wyliczanie częstości występowania w korpusie poszczególnych n-gramów) zbiór testowy wykorzystywany do sprawdzania modelu

74 Testowanie i uczenie Lepszy sposób:
Podział danych na trzy rozłączne zbiory: zbiór treningowy (Training Set) zbiór (Dev Test Set) służący do sprawdzenia modelu, poprawienia go bądź wyboru pomiędzy alternatywnymi modelami zbiór testowy (Test Set) wykorzystywany do końcowej oceny modelu. Dlaczego podział na więcej niż dwa zbiory? Trudno uniknąć wielokrotnego sprawdzania modelu, a jeżeli tylko sprawdzimy go na danych testowych i wprowadzimy poprawki, to wprowadzamy zakłócenia i nasz zbiór testowy traci niezależność - staje się zbiorem treningowym

75 Testowanie i uczenie podział danych na N zbiorów
Held Out Data (cross-validation) podział danych na N zbiorów trenowanie modelu na N-1 zbiorach testowanie na N-tym zbiorze powtarzanie tego procesu dla n różnych wyborów zbioru testowego uśrednienie rezultatów

76 Rozpoznawanie mowy Zadanie: przekształcenie sygnału mowy na tekst czyli: jakie zdanie języka L jest najbardziej prawdopodobnym źródłem sygnału akustycznego o. Obecne systemy komercyjne dotyczą różnych zastosowań: teksty o szerokiej tematyce (słownik rzędu słów) teksty z wąskiej dziedziny, polecenia pojedyncze słowa Problemy: wielu mówców mówiących jednocześnie hałaśliwe otoczenie szumy kanałów przesyłu (telefon, TV, ...)

77 Zadanie rozpoznawania mowy - podejście statystyczne
Przypomnienie: Wbest = argmaxw p(W|O) Wbest = argmaxw p(O|W) p(W) („złota zasada”) p(O|W): model akustyczny p(W): n-gramowy model języka HMM to metoda wyznaczenia p( O | W)

78 Rozpoznawanie mowy, zadanie łatwe czy trudne?
ciąg fonemów (dane z korpusu): ay d ih s hh er d s ah m th ih ng ax b aw m uh v ih ng r ih s en l ih to I just heard something about moving recently „łatwiejszy” przykład [aa n iy dh ax ] I need the

79 Model słowa automat z wagami (łańcuch Markova)
‘need’ a14=.11 a a12 start  n  iy  d3  end   a23=  a34 n ly d o o o3 observation sequence (phone symbols) zakładaliśmy tu, że znamy fonemy wejściowe, ale tak naprawdę nie mamy symboli fonemów tylko sygnał, który musimy podzielić na fonemy i słowa ...

80 Model słowa, HMM ‘need’ a14=.11
start  n  iy  d3  end prawdop. b1(o1) b1(o2) b2(o3) b2(o4) b2(o5) b3(o6) wyjściowe o o o3 o4 o5 o6 observation sequence (spectral feature vectors) (trzeba jeszcze dodać pętle w stanach n1, iy2 i d3 dla różnej długości fonemów)

81 Ukryte modele Markova, Hiden Markov Models, HMM
„Ukrycie alfabetu” Najprostszy HMM: stany generują symbole wyjściowe wykorzystując odpowiedni alfabet, ale nie ma to związku z nazwą stanów, jest „niewidzialne” (poniżej jeszcze każdy stan generuje inny symbol): t e 1 1 2 0.6 0.12 enter here 0.3 0.4 0.88 1 0.4 3 4 p(4|3) = 0.1 p(toe) = .6 ´ .88 ´ 1 = .528 0.2 a o

82 Zwiększona „elastyczność”
... ale różne stany mogą powodować wypisanie takich samych symboli (bo dlaczego nie?): sumowanie prawdopodobieństw dla wszystkich ścieżek t e 1 1 2 0.6 0.12 enter here 0.3 0.4 0.88 1 0.4 3 4 p(4|3) = 0.1 p(toe) = .6 ´ .88 ´ 1 + .4 ´ .1 ´ 1 = .568 0.2 t o

83 Wyjście związane z przejściami
Jeszcze większa elastyczność: generowanie wyjścia na przejściach, nie w stanach t t e 1 1 2 0.6 0.12 enter here 0.3 0.4 o 0.88 1 0.4 p(toe) = .6 ´ .88 ´ 1 + .4 ´ .1 ´ 1 + .4 ´ .2 ´ .3 + .4 ´ .2 ´ .4 = .624 3 4 e 0.1 e t 0.2 e o o

84 ... i w końcu prawdopodobieństwa wyjścia
Maksymalna elestyczność: [Unigramowy] rozkład (przestrzeń - alfabet wyjściowy) na każdym wyjściu: p(t)=0 p(o)=0 p(e)=1 p(t)=.8 p(o)=.1 p(e)=.1 3 1 4 2 0.6 0.4 0.88 0.12 !simplified! p(t)=.1 p(o)=.7 p(e)=.2 enter here p(toe) = .6´.8 ´.88´.7 ´1´.6 + .4´.5 ´1´1 ´.88´.2 + .4´.5 ´1´1 ´.12´1 @ .237 p(t)=0 p(o)=.4 p(e)=.6 p(t)=0 p(o)=1 p(e)=0 p(t)=.5 p(o)=.2 p(e)=.3

85 Inne ujęcie Zamiast przypisywać rozkład prawdopodobieństwa do jednego przejścia, można zapisać odpowiednio wiele przejść i każdemu przypisać odpowiedni symbol wyjściowy i prawdopodobieństwo: o,.06 e,.12 e,.06 1 2 t,.48 e,.176 enter here o,.08 t,.088 e,.12 o,.4 o,1 t,.2 p(toe) = .48´.616´.6+ .2´1´.176 + .2´1´.12 @ .237 o,.616 3 4 e,.6 W praktyce wykorzystuje się ten sposób, który w danej sytuacji jest wygodniejszy.

86 Formalizacja HMM (najogólniejszy przypadek) to (S, s0, Y, PS, PY) , gdzie: S = {s0,s1,s2,...,sT} to zbiór stanów, s0 jest stanem początkowym, Y = {y1,y2,...,yV} to alfabet wyjściowy, PS(sj|si) zbiór prawdopodobieństw przejść wielkość PS: |S|2. PY(yk|si,sj) zbiór prawdopodobieństw wyjściowych (wygenerowania symboli) wielkość PY: |S|2 x |Y| Przykład: S = {x, 1, 2, 3, 4}, s0 = x Y = { t, o, e }

87 HMM, przykład ´ Dla omawianego grafu: S = {x, 1, 2, 3, 4}, s0 = x
0.6 0.4 0.88 0.12 Dla omawianego grafu: S = {x, 1, 2, 3, 4}, s0 = x Y = { e, o, t } PS: PY: x 1 2 3 4 t o e .8 .5 .1 .7 .2 S = 1 .6 .4 1 .12 .88 x 2 3 4 S = 1

88 Wykorzystanie HMM Generowanie (o niewielkim praktycznym znaczeniu :-)): 1. początek w s = s0. 2. przejście z s do s’ z prawdopodobieństwem PS(s’|s). 3. Wypisanie symbolu yk z prawdopodobieństwem PS(yk|s,s’). 4. powtarzanie od kroku 2 (aż ktoś powie dość ) analiza: rozpoznawanie mowy, przypisywanie tagów morfologicznych ...

89 Wykorzystanie HMM HMM: model probabilistyczny i niedeterministyczny sekwencja stanów nie pozwala na jednoznaczne odtworzenie danych dane nie wyznaczają jednoznacznie ciągu stanów „najlepsze co można zrobić” to dla danego ciągu wejściowego odnaleźć najbardziej prawdopodobny ciąg stanów (lub odwrotnie, dla danego ciągu stanów wskazać najbardziej prawdopodobny ciąg wejściowy): Dla danego HMM & sekwencji wyjściowej Y = {y1,y2,...,yk}: (Zadanie 1) oblicz prawdopodobieństwo Y; (Zadanie 2) oblicz najbardziej prawdopodobny ciąg stanów, który doprowadził do wygenerowania Y

90 Zad. 1: obliczenie prawdopodob.
(zakładamy dla ułatwienia wyjście deterministyczne) HMM: .6 time/position t Trellis(siatka) .6 .4 B,0 ´,0 C,0 D,0 A,0 B,1 ´,1 C,1 D,1 A,1 B,2 ´,2 C,2 D,2 A,2 B,3 ´,3 C,3 D,3 A,3 C A D B 0.4 0.3 0.2 0.88 1 0.12 p(toe) = .6 ´ .88 ´ 1 + .4 ´ .1 ´ 1 = .568 enter here 0.1 t o e “rollout” .88 .1 1 Y: t o e + - trellis state: (HMM state, position) a(´,0) = 1 a(A,1) = .6 a(D,2) = .568 a(B,3) = .568 - each state: holds one number (prob): a a(C,1) = .4 - probability of Y: Sa in the last state - za Jan Hajic, 1999

91 Obliczanie wartości - start
rozpoczynamy w stanie początkowym (´), set its a(´,0) to 1. tworzymy pierwszą kolumnę siatki: dla pierwszego symbolu “wyjściowego” y1 kolumnę siatki, uwzględniając tylko te stany, w których można wygenerować y1 a(state,1) = PS(state|´) * a(´,0) ...i zapominamy o kolumie 0 position/stage ´,0 .6 a = 1 A,1 a = .6 .4 C,1

92 Następny krok Załóżmy, że jesteśmy w kroku i
1 A B 0.12 enter here 0.3 0.4 0.88 1 C 0.1 D 0.2 Załóżmy, że jesteśmy w kroku i Tworzenie następnego kroku: utworzenie „komórek” siatki dla tych stanów, które generują yi+1, ale tylko dla tych, które są osiągalne, z któregoś ze stanów kroku i ustalenie a(state,i+1) na: PS(state|prev.state) ´ a(prev.state, i) (dodanie wszystkich tych wartości dla łuków dochodzących do jednej komórki/stanu siatki ) ... i zapominamy o stanie i t o p(to) = .6 ´ .88 ´ 1 + .4 ´ .1 ´ 1 = .568 position/stage i= C,1 A,1 yi+1 = y2: o a = .6 a = .4 .88 .1 D,2 a = .568 +

93 Ostatni krok Kontunujemy, aż do wyczerpania “wyjścia”
dla przykładu z ‘toe’ |Y| = 3 czyli do kroku 3 dodajemy wszystkie a(state,|Y|) to jest szukane P(Y). Uwagi o algorytmie (miłe): zużycie pamięci: 2|S| max mnożeń: |S|2|Y| (S -zbiór stanów) last position/stage B,3 B,3 a = .568 1 D,2 a = .568 P(Y) = .568

94 Pełny przykład (wyjście nieterministyczne)
Stage: ,0´ .48 a = 1 A,1 a = .48 A,1 A,2 a = .2 A,2 .12 .2 1 B,3 a = = .176 C,1 C,1 .616 + a = .2 .6 y1: t y2: o D,2 D,2 D,3 a = y3: e o,.06 e,.12 P(Y) = P(toe) = e,.06 A B t,.48 e,.176 enter here o,.08 t,.088 e,.12 o,.4 o,1 t,.2 C o,.616 D e,.6

95 Zadanie 2: Algorytm Viterbi
Algorytm znajdowania najbardziej prawdopodobnej ścieżki stanów, której przejście mogło doprowadzić do wygenerowania zaobserwowanego sygnału (Y) znajdujemy Sbest = argmaxS P(S|Y) (Y jest stałe, więc i P(Y)): Sbest = argmaxSP(S,Y) = = argmaxSP(s0,s1,s2,...,sk,y1,y2,...,yk) = = argmaxSPi=1..k p(yi|si,si-1)p(si|si-1) (prawdopodobieństwo wygenerowania yi przy przejściu ze stanu si-1 do si razy prawdopodobieństwo przejścia z si-1 do si ) Jednocześnie rozwiązujemy inny problem - segmentację wejścia na słowa

96 Algorytm Viterbi ogólnie
w tablicy viterbi[ stan, pozycja_wejścia_t] przechowujemy max. prawdop., z jakim mogliśmy dojść do tego miejsca w dodatkowej tablicy back_pointers przechowujemy dla każdego stanu numer stanu poprzedniego, który leżał na ‘najlepszej’ ścieżce do „przedłużenia” ścieżki z s wybieramy s’ takie, że iloczyn prawdopod. ścieżki do s razy prawd. przejścia z s do s’ razy prawd. wygenerowania w s’ t jest max (dla wszystkich stanów)

97 Viterbi function Viterbi(observations of len T,state-graph) returns best-path num-states  num-of-states(state-graph) Create a path probability matrix viterbi[num-states+2,T+2] viterbi[0,0]  1.0 for each time step t from 0 to T do for each state s from 0 to num-states do for each transition s’ from s specified by state-graph new-score  viterbi[s, t] * a[s, s’] * b s’ (o t ) if ((viterbi[s’, t+1] = 0) or (new-score > viterbi[s’ , t+1])) then viterbi[s’ , t+1]  new-score back-pointer[s’, t+1]  s Backtrace from highest probability state in the final column of viterbi[] and return path prawdop. przejścia z s do s’ prawdop. s’|ot

98 Viterbi Example ‘r’ classification (C or V?, sequence?): t,r
p(t|C) = .3 p(r|C) = .7 p(o|V) = .1 p(e|V) = .3 p(y|V) = .4 p(r|V) = .2 t,r o,e,y,r ´,´ ´,C C,C .2 0.6 0.12 1 1 V,V enter here 0.88 0.07 0.4 ´,V C,V V,C 0.93 1 argmaxXYZ p(rry|XYZ) = ? .8 o,e,y,r o,e,y,r t,r Possible state seq.: (´,V)(V,C)(C,V)[VCV], (´,C)(C,C)(C,V)[CCV], (´,C)(C,V)(V,V) [CVV]

99 Viterbi Computation { Y: r r y a in trellis state: best prob
´,´ a in trellis state: best prob from start to here a = 1 C,C p(t|C) = .3 p(r|C) = .7 p(o|V) = .1 p(e|V) = .3 p(y|V) = .4 p(r|V) = .2 a = .42 x .12 x .7 = ´,C a = .6 x .7 = .42 t,r V,V t,r o,e,y,r a = x .07 x .4 = ´,´ ´,C C,C .2 0.6 0.12 1 C,V C,V 1 V,V enter here a = .42 x .88 x .2 = aC,C = x 1 x .4 = { 0.88 0.07 0.4 ´,V C,V V,C aV,C = .056 x .8 x .4 = = amax 0.93 1 V,C ´,V a = .08 x 1 x .7 = .056 .8 o,e,y,r o,e,y,r t,r a = .4 x .2 = .08

100 n-best State Sequences
Y: r r y ´,´ Keep track of n best “back pointers”: Ex.: n= 2: Two “winners”: VCV (best) CCV (2nd best) a = 1 C,C a = .42 x .12 x .7 = ´,C a = .6 x .7 = .42 V,V a = x .07 x .4 = C,V C,V a = .42 x .88 x .2 = aC,C = x 1 x .4 = ?{ aV,C = .056 x .8 x .4 = = amax V,C ´,V a = .08 x 1 x .7 = .056 a = .4 x .2 = .08

101 Potrzebne zasoby Korpus, aby wytrenować model języka. Powinien być duży i reprezentatywny dla konkretnej dziedziny zastosowań Słownik wymowy, który posłuży do zbudowania biblioteki modeli wymowy słów. korpus nagrań (wave files) z transkrypcją słowo po słowie korpus nagrań (spectral feature frames) z transkrypcją zawierającą fonemy

102 Uwagi o zasobach: Model języka powinien możliwie dobrze oddawać dziedzinę, której dotyczy dyktowany tekst, słownik wymowy prawdopodobnie nie będzie kompletny, duże ręcznie anotowane dane zawierające mowę są kosztowne, ręcznie anotowane dane na poziomie fonemów są jeszcze kosztowniejsze ! W rzeczywistości nie da się uzyskać wszystkich potrzebnych liczb z danych treningowych (konieczne estymacje)

103 Uwagi o algorytmie Viterbi
Najbardziej prawdopodobny ciąg stanów (odpowiadający najbardziej prawdopodobnemu ciągowi fonemów) może nie odpowiadać najbardziej prawdopodobnemu ciągowi słów (np. jeśli w słowniku jest wiele sposobów wymowy niektórych słów, słowa o jednoznacznej wymowie mogą być preferowane) ! Przy podanym sposobie analizy problemu nie przeszukujemy wcale przestrzeni ciągów słów. Możliwe bezpośrednie wykorzystanie tylko modelu bigramowego (dla modelu trigramowego, ścieżka max. prawdop. nie musi być przedłużeniem najlepszej śiceżki z poprzedniego stanu) - to można ominąć podając więcej rozwiązań

104 Best First Search Alternatywa - przeszukiwanie przestrzeni możliwych ciągów słów przy wykorzystaniu modelu języka do ewaluacji ścieżki modelu akustycznego do sugerowania najbardziej prawdopodobnych słów prawdopodobieństw stanowiących kombinację pr. akustycznych i tych z modelu języka Algorytm: przedłużanie najlepszej ścieżki, wyznaczanie najlepszej , przedłużanie ..

105 A* Problem: Co się stanie, jeśli porównamy prawdopodobieństwo rozszerzonej ścieżki do pr. innych, krótszych ścieżek? Rozwiązanie: Zmodyfikowanie prawdopodobieństwa tak, by zawierało heurystykę dotyczącą prawdopodobieństwa dalszego ciągu f *(p)= g(p) + h*(p) f*(p) - pr. całej ściezki g(p) - pr. kawałka p h*(p) - estymacja ‘najlepszego dalszego ciągu’ (trudne do oszacowania, zależne np. od liczby słów, które zostały)

106 Statystyczne tagowanie morfologiczne (POS).
Estymacja parametrów HMM.

107 Tagset (przypomnienie)
Najczęstszy zbiór etykiet to spis wszystkich możliwych kombinacji cech gramatycznych dla danego języka T Ì C1´C2´... ´Cn zwykle ciąg liter i cyfr: system skrótów: NNS (gen. noun, plural) system pozycyjny: pozycja i odpowiada Ci: AAMP3----2A---- (gen. Adj., Masc., Pl., 3rd case (dative), comparative (2nd degree of comparison), Affirmative ) tense, person, variant, etc.: N/A (oznaczone ‘-’)

108 Zadanie tagowania morfologicznego
Formalnie: A+ ® T A to alfabet fonemów (A+ niepusty ciąg fonemów) bardzo często zamiast fonemów - litery T jest zbiorem tagów (etykiet) (“tagsetem”) Przypomnieć należy wielość poziomów analizy języka: fonetyka... fonologia morfologia syntaktyka ... semantyka ... ”krok w bok” A+ ® 2(L,C1,C2,...,Cn) ® T morphology tagging: disambiguation ( ~ “select”) tagging

109 Przykłady Forma słowa: A+ ® 2(L,C1,C2,...,Cn) ® T
He always books the violin concert tickets early. MA: books ® {(book-1,Noun,Pl,-,-),(book-2,Verb,Sg,Pres,3)} tagging (ujednoznacznienie): ... ® (Verb,Sg,Pres,3) ...was pretty good. However, she did not realize... MA: However ® {(however-1,Conj/coord,-,-,-),(however-2,Adv,-,-,-)} tagging: ... ® (Conj/coord,-,-,-) [a n d] [g i v] [i t] [t u:] [j u:] (“and give it to you”) MA: [t u:] ® {(to-1,Prep),(two,Num),(to-2,Part/inf),(too,Adv)} tagging: ... ® (Prep)

110 Metody statystyczne (przegląd)
“Probabilistyczne”: HMM Merialdo i wiele innych (XLT) Maximum Entropy DellaPietra et al., Ratnaparkhi, i inni oparte na regułach: TBEDL (Transformation Based, Error Driven Learning) Brill’s tagger oparte na przykładach Daelemans, Zavrel, inne oparte na opisie cech (języki fleksyjne) Classifier Combination (Brill’s ideas)

111 Tagowanie statystyczne
Noisy Channel: Input (tags) Output (words) The channel NNP VBZ DT (adds “noise”) John drinks the ... Ponownie ta sama historia: Argmax P (Tag Sequence|Word Sequence) po przekształceniu: Argmax P(Word Sequence|Tag Sequence)P (Tag Sequence) P (Word Sequence)

112 Elementy modelu - P(Tag Sequence)
Jeżeli założymy, że dysponujemy otagowanym korpusem do trenowania naszego tagera i trigramowym modelem języka to P (Tag Sequence) może być przybliżone jako: P(t1) P(t2 | t1) n i=3 P(t i | t i-2 t i-1) co można wyliczyć z danych i wygładzić

113 Model word | tag n i=1 P(wi |ti ) P (Word Sequence|Tag Sequence)
Czynimy w tym miejscu upraszczające założenie, że słowo zależy tylko od tagu. n i=1 P(wi |ti ) Łącząc to z modelem języka, poszukujemy sekwencji tagów, które maksymalizują następującą wielkość: P (t1 )P (t2 | t1)n i=3 P(t i | t i-2 t i-1) (n i=1 P(wi |ti ) )

114 Tagowanie statystyczne jako HMM
Przejścia pomiędzy stanami i ich prawdopodobieństwa pochodzą z modelu języka prawdopodobieństwa wygenerowania symboli wyjściowych pochodzą z rozkładu P(word|tag) jak w przypadku innych podobnych zastosowań znajdujemy najbardziej prawdopodobną sekwencję tagów wykorzystując algorytm Viterbiego

115 Prosty przykład HMM a:P(a|n)P(n|n) a:P(a|n)P(v|n) a:P(a|v)P(v|v) n v
b:P(b|n)P(v|n) b:P(b|n)P(n|n) b:P(b|v)P(v|v) tagi: n v słowa: a b i obu słowom mogą być przyporządkowane oba tagi

116 Znajdowanie najbardziej prawdopodob. ścieżki (Viterbi, powt.)
Znamy ciąg wyjściowy, szukamy ciągu stanów (t) = arg max P(Word Sequence|Tag Sequence) dla każdego stanu liczymy, jakie jest największe prawdopodobieństwo znalezienia się w nim po t-krokach korzystamy z wyników dla ścieżki o 1 krótszej musimy zapamiętać wynik dla każdego stanu (przy danym wejściu) poprzednie wyniki możemy zapomnieć

117 Najbardziej prawdopodobna ścieżka
bbba a:.3 b:.2 b: a:.2 n v a: a:.2 b:.5 b:.1 stany  b bb bbb bbba n ciąg stanów n nn nnn nnnn nvvvn prawdopod V ciąg stanów v nv nvv nvvv nvvvv prawdopod

118 Obliczanie prawdopodobieństw dla HMM
Dla każdego stanu s i liczymy po każdym słowie prawdopodobieństwo z jakim dany ciąg słów (długości t) doprowadziłby nas nas tego stanu (warunki początkowe - dla ciągu pustego, pr. dla stanu początkowego =1, dla innych 0) i(t) =(def) P(w 1,t-1 , St=s i ) t>1 (forward probalility) 1. P(w 1,n ) =  i=1.. P(w 1,n, Sn+1=s i ) =  i=1.. i(n+1) prawd. uzyskania ciągu w 1,n jest sumą prawdopodobieństw uzyskania go poprzez „dokończenie” ciągu o 1 krótszego poprzez przejście ze wszystkich stanów HMM

119 Obliczanie prawdopodobieństw dla HMM
j(t+1) = P(w 1,t , St+1=s j ) =  i=1.. P(w 1,t, St=s i, St+1=sj ) =  i=1.. P(w 1,t-1, St=s i)P(wt, St+1=sj | w1,t-1, St = sj ) = (Markov as.)  i=1.. P(w 1,t-1, St=s i)P(wt, St+1=sj | St = sj )=  i=1..  i (t) P(si ->(wt) sj ) prawd. znalezienia się w momencie t w stanie i razy prawdopodobieństwo przejścia z i do j przy wt

120 Obliczanie prawdopodobieństw dla HMM
bbba a:.3 b: n b: v a:.2 a: a: b:.5 b:.1 Time ticks Input  b bb bbb bbba n(t) V(t) P(w1,t)

121 Prawdopodobieństwo liczone „wstecz”
i(t) =(def) P(w 1,t-1 , St=s i ) t>1 (forward probalility) i(t) =(def) P(w t,n | St=s i ) (backward probalility) prawdopod. zobaczenia ciągu w t,n o ile w kroku t znajdujemy się w s i i(t-1) =  j=1..  j (t) P(si ->(wt-1) sj ) prawd. zobaczenia ciągu wt w momencie t razy prawdopodobieństwo przejścia z i do j przy wt-1

122 Obliczanie prawdopodobieństw wstecz dla HMM
bbba a:.3 b:.2 b: a:.2 n v a: a:.2 b:.5 b:.1 Input bbba bba ba a  n(i) V(i) Ze stanu n będziemy mogli przejść z a albo do n z pr=.4, albo do v z pr .3

123 Uczenie Aby zdefiniować HMM musimy mieć prawdopodobieństwa (przejść i generowania słów) jeżeli dysponujemy danymi, to możemy tak dopasowywać nasz model, by większe prawdopodobieństwa nadawał sekwencjom, które pojawiły się w danych treningowych w skrajnym przypadku, możemy zapamiętać dane, ale na to potrzeba bardzo wielu stanów (zupełnie niepraktyczne podejście) jak inaczej: na przykład dla zwykłego łańcucha Markova - liczymy dla danych testowych, ile razy które z przejść zostało wybrane na wszystkie przejścia z danego stanu a n a v b b

124 Uczenie Ciąg treningowy: abbaababbaa Liczności: a n a v b b
z do wyjście liczność n v a 5 n n b 3 v n a 2 v n b 2 a n a v b b

125 Uczenie HMM trzeba od czegoś zacząć
Nie zawsze wiemy, które z przejść zostało wybrane (zakładamy, że wszystkie i rozdzielamy prawdopodobieństwo zgodnie z prawdopodobieństwem danej ścieżki) trzeba od czegoś zacząć Problemy z ew. punktami krytycznymi, maximami lokalnymi C(s i -> (wk) s j) =  P(s1,n+1 |w1,n ) *licz(s i -> (wk) s j, s1,n w1,n) ile razy (s i -> (wk) s j )pojawia się w ciągu stanów jeśli generowane jest w1,n

126 Przykład 1:.17 0:.67 1:.48 0:0.04 a b a b 0:0.16 1:1.01 0:.48 1:1.0
1:.17 0: :.48 0:0.04 a b a b 0: : : :1.0 Przybliżenie Właściwy model ciąg treningowy: możliwe ścieżki: ababaa abaaa aaabaa aaaaaa

127 Definicja modelu HMM dla tagowania
(prawie) ogólny model HMM: output (słowa) emitowany przez stany (nie łuki) stany: (n-1)-tka tagów (jeżeli wykorzystujemy model n-gramowy) piątka (S, s0, Y, PS, PY), gdzie: S = {s0,s1,s2,...,sT} zbiór stanów, s0 stan początkowy, Y = {y1,y2,...,yV} alfabet wyjściowy (słowa), PS(sj|si) zbiór prawdopodobieństw przejść między stanami PS(sj|si) = p(ti|ti-n+1,...,ti-1); sj = (ti-n+2,...,ti), si = (ti-n+1,...,ti-1) PY(yk|si) zbiór prawdopodobieństw emisji słów uproszczenie: PY(yk|si) = PY(yk|sj) jeśli si i sj zawierają najbardziej na prawo ten sam tag: PY(yk|si) = p(wi|ti)

128 Generowanie tekstów w języku naturalnym
Jurafsky Daniel, Martin James H. (2000) Speech and Language Processing. Upper Saddle River, Prentice Hall Mykowiecka, A. (1992) Podstawy przetwarzania języka naturalnego. Metody generowania tekstów, Akademicka Oficyna Wydawnicza, RM, Warszawa

129 Charakterystyka problemu
Generowanie tekstów: teksty stałe wzorce z miejscami do wypełniania tekst budowany ze słów (niewielkich fraz) Najogólniejszy podział zadania generacji wypowiedzi wyróżnia trzy fazy tworzenia tekstu: planowanie treści wypowiedzi, wybór adekwatnych informacji planowanie postaci wypowiedzi, wybór konstrukcji językowych, ostateczne sformułowanie wybór słów, powiązań, uzgodnienia

130 Planowanie postaci tekstów
W pracach nad komputerowym generowaniem tekstu wyróżnić można następujące podejścia: ustalenie schematów typowych wypowiedzi w terminach wybranego zestawu predykatów retorycznych (McKeown, 1985), opis znaczenia tworzonej wypowiedzi za pomocą formuł specjalnie zdefiniowanej logiki (Appelt, 1985), traktowanie tekstu jako drzewa opisującego relacje zachodzące pomiędzy sąsiednimi fragmentami tekstu (Mann & Thompson, 1988),

131 Schematy, McKeown (1982), Paris (1987)
Schematy opisują stereotypowe układy zdań w typowych tekstach np. definicjach obiektów. Zaletą schematów jest łatwość ich definiowania i wykorzystywania. Dla wybranego zastosowania określane są schematy odpowiadające wszystkim typom paragrafów, które pojawić się mogą w generowanych tekstach. Dla każdego wykorzystywanego w schematach typu zdania definiowany jest predykat precyzujący rodzaj informacji, jaką można za pomocą takiego zdania przekazać oraz pewne dodatkowe dane, np. ile razy ten typ zdania może pojawić się w ramach jednego paragrafu. Schematy są więc do pewnego stopnia niezależne od konkretnego zastosowania, a wiedza związana z daną dziedziną wykorzystywana jest do powiązania poszczególnych elementów schematu z konkretnymi danymi.

132 Schematy Generowanie tekstu w oparciu o schemat polega na sekwencyjnym analizowaniu wszystkich jego elementów. W każdym kroku dokonywana jest ewaluacja warunków stosowalności predykatów powiązanych z kolejnym elementem schematu, wybór wariantu, dla którego warunki te są spełnione oraz selekcja z odpowiedniej bazy danych informacji potrzebnych do sformułowania wybranego rodzaju zdania. Jednym z ograniczeń w stosowaniu schematów jest brak określenia funkcji retorycznej pełnionej przez poszczególne jego elementy. Z tego względu schematy nie są odpowiednie w przypadku systemów wymagających dynamicznego dostosowywania się do zmiennego kontekstu. Inną wadą jest brak elastyczności -- niezależnie od możliwości zapisu wielu wariantów wypowiedzi schematy zawsze precyzyjnie określają strukturę tworzonego tekstu i nie pozwalają na wprowadzanie zmian (z góry wiadomo dokładnie jakie układy tekstu są dopuszczalne).

133 TEXT, K. McKeown, lata 80-te Pennsylvania. Univ.
Zadaniem systemu TEXT było udzielanie odpowiedzi na pytania dotyczące struktury bazy danych. Jedna z jego wersji powstała dla bazy danych zawierającej informacje dotyczące jednostek pływających amerykańskiej marynarki wojennej. Użytkownik systemu mógł otrzymać odpowiedź na pytania typu: co to jest <obiekt>?, co wiesz o <obiekt>?, jaka jest różnica pomiędzy <obiekt1> a <obiekt>? żądane informacje wyszukiwane były w opisie bazy danych. Sposób wyszukiwania odpowiednich informacji oraz sposób konstrukcji odpowiedzi był określony dla każdego typu pytania.

134 TEXT - wiedza ogólna System TEXT przechowuje informacje na temat bazy danych, której dotyczą zadawane pytania. Pamiętane dane zorganizowane są w hierarchiczną sieć semantyczną zawierającą: obiekty występujące w bazie danych (np. nazwy atrybutów, hierarchia atrybutów, powiązania między nimi, sposób w jaki dzielą obiekty na klasy), obiekty powiązane (użytkownicy nie znający struktury bazy danych mogą formułować pytania pojęć pokrewnych) Przykładowymi faktami dodatkowymi, które należy umieścić w bazie wiedzy są: definicje atrybutów, np. pracownik administracji, informacje niezmienne w konkretnej bazie, np. płeć dla uczniów szkoły męskiej.

135 Typy zdań języka naturalnego (Grimes)
Opis atrybutu Maja ma żółtą sukienkę. Zrównoważenie Wina wspaniałe, to wina z dobrych winnic. Uszczegółowienie faktu Wczoraj było gorąco. Termometr_wskazywał_40 Wyjaśnienie Jan wrócił do domu ponieważ zapomniał parasola. Potwierdzenie faktu Publiczność zauważyła różnicę. Już po pierwszych kadrach filmu wybuchł śmiech. Analogia Przyrządź tę potrawę tak jak poprzednio, ale dodaj więcej wina. Podanie cechy wyróżniającej żyrafy wyróżniają się długą szyją Wprowadzenie opisu cech bądź podklas łódź była dość duża, biała, z biało-niebieskim żaglem Przedstawienie możliwego ciągu zdarzeń Jeśli Piotr wróci wcześnie, to nam wszystko opowie. Alternatywa Możemy pójść do kina lub do kawiarni. Skutek Naciśnięcie tego przycisku spowodowało wybuch. Przypuszczenie To było chyba w maju. Wniosek Nie przyjechałeś, więc Krzyś się obraził.

136 TEXT, schematy Przy użyciu powyższej klasyfikacji zdań zdefiniowane zostały następujące schematy przebiegu wypowiedzi: identyfikacja, opis na podstawie cech części składowych, opis cech, opis porównująco-różnicujący. Schematy opisano jako sekwencje zdań o określonych kategoriach, przy czym na jednej pozycji może w sposób alternatywny pojawić się kilka typów zdań.

137 Schemat identyfikacji
Identyfikacja { Analogia/ Opis cech/ Atrybut/ Przemianowanie/ Przykład} * Przykład szczegółowy/ Potwierdzenie + {Podkreślenie/ Analogia/ Opis atrybutu} {Przykład szczegółowy/ Potwierdzenie} Przykład tekstu, który powstał jako odpowiedź na pytanie: Co to jest statek? Statek to jednostka pływająca po powierzchni. Możliwości przewozowe opisane są przez atrybuty bazy danych DISPLACEMENT i DRAFT. Inne opisujące statek atrybuty to: MAXIMUM_SPEED, PROPULSION, FUEL (FUEL_CAPACITY, FUEL_TYPE). Na przykład DOWNES ma MAXIMUM_SPEED 29, PROPULSION - STMTURGD. {} opcjonalność, / alternatywa * powtórzenie zero lub więcej razy, + powtórzenie co najmniej raz,

138 TEXT - Planowanie treści wypowiedzi
wybór adekwatnego do pytania podzbioru bazy wiedzy. pytania o definicję lub o podanie wszystkich znanych faktów: z bazy wiedzy wydzielany jest fragment zawierający dany obiekt, jego atrybuty i części składowe oraz obiekty w stosunku do niego nadrzędne. pytania o różnicę: dobór informacji zależy od wzajemnego położenia w hierarchii rozpatrywanych obiektów. Dla elementów położonych blisko siebie wyznaczany jest podzbiór zawierający wszystkie ich atrybuty. W przeciwnym przypadku wybierane są tylko atrybuty klas, do których należą wskazane obiekty.

139 TEXT - Planowanie postaci wypowiedzi
Schematy przypisane do typów pytań pytanie o definicję: schemat identyfikacji albo opis części składowych pytania o informację: schemat opisu cech lub części składowych. pytania o różnice pomiędzy dwoma obiektami: schemat porównawczo-różnicujący Wybór schematu zależy od tego, jakie informacje na temat wskazanego obiektu zawarte są w bazie wiedzy. pytania o definicję: schemat opisu części składowych wybierany jest wtedy, gdy o samym obiekcie dostępnych jest mniej informacji niż o jego częściach.

140 Wybór w ramach schematu
Wybór alternatywnych możliwości w ramach schematu dokonywany jest według zasad sterujących wyborem tematu kolejnego zdania. [Sinder 79,83]. informacje dotyczące tematu wypowiedzi: bieżący temat, lista obiektów mogących stać się tematem kolejnego zdania stos zawierający wszystkie poprzednie tematy. Tematem kolejnego zdania może być: obiekt, który był tematem poprzedniej wypowiedzi, obiekt, który został wprowadzony w poprzednim zdaniu, obiekt, który był tematem któregoś z wcześniejszych zdań, obiekt związany z innym, spełniającym któryś z powyższych warunków.

141 Wybór w ramach schematu, cd.
Wybór konkretnej możliwości zależy od celu, jaki chce osiągnąć mówca, np.: kontynuacja rozmowy na ten sam temat, rozpoczęcie rozmowy na temat wprowadzony w ostatnim zdaniu, powrót do poprzednio omawianych kwestii. Rozwiązanie przyjęte w systemie TEXT: jeżeli istnieje możliwość zmiany tematu to system jej dokonuje, w przypadku wyboru pomiędzy tematem bieżącym, a którymś z tematów wcześniejszych system pozostaje przy temacie bieżącym.

142 Ostateczne sformułowanie wypowiedzi
Przypisanie informacji pochodzących z bazy wiedzy do poszczególnych zdań konstruowanego akapitu. Z każdym typem zdania związana jest specyfikacja rodzaju informacji, która może stanowić jego treść. Sposób przyporządkowania zależny jest od zastosowania. Nie zależy natomiast od schematu bazy danych. Implementacja schematów: automat, w którym stany odpowiadają pozycjom w schemacie, a łuki wyborowi możliwości. testowanie wszystkich możliwości na jeden krok naprzód. w każdym stanie odbywa się ewaluacja wszystkich możliwości, funkcje określające sposób wyboru najlepszej zawierają zasady wyznaczania tematu następnego zdania

143 RST - teoria opisu struktury wypowiedzi
Teoria struktury retorycznej RST (Rhetorical Structure Theory) (Mann, 1988). określenie funkcji pełnionych przez poszczególne elementy składowe tekstu poprzez zbudowanie hierarchii ich wzajemnych zależności. formalizm ten stał się podstawą kilku praktycznych rozwiązań problemu generowania wypowiedzi (m.in. Hovy, 1990; Moore & Swartout, 1991). W stosunku do metody opisu tekstów za pomocą schematów RST zapewnia większą różnorodność tworzonych konstrukcji, umożliwia też bezpośrednie uzależnienie postaci wypowiedzi od celu, jaki chce osiągnąć rozmówca.

144 Relacja RST relacja nucleus satelite
RST opisuje teksty w kategoriach relacji pomiędzy ich elementami składowymi. Każda relacja dotyczy dwóch obiektów, z których jeden traktowany jest jako główny ( nucleus), a drugi jako zależny (satelite). Element główny może wystąpić samodzielnie, natomiast użycie w wypowiedzi tylko elementu zależnego jest niewłaściwe. relacja nucleus satelite 1-n n+1 - m element zależny można zastąpić innym bez szkody dla spójności tekstu, zamiana elementu głównego ma zazwyczaj zasadniczy wpływ na sens całości. np. wyjaśnienie jakiegoś faktu może zawierać jeden z wielu możliwych sposobów tłumaczenia, różne argumenty, ale temat wyjaśnień jest stały.

145 Składowe relacji RST warunki, które musi spełniać obiekt główny,
warunki, które powinien spełniać element zależny, zależności pomiędzy obydwoma obiektami, efekty powodowane przez zastosowanie opisywanej relacji (obl.) Przykładowo relacja świadectwa (evidence) dotyczy sytuacji, w której budowane zdanie ma przekonać odbiorcę o prawdziwości jakiegoś faktu. Obiektem głównym relacji jest głoszona teza, a elementami zależnymi argumenty ją potwierdzające. Odpowiednie warunki zdefiniowane są następująco: odbiorca nie jest pewny prawdziwości faktu, odbiorca jest przekonany o słuszności argumentu, zrozumienie argumentu powiększy wiarę odbiorcy w fakt. Efekem zastosowania powyższej relacji jest wzrost przekonania odbiorcy o prawdziwości faktu.

146 Analiza tekstu w terminach RST
Analiza tekstu to określenie relacji zachodzących między sąsiadującymi ze sobą blokami tekstu; utworzona w ten sposób struktura musi być drzewem. Zdefiniowane w powyższy sposób relacje stanowią element składowy schematów reprezentujących budowę większych fragmentów tekstu. Przykładowe schematy to: okoliczność, tło, uwiarygodnienie, warunek, interpretacja. Poszczególne schematy mogą zawierać jedną lub więcej relacji. W wersji oryginalnej teoria zawierała definicje następujących relacji: okoliczność, rozwinięcie, umożliwienie, świadectwo, zamierzona przyczyna, zamierzony rezultat, antyteza, warunek, interpretacja, ponowne stwierdzenie, następstwo, rozwiązanie, tło, motywacja, potwierdzenie, niezamierzona przyczyna, niezamierzony rezultat, ustępstwo, inaczej, ewaluacja, podsumowanie, kontrast, sposób, porównanie, wkład, połączenie

147 Przykładowa analiza tekstu
1. W opinii X spadek cen na giełdzie był przesadny. 2. Przyczyną tego był wzrost stóp procentowych wielu banków amerykańskich. 3. Ale sceptycyzm jest nadal wysoki. 4. Trudno jest teraz przekonać kogoś do inwestycji na Wall Street. 5. Możliwe jednak, że rynek zareaguje pozytywnie na wystąpienie przew. BRF, 6. który podkreślił, że bank rezerw nie wzmocni swoich warunków kredytowych. concession backgroud bacground cause elaboration

148 Uwagi ogólne Struktury RST zawierają jedynie część informacji związanej z danym tekstem są reprezentowane powiązania między poszczególnymi frazami wchodzącymi w skład wypowiedzi. brak - danych dotyczących użycia konkretnych konstrukcji językowych, kolejności poszczególnych elementów, zasad uzgadniania cech gramatycznych. Pierwotną funkcją RST było opisywanie struktury już istniejących tekstów. Przy generowaniu wymagane jest narzucenie pewnych warunków na zasady łączenia relacji tak, by tworzony tekst był spójny. Jednym z podstawowych problemów związanych z RST jest ustalenie listy relacji, które mogą zachodzić między poszczególnymi fragmentami tekstu (próba systematyki: Hovy (1990), około 350 różnych relacji pochodzących z prac 25 osób)

149 Porównanie relacji RST i schematów
Zalety schematów: duża czytelność oraz łatwość ich definiowania i wykorzystania. Analizując schemat widzimy od razu (oczywiście w pewnym przybliżeniu) strukturę końcowego tekstu. Relacje RST tworzą zbiór oddzielnych reguł opisujących poszczególne zdania. Powiązania wyrażone są za pomocą elementów zależnych i pośrednio poprzez warunki stosowania relacji. Określenie struktury większych fragmentów tekstu wymaga więc prześledzenia wielu relacji, trudno też wskazać konsekwencje zmiany poszczególnych definicji.

150 Porównanie relacji RST i schematów, cd
Zaletą relacji RST jest konstruowanie drzewa opisującego strukturę retoryczną tekstu tzn. zależności pomiędzy poszczególnymi jego elementami. Za pomocą RST można kontrolować strukturę mniejszych fragmentów tekstu, nie koniecznie całych paragrafów. Z drugiej strony ustalenie struktury paragrafu przy wykorzystaniu RST jest znacznie trudniejsze. Korzystne byłoby połączenie obu technik budowy tekstu, co można osiągnąć poprzez pewne ograniczenia narzucone na wybór relacji. Takie rozwiązanie zaproponował np. Hovy (1991)

151 Hovy, 1991 moduł budujący drzewo struktury paragrafu tekstu, który przekazać ma wybrane uprzednio informacje. relacje RST -- plan opisujący zależności, jakie muszą zachodzić pomiędzy elementami, by mogły być użyte do jego realizacji. Na przykład tekst odpowiadający relacji circumstance pomiędzy faktami X i Y można skonstruować, jeżeli Y stanowi opis czasu lub położenia X. W oryginalnej koncepcji RST każda relacja mogła być w dowolny sposób połączona z innymi --> niespójność tworzonej wypowiedzi. Ograniczenia na sposób łączenia relacji -- tzw. punkty rozszerzania (growth points) zawierające listę relacji, które mogą być użyte w kolejnym kroku planowania postaci generowanego tekstu.

152 Tworzenie wypowiedzi Hierarchiczne rozwijanie planu aż do wykorzystania wszystkich wyselekcjonowanych elementów zgodnie z następującym schematem: pobranie kolejnego punktu rozszerzeń ze stosu, wyszukiwanie relacji spełniających opisane w nim warunki, dopasowanie odnalezionej relacji do rozpatrywanego punku rozszerzeń, dołączenie nowej relacji do drzewa (o ile dopasowanie powiodło się).

153 Tworzenie wypowiedzi, cd
Jeżeli więcej niż jedna relacja spełnia wymagane warunki tworzone jest alternatywne drzewo struktury wypowiedzi. Proces kończy się gdy zabraknie danych lub gdy żadne ze zbudowanych drzew nie może zostać rozszerzone. Jako ostateczny wynik wybierane są drzewa, które zawierają najwięcej informacji, a z nich te, dla których zostało najmniej niezrealizowanych punktów rozszerzeń. Jeżeli więcej niż jedno drzewo spełnia te warunki, to wyboru dokonuje się poprzez losowanie. Działanie opisywanego systemu przedstawimy na podstawie przykładu dotyczącego ruchu okrętów marynarki wojennej.

154 Przykład, dane wejściowe
((SHIP.EMPLOYMENT A105) (SHIP.R A105 Knox) (SHIP.COURSE.R A ) (CURRENT.POSITION.R A105 P102) (POSITION P102) (LONGITUDE.R P102 79) (LATITUDE.R P102 18) (READINESS.LEVEL.R A104 C4) (NEXT.MAJOR.EMPLOYMENT.R A105 E107) (CURRENT.MAJOR.EMPLOYMENT.R A105 E107) (ENROUTE E105) (EBEG.R E ) (EEND.R E ) (DESTINATION.R E105 SASEBO) (LOAD E107) (EBEG.R E ) (EEND.R E ) Statek o nazwie Knox, w stanie gotowości C4 znajduje się w drodze do Sasebo, gdzie dopłynie 24 kwietnia 1987 i będzie w trakcie załadunku przez 4 dni. Aktualne położenie statku to 18N, 79E, orientacja SSW.

155 Przykład, cd. grupowaniu informacji dotyczących tych samych cech i ewentualnemu utworzeniu struktur odpowiadających faktom złożonym. W podanym przykładzie rezultatem tego procesu jest następujący zbiór opisów, z których każdy będzie następnie wyrażony za pomocą zdania. ((ENROUTE E105) (SHIP.R E105 KNOX) (DESTINATION.R E105 SASEBO) (HEADING.R E105 HEADING416) (READINESS.R E105 READINESS408) (NEXT-ACTION.R E105 ARRIVE400)) ...

156 Załóżmy, że celem przygotowywanej wypowiedzi jest uświadomienie słuchaczowi pozycji statku E105, co zapisywane jest w następujący sposób: (BMB SPEAKER HEARER (POSITION-OF E105 ?NEXT) BMB oznacza obustronną wiarę mówcy i adresata wypowiedzi (hearer and speaker mutually belive that ...). Wyznaczony cel dopasowywany jest do pozycji efekt wszystkich zdefiniowanych w systemie planów/relacji RST. W tym przypadku jedynym planem realizującym wyznaczony cel jest plan odpowiadający relacji sekwencji, który przedstawia się następująco:

157 Relacja SEQUENCE efekt: ((BMB SPEAKER HEARER (POSITION-OF ?PART ?NEXT))) warunki dla połączenia elementu głównego i zależnego: (BMB SPEAKER HEARER (NEXT-ACTION.R ?PART ?NEXT))) warunki dla elementu głównego: (BMB SPEAKER HEARER (TOPIC ?PART)) punkty rozszerzeń dla elementu głównego: ((BMB SPEAKER HEARER (CIRCUMSTANCE-OF ?PART ?CIR)) ~(BMB SPEAKER HEARER (ATTRIBUTE-OF ?PART ?VAL)) ~(BMB SPEAKER HEARER (PURPOSE-OF ?PART ?PURP))} warunki dla elementu zależnego: ((BMB SPEAKER HEARER (TOPIC ?NEXT))) punkty rozszerzeń dla elementu zależnego: ((BMB SPEAKER HEARER (ATTRIBUTE-OF ?NEXT ?VAL)) ~(BMB SPEAKER HEARER (DETAILS-OF ?NEXT ?DETS)) ~(BMB SPEAKER HEARER (POSITION-OF ?NEXT ?FOLL))

158 Relacja SEQUENCE, cd. porządek: N S
warunek aktywacji: Czy A może zostać zaprezentowany jako element pewnego łańcucha akcji, czy odbiorca powinien wiedzieć, że A stanowi fragment takiej sekwencji? frazy łączące: ``~'' ``then'' ``next'’ W kolejnym kroku odszukiwane są elementy, które spełniają warunki opisujące połączenie elementu głównego i zależnego. Po przypisaniu dokonanym podczas dopasowywania celu początkowego: (BMB SPEAKER HEARER (NEXT-ACTION.R ?PART ?NEXT))) (BMB SPEAKER HEARER (NEXT-ACTION.R E105 ?NEXT)) (BMB SPEAKER HEARER (NEXT-ACTION.R E105 ARRIVE400))

159 Tworzenie planu Następnym krokiem realizacji wybranego planu jest rozpatrzenie punktów rozszerzeń. Pierwszym z nich jest: (BMB SPEAKER HEARER (CIRCUMSTANCE-OF E105 ?CIRC)) pasujący do pola efekt relacji circumstance. nazwa: CIRCUMSTANCE efekt: ((BMB SPEAKER HEARER (CIRCUMSTANCE-OF ?X ?CIRC))) sprawdzamy warunku uwzględniając przypisanie ?X do E105, uzyskując m.in: (BMB SPEAKER HEARER (HEADING.R E105 HEADING416)) Pozwala to na sformułowanie nowej relacji circumstance pomiędzy elementami E105 i HEADING416, którą można dołączyć do poprzednio zbudowanej relacji sequence:

160 Tworzenie planu, cd sequence  sequence
E105 ARRIVE400 circumstance ARRIVE400 E105 HEADING416 W trakcie przebudowy drzewa niezrealizowane punkty rozszerzeń relacji sequence przenoszone są do elementu głównego relacji circumstance, co umożliwia dalszą rozbudowę drzewa w węźle E105. Punkty rozszerzeń dla elementu zależnego dodawane są do listy niezrealizowanych rozszerzeń.

161 Tworzenie planu, cd Dalszy ciąg procesu planowania wypowiedzi przebiega następująco: punkt rozszerzeń relacji sequence wypełniany jest przez relację elaboration-attribute pomiędzy elementami E105 i READINESS408, punkt rozszerzeń relacji circumstance wypełniany jest przez relację elaboration-attribute pomiędzy elementami HEADING416 i POSITION410, punkt rozszerzeń elementu zależnego ARRIVE400 wypełniany jest przez relację sequence wiążącą go z elementem E107

162 Tworzenie planu, cd Proces planowania kończy się, gdy wszystkie elementy zbioru wejściowego zostaną wyczerpane. Wynik: sequence circumstance sequence elab-attrib elab-attrib ARRIVE E107 E105 RDNSS POSTN410 HEADING416 Knox, which is C4, is en route to Sasebo. It is at 18N 79E, heading SSW. (Knox, w stanie gotowości C4 jest w drodze do Sasebo. Jego pozycja to 18N, 79E, orientacja SSW.)

163 Ostateczne formułowanie tekstu
Dwa najbardziej znane podejścia: gramatyka systemowa (systemic grammar, Halliday, 1985) gramatyka w formie acyklicznej sieci wyborów funkcyjna gramatyka unifikacyjna (Functional Unification Grammar, Kay, 1979)

164 Ujednoznacznianie słów Wyszukiwanie informacji (dokumentów tekstowych)
(WSD, Word sense disambiguation) (IR, Information Retrieval) Ujednoznacznianie słów Wyszukiwanie informacji (dokumentów tekstowych) Natural Language Information Retrieval, T. Strzałkowski (ed.), Kluwer Academic Press. 1999

165 Powiązania między słowami
homonimy - jednakowy kształt słowa, różne znaczenia np. pokój (pomieszczenie) i pokój (przeciwieństwo wojny) homofony - jednakowe brzmienie słów, różna pisownia, znaczenie np. może, morze polisemia - wielość powiązanych znaczeń jednego słowa np. góra (piętro domu, część ubrania ...) Synonimy - różne leksemy o tym samym (prawie) znaczeniu (mogące się nawzajem zastąpić w pewnym kontekście) hyponimy - leksemy o szerszym znaczeniu np. pojazd mechaniczny vs. samochód,

166 Zadania: ustalenie ile i jakich znaczeń posiada dane słowo rozpoznawanie w jakim konkretnym znaczeniu wystąpiło dane słowo - word sense disambiguation taksonomia, hierarchia pojęć

167 WordNet - baza danych o znaczeniach słów
Utworzona ręcznie baza zawierająca opisy i powiązania semantyczne dla słów danego języka (pierwszy był angielski, nie ma jeszcze dla polskiego) zakres WordNet 1.6 dla angielskiego liczba form liczba znaczeń rzeczowniki czasowniki przymiotniki przysłówki WordNet nie zawiera słów z klas zamkniętych, np. spójników w praktyce mało słów ma wiele znaczeń

168 Przykładowy opis znaczeń
Fragment opisu rzeczownika bass w bazie WordNet: 1. bass - the lowest part of the musical range 2. bass, bass part - the lowest part in polyphonic music 3. bass, basso - an adult male singer with the lowest voice 4. sea bass, bass - flesh of lean-flesh saltwater fish 5. fresh water bass, bass - any of varoius North American lean-fleshed freshwater fishes 6. bass, bass voice, basso ... 7. bass ... 8. bass ...

169 Relacje w WordNet Rzeczowniki relacja definicja przykład Rzeczowniki
hypernym pojęcie -> pojęcie nadrzędne breakfast->meal hyponym pojęcie-> pojęcie podrzędne meal -> lunch has-member grupa -> członek katedra->profesor member-of członek ->grupa pilot -> załoga has-part ma części stół -> blat part-of jest elementem talerz -> serwis antonym jest przeciwieństwem pierwszy ->ostatni Rzeczowniki

170 Przykładowy opis hiponimii
Sense 3 bass, basso -- (an adult singer with the lowest voice) => singer, vocalist => musician, instrumentalist, player => performer, performing artist => entertainer => person, individual, someone ... => life form, organism, being ... => entity, something => causal agent, cause, causal agency

171 Role, FrameNet Rola przykład AGENT Kot rozlał mleko.
EXPERIENCER Jana boli głowa. FORCE Wiatr złamał drzewo. THEME Kiedy rozbił lód. (uczestnik doświadczający skutków) RESULT Wybudował dom. CONTENT Jan spytał „Byłeś tam sam?”. INSTRUMENT Uderzył go kijem. BENEFICIARY Kupił mu dom. SOURCE Przyleciał z Paryża. GOAL Poszedł do szkoły.

172 Selekcja znaczeń - ograniczenia na role
*I wanna eat someplace that’s close to ICSI. I wanna eat some really cheap Chinese food right now. AGENT I / I THEME *someplace ... / ...food Czasownik eat wymaga, by w roli THEME występował „obiekt jadalny”

173 Formułowanie ograniczeń
Przedmiot dla czasownika eat musi być jadalny: Logika pierwszego rzędu:  e,x,y eating(e)  Agent(e,x)  Theme(e,y)  Isa(y,EdibleThing) Hierarchia hiponimii w WordNet Theme {food, nutrient} (jeden z klasyfikatorów, te pojęcia musza znaleźć się w hierarchii) hamburger, beefburger -- (a fried cake of minced meet served on a ban) => sandwich => snack food => dish => nutriment, nourishment, sustenance ... =>food nutrient => substance, matter => object, physical object => entity, something

174 Problemy z ujednoznacznianiem
Różne ograniczenia na typ argumentów mogą pomóc przy ujednoznacznianiu przykładów: Which airlines serve Denver? - Pojedź do serwisu. Which one serves breakfast? - Użyj tego granatowego serwisu. Ale: niedostateczny kontekst: Jaki serwis polecasz? Sytuacje niecodzienne On naprawdę zjadł szklankę ! Przeczenie ale złota nie dało się jeść Bajki dla dzieci, sny...: śnił mi się latający krokodyl, piżama w różowe słonie

175 Ujednoznacznianie Reguły probabilistyczne
niczego (prawie) nie wykluczamy całkowicie, podajemy preferencje algorytm podaje to znaczenie, dla którego prawdopodobieństwo jest w danym kontekście największe odpowiednia metoda dla niejednoznacznych czasowników, ale przy jednoznacznych argumentach Metody „machine learning” uczenie się na podstawie korpusów anotowanych morfologicznie znajdowanie kontekstów użycia i wyznaczanie prawdopodobieństw dla poszczególnych znaczeń

176 Information Retrieval (IR)
Indeksowanie, wyszukiwanie dokumentów tekstowych Wyszukiwanie dokumentów w sieci WWW to obecnie jedna z najczęstszych operacji Problemy: wyszukanie właściwych dokumentów efektywne wyszukiwanie w bardzo dużych zbiorach Zadanie: Mając: - korpus tekstów pytanie użytkownika Wyznaczyć: uporządkowany zbiór dokumentów stanowiący odpowiedź

177 NLP: powiązania z IR NLP to syntaktyczna, semantyczna i pragmatyczna analiza tekstu w języku naturalnym, znajomość struktury syntaktycznej i interpretacji semantycznej powinna pozwolić na wyszukiwanie sterowane semantyką, a nie tylko słowami kluczowymi, Możliwości powiązań: metody ustalania znaczenia słów w oparciu o kontekst (word sense disambiguation), metody identyfikacji informacji w tekście (information extraction), udzielanie odpowiedzi na podstawie analizy korpusu tekstów.

178 Słowa kluczowe proste określenie poprawności odpowiedzi - tekst pytania (słowa kluczowe) występuje w dokumencie inne kryterium - słowa kluczowe występują w dokumencie często, w dowolnej kolejności (bag of words) ew. wymagamy, żeby były blisko siebie Problemy z wyszukiwaniem wg słów kluczowych: synonimy: “restaurant” vs. “café” “PRC” vs. “China” terminy wieloznaczne: “bat” (baseball vs. mammal) - kostka (cukru, nogi) “Apple” (company vs. fruit) - na prawo “bit” (unit of data vs. act of eating) - rząd (polski, drzew)

179 Trafność (relevance) Trafność (odpowiedniość) jest miarą subiektywną. Może dotyczyć m.in.: właściwego tematu, aktualności danych, wiarygodności danych (pochodzenia z wiarygodnego źródła), zaspokojenia potrzeb użytkownika (information need). Inteligentne metody IR muszą brać pod uwagę: znaczenie użytych w pytaniu słów, porządek słów w pytaniu, reakcje użytkownika (bezpośredni bądź pośredni feedback), wiarygodność źródła informacji.

180 Składowe systemu IR Text Operations utworzenie listy słow, według której robiony będzie indeks (tokens). Usunięcie słow nieznaczących (Stopword removal) wyznaczenie form bazowych (Stemming) Indexing skonstruowanie indeksu od słów do dokumentów (an inverted index of word to document pointers). Searching odszukanie dokumentów zawierających tokeny z pytania. Ranking przypisanie dokumentom wagi.

181 Składowe systemu IR (cd)
User Interface - interakcja z użytkownikiem : Query input and document output. Relevance feedback. Visualization of results. Query Operations - przekształcenie pytania dla zwiększenia skuteczności wyszukiwania: rozszerzenie pytania przy wykorzystaniu tezaurusa przekształcenie pytania na podstawie otrzymanej informacji zwrotnej

182 Wyzwania sieci www dla IR
Distributed Data: dokumenty ulokowane na milionach serwerów Volatile Data: wiele dokumentów nagle pojawia się lub znika Large Volume: bardzo wiele oddzielnych dokumentów Unstructured and Redundant Data: brak jednolitej struktury, błędy HTML, do 30% (prawie) powielonych dokumentów Quality of Data: brak kontroli edytorskiej, nieprawdziwe informacje, kiepskiej jakości teksty, etc. Heterogeneous Data: wiele typów danych (obrazy, filmy, ...) języków, zbiorów znaków

183 Liczba indeksowanych stron www
SearchEngineWatch, Aug. 15, 2001 Google lists current number of pages searched.

184 Prawo Zipf’a Niech Rank (r) będzie pozycją słowa na liście posortowanej według malejących częstości. Zipf (1949) “odkrył” że: częstość występowania obserwacji r , wyrażona jako funkcja jej pozycji na liście częstości (r) jest wyrażana funkcją Pr ~ 1/ra gdzie a jest bliskie jedności. jeżeli prawdopodobieństwo wystąpienia słowa o pozycji r wynosi pr, a N jest liczbą wszystkich wystąpień wszystkich słów, to:

185 Prawo Zipf’a a przydatność słów dla indeksowania
Zarówno słowa występujące bardzo często, jak i te występujące bardzo rzadko, są mało przydatne z punktu widzenia indeksowania, Luhn (1958).

186 Prawo Zipf’a a korpus Brown’a

187 Prawo Zipf’a a sieć Web Rozkład Zipf’a charakteryzuje m.in.:
liczbę powiązań do i ze strony www długość stron www liczbę odwołań do strony www

188 Automatyczna klasyfikacja dokumnetów
Ręczna klasyfikacja jest pracochłonna, subiektywna i obarczona błędami potrzebne są metody automatycznej kategoryzacji dokumentów najlepsze metody oparte są metodach machine learning (pattern recognition) przy wykorzystaniu poetykietowanego zbioru treningowego (supervised learning).

189 Automatyczne tworzenie hierarchii dokumentów
Do klasyfikacji dokumentów potrzebne są hierarchie typów ręczne towrzenie hierarchii jest ... pracochłonne, subiektywne i obarczone błędami potrzebne sa metody automatycznego tworzenia hoierachii na podstawie zbioru dokumnetów metoda - hierarchical text clustering (unsupervised learning) (Hierarchical Agglomerative Clustering, HAC)

190 IR, Vector Space Model  wi2
Dokumenty i pytania przedstawiane są w postaci wektorów cech reprezentujących występujące obiekty (dokładniej wartość cechy określa, czy dany obiekt występuje czy nie w danym dokumencie) dokument j -- dj = (t1,j , t2,j, ..., tN,j) pytanie k qk = (t1,k , t2,k, ..., tN,k) w wektorach powyżej zamiast 0,1 umieszczamy liczby oddające częstości dokumenty i pytania są wektorami w przestrzeni N-wymiarowej dla ułatwienia porównań normalizujemy wektory, dzielimy każdą współrzędną przez długość wektora, tj.  wi2 i=1,,N

191 IR, Vector Space Model, cd.
Odległość między znormalizowanymi wektorami: sim(qk, dj) = qk . dj =  wi,k x wj,k (dot product) i-1..N wyznacza cosinus kąta między wektorami, takie same wektory kąt 0 cosinus 1, wektory prostopadłe, „bardzo odległe”, cosinus 0.

192 IR, Vector Space Model, cd.
Wartości istotne dla modelu: częstość występowania słowa w tekście dystrybucja słowa w zbiorze tekstów słowa występujące rzadko (tylko w niewielu tekstach) dobrze nadają się do wyboru tego właśnie podzbioru słowa często występujące są niedobre do selekcji czegokolwiek

193 IR, Vector Space Model, cd.
Miara „przydatności” obiektów (termów): N/ni N - liczba dokumentów w kolekcji ni - liczba dokumentów, w których występuje ni (1 - term występuje we wszystkich dokumentach) idf i = log(N/ni) (inverse document frequency) wi,j = tf i,j x idf i (tfi,j częstość termu i w dokumencie j)

194 Wybór termów Stop lista
słowa występujące często, spójniki ... ale (to be or not to be) -> not (Brown corpus, za Frakes, Baeza-Yates)) ustalenie tematów słów (stemming) - nieodzowny dla języka fleksyjnego, ale bardzo trudny przy wielu wymianach tematowych (ćma - temat pusty)

195 Poprawianie pytań Stopniowe tworzenie odpowiedzi (relevance feedback)
mały zbiór odpowiedzi początkowych, reakcja użytkownika określającego, które z tej grupy są najlepsze iteracja (często tylko jeden krok interakcji wystarcza) rozszerzenie pytania (query expansion) dodanie termów pokrewnych tym z pytania (w oparciu o tezaurusy)

196 Ocena wyników Precyzja
Precision = liczba podanych właściwych dokumentów liczba wszystkich właściwych dokumentów Pełność Recall = liczba podanych właściwych dokumentów liczba wszystkich podanych dokumentów

197 Search Results Clustering -
Definicja problemu: efektywne utworzeniu sensownych grup tematycznie powiązanych dokumentów, oraz zwięzły opis w sposób zrozumiały dla człowieka Problem nie jest trywialny… nie jest znana liczba oczekiwanych grup miara podobieństwa dokumentów jest trudna do zdefiniowania grupy mogą się nakładać znalezienie opisu dla grup nie jest proste wymagana szybkość wykonywania (on-line) dokumenty mogą być wielojęzyczne opisy są zazwyczaj krótkie (snippets) i niepełne

198 Modelowanie podobieństwa
modelowanie odległości w przetrzeniach n-wymiarowych (Vector Space Model) model grafowy współwystępowanie słów i fraz Pojęcie bliskości w macierzy A: jesteśmy zainteresowani kątem jaki tworzą między sobą wektory dokumentów identyczny kąt -> dokumenty złożone są z identycznych słów -> dokumenty są podobne

199 Przykład –macierz A

200 Algorytmy grupowania a macierz A
wykorzystanie informacji o bliskości dokumentów w A zastosowanie mają wszelkie metody analizy skupień w danych numerycznych problemy grupy zazwyczaj sferyczne każde słowo jest traktowane oddzielnie problemy ze znalezieniem opisu grup problem z naturalnym kryterium stopu dla większości algorytmów

201 Algorytm STC – wykorzystanie fraz
Suffix Tree Clustering, Oren Zamir, O. Etzioni fraza = sekwencja występujących po sobie słów algorytm rozważa wspólne podfrazy występujące w dokumentach zalety brak numerycznej miary odległości frazy stanowią zazwyczaj dobre opisy grup liniowa złożoność - O(N) wady słabo radzi sobie z szumem problemy z separacją małych grup wrażliwość na progi i język dokumentów


Pobierz ppt "Skrót: wykłady 7-11 i trochę semantyki z wykładu 6"

Podobne prezentacje


Reklamy Google