WEDT Lingwistyka
description
Transcript of WEDT Lingwistyka
WUTTWG
2005Lingwistyka
• 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)
WUTTWG
2005Opis 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
WUTTWG
2005Fonetyka, 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.
WUTTWG
2005Morfologia• 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
WUTTWG
2005MorfologiaTo 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
WUTTWG
2005Fleksja
• 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.
WUTTWG
2005Stemming
• 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 andcompres are both acceptas equival to compres
WUTTWG
2005StemmeryOgó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ń
WUTTWG
2005Stemmer 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 GENERALIZATIONGENERALIZEGENERALGENER
• 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
WUTTWG
2005Stemmer PorteraKrok 1: Liczba mnoga rzeczowników i trzecia osoba liczby pojedynczej
czasownikówSSES 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
WUTTWG
2005Stemmer PorteraKrok 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
*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
WUTTWG
2005Stemmer PorteraStep 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
WUTTWG
2005Stemmer PorteraStep 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
*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
WUTTWG
2005Stemmer PorteraPrzykł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 mowy2. 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!
WUTTWG
2005SoundexInny 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
1. Zachowujemy pierwszą literę ciągu2. Usuwamy kolejne samogłoski oraz, h, w i y3. 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
4. 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ę
5. Wykorzystujemy tylko cztery pierwsze otrzymane znaki
Działanie:Robert, Rupert -> R163Rubin -> R150
Ulepszona wersja – Methaphone, Double Methaphone – Lawrence Philips
WUTTWG
2005Błę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
WUTTWG
2005Błę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łowaC(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
c)P(c)|P(targmaxt)|P(cargmaxcVcVc
ˆ
V21
N
21
C(c)P(c)
Dodajemy ½ do wszystkich tych słów których nie zaobserwowaliśmy w korpusie – smoothing, w tym przypadku metodą Jeffreys-Parks
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
WUTTWG
2005Błę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)P(c)|P(targmaxt)|P(cargmaxcVcVc
ˆV
21
N
21
C(c)P(c)
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
WUTTWG
2005Błę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):
a b ... z
b - ... [b,z]
... ... - ...
z [z,b]
... -
Liczba zamian litery b na literę z
Liczba zamian litery z na literę b
],[
],[
1
1
pp
pp
ccchars
ccdel
],[
],[
1
1
pp
pp
ccchars
ccdel
][
],[
1
1
p
pp
cchars
tcins
][
],[
p
pp
cchars
ctsubp(t|c)
c P(c) P(t|c) ~norm(P(t|c)P(c))
actress 0.0000315 0.000117 37%
cress 0.000000014
0.00000144 0%
caress 0.0000001 0.00000164 0%
access 0.000058 0.000000209 0%
across 0.00019 0.0000093 18%
WUTTWG
2005Błę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
WUTTWG
2005Częś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
...
fat
one is in the corner.sadThe
intelligent
greenprzymiotniki
WUTTWG
2005Częś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
WUTTWG
2005POS tagsPrzykł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)
WUTTWG
2005Skł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
the very tall woman
the tall woman
the woman
she
the very short man
the short man
the man
him
saw
WUTTWG
2005Rozbió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
WUTTWG
2005Rozbiór zdania
Zwykle zdanie w języku angielskim ma taką postać:
The young consumers walked to the new storeD DV P NJJN
NP
NPPP
VP
S
JJ
APAP
WUTTWG
2005Rozbió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 sleptS -> 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
WUTTWG
2005Rozbiór zdania
S
VPNP
ATThe
NNSchildren
PPVP
VBDate
NP
ATthe
NNcake
INwith
NP
ATa
NNspoon
WUTTWG
2005Rozbiór zdania
Oczywiście istnieją też zdania dla nie istnieje żadne drzewo rozbioru:
*Slept children theTo 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)
S
VPNP
ATThe
NNSchildren
PP
NPVBDate
NP
ATthe
NNcake
INwith
NP
ATa
NNspoon