1 / 30

WEDT Lingwistyka

WEDT Lingwistyka. Wykład 5 Piotr Gawrysiak pgawrysiak@supermedia.pl. 2005. 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)

dot
Download Presentation

WEDT Lingwistyka

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WEDTLingwistyka Wykład 5 Piotr Gawrysiak pgawrysiak@supermedia.pl 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 • Sygnał mowy • Wyjście • 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 • Sekwencja głosek (tekst) • Wyjście • 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. 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 *S = kończy się na <S> *v* = zawiera V *d = kończy się napodwójnym C *o = kończy się na CVC gdzie drugie C != W, X, Y 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 literahiss(ing)  hiss, fizz(ed)  fizz (M=1 && *o)  E fail(ing)  fail, fil(ing)  file

  12. Stemmer Portera *S = kończy się na <S> *v* = zawiera V *d = kończy się napodwójnym C *o = kończy się na CVC gdzie drugie C != W, X, Y Krok 3: Y  I (*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

  13. Stemmer Portera *S = kończy się na <S> *v* = zawiera V *d = kończy się napodwójnym C *o = kończy się na CVC gdzie drugie C != W, X, Y 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

  14. Stemmer Portera *S = kończy się na <S> *v* = zawiera V *d = kończy się napodwójnym C *o = kończy się na CVC gdzie drugie C != W, X, Y Step 7a: Postprocessing (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 • 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, wiy • 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

  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

  20. p(t|c) Błędy ortograficzne cd. Liczba zamian litery b na literę z 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 z na literę b

  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

  22. green intelligent The sad one is in the corner. fat ... 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

  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. 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 ATThe NNS children IN with NP VBD ate NP AT the NN cake AT a NN spoon

  30. Rozbiór zdania S VP NP 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) NP ATThe NNS children VBD ate NP PP IN with NP AT the NN cake AT a NN spoon

More Related