Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wykład 5 Piotr Gawrysiak

Podobne prezentacje


Prezentacja na temat: "Wykład 5 Piotr Gawrysiak"— Zapis prezentacji:

1 Wykład 5 Piotr Gawrysiak pgawrysiak@supermedia.pl
WEDT Lingwistyka Wykład 5 Piotr Gawrysiak 2005

2 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)

3 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

4 Fonetyka, fonologia Wejście Wyjście Problemy 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.

5 Morfologia Wejście Wyjście Sekwencja głosek (tekst)
Sekwencja oznakowanych morfemów Morfem – niepodzielna część znaczeniowa wyrazu wyrazy niepodzielne – brat, koń, noc składające się z wielu morfemów – koń-ik, dzien-n-y, prze-pis-a-ć 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) 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

6 Może zmieniać część mowy
Morfologia 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 ... 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-ę Może zmieniać część mowy

7 Fleksja Jak łatwo się domyślać angielska fleksja jest bardzo prosta...
rzeczowniki – liczba mnoga, possesive czasowniki – w zależności od używanego czasu ale... Niektóre słowa są nieregularne np. regularne Walk, walks, walking, walked, walked nieregularne 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.

8 Stemming Jednym z rozwiązań jest stemming – automatyczne odnajdywanie rdzeni lub pni wyrazów Większość stemmerów nie zapewnia tego, iż tworzone przez nich 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) Dodatkowo uzyskujemy zmniejszenie rozmiaru indeksu for example compressed and compression are both accepted as equivalent to compress for exampl compres and compres are both accept as equival to compres

9 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ń

10 Stemmer Portera Zaproponowany przez Martina Portera w 1980 r.
Oparty na serii przekształceń dokonujących kolejnych podstawień ciągów znaków (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

11 Stemmer Portera Krok 1: Liczba mnoga rzeczowników i trzecia osoba liczby pojedynczej czasowników SSES  SS caresses  caress IES  I ponies  poni ties  ti SS  SS caress  caress S  cats  cat Krok 2a: Czas przeszły i strona bierna (M>0) EED  EE feed  feed, agreed  agree i (*v*) ED  plastered  plaster, bled  bled ii (*v*) ING  motoring  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)) hopp(ing)  hop, tann(ed)  tan  pojedyncza litera hiss(ing)  hiss, fizz(ed)  fizz (M=1 && *o)  E fail(ing)  fail, fil(ing)  file *S = kończy się na <S> *v* = zawiera V *d = kończy się na podwójnym C *o = kończy się na CVC gdzie drugie C != W, X, Y

12 Stemmer Portera Krok 3: Y  I Krok 4: Słowotwórstwo
(*v*) Y  I happy  happi sky  sky Krok 4: Słowotwórstwo (m>0) ATIONAL -> ATE relational -> relate (m>0) TIONAL -> TION conditional -> condition rational > rational (m>0) ENCI -> ENCE valenci > valence (m>0) ANCI -> ANCE hesitanci > hesitance (m>0) IZER -> IZE digitizer > digitize (m>0) ABLI -> ABLE conformabli -> conformable (m>0) ALLI -> AL radicalli > radical (m>0) ENTLI -> ENT differentli -> different (m>0) ELI -> E vileli > vile (m>0) OUSLI -> OUS analogousli -> analogous (m>0) IZATION -> IZE vietnamization -> vietnamize (m>0) ATION -> ATE predication -> predicate (m>0) ATOR -> ATE operator > operate (m>0) ALISM -> AL feudalism > feudal (m>0) IVENESS -> IVE decisiveness -> decisive (m>0) FULNESS -> FUL hopefulness -> hopeful (m>0) OUSNESS -> OUS callousness -> callous (m>0) ALITI -> AL formaliti > formal (m>0) IVITI -> IVE sensitiviti -> sensitive (m>0) BILITI -> BLE sensibiliti -> sensible *S = kończy się na <S> *v* = zawiera V *d = kończy się na podwójnym C *o = kończy się na CVC gdzie drugie C != W, X, Y

13 Stemmer Portera Step 5: Słowotwórstwo cd.
(m>0) ICATE -> IC triplicate -> triplic (m>0) ATIVE -> formative > form (m>0) ALIZE -> AL formalize > formal (m>0) ICITI -> IC electriciti -> electric (m>0) ICAL -> IC electrical -> electric (m>0) FUL -> hopeful > hope (m>0) NESS -> goodness > good Step 6: Słowotwórstwo cd. – pojedyncze przyrostki (m>1) AL -> revival > reviv (m>1) ANCE -> allowance > allow (m>1) ENCE -> inference > infer (m>1) ER -> airliner > airlin (m>1) IC -> gyroscopic -> gyroscop (m>1) ABLE -> adjustable -> adjust (m>1) IBLE -> defensible -> defens (m>1) ANT -> irritant > irrit (m>1) EMENT -> replacement -> replac (m>1) MENT -> adjustment -> adjust (m>1) ENT -> dependent > depend (m>1 and (*S or *T)) ION -> adoption > adopt (m>1) OU -> homologou > homolog (m>1) ISM -> communism > commun (m>1) ATE -> activate > activ (m>1) ITI -> angulariti -> angular (m>1) OUS -> homologous -> homolog (m>1) IVE -> effective > effect (m>1) IZE -> bowdlerize -> bowdler *S = kończy się na <S> *v* = zawiera V *d = kończy się na podwójnym C *o = kończy się na CVC gdzie drugie C != W, X, Y

14 Stemmer Portera Step 7a: Postprocessing Step 7b: Postprocessing cd.
(m>1) E  probate  probat rate  rate (m=1 and not *o) E  cease  ceas Step 7b: Postprocessing cd. (m > 1 and *d and *L) controll  control  single letter roll  roll *S = kończy się na <S> *v* = zawiera V *d = kończy się na podwójnym C *o = kończy się na CVC gdzie drugie C != W, X, Y wear wear wearable wearabl wearer wearer wearied weari wearier wearier weariest weariest wearily wearili weariness weari wearing wear wearisome wearisom wearisomely wearisom wears wear weather weather weathercock weathercock weathercocks weathercock web web Webb webb Webber webber webs web Webster webster Websterville webstervil wedded wedd wedding wedd weddings wedd wedge wedg wedged wedg wedges wedg wedging wedg

15 Stemmer Portera Przykłady błędów popełnianych przez stemmer Portera
Errors of Omission European Europe analysis analyzes matrices matrix noise noisy explain explanation Errors of Commission organization organ generalization generic numerical numerous university 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!

16 Soundex Inny przykład funkcji mieszającej dla słów w języku angielskim
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 Zachowujemy pierwszą literę ciągu Usuwamy kolejne samogłoski oraz, h, w i y Zastępujemy pozostałe litery cyframi: 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

17 Błędy ortograficzne 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 Non-words: giraffe -> graffe Isolated errors: bez kontekstu Real-words: piece of cake -> peace of cake Tu można użyć słownika

18 Błędy ortograficzne cd.
Poprawianie słów Metody probabilistyczne (np. Bayesowska): t – błędny (obserwowany) wyraz, c – poprawiony wyraz 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 Kernighan approach – przyjmujemy, że błąd został popełniony tylko przez jedną operację Przykład – słowo acress Dodajemy ½ do wszystkich tych słów których nie zaobserwowaliśmy w korpusie – smoothing, w tym przypadku metodą Jeffreys-Parks Błędy ortograficzne -> metody bayesowskie + odległość edycyjna Bład Poprawny wyraz Poprawna litera Błędne litery Pozycja Operacja acress actress t - 2 skasowanie cress a wstawienie caress ca ac transpozycja access c r substytucja

19 Błędy ortograficzne cd.
P(c) – potrzebujemy jakichś danych tekstowych, np. dla korpusu AP (Church, Gale 1991) mamy: N ~ 44 miliony, V ~ 400 tysięcy 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 c C(c) P(c) actress 1343 cress caress 4 access 2280 across 8436 Błędy ortograficzne -> metody bayesowskie + odległość edycyjna

20 Błędy ortograficzne cd.
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: 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): Liczba zamian litery b na literę z a b ... z - [b,z] [z,b] Liczba zamian litery z na literę b p(t|c) c P(c) P(t|c) ~norm(P(t|c)P(c)) actress 37% cress 0% caress access across 18%

21 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 del[i,n] ntention sub[n,e] etention sub[t,x] exention ins[n,u] exenution sub[n,c] execution 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 lev(intention, execution) = 5 Levenstein zaproponował też wersję w której substytucja jest niedozwolona a ins i del mają wagę 2 – wtedy odległość = 8

22 Części mowy 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 przymiotniki ... fat one is in the corner. sad The intelligent green

23 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

24 POS tags Przykłady oznaczeń wg. Brown corpus – oczywiście specyficzne dla języka angielskiego rzeczowniki (NN) 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 przymiotniki (JJ) 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)

25 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 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 saw the tall woman the short man the very tall woman the very short man

26 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

27 The young consumers walked to the new store
Rozbiór zdania Zwykle zdanie w języku angielskim ma taką postać: S VP NP PP NP AP AP D N V P D JJ N JJ The young consumers walked to the new store

28 Rozbiór zdania 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 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) lexicon

29 Rozbiór zdania S VP NP VP PP AT The NNS children IN with NP VBD ate NP
cake AT a NN spoon

30 Rozbiór zdania S VP NP NP AT The NNS children VBD ate NP PP IN with NP
cake AT a NN spoon Oczywiście istnieją też zdania dla 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 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)


Pobierz ppt "Wykład 5 Piotr Gawrysiak"

Podobne prezentacje


Reklamy Google