Lingwistyka praktyczna i copywriting - prezentacja kierunku 01
Lingwistyka komputerowa
description
Transcript of Lingwistyka komputerowa
Lingwistyka komputerowa
Zastosowanie automatów skończonych stanów w przetwarzaniu języków
naturalnych
Marcin Junczys-Dowmunt
Lingwistyka komputerowaCo to jest?Lingwistyka komputerowa zajmuje się
przetwarzaniem języków naturalnych przy wykorzystaniu komputerów
Przedmiot badań to zarówno język pisany (teksty) jak i mowa
Synteza informatycznych i językoznawczych metod oraz wiadomości
Lingwistyka komputerowaJedna nazwa - Wiele koncepcji Dyscyplina językoznawstwa (ang. computational
linguistics) Dyscyplina wykorzystująca komputery do
gromadzenia i przetwarzania danych lingwistycznych
Dyscyplina realizująca zjawiska językowe na komputerach (ang. natural language processing)
Inżynieria lingwistyczna (ang. language technology)
Lingwistyka komputerowaNauka interdyscyplinarnaJęzykoznawstwoInformatykaFilozofiaSztuczna
inteligencjaPsychologia
kognitywna
Matematyka Teoria automatów Języki formalne Teoria grafów Statystyka Rachunek
prawdopodobieństwa Logika matematyczna
Lingwistyka komputerowaStrona praktyczna oraz teoretyczna
L.k. praktyczna Tworzenie formalizmów
modelujących różne aspekty języków naturalnych
Udostępnianie wiedzy o poszczególnych językach
Tworzenie algorytmów i metod do przetwarzania wypowiedzi językowych
Ewaluacja systemów lingwistycznych
L.k. teoretyczna Badanie złożoności
obliczeniowej formalizmów
Badanie możliwości opisowych formalizmów
Badania możliwości automatycznej nauki i kategoryzacji znaczących podzbiorów językowych
Lingwistyka komputerowaZastosowaniaEkstrakcja informacji z dużych
nieuporządkowanych źródeł np. Internet, archiwa elektroniczne itp.
Interfejsy językowe do systemów informatycznych np. baz danych
Automatyczne rozpoznawanie mowy i tekstówGenerowanie mowy i tekstów np. syntezatory
mowyTłumaczenie maszynoweSystemy dialogowe np. zamawianie biletów
przez rozmowę z automatem
Historia lingwistyki komputerowej
Lata 40te i 50te: PoczątkiKoncepcja automatu (Turing 1936)Automaty skończone i zbiory regularne
(Kleene 1951/1956)Modele Markova (Shannon 1948)Teoria języków formalnych (Chomsky
1956)Pojęcie entropii w teorii informacji
(Shannon)
Historia lingwistyki komputerowej
1957-1970: Dwa podejściaMetody symboliczny
Gramatyka generatywna Parsery syntaktyczne Stuczna inteligencja (AI)
Metody statystyczne Metoda Bayes’a Optyczne rozpoznawanie liter Identyfikacja autorów tekstów
Historia lingwistyki komputerowej
1970-1983: Cztery paradygmatyStatystyczne modele (HMM do
rozpoznawania mowy, synteza mowy)Logika formalna (Prolog, DCG, LFG)Rozumienie języków naturalnych
(Winograd: Block World)Modelowanie dyskursu
Historia lingwistyki komputerowej
1983-1993: Odrodzenie modeli skończonych stanów i empiryzmu
Morfologia i fonologia za pomocą modeli skończonych stanów (Kaplan & Kay 1981)
Modele skończonych stanów składni (Church 1980)
Metody stochastyczne wykraczają poza rozpoznawanie mowy (IBM)
Historia lingwistyki komputerowej
1993-1999: Połączenie sił Zastosowanie metod statystycznych w
symbolicznych metodach analizy języka na wszystkich poziomach
Wzrost potrzeby na systemy ekstrakcji informacji wraz z rozwojem Internetu
Wzrost wydajności komputerów pozwala na komercyjne wykorzystanie wyników badań (rozpoznawanie mowy, korekcja ortografii i gramatyki)
Główny problem lingwistyki komputerowej: Wieloznaczność Wieloznaczność na wszystkich poziomach
systemu językowego Fonetyka: np. Homofonia Morfologia: np. Problem analizy części mowy,
homonimia Składnia: np. Problem analizy części zdania Semantyka: np. Polisemia, Idiomy Pragmatyka: np. Metafory, Ironia Trzeba często korzystać z wyższego poziomu
języka w celu rozstrzygnięcia wieloznaczności
Procesy przy przetwarzaniu mowy
Przetwarzanie sygnału
Ekstrakcja cech Analiza semantyczna
Lexical matching
Analiza składniowa
Segmentacja Analiza pragmatyczna
Wiedzasyntaktyczna
Wiedzasemantyczna
Wiedzapragmatyczna
Słownikfonologiczny
Sygnał
Zdanie i interpretacja
Inwentarz jednostek
Akustyczne wektory
Akustyczne cechy
Hipotezy jednostek
Hipotezy słów
Hipotezy fraz
Hipotezy znaczeń
Gramatyki formalne
Pojęcie gramatyki formalnej zostało wprowadzone przez N. Chomsky’ego
Szerokie zastosowanie w językoznawstwie do określania nieskończonych podzbiorów języka naturalnego za pomocą skończonych środków
Teoria g. f. rozwinęła się jako odrębna teoria matematyczna (lingwistyka matematyczna)
Gramatyki formalne
Według hierarchii Chomsky’ego:Klasa 0: Gramatyki nieograniczoneKlasa 1: Gramatyki kontekstoweKlasa 2: Gramatyki bezkonstekstoweKlasa 3: Gramatyki regularne
(automatowe, skończenie stanowe)
Automaty skończone (FSA)
Automat skończony (ang. Finite-State Automaton) to abstrakcja matematyczna, określa język formalny
Składa się z skończonej ilości stanów i funkcji przejścia, która określa sposób przechodzenia od jednego stanu w inny
Automat wczytuje pojedyncze symbole z taśmy wejściowej i w zależności od aktualnego stanu i wczytanego symbolu przechodzi w inny stan
Automat jako akceptor – akceptuje wczytywany ciąg symboli, gdy należy do języka określonego przez dany automat, odrzuci w przypadku przeciwnym
Automaty skończone (FSA)
Zapis formalny: M = ( Q, Σ, δ, q0, F )
Q - skończony zbiór stanów
Σ - skończony alfabet wejściowy
δ(q,a) - funkcja przejścia, gdzie q należy do Q, i gdzie a należy do Σ. Wynik δ(q,a) = q’, gdzie q’ należy do Q
q0 - stan początkowy należący do Q
F - zbiór stanów końcowych zawarty w Q
Przykład: Sheeptalk
q0Startb a a !
a
L(M) = { baa!, baaa!, baaaa!, baaaaa!, baaaaaa!, … }
δ a b !
q0 - q1 -
q1 q2 - -
q2 q3 - -
q3 q3 - q4
q4: - - -
q1 q2 q3 q4
M = ( Q, M = ( Q, ΣΣ, , δδ, q, q00, F ), F )
ΣΣ = { a, b, ! } = { a, b, ! }Q = { qQ = { q00, q, q11, q, q22, q, q33, q, q44 } }
F = { qF = { q44 } }
Przykład: Sheeptalk
q0Startb a a !
a
q1 q2 q3 q4
b aa a a !
q0
Przykład: Sheeptalk
q0Startb a a !
a
q1 q2 q3 q4
b aa a a !
q1
Przykład: Sheeptalk
q0Startb a a !
a
q1 q2 q3 q4
b aa a a !
q2
Przykład: Sheeptalk
q0Startb a a !
a
q1 q2 q3 q4
b aa a a !
q3
Przykład: Sheeptalk
q0Startb a a !
a
q1 q2 q3 q4
b aa a a !
q3
Przykład: Sheeptalk
q0Startb a a !
a
q1 q2 q3 q4
b aa a a !
q3
Przykład: Sheeptalk
q0Startb a a !
a
q1 q2 q3 q4
b aa a a !
q4
Wady i zalety modeli skończenie stanowych
Wady: Braki pod względem
ekspresywności w porównaniu z językami wyższych klas
Uważa się, że języki naturalne nie są regularne (ale pewne podzbiory są!)
Modele skończenie stanowe nie wnoszą wiele do wiedzy o językach naturalnych
Zalety: Matematycznie dogłębnie
zbadane Kompaktowa
reprezentacja (Minimalizacja)
Dobre własności obliczeniowe (Determinizacja)
Prostota konstrukcji ze względu na własności zamknięcia
Maszyny skończone w przetwarzaniu języków naturalnychModelowanie słowników Przetwarzanie mowyAnaliza morfologicznaAnaliza składniowa wybranych podzbiorów
języków naturalnychModelowanie gramatyk skończenie
stanowych przybliżonych do gramatyk o większych możliwościach generatywnych
FSA w morfologii/fonologii
DystrybucjaZbiór otoczeń (kontekstów) w jakich dany element językowy może występować. Istnieją znaczne ograniczenia
MorfotaktykaOpis ciągów morfemów współtworzących wyraz. Rodzaj składni międzymorfemowej.
Morfofonologia/FonotaktykaTeoria alternacji morfologicznej. Teoria fonologicznej struktury morfemów.
Przykłady z Lingwistyki komputerowej
-stwo
q0Startstoł
q1 q4
q2stol -arz
-ołowy
-ek
stół
q3-ar
-kamal
Uproszczone słowotwórstwo niektórych polskich wyrazówUproszczone słowotwórstwo niektórych polskich wyrazów
Przykłady z Lingwistyki komputerowej
q0Startreg-verb-stem
q1 q3
q2
irreg-verb-stem
reg-verb-stem
3sg (-s)
pres-part (-ing)
past-part (-ed)
past (-ed)
irreg-past-verb-stem
reg-verb-stem
irreg-verb-stem
irreg-past-verb-stem
past past-part pres-part
3sg
walk
work
catch
speak
caught
spoke
-ed -ed -ing -s
Uproszczona fleksja niektórych angielskich czasownikówUproszczona fleksja niektórych angielskich czasowników
Przykłady z Lingwistyki komputerowej
Uproszczona fleksja niektórych niemieckich Uproszczona fleksja niektórych niemieckich czasownikówczasowników
q0Start q1 q2
wat
q3
bet
hast
et
ε
et
en
e
est
Przykłady z Lingwistyki komputerowej
Uproszczona morfologia niemieckich złożeń Uproszczona morfologia niemieckich złożeń rzeczownikowychrzeczownikowych
q0Start q1 q3
q2
N
N
I N
I
N
Automaty skończone jako słowniki
Wspólne przedrostki dla każdego hasła (drzewo deterministyczne, drzewo Trie)
Dodatkowo wspólne przyrostki po minimalizacji drzewa Trie
Jeżeli informacje dołączone do haseł zostają umieszczone w stanach końcowych, minimalizacja nie jest pełna – wspólne przyrostki przy wspólnych informacjach
Budowa słownikówDrzewo deterministyczne
L = { agencja, agent, agentka, bank, bat }
0Start
Budowa słownikówDrzewo deterministyczne
L = { agencja, agent, agentka, bank, bat }
0Start 1a
2g
3e
4n
5c
6j
7a
Budowa słownikówDrzewo deterministyczne
L = { agencja, agent, agentka, bank, bat }
0Start 1a
2g
3e
4n
5c
6j
7a
8t
Budowa słownikówDrzewo deterministyczne
L = { agencja, agent, agentka, bank, bat }
0Start 1a
2g
3e
4n
5c
6j
7a
8t
9k
10a
Budowa słownikówDrzewo deterministyczne
L = { agencja, agent, agentka, bank, bat }
0Start 1a
2g
3e
4n
5c
6j
7a
8t
9k
10a
11b
12a
13n
14k
Budowa słownikówDrzewo deterministyczne
L = { agencja, agent, agentka, bank, bat }
0Start 1a
2g
3e
4n
5c
6j
7a
8t
9k
10a
11b
12a
13n
14k
15t
Budowa słownikówDrzewo deterministyczne
L = { agencja, agent, agentka, bank, bat }
0Start 1a
2g
3e
4n
5c
6j
7a
8t
9k
10a
11b
12a
13n
14k
15t
Suma liter w hasłach słownikowych: 26
Suma liter (przejść) w słowniku: 15
Budowa słownikówMinimalizacja drzewa
L = { agencja, agent, agentka, bank, bat }
0Start 1a
2g
3e
4n
5c
6j
7a
8t
9k
10a
11b
12a
13n
14k
15t
Budowa słownikówMinimalizacja drzewa
L = { agencja, agent, agentka, bank, bat }
0Start 1a
2g
3e
4n
5c
6j
7,10,14,15
a
8t
9k a
11b
12a
13n
k
t
Budowa słownikówMinimalizacja drzewa
L = { agencja, agent, agentka, bank, bat }
t
Suma liter w hasłach słownikowych: 26
Suma liter (przejść) w słowniku: 14
0Start 1a
2g
3e
4n
5c
6,8
j
7,10,14,15
a
8t
k11
b12
a13
n
k
t
Siła automatów skończonych: Własności zamkniętości
Automaty skończone są:Zamknięte ze względu na sumęZamknięte ze względu na konkatenacjęZamknięte ze względu na domknięcie
Kleene’egoZamknięte ze względu na przecięcieZamknięte ze względu na dopełnienie
Zamkniętość ze względu na sumę
q
0
q
0
q0’
ε
ε
Start
)MM(L)M(L)M(L 2121
Zamkniętość ze względu na domknięcie Kleene’ego
q
0
*)M(L)*M(L ε
ε
ε
Zamkniętość ze względu na konkatenację
q
0
q
0
)MM(L)M(L)M(L 2121
ε
ε
Zamkniętość ze względu na konkatenację
q
0
q
0
)MM(L)M(L)M(L 2121
ε
ε
Przykłady z Lingwistyki komputerowej
Uproszczona morfologia niemieckich złożeń Uproszczona morfologia niemieckich złożeń rzeczownikowychrzeczownikowych
q0Start q1 q3
q2
N
N
I N
I
N
Przykład na korzystanie z własności zamkniętości
1 2N
M1
3 4N
5I
M2
6 7N
M3
Przykład na korzystanie z własności zamkniętości
1 2N
3 4N
5I
6 7N
0
ε
ε
21 MM M3
M1
M2
Przykład na korzystanie z własności zamkniętości
1 2N
3 4N
5I
6 7N
0
ε
ε
ε
ε
)21 M(MM3
Przykład na korzystanie z własności zamkniętości
)21 M(M
1 2N
3 4N
5I
6 7N
0
ε
ε
ε
ε
ε
ε
M3
321 M)M(MM
Przykład na korzystanie z własności zamkniętości
1
2
N
3
4
N
0
I
N
N
N
N
N
N
)remove(M-epsMrm
Przykład na korzystanie z własności zamkniętości
1
2
3
I
0
I
NN
NN
)minimize(MM
e(MdeterminizM
detmin
rmdet
)
1 2
N/N-lingM1
6 7N
M3
3
4N/N-ling
5
I
M2
8N-ling -s-
Przykład na korzystanie z własności zamkniętości
Przykład na korzystanie z własności zamkniętości
1
4
3
I0
I
N/N-ling
5
2
N/N-lingN/N-ling
N/N-lingN-ling
N-ling
N-ling
N-ling
-s-
-s-
Zamkniętość ze względu na przecięcie
)MM(L)M(L)M(L 2121
FSA M1
FSA M2
FSA M3
FSA M4
wejście
Zamkniętość ze względu na przecięcie
)MM(L)M(L)M(L 2121
FSA M1
FSA M2
FSA M3
FSA M4
wejście4321 MMMM
FSA
Rozszerzenie koncepcji: Transduktory (FST) Transduktor to automat skończony z wyjściem
(odwzorowanie ciągów symboli) Transduktor dla każdego wczytanego symbolu z taśmy
wejściowego dopisuje odpowiedni symbol do taśmy wyjściowej
Interpretacja jako FSA z parami symboli jako etykiety Interpretacja jako podwójny FSA (FSA wejściowy, FSA
wyjściowy) Transduktor jako akceptor i analizator ciągów symboli -
sprawdza przynależność słowa do języka AS wejściowego i odwzorowuje ja na słowo języka AS wyjściowego
Transduktor (FST)Zapis formalny: T = ( Q, Σ1, Σ2, δ, σ, q0, F )
Q - skończony zbiór stanów
Σ1 - skończony alfabet wejściowy
Σ2 - skończony alfabet wyjściowy
δ(q,a) - funkcja przejścia, gdzie q należy do Q, i gdzie a należy do Σ1. Wynik δ(q,a) = q’, gdzie q’ należy do Q
σ(q,a) - funkcja wyjściowa. Wynik σ(q,a) = a’, gdzie a’ należy do Σ2
q0 - stan początkowy należący do Q
F - zbiór stanów końcowych zawarty w Q
Przykład: Sheeptalk - Cowtalk
σ a b !
q0 - m -
q1 u - -
q2 u - -
q3 u - !
q4: - - -
q0Startb:m a:u a:u !
Lwe(T) = { baa!, baaa!, baaaa!, baaaaa!, baaaaaa!, … }
Lwy(T) = { muu!, muuu!, muuuu!, muuuuu!, muuuuuuu!, … }
T(baaaa!) = muuuu!
a:u
q1 q2 q3 q4
M = ( Q, M = ( Q, ΣΣ, , δδ, q, q00, F ), F )
ΣΣ11 = { a, b, ! } = { a, b, ! }
ΣΣ22 = { m, u, ! } = { m, u, ! }
Q = { qQ = { q00, q, q11, q, q22, q, q33, q, q44 } }
F = { qF = { q44 } }
δ a b !
q0 - q1 -
q1 q2 - -
q2 q3 - -
q3 q3 - q4
q4: - - -
Przykład: Sheeptalk - Cowtalk
q0Startb:m a:u a:u !
a:u
q1 q2 q3 q4
b aa a a !
q0
Taśma wejściowa
Taśma wyjściowa
Przykład: Sheeptalk - Cowtalk
q0Startb:m a:u a:u !
a:u
q1 q2 q3 q4
b aa a a !
m
q1
Taśma wejściowa
Taśma wyjściowa
Przykład: Sheeptalk - Cowtalk
q0Startb:m a:u a:u !
a:u
q1 q2 q3 q4
b aa a a !
m u
q2
Taśma wejściowa
Taśma wyjściowa
Przykład: Sheeptalk - Cowtalk
q0Startb:m a:u a:u !
a:u
q1 q2 q3 q4
b aa a a !
m uu
q3
Taśma wejściowa
Taśma wyjściowa
Przykład: Sheeptalk - Cowtalk
q0Startb:m a:u a:u !
a:u
q1 q2 q3 q4
b aa a a !
m uu u
q3
Taśma wejściowa
Taśma wyjściowa
Przykład: Sheeptalk - Cowtalk
q0Startb:m a:u a:u !
a:u
q1 q2 q3 q4
b aa a a !
m uu u u
q3
Taśma wejściowa
Taśma wyjściowa
Przykład: Sheeptalk - Cowtalk
q0Startb:m a:u a:u !
a:u
q1 q2 q3 q4
b aa a a !
m uu u u !
q4
Taśma wejściowa
Taśma wyjściowa
Przykłady z Lingwistyki komputerowej
Uproszczona fleksja niektórych niemieckich Uproszczona fleksja niektórych niemieckich czasowników (Automat)czasowników (Automat)
q0Start q1 q2
wat
q3
bet
hast
et
ε
et
en
e
est
Przykłady z Lingwistyki komputerowej
Uproszczona fleksja niektórych niemieckich Uproszczona fleksja niektórych niemieckich czasowników (Transduktor)czasowników (Transduktor)
T(betest) T(betest) = V 2sg= V 2sg T(hastet) T(hastet) = V 3sg, V 2pl= V 3sg, V 2pl T(wateten) T(wateten) = V impf 1pl, V impf 3pl= V impf 1pl, V impf 3pl
q0Start q1
q2wat:V
q3bet:V
hast:V
et:impf
et:2pl
en:1pl,3pl
e:1sg,3sg
est:2sg
est:2sg
en:1pl,3pl
et:3sg,2pl
e:1sg
Transduktor jako słownik( Transduktor subsekwencyjny )
L = { agencja:N+fem, agent:N+mas, agentka:N+fem, bank:N+mas, bat:N+mas }
0 1a
2g
3e
4n
5c
6j
7a
8t
9k
10a
11b
12a
13n
14k
15t
N+mas
N+mas
N+mas
N+fem
N+fem
Transduktor jako słownik( Transduktor subsekwencyjny )
L = { agencja:N+fem, agent:N+mas, agentka:N+fem, bank:N+mas, bat:N+mas }
0 1a
2g
3e
4n
5c
6j
7a
8t
9k
10a
11b
12a
13n
14k
15t
N+mas
N+mas
N+mas
N+fem
N+fem
Transduktor jako słownik( Transduktor subsekwencyjny )
L = { agencja:N+fem, agent:N+mas, agentka:N+fem, bank:N+mas, bat:N+mas }
0 1a
2g
3e
4n
5c
6j
7a
8t
k11b
12a
13n
14k
t
N+masN+mas
N+fem
Własności zamkniętości Transduktorów
Transduktory są: Zamknięte pod względem sumy Zamknięte pod względem konkatenacji Zamknięte pod względem domknięcia
Kleene’ego Zamknięte pod względem odwracania Zamknięte pod względem złożenia Nie są zamknięte pod względem intersekcji (ale
Transduktory bez przejść ε są)
Złożenie FST - Kaskady
FSTT1
FSTT2
FSTT3
wynik1 wynik2wejście wyjście
|T1|(wejście) = wynik1|T2|(wynik1) = wynik2|T3|(wynik2) = wyjście
FST T
Złożenie FST - Kaskady
FSTT1
FSTT2
FSTT3
wejście wyjście
|T|(wejście) = |T3○T2○T1|(wejście) = wyjście
○ ○wynik1 wynik2
FST T
Złożenie FST - Kaskady
wejście wyjście
|T|(wejście) = wyjście
Intersekcja FST – Reguły równoległe
FST T1
FST T2
FST T3
FST T4
wejście wyjście
Intersekcja FST – Reguły równoległe
FST T1
FST T2
FST T3
FST T4
wejście wyjście
4321 TTTT
FST
Kilka słów o fonologii
Słowo ARPAbet
ambrosia
lily
sunflower
[ae m b r ow zh ax]
[l ih l iy]
[s ah n f l aw axr]
Złożenie i przecięcie Transduktorów
FST1 FSTnortograficzne i fonetyczne
reguły
FST-Słownikowy
o +Nx +PLf
aa sk +N +PLf
Poziom leksykalny
o ^x sf
aa sk ^ zfPoziom pośredni
o ex sf
aa sk ix zfPoziom wynikowy
Przykład na przecięcie Transduktorów
o +Nx +PLf
aa sk +N +PLf
o ^x sf
aa sk ^ zf
o ex sf
aa sk ix zf
Poziom leksykalny
Poziom pośredni
Poziom wynikowy
FST-Słownikowy
FST – Przecięcie reguł
Przykład na przecięcie Transduktorów
o +Nx +PLf
aa sk +N +PLf
o ex sf
aa sk ix zf
Poziom leksykalny
Poziom wynikowy
FSTZłożenie słownika
z regułami
Inne koncepcje i zastosowania:Automaty i transduktory ważone
Wprowadzenie metod statystycznych w symboliczne przetwarzanie mowy.
Każde przejście jest dodatkowo oznaczone prawdopodobieństwem wykorzystania tego przejścia.
Suma prawdopodobieństw wszystkich przejść wychodzących z jednego stanu jest równa 1.
Przykład prostego automatu ważonego
tow
m
aa
tow
ey0.95
0.05
Przetwarzanie języka u człowieka a modele skończenie stanowy Hipoteza minimalnej redundancji (ang. Minimum
redundancy) w morfologii Problemy człowieka ze zrozumieniem zdań
wielokrotnie złożonych wskazuje na skończoną pamięć. Gramatyki bezkonstekstowe ze skończonym stosem można opisać za pomocą modeli skończonych (Yngwe 1960)
Rozumienie wypowiedzi językowych odbywa się u człowieka w sposób liniowy (deterministyczny), co wskazuje na pewną bliskość do modeli skończonych
Wreszcie koniec!Dziękuję bardzo za uwagę