M. Junczys-Dowmunt - Lingwistyka komputerowa. Zastosowanie

Download Report

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ę