Lingwistyka komputerowa

Post on 14-Jan-2016

52 views 0 download

description

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 - PowerPoint PPT Presentation

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ę