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)
cV
cV
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)
cV
cV
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 p1 , 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 p1 ]
chars[c p , c p1 ]
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)