Transcript M. Junczys-Dowmunt - Lingwistyka komputerowa. Zastosowanie
Lingwistyka komputerowa
Zastosowanie automatów skończonych stanów w przetwarzaniu języków naturalnych Marcin Junczys-Dowmunt
Lingwistyka komputerowa Co 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 komputerowa Jedna 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 komputerowa Nauka interdyscyplinarna Językoznawstwo Informatyka Filozofia Sztuczna inteligencja Psychologia kognitywna Matematyka Teoria automatów Języki formalne Teoria grafów Statystyka Rachunek prawdopodobieństwa Logika matematyczna
Lingwistyka komputerowa Strona 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 komputerowa Zastosowania Ekstrakcja 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ów Generowanie mowy i tekstów np. syntezatory mowy Tłumaczenie maszynowe Systemy dialogowe np. zamawianie biletów przez rozmowę z automatem
Historia lingwistyki komputerowej
Lata 40te i 50te: Początki
Koncepcja 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ścia
Metody 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 paradygmaty
Statystyczne 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 Sygnał Przetwarzanie sygnału
Akustyczne wektory
Ekstrakcja cech
Akustyczne cechy
Inwentarz jednostek Segmentacja Słownik fonologiczny
Hipotezy jednostek
Lexical matching
Hipotezy słów
Analiza składniowa Wiedza syntaktyczna
Hipotezy fraz
Analiza semantyczna
Hipotezy znaczeń
Wiedza semantyczna Analiza pragmatyczna Wiedza pragmatyczna Zdanie i interpretacja
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 nieograniczone
Klasa 1: Gramatyki kontekstowe
Klasa 2: Gramatyki bezkonstekstowe
Klasa 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, Σ, δ, q 0 , F ) Q Σ δ(q,a) q F 0
skończony zbiór stanów skończony alfabet wejściowy 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
stan początkowy należący do
Q
zbiór stanów końcowych zawarty w
Q
Przykład: Sheeptalk
L(M) = { baa!, baaa!, baaaa!, baaaaa!, baaaaaa!, … }
a Start
q 0
b
q 1
a
q 2
a
q 3
!
q 4 M = ( Q, Σ, δ, q 0 , F ) Σ = { a, b, ! } Q = { q 0 , q 1 , q 2 , q 3 , q 4 F = { q 4 } } δ q 0 q 1 q 2 q 3 q 4 : a q 2 q 3 q 3 b q 1 q 4 !
-
Przykład: Sheeptalk Start a
q 0
b
q 1
a
q 2
a
q 3
!
q 4 q 0 b a a a a !
Przykład: Sheeptalk Start a
q 0
b
q 1
a
q 2
a
q 3
!
q 4 q 1 b a a a a !
Przykład: Sheeptalk Start a
q 0
b
q 1
a
q 2
a
q 3
!
q 4 q 2 b a a a a !
Przykład: Sheeptalk Start a
q 0
b
q 1
a
q 2
a
q 3
!
q 4 q 3 b a a a a !
Przykład: Sheeptalk Start a
q 0
b
q 1
a
q 2
a
q 3
!
q 4 q 3 b a a a a !
Przykład: Sheeptalk Start a
q 0
b
q 1
a
q 2
a
q 3
!
q 4 q 3 b a a a a !
Przykład: Sheeptalk Start a
q 0
b
q 1
a
q 2
a
q 3
!
q 4 q 4 b a a a a !
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 naturalnych Modelowanie słowników Przetwarzanie mowy Analiza morfologiczna Analiza składniowa wybranych podzbiorów języków naturalnych Modelowanie gramatyk skończenie stanowych przybliżonych do gramatyk o większych możliwościach generatywnych
FSA w morfologii/fonologii Dystrybucja Zbiór otoczeń (kontekstów) w jakich dany element językowy może występować. Istnieją znaczne ograniczenia Morfotaktyka Opis ciągów morfemów współtworzących wyraz. Rodzaj składni międzymorfemowej.
Morfofonologia/Fonotaktyka Teoria alternacji morfologicznej. Teoria fonologicznej struktury morfemów.
Przykłady z Lingwistyki komputerowej Uproszczone słowotwórstwo niektórych polskich wyrazów stół -ek stoł Start
q 0 q 1 q 4
stol
q 2
ołowy -arz -ka mal -ar
q 3
-stwo
Przykłady z Lingwistyki komputerowej Uproszczona fleksja niektórych angielskich czasowników
irreg-past-verb-stem past (-ed)
Start
q 0 reg-verb-stem q 1 reg-verb-stem q 2 irreg-verb-stem past-part (-ed) pres-part (-ing) 3sg (-s) q 3 reg-verb stem walk work irreg-verb stem catch speak irreg-past verb-stem caught spoke past -ed past-part -ed pres part -ing 3sg -s
Przykłady z Lingwistyki komputerowej Start Uproszczona fleksja niektórych niemieckich czasowników
q 0
wat bet hast
q 1
et ε
q 2
et en e est
q 3
Przykłady z Lingwistyki komputerowej Uproszczona morfologia niemieckich złożeń rzeczownikowych N N N Start
q 0 q 1 q 3
I I N
q 2
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ów Drzewo deterministyczne
L = { agencja, agent, agentka, bank, bat }
Start 0
Budowa słowników Drzewo deterministyczne
L = { agencja , agent, agentka, bank, bat }
Start 0 a 1 g 2 e 3 n 4 c 5 j 6 a 7
Budowa słowników Drzewo deterministyczne
L = { agencja, agent , agentka, bank, bat }
Start 0 a 1 g 2 e 3 n 4 c t 5 j 8 6 a 7
Budowa słowników Drzewo deterministyczne
L = { agencja, agent, agentka , bank, bat }
Start 0 a 1 g 2 e 3 n 4 c t 5 j 6 a 7 8 k 9 a 10
Budowa słowników Drzewo deterministyczne
L = { agencja, agent, agentka, bank , bat }
Start 0 b a g e n 1 2 3 4 11 a 12 n 13 k 14 t c 5 j 8 k 6 a 7 9 a 10
Budowa słowników Drzewo deterministyczne
L = { agencja, agent, agentka, bank, bat }
Start 0 b a g e n 1 2 3 4 11 a 12 t n 13 15 k 14 t c 5 j 8 k 6 a 7 9 a 10
Budowa słowników Drzewo deterministyczne
L = { agencja, agent, agentka, bank, bat }
Suma liter w hasłach słownikowych: 26 Start 0 b a g e n 1 2 3 4 11 a 12 t n 13 15 k 14 t c 5 j 8 k 6 a 7 9 a 10 Suma liter (przejść) w słowniku: 15
Budowa słowników Minimalizacja drzewa
L = { agencja, agent, agentka, bank, bat }
Start 0 b a g e n 1 2 3 4 11 a 12 t n 13 15 k 14 t c 5 j 8 k 6 a 7 9 a 10
Budowa słowników Minimalizacja drzewa
L = { agencja, agent, agentka, bank, bat }
Start 0 b a 1 g 2 e 3 n 4 c t 11 a 12 n 13 5 j 8 k 6 a 9 a
7,10, 14,15
k t
Budowa słowników Minimalizacja drzewa
L = { agencja, agent, agentka, bank, bat }
Suma liter w hasłach słownikowych: 26 Start 0 b a 1 g 2 e 3 n 4 c t 11 a 12 n 13 5 8 j k
6,8
a
7,10, 14,15
t t Suma liter (przejść) w słowniku: 14 k
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’ego Zamknięte ze względu na przecięcie Zamknięte ze względu na dopełnienie
Zamkniętość ze względu na sumę
L ( M 1 )
L ( M 2 )
L ( M 1
M 2 )
ε
q 0
Start
q 0 ’
ε
q 0
Zamkniętość ze względu na domknięcie Kleene’ego
L ( M )*
L ( M *)
ε
q 0
ε ε
Zamkniętość ze względu na konkatenację
L ( M 1 )
L ( M 2 )
L ( M 1
M 2 )
ε
q 0 q 0
ε
Zamkniętość ze względu na konkatenację
L ( M 1 )
L ( M 2 )
L ( M 1
M 2 )
ε
q 0 q 0
ε
Przykłady z Lingwistyki komputerowej Uproszczona morfologia niemieckich złożeń rzeczownikowych N N N Start
q 0 q 1 q 3
I I N
q 2
Przykład na korzystanie z własności zamkniętości M 1 1 N 2 M 2 3 N 4 I 5 M 3 6 N 7
Przykład na korzystanie z własności zamkniętości M 1 M 2 ε M 1 1 N 2 0 ε M 2 3 N 4 I 5 M 3 6 N 7
Przykład na korzystanie z własności zamkniętości (M 1 M 2 ) ε 0 ε 1 N 2 ε ε 3 N 4 I 5 M 3 6 N 7
Przykład na korzystanie z własności zamkniętości (M 1 M 2 ) ε 0 ε ε M (M 1 M 2 ) M 3 N 1 2 ε M 3 6 N 7 ε 3 N 4 I 5 ε
Przykład na korzystanie z własności zamkniętości M rm eps remove(M ) N N 1 N 4 N N 0 N N 3 N 2 I
Przykład na korzystanie z własności zamkniętości M det M min determiniz e(M rm ) minimize(M det ) N N 3 N 0 1 N I I 2
Przykład na korzystanie z własności zamkniętości M 1 1 N/N-ling 2 M 3 6 N 7 M 2 N/N-ling 3 N-ling 4 I 8 -s 5
Przykład na korzystanie z własności zamkniętości N-ling 0 N/N-ling 1 N/N-ling -s N-ling 2 N-ling 5 I -s 4 N/N-ling I N-ling 3 N/N-ling
Zamkniętość ze względu na przecięcie
L ( M 1 )
L ( M 2 )
L ( M 1
M 2 ) FSA M 1
wejście
FSA M 2 FSA M 3 FSA M 4
Zamkniętość ze względu na przecięcie
L ( M 1 )
L ( M 2 )
L ( M 1
M 2 ) FSA M 1
wejście FSA
2
M 1 M 2 M 3
FSA M 3
M 4
FSA M 4
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 , δ, σ, q 0 , F ) Q Σ 1 Σ 2 δ(q,a) σ(q,a) q F 0
skończony zbiór stanów skończony alfabet wejściowy skończony alfabet wyjściowy funkcja przejścia, gdzie
q
należy do
Q
, i gdzie
a
gdzie
q’
należy do
Σ 1 .
Wynik należy do
Q δ(q,a) = q’
, funkcja wyjściowa. Wynik gdzie
a’
należy do
Σ 2 σ(q,a) = a’
stan początkowy należący do
Q
, zbiór stanów końcowych zawarty w
Q
Przykład: Sheeptalk - Cowtalk
L we (T) = { baa!, baaa!, baaaa!, baaaaa!, baaaaaa!, … } L wy (T) = { muu!, muuu!, muuuu!, muuuuu!, muuuuuuu!, … }
a:u
T(baaaa!) = muuuu!
Start
q 0
b:m
q 1
a:u
q 2
a:u
q 3
!
q 4 M = ( Q, Σ, δ, q 0 , F ) Σ 1 Σ 2 = { a, b, ! } = { m, u, ! } Q = { q 0 , q 1 , q 2 , q 3 , q 4 F = { q 4 } } δ q 0 q 1 q 2 q 3 q 4 : a q 2 q 3 q 3 b q 1 !
q 4 σ q 0 q 1 q 2 q 3 q 4 : a u u u b m !
!
Przykład: Sheeptalk - Cowtalk Start a:u
q 0
b:m
q 1
a:u
q 2
a:u
q 3
!
q 4 q 0
Taśma wejściowa Taśma wyjściowa
b a a a a !
Przykład: Sheeptalk - Cowtalk Start a:u
q 0
b:m
q 1
a:u
q 2
a:u
q 3
!
q 4
Taśma wejściowa Taśma wyjściowa
q 1 b a a a a !
m
Przykład: Sheeptalk - Cowtalk Start a:u
q 0
b:m
q 1
a:u
q 2
a:u
q 3
!
q 4
Taśma wejściowa Taśma wyjściowa
q 2 b a a a a !
m u
Przykład: Sheeptalk - Cowtalk Start a:u
q 0
b:m
q 1
a:u
q 2
a:u
q 3
!
q 4
Taśma wejściowa Taśma wyjściowa
q 3 b a a a a !
m u u
Przykład: Sheeptalk - Cowtalk Start a:u
q 0
b:m
q 1
a:u
q 2
a:u
q 3
!
q 4
Taśma wejściowa Taśma wyjściowa
q 3 b a a a a !
m u u u
Przykład: Sheeptalk - Cowtalk Start a:u
q 0
b:m
q 1
a:u
q 2
a:u
q 3
!
q 4
Taśma wejściowa Taśma wyjściowa
q 3 b a a a a !
m u u u u
Przykład: Sheeptalk - Cowtalk Start a:u
q 0
b:m
q 1
a:u
q 2
a:u
q 3
!
q 4
Taśma wejściowa Taśma wyjściowa
q 4 b a a a a !
m u u u u !
Przykłady z Lingwistyki komputerowej Uproszczona fleksja niektórych niemieckich czasowników (Automat) Start
q 0
wat bet hast
q 1
et ε
q 2
et en e
q 3
est
Przykłady z Lingwistyki komputerowej Uproszczona fleksja niektórych niemieckich czasowników (Transduktor) et:2pl Start
q 0
wat:V bet:V hast:V
q 1
et:impf
q 2
en:1pl,3pl e:1sg,3sg est:2sg T(betest) T(hastet) T(wateten) = V 2sg = V 3sg, V 2pl = V impf 1pl, V impf 3pl est:2sg en:1pl,3pl et:3sg,2pl e:1sg
q 3
Transduktor jako słownik ( Transduktor subsekwencyjny )
L = { agencja:N+fem, agent:N+mas, agentka:N+fem, bank:N+mas, bat:N+mas }
N+fem 0 b a g e n c j 1 2 3 4 5 11 a 12 t n 13 15 k 14 t N+mas 8 k 6 a 7 9 a 10 N+fem N+mas N+mas
Transduktor jako słownik ( Transduktor subsekwencyjny )
L = { agencja:N+fem, agent:N+mas, agentka:N+fem, bank:N+mas, bat:N+mas }
N+fem 0 b a g e n c j 1 2 3 4 5 11 a 12 t n 13 15 k 14 t N+mas 8 k 6 a 7 9 a 10 N+fem N+mas N+mas
Transduktor jako słownik ( Transduktor subsekwencyjny )
L = { agencja:N+fem, agent:N+mas, agentka:N+fem, bank:N+mas, bat:N+mas }
N+fem 0 b a g e n 1 2 3 4 11 a 12 n 13 k 14 t c 5 8 j k 6 a 7 t N+mas N+mas
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 wejście
FST T 1
wynik1
FST T 2
wynik2
FST T 3
wyjście
|T 1 |( wejście ) = wynik1 |T 2 |( wynik1 ) = wynik2 |T 3 |( wynik2 ) = wyjście
Złożenie FST - Kaskady wejście
FST T 1 FST T 2 FST T 3
wyjście
FST T |T|( wejście ) = |T 3 ○T 2 ○T 1 |( wejście ) = wyjście
Złożenie FST - Kaskady wejście
FST T
wyjście
|T|( wejście ) = wyjście
Intersekcja FST – Reguły równoległe wejście
FST T 1 FST T 2 FST T 3 FST T 4
wyjście
Intersekcja FST – Reguły równoległe
FST T 1
wejście FST
2
T 1 T T 2
FST T 3
3 T 4 wyjście
FST T 4
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 Poziom leksykalny Poziom pośredni
f f o x +N +PL aa k s +N +PL FST Słownikowy f f o x aa k ^ s s ^ z
Poziom wynikowy
FST 1 ortograficzne i fonetyczne reguły f f o x aa k e s s ix z FST n
Przykład na przecięcie Transduktorów Poziom leksykalny Poziom pośredni
f f o x +N +PL aa k s +N +PL FST Słownikowy f f o x aa k ^ s s ^ z FST – Przecięcie reguł
Poziom wynikowy
f f o x aa k e s s ix z
Przykład na przecięcie Transduktorów Poziom leksykalny
f f o aa x +N +PL k s +N +PL FST Złożenie słownika z regułami
Poziom wynikowy
f f o x aa k e s s ix z
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
t o w m
0.95
ey aa
0.05
t o w
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ę