Transcript Document
WUT TWG 2006 WEDT Lingwistyka Wykład 3 Piotr Gawrysiak [email protected] 2006 Projekt – uaktualnienie Trzy grupy studentów: Prowadzący 1) Damian Gajda – [email protected] 2) Piotr Gawrysiak – [email protected] 3) Grzegorz Protaziuk - [email protected] 1) Banyś - Gurova 2) Jaszcza - Podlaski 3) Pusz – Zaborowski • W związku z moją chorobą przesunięciu ulegają terminy: • I wybór tematu – 6 listopada • II projekt wstępny – 27 listopada • III implementacja – termin ostatnich zajęć WUT TWG 2006 Lingwistyka • • • Sposób opisu języka Gramatyka – zbiór reguł opisujących formy słów i ich współwystępowanie dopuszczalne w danym języku Gramatyka klasyczna • • • • Przeznaczona dla ludzi (najlepiej znających dany język) Reguły zwykle oparte na przykładach, także wyjątki od reguł Zwykle nie jest sformalizowana, nie istnieją narzędzia (matematyczne, IT) które ją rozumieją Gramatyki formalne • • • (CFG, LFG, GPSG, HPSG, ...) Opis formalny Sprawdzalne na danych (korpusach tekstowych) WUT TWG 2006 Opis języka • Poziomy opisu języka • • • • • • • Fonetyka Fonologia Morfologia Składnia Semantyka Pragmatyka Każdy z poziomów możemy interpretować jako filtr, posiadający wejście (od poziomu niższego) i wyjście (do poziomu wyższego) • Oczywiście nie zawsze interesuje nas przejście od fonetyki do pragmatyki WUT TWG 2006 Fonetyka, fonologia • Wejście • • Wyjście • • • Sygnał mowy Ciąg głosek Ciąg liter Problemy • • • • • Głos każdego człowieka daje nieco inny sygnał, wydzielenie sygnału mowy z szumu (który może zawierać inne rozmowy), intonacja itp.; Klasyfikacja głosek – samogłoski, spółgłoski; W wielu językach - trudna reprezentacja tekstowa głosek – np. AU ~ b[oo]k -> pronunciation dictionary (PRONLEX, CMUdict, CELEX ...); Błędy w wypowiedzi, gwary języka itp. Konieczność określenia przerw pomiędzy wyrazami. WUT TWG 2006 Morfologia • Wejście • • Sekwencja głosek (tekst) Wyjście • • Sekwencja oznakowanych morfemów Morfem – niepodzielna część znaczeniowa wyrazu • • • • Rodzina wyrazów – zbiór wyrazów pokrewnych ze względu na podobieństwo postaci lub podobieństwo podstawowego znaczenia Morfemy główne – rdzenie wyrazów (root form) • • wyrazy niepodzielne – brat, koń, noc składające się z wielu morfemów – koń-ik, dzien-n-y, prze-pis-a-ć prac-; stróż-; ucz-; Morfemy poboczne • • Słowotwórcze – przedrostki i przyrostki Fleksyjne – służące do reprezentacji odmiany słowa • Leksem – oznaczenie wszystkich form fleksyjnych danego słowa, słowo w potocznym sensie WUT TWG 2006 WUT TWG Morfologia 2006 To co zwykle chcemy uzyskać to informacja, jaką część mowy stanowi dany wyraz Czy wystarczy posłużyć się słownikiem (lexicon)? - Taki słownik musiałby być bardzo duży, szczególnie dla języków fleksyjnych! W języku mamy do czynienia z procesem morfologicznym, który tworzy nam nowe słowa i nowe formy słów Proces morfologiczny • Słowotwórstwo • Wyprowadzanie słów pochodnych ze słów podstawowych (derivation) np. • • • • rzeczownik->rzeczownik: nauczyciel – nauczycielka przymiotnik->przysłówek: wide – widely czasownik->rzeczownik: kłamać – kłamca ... Może zmieniać część mowy Część wspólna obu wyrazów – pień, pozostała część wyrazu pochodnego - formant • Tworzenie słów złożonych (compounding) np. • • • tea kettle, disk drive, downmarket, overtake, ... cichobieżny, naprzeciwległy, rakotwórczy, ... Fleksja – nadanie znaczenia rdzeniu wyrazu za pomocą przyrostków i przedrostków zmieniająca liczbę, rodzaj, przypadek (w tych językach w których występują przypadki) itd. ale nie zmieniająca części mowy np. • dog->dog-s, chodz-ić->chodz-ę WUT TWG Fleksja • Jak łatwo się domyślać angielska fleksja jest bardzo prosta... • • • 2006 rzeczowniki – liczba mnoga, possesive czasowniki – w zależności od używanego czasu ale... • Niektóre słowa są nieregularne np. • regularne • • nieregularne • • • • Walk, walks, walking, walked, walked Eat, eats, eating, ate, eaten Catch, catches, catching, caught, caught Cut, cuts, cutting, cut, cut także rzeczowniki: mouse/mice, goose/geese, ox/oxen Powyższe problemy komplikują zastosowania takie jak wyszukiwanie informacji – nie można zastosować zwykłego dopasowywania wzorców ani wyrażeń regularnych. Fleksja • Polska fleksja natomiast jest… • Np. czasownik JEŚĆ • • • • • • Ja jem – od jajo? Ty jesz – od tyć? On je – je to biernik liczby mnogiej zaimka ona, hmmm…??? My jemy – od myć? Wy jecie – od wyć? Oni jedzą – od jechać, bo: • • • My jedziemy Wy jedziecie Oni jedzą Źródło: Julian Tuwim, Cicer cum Caule czyli groch z kapustą, Panopticum i Archiwum Kultury WUT TWG 2006 WUT TWG Stemming • • • 2006 Jednym z rozwiązań jest stemming – automatyczne odnajdywanie rdzeni lub pni wyrazów Większość stemmerów nie zapewnia tego, iż tworzone przez nie ciągi liter to rzeczywiście rdzenie – nie jest to jednak istotne, tak długo jak dla wszystkich wyrazów należących do danego leksemu otrzymujemy taki sam rdzeń Zastosowanie w IR • • • 1. Zamiana wszystkich wyrazów w bazie danych na rdzenie (preprocessing) 2. Zamiana wyrazów w zapytaniu użytkownika na rdzenie (podczas wyszukiwania) 3. Poszukiwanie ciągu znaków w bazie danych Z punktu widzenia IT stemming to funkcja mieszająca (hash function) for example compressed and compression are both accepted as equivalent to compress for exampl compres and compres are both accept as equival to compres Dodatkowo uzyskujemy zmniejszenie rozmiaru indeksu Stemmery Ogólny podział • • Stemmery specjalizowane do zastosowań lingwistycznych (generowane rdzenie powinny rzeczywiście odpowiadać rdzeniom w rozumieniu lingwistyki, szybkość działania nie jest bardzo istotna) Stemmery specjalizowane do zastosowań IR (information retrieval) Pierwszy skuteczny algorytm dla angielskiego - Lovin’s stemmer (1968) – stemmer jednoprzebiegowy, wykorzystujący tablicę 250 możliwych podstawień końcówek oraz dodatkowy etap postprocessingu – był projektowany jako uniwersalny Obecnie najpopularniejszy stemmer – Porter’s stemmer, specjalizowany dla IR, wieloprzebiegowy, nie generuje poprawnych językowo rdzeni Inne – Krovets (1993) – trójprzebiegowy stemmer wyłącznie fleksyjny, Dawson (1974) – poprawiona wersja stemmera Lovins, zawiera tablicę 1200 podstawień, Paice/Husk (1990) – stemmer oparty na dopasowywaniu reguł, nie ma ograniczenia na liczbę kroków podstawień SNOWBALL – język (+kompilator do ANSI C) do tworzenia stemmerów http://snowball.tartarus.org WUT TWG 2006 Dygresja - 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 WUT TWG 2006 WUT TWG Reguły 2006 • Wielkość liter ma zwykle znaczenie (case sensitive) /woodchuck/ • Ciągi /[wW]oodchuck/ Woodchuck lub woodchuck Woodchuck /[abc]/ a, b lub c In uomini, in soldati /[1234567890]/ Dowolna cyfra Plenty of 7 to 5 /[A-Z]/ Wielka litera we call it „A great /[a-z]/ Mała litera my dear /[0-9]/ Dowolna cyfra Chapter 1: in • Zakres WUT TWG Reguły 2006 • Dopełnienie /[^A-Z] / Nie wielka litera Woodchuck /[e^]/ e lub ^ Look up ^ now /a^b/ Ciąg a^b Look up a^b now /woodchucks? woodchuck lub woodchucks woodchuck /colou?r/ color lub colour colour • Znaki opcjonalne • Kleene * • Zero lub więcej powtórzeń poprzedzającej sekwencji • /[ab]*/ - aaaa, bbbb, abababbba, bbabaaab WUT TWG Reguły 2006 • Alternatywa i grupowanie /cat|dog/ cat lub dog cat /gupp(y|ies)/ guppy lub guppies guppy /(Column_[0-9]+_*)*/ Column 1 Column 2 itd. • 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 WUT TWG 2006 Hierarchia operatorów 1. Grupowanie 2. Liczniki 3. Kotwice 4. Alternatywa () * + ? {} the ^my end$ | {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 WUT TWG 2006 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. WUT TWG 2006 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. WUT TWG 2006 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 WUT TWG 2006 Zastosowania w NLP • Wszędzie • ELIZA: • • • • • • • • U: Men are all alike. E: IN WHAT WAY? They’re always bugging us about 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 WUT TWG 2006 ELIZA (kanoniczna) • • • 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 WUT TWG 2006 Stemmer Portera • • Zaproponowany przez Martina Portera w 1980 r. Oparty na serii przekształceń dokonujących kolejnych podstawień ciągów znaków (nb. styl podobny do ELIZY) GENERALIZATIONS GENERALIZATION GENERALIZE GENERAL GENER • Oznaczenia • C = ciąg spółgłosek (spółgłoska - nie A E I O U lub (Y poprzedzone C) • V = ciąg samogłosek • M = przybliżona miara liczby sylab gdzie słowa składają się z: (C)*(V*C*)M(V)* np. M=0 TR, EE, TREE, Y, BY M=1 TROUBLE, OATS, TREES, IVY M=2 TROUBLES, PRIVATE, OATEN, ORRERY • warunki • • • • *S - rdzeń kończy się na S *v* - rdzeń zawiera V *d - rdzeń kończy się na dwóch spółgłoskach C, np. -TT, -SS *o - rdzeń kończy się na CVC, gdzie ostatnie C to nie W, X lub Y, np. -WIL, HOP WUT TWG 2006 WUT TWG Stemmer Portera 2006 Krok 1: Liczba mnoga rzeczowników i trzecia osoba liczby pojedynczej czasowników SSES SS IES I caresses ponies ties caress cats SS SS S *S = kończy się na <S> caress poni ti caress cat *v* = zawiera V *d = kończy się na podwójnym C *o = kończy się na CVC gdzie drugie C != W, X, Y Krok 2a: Czas przeszły i strona bierna (M>0) EED EE i (*v*) ED ii (*v*) ING feed feed, agreed agree plastered motoring plaster, bled bled motor, sing sing Krok 2b: postprocessing po 2a jeśli użyto i lub ii AT ATE conflat(ed) conflate BL BLE troubl(ed) trouble IZ IZE siz(ed) size (*d && !(*L || *S || *Z)) pojedyncza litera (M=1 && *o) E hopp(ing) hop, tann(ed) tan hiss(ing) hiss, fizz(ed) fizz fail(ing) fail, fil(ing) file WUT TWG Stemmer Portera 2006 Krok 3: Y I happy happi sky sky (*v*) Y I *S = kończy się na <S> *v* = zawiera V Krok 4: Słowotwórstwo (m>0) ATIONAL -> (m>0) TIONAL -> (m>0) (m>0) (m>0) (m>0) (m>0) (m>0) (m>0) (m>0) (m>0) (m>0) (m>0) (m>0) (m>0) (m>0) (m>0) (m>0) (m>0) (m>0) ENCI ANCI IZER ABLI ALLI ENTLI ELI OUSLI IZATION ATION ATOR ALISM IVENESS FULNESS OUSNESS ALITI IVITI BILITI -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> ATE TION ENCE ANCE IZE ABLE AL ENT E OUS IZE ATE ATE AL IVE FUL OUS AL IVE BLE relational -> conditional -> rational -> valenci -> hesitanci -> digitizer -> conformabli -> radicalli -> differentli -> vileli - > analogousli -> vietnamization -> predication -> operator -> feudalism -> decisiveness -> hopefulness -> callousness -> formaliti -> sensitiviti -> sensibiliti -> relate condition rational valence hesitance digitize conformable radical different vile analogous vietnamize predicate operate feudal decisive hopeful callous formal sensitive sensible *d = kończy się na podwójnym C *o = kończy się na CVC gdzie drugie C != W, X, Y WUT TWG Stemmer Portera 2006 Step 5: Słowotwórstwo cd. (m>0) (m>0) (m>0) (m>0) (m>0) (m>0) (m>0) ICATE ATIVE ALIZE ICITI ICAL FUL NESS -> -> -> -> -> -> -> IC AL IC IC triplicate formative formalize electriciti electrical hopeful goodness -> -> -> -> -> -> -> triplic form formal electric electric hope good *S = kończy się na <S> *v* = zawiera V *d = kończy się na podwójnym C Step 6: Słowotwórstwo cd. – pojedyncze przyrostki (m>1) AL -> (m>1) ANCE -> (m>1) ENCE -> (m>1) ER -> (m>1) IC -> (m>1) ABLE -> (m>1) IBLE -> (m>1) ANT -> (m>1) EMENT -> (m>1) MENT -> (m>1) ENT -> (m>1 and (*S or *T)) ION -> (m>1) OU -> (m>1) ISM -> (m>1) ATE -> (m>1) ITI -> (m>1) OUS -> (m>1) IVE -> (m>1) IZE -> revival allowance inference airliner gyroscopic adjustable defensible irritant replacement adjustment dependent adoption homologou communism activate angulariti homologous effective bowdlerize -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> *o = kończy się na CVC gdzie reviv allow infer airlin gyroscop adjust defens irrit replac adjust depend adopt homolog commun activ angular homolog effect bowdler drugie C != W, X, Y WUT TWG Stemmer Portera 2006 Step 7a: Postprocessing *S = kończy się na <S> (m>1) E probate probat rate rate cease ceas (m=1 and not *o) E wear wearabl wearer weari wearier weariest wearili weari wear wearisom wearisom wear weather weathercock weathercock podwójnym C gdzie drugie C != W, X, Y controll control roll roll (m > 1 and *d and *L) single letter wear wearable wearer wearied wearier weariest wearily weariness wearing wearisome wearisomely wears weather weathercock weathercocks *d = kończy się na *o = kończy się na CVC Step 7b: Postprocessing cd. • • • • • • • • • • • • • • • *v* = zawiera V • • • • • • • • • • • • • web Webb Webber webs Webster Websterville wedded wedding weddings wedge wedged wedges wedging web webb webber web webster webstervil wedd wedd wedd wedg wedg wedg wedg WUT TWG Stemmer Portera 2006 Przykłady błędów popełnianych przez stemmer Portera Errors of Omission • • • • • European analysis matrices noise explain Europe analyzes matrix noisy explanation Errors of Commission • • • • organization generalization numerical university organ generic numerous universe Aby uniknąć powyższych potrzebna jest już lematyzacja: 1. Oznaczenie części mowy 2. Normalizacja słowa w zależności od wyniku 1. Uwaga – stemming wcale niekoniecznie poprawia jakość wyszukiwania dla języka angielskiego, to wciąż sporna kwestia! Soundex Inny przykład funkcji mieszającej dla słów w języku angielskim • • • 1. 2. 3. Zachowujemy pierwszą literę ciągu Usuwamy kolejne samogłoski oraz, h, w i y Zastępujemy pozostałe litery cyframi: • • • • • • 4. 5. Angielska wymowa jest bardzo trudna, jeśli słowo słyszymy po raz pierwszy (np. nazwisko) to jest bardzo prawdopodobne, iż zapiszemy je nieprawidłowo Soundex - Robert Rusell, Margarett Odell (1918) mapuje różne podobnie brzmiące formy słów do jednego kodu alfanumerycznego Wykorzystywany w bazach danych do zapisu nazwisk i nazw własnych; może być także użyteczny jako substytut stemmerów w IR b, f, p, v = 1 c, g, j, k, q, s, x, z = 2 d, t = 3 l=4 m, n = 5 r=6 Jeśli dwie (lub więcej) liter kodowanych tą samą cyfrą występowało obok siebie w oryginalnej nazwie (także jeśli były przedzielone h lub w) – pozostawiamy tylko jedną cyfrę Wykorzystujemy tylko cztery pierwsze otrzymane znaki Działanie: Robert, Rupert -> R163 Rubin -> R150 Ulepszona wersja – Methaphone, Double Methaphone – Lawrence Philips WUT TWG 2006 WUT TWG Błędy ortograficzne 2006 Tekst, który analizujemy w NLP nie jest zwykle generowany przez maszynę (natural language) – może zawierać błędy Błędy ortograficzne – zwykle drobne • 80% wszystkich błędów ortograficznych dotyczy pojedynczej litery (Damerau, 1964) • • • • • Wstawienie (insertion) – the -> ther Skasowanie (deletion) – the -> th Podstawienie (substitution) – the -> thw Transpozycja (transposition) – the -> hte Wiele zależy od źródła danych – wpływ układu klawiatury gdy tekst wpisywany ręcznie, wpływ wyglądu liter gdy OCR Rodzaje błędów • • • Tu można użyć słownika Non-words: giraffe -> graffe Isolated errors: bez kontekstu Real-words: piece of cake -> peace of cake WUT TWG Błędy ortograficzne cd. 2006 Poprawianie słów Metody probabilistyczne (np. Bayesowska): t – błędny (obserwowany) wyraz, c – poprawiony wyraz cˆ argmaxP(c|t) argmaxP(t|c)P(c) cV cV P(c) – prawdopodobieństwo wystąpienia słowa C(c) – liczba wystąpień słowa w korpusie, N – liczba słów w korpusie, V – wielkość słownika P(c) C(c) N Dodajemy ½ do wszystkich tych słów których nie zaobserwowaliśmy w korpusie – smoothing, w tym przypadku metodą Jeffreys-Parks 1 2 1 V 2 Kernighan approach – przyjmujemy, że błąd został popełniony tylko przez jedną operację Przykład – słowo acress Bład Poprawny wyraz Poprawna litera Błędne litery Pozycja Operacja acress actress t - 2 skasowanie acress cress - a 0 wstawienie acress caress ca ac 0 transpozycja acress access c r 2 substytucja Błędy ortograficzne cd. cˆ argmaxP(c|t) argmaxP(t|c)P(c) cV cV P(c) C(c) N 1 2 1 V 2 P(c) – potrzebujemy jakichś danych tekstowych, np. dla korpusu AP (Church, Gale 1991) mamy: N ~ 44 miliony, V ~ 400 tysięcy c C(c) P(c) actress 1343 0.0000315 cress 0 0.000000014 caress 4 0.0000001 access 2280 0.000058 across 8436 0.00019 P(t|c) – tego nie możemy dokładnie obliczyć (zależy od tego kto pisał tekst, czy był zmęczony, co wypił itd.) ale możemy estymować, większość czynników wpływających na błędy jest bowiem niezależna od człowieka (np. zamiany liter takich jak m i n) Estymacja na podstawie obserwacji „zachowania” liter w tekstach wpisywanych ręcznie WUT TWG 2006 WUT TWG Błędy ortograficzne cd. 2006 Potrzebujemy zatem dużego korpusu tekstów z błędami na podstawie którego tworzymy (automatycznie – algorytm EM, lub ręcznie) macierz błędów (confusion matrix) dla zamian poszczególnych liter: a b ... z b - ... [b,z] ... ... - ... z [z,b] ... - Liczba zamian litery b na literę z Liczba zamian litery z na literę b Takie macierze można utworzyć dla każdej z czterech operacji: del[x,y] (xy->x), ins[x,y] (x->xy), sub[x,y] (x->y), trans[x,y] (xy->yx) Wtedy (chars[x,y], chars[x] – liczba wystąpień xy i x w korpusie, cp- p-ta litera w wyrazie c): del[c p 1 , c p ] p(t|c) chars[c p1 , c p ] c P(c) P(t|c) ~norm(P(t|c)P(c)) ins[c p 1 , t p ] actress 0.0000315 0.000117 37% chars[c p 1 ] cress 0.000000014 0.00000144 0% sub[t p , c p ] caress 0.0000001 0.00000164 0% access 0.000058 0.000000209 0% across 0.00019 0.0000093 18% chars[c p ] del[c p , c p1 ] chars[c p , c p1 ] Błędy ortograficzne cd. Metoda Kernighana nie bierze pod uwagę: • • kontekstu słowa – tu należy posłużyć się łańcuchami Markowa i reprezentacją n-gramową tekstu możliwości wystąpienia więcej niż jednej pomyłki – tu można wzbogacić algorytm poprzez określenie odległości edycyjnej pomiędzy ciągami znaków np. intention ntention etention exention exenution execution • • • del[i,n] sub[n,e] sub[t,x] ins[n,u] sub[n,c] lev(intention, execution) = 5 Gdy każda z operacji del, sub, ins ma taką samą wagę, mówimy o odległości Levenshteina Można oczywiście także konstruować bardziej skomplikowane miary Obliczenie odległości edycyjnej – za pomocą metod programowania dynamicznego WUT TWG 2006 WUT TWG Części mowy 2006 • Ligwistyka grupuje słowa w zbiory, według ich podobnego zachowania w zdaniach (składni) i często także według podobieństwa funkcjonalnego • Nazwy – części mowy (parts of speech – POS), kategorie syntaktyczne itp. • Najważniejsze klasy • • • • rzeczownik – opis rzeczy (przedmiotów, pojęć itp.) czasownik – opis działania, akcji przymiotnik – opis cech rzeczowników Test substytucji green przymiotniki intelligent The sad fat ... one is in the corner. Części mowy Słowa mogą należeć do więcej niż jednej klasy, np. sweet – słodki (przymiotnik), sweet – cukierek (rzeczownik) Zamknięte i otwarte klasy POS • otwarte – duża liczba słów, zmienna zawartość, np. • • • • przymiotniki rzeczowniki czasowniki zamknięte – mała liczba słów, ściśle określona funkcja, np. • • • • przyimki zaimki określniki spójniki Zwykle oznaczane za pomocą znaczników (POS tags), szczególnie popularne znaczniki użyte przy tworzeniu Brown corpus WUT TWG 2006 POS tags Przykłady oznaczeń wg. Brown corpus – oczywiście specyficzne dla języka angielskiego • rzeczowniki (NN) • • • • • przymiotniki (JJ) • • • • nazwy własne (NNP) – United States adverbial nouns (NR) – home, west, tomorrow liczba mnoga – NNS, NNPS, NRS - flowers possesive – NN$, NNS$, NNP$, itd. – Peter’s stopień wyższy (JJR) – richer najwyższy (JJT + JJS) (np. chief, main, top) liczby ! (CD) – one, two, 60000 czasowniki (VB) • • • • • • trzecia osoba lp. (VBZ) – takes czas przeszły (VBD) – took present participle (VBG) – taking past participle (VBN) – taken modal auxiliaries (MD) – can, may, must, could itd. specjalne oznaczenia dla form be, have i do (np. past participle have -> had HVN) WUT TWG 2006 WUT TWG Składnia • • Kolejność słów w zdaniach nie jest bez znaczenia – choć w niektórych językach (angielski) jest istotniejsza niż w innych (polski) Języki pozycyjne <-> języki fleksyjne • • 2006 informacja która w językach fleksyjnych zawarta jest w odmianie słów, w językach pozycyjnych przekazywana jest w strukturze zdania i kontekście Podział wypowiedzi na zdania, zdań na części zdania (constituents): • • I put the bagels in the freezer I put in the fridge the bagels she him the woman the man the tall woman the very tall woman saw the short man the very short man Rozbiór zdania Nieco inny w języku polskim (podmiot, orzeczenie, dopełnienie, zdania proste i złożone – równorzędnie i podrzędnie) i angielskim • • • • • Noun phrases (NP) np. The homeless man in the park that I tried to help yesterday Verb phrases (VP) np. He was trying to keep his temper Prepositional phrases (PP) np. with a net Adjective phrases (AP) np. she is very sure of herself Rodzaje zdań • oznajmujące • pytające • rozkazujące WUT TWG 2006 WUT TWG Rozbiór zdania 2006 Zwykle zdanie w języku angielskim ma taką postać: S VP NP PP NP AP D The JJ young AP N consumers V P walked to D the JJ new N store WUT TWG Rozbiór zdania 2006 Struktura zdania jest rekursywna, tego rodzaju drzewa mogą być generowane przez reguły podstawień (rewrite rules) np: S -> NP VP NP -> AT NNS | AT NN | NP PP VP -> VP PP | VBD | VBD NP P -> IN NP AT -> the NNS -> children | students | mountains VBD -> slept | ate | saw IN -> in | of NN -> cake lexicon S -> NP VP -> AT NNS VBD -> The children slept S -> NP VP -> AT NNS VBD NP -> AT NNS VBD AT NN -> The children ate the cake • Dokonując przekształceń korzystamy tylko z pojedynczych reguł, nie interesuje nas kontekst całego zdania – gramatyka bezkontekstowa (context free grammar, CFG) WUT TWG Rozbiór zdania 2006 S VP NP VP AT NNS The children VBD ate PP IN with NP AT the NN cake NP AT a NN spoon WUT TWG Rozbiór zdania 2006 S VP NP AT NNS The children NP VBD ate NP AT the PP IN NN cake with Oczywiście istnieją też zdania dla których nie istnieje żadne drzewo rozbioru: Slept children the To nie to samo co zdania nie mające (semantycznego) sensu: the cat barked, colorless green ideas sleep furiously NP AT a NN spoon Głowne problemy: • generowanie drzew rozbioru nie jest zadaniem prostym – programowanie dynamiczne • z wielu możliwych drzew rozbioru trzeba wybrać jedno właściwe, najbardziej prawdopodobne – probabilityczne gramatyki bezkontekstowe (probabilistic context free grammars, PCFG)