Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Lingwistyka komputerowa Zastosowanie automatów skończonych stanów w przetwarzaniu języków naturalnych Marcin Junczys-Dowmunt.

Podobne prezentacje


Prezentacja na temat: "Lingwistyka komputerowa Zastosowanie automatów skończonych stanów w przetwarzaniu języków naturalnych Marcin Junczys-Dowmunt."— Zapis prezentacji:

1 Lingwistyka komputerowa Zastosowanie automatów skończonych stanów w przetwarzaniu języków naturalnych Marcin Junczys-Dowmunt

2 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

3 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)

4 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

5 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

6 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

7 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)

8 Historia lingwistyki komputerowej : Dwa podejścia Metody symboliczny Gramatyka generatywna Parsery syntaktyczne Stuczna inteligencja (AI) Metody statystyczne Metoda Bayesa Optyczne rozpoznawanie liter Identyfikacja autorów tekstów

9 Historia lingwistyki komputerowej : 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

10 Historia lingwistyki komputerowej : 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)

11 Historia lingwistyki komputerowej : 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)

12 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

13 Procesy przy przetwarzaniu mowy Przetwarzanie sygnału Ekstrakcja cechAnaliza semantyczna Lexical matching Analiza składniowa SegmentacjaAnaliza pragmatyczna Wiedza syntaktyczna Wiedza semantyczna Wiedza pragmatyczna Słownik fonologiczny Sygnał Zdanie i interpretacja Inwentarz jednostek Akustyczne wektory Akustyczne cechy Hipotezy jednostek Hipotezy słów Hipotezy fraz Hipotezy znaczeń

14 Gramatyki formalne Pojęcie gramatyki formalnej zostało wprowadzone przez N. Chomskyego 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)

15 Gramatyki formalne Według hierarchii Chomskyego: Klasa 0: Gramatyki nieograniczone Klasa 1: Gramatyki kontekstowe Klasa 2: Gramatyki bezkonstekstowe Klasa 3: Gramatyki regularne (automatowe, skończenie stanowe)

16 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

17 Automaty skończone (FSA) Zapis formalny: M = ( Q, Σ, δ, q 0, 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 q0q0 - stan początkowy należący do Q F- zbiór stanów końcowych zawarty w Q

18 Przykład: Sheeptalk q0q0 Start baa! a L(M) = { baa!, baaa!, baaaa!, baaaaa!, baaaaaa!, … } δab! q0q0 -q1q1 - q1q1 q2q2 -- q2q2 q3q3 -- q3q3 q3q3 -q4q4 q4:q4:--- q1q1 q2q2 q3q3 q4q4 M = ( Q, Σ, δ, q 0, F ) Σ = { a, b, ! } Q = { q 0, q 1, q 2, q 3, q 4 } F = { q 4 }

19 Przykład: Sheeptalk q0q0 Start baa! a q1q1 q2q2 q3q3 q4q4 baaaa! q0q0

20 Przykład: Sheeptalk q0q0 Start baa! a q1q1 q2q2 q3q3 q4q4 baaaa! q1q1

21 Przykład: Sheeptalk q0q0 Start baa! a q1q1 q2q2 q3q3 q4q4 baaaa! q2q2

22 Przykład: Sheeptalk q0q0 Start baa! a q1q1 q2q2 q3q3 q4q4 baaaa! q3q3

23 Przykład: Sheeptalk q0q0 Start baa! a q1q1 q2q2 q3q3 q4q4 baaaa! q3q3

24 Przykład: Sheeptalk q0q0 Start baa! a q1q1 q2q2 q3q3 q4q4 baaaa! q3q3

25 Przykład: Sheeptalk q0q0 Start baa! a q1q1 q2q2 q3q3 q4q4 baaaa! q4q4

26 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

27 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

28 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.

29 Przykłady z Lingwistyki komputerowej -stwo q0q0 Start stoł q1q1 q4q4 q2q2 stol -arz -ołowy -ek stół q3q3 -ar -ka mal Uproszczone słowotwórstwo niektórych polskich wyrazów

30 Przykłady z Lingwistyki komputerowej q0q0 Start reg-verb-stem q1q1 q3q3 q2q2 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 pastpast-partpres- part 3sg walk work catch speak caught spoke -ed -ing-s Uproszczona fleksja niektórych angielskich czasowników

31 Przykłady z Lingwistyki komputerowej Uproszczona fleksja niektórych niemieckich czasowników q0q0 Start q1q1 q2q2 wat q3q3 bet hast et ε en e est

32 Przykłady z Lingwistyki komputerowej Uproszczona morfologia niemieckich złożeń rzeczownikowych q0q0 Start q1q1 q3q3 q2q2 N N I N I N

33 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

34 Budowa słowników Drzewo deterministyczne L = { agencja, agent, agentka, bank, bat } 0 Start

35 Budowa słowników Drzewo deterministyczne L = { agencja, agent, agentka, bank, bat } 0 Start 1 a 2 g 3 e 4 n 5 c 6 j 7 a

36 Budowa słowników Drzewo deterministyczne L = { agencja, agent, agentka, bank, bat } 0 Start 1 a 2 g 3 e 4 n 5 c 6 j 7 a 8 t

37 Budowa słowników Drzewo deterministyczne L = { agencja, agent, agentka, bank, bat } 0 Start 1 a 2 g 3 e 4 n 5 c 6 j 7 a 8 t 9 k 10 a

38 Budowa słowników Drzewo deterministyczne L = { agencja, agent, agentka, bank, bat } 0 Start 1 a 2 g 3 e 4 n 5 c 6 j 7 a 8 t 9 k 10 a 11 b 12 a 13 n 14 k

39 Budowa słowników Drzewo deterministyczne L = { agencja, agent, agentka, bank, bat } 0 Start 1 a 2 g 3 e 4 n 5 c 6 j 7 a 8 t 9 k 10 a 11 b 12 a 13 n 14 k 15 t

40 Budowa słowników Drzewo deterministyczne L = { agencja, agent, agentka, bank, bat } 0 Start 1 a 2 g 3 e 4 n 5 c 6 j 7 a 8 t 9 k 10 a 11 b 12 a 13 n 14 k 15 t Suma liter w hasłach słownikowych: 26 Suma liter (przejść) w słowniku: 15

41 Budowa słowników Minimalizacja drzewa L = { agencja, agent, agentka, bank, bat } 0 Start 1 a 2 g 3 e 4 n 5 c 6 j 7 a 8 t 9 k 10 a 11 b 12 a 13 n 14 k 15 t

42 Budowa słowników Minimalizacja drzewa L = { agencja, agent, agentka, bank, bat } 0 Start 1 a 2 g 3 e 4 n 5 c 6 j 7,10, 14,15 a 8 t 9 ka 11 b 12 a 13 n k t

43 Budowa słowników Minimalizacja drzewa L = { agencja, agent, agentka, bank, bat } t Suma liter w hasłach słownikowych: 26 Suma liter (przejść) w słowniku: 14 0 Start 1 a 2 g 3 e 4 n 5 c 6,8 j 7,10, 14,15 a 8 t k 11 b 12 a 13 n k t

44 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 Kleeneego Zamknięte ze względu na przecięcie Zamknięte ze względu na dopełnienie

45 Zamkniętość ze względu na sumę q0q0 q0q0 q 0 ε ε Start

46 Zamkniętość ze względu na domknięcie Kleeneego q0q0 ε ε ε

47 Zamkniętość ze względu na konkatenację q0q0 q0q0 ε ε

48 Zamkniętość ze względu na konkatenację q0q0 q0q0 ε ε

49 Przykłady z Lingwistyki komputerowej Uproszczona morfologia niemieckich złożeń rzeczownikowych q0q0 Start q1q1 q3q3 q2q2 N N I N I N

50 Przykład na korzystanie z własności zamkniętości 1 2 N M1M1 34 N 5 I M2M2 6 7 N M3M3

51 Przykład na korzystanie z własności zamkniętości 1 2 N 34 N 5 I 6 7 N 0 ε ε M3M3 M1M1 M2M2

52 1 2 N 34 N 5 I 6 7 N 0 ε ε ε ε M3M3

53 12 N 34 N 5 I 6 7 N 0 ε ε ε ε ε ε M3M3

54 1 2 N 3 4 N 0 I N N N N N N

55 1 2 3 I 0 I N N N N

56 1 2 N/N-ling M1M1 6 7 N M3M I M2M2 8 N-ling -s- Przykład na korzystanie z własności zamkniętości

57 1 4 3 I 0 I N/N-ling 5 2 N-ling -s-

58 Zamkniętość ze względu na przecięcie FSA M 1 FSA M 2 FSA M 3 FSA M 4 wejście

59 Zamkniętość ze względu na przecięcie FSA M 1 FSA M 2 FSA M 3 FSA M 4 wejście

60 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

61 Transduktor (FST) Zapis formalny: T = ( Q, Σ 1, Σ 2, δ, σ, q 0, F ) Q- skończony zbiór stanów Σ1Σ1 - skończony alfabet wejściowy Σ2Σ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 q0q0 - stan początkowy należący do Q F- zbiór stanów końcowych zawarty w Q

62 Przykład: Sheeptalk - Cowtalk σab! q0q0 -m- q1q1 u-- q2q2 u-- q3q3 u-! q4:q4:--- q0q0 Start b:ma:u ! L we (T) = { baa!, baaa!, baaaa!, baaaaa!, baaaaaa!, … } L wy (T) = { muu!, muuu!, muuuu!, muuuuu!, muuuuuuu!, … } T(baaaa!) = muuuu! a:u q1q1 q2q2 q3q3 q4q4 M = ( Q, Σ, δ, q 0, F ) Σ 1 = { a, b, ! } Σ 2 = { m, u, ! } Q = { q 0, q 1, q 2, q 3, q 4 } F = { q 4 } δab! q0q0 -q1q1 - q1q1 q2q2 -- q2q2 q3q3 -- q3q3 q3q3 -q4q4 q4:q4:---

63 Przykład: Sheeptalk - Cowtalk q0q0 Start b:ma:u ! q1q1 q2q2 q3q3 q4q4 baaaa! q0q0 Taśma wejściowa Taśma wyjściowa

64 Przykład: Sheeptalk - Cowtalk q0q0 Start b:ma:u ! q1q1 q2q2 q3q3 q4q4 baaaa! m q1q1 Taśma wejściowa Taśma wyjściowa

65 Przykład: Sheeptalk - Cowtalk q0q0 Start b:ma:u ! q1q1 q2q2 q3q3 q4q4 baaaa! mu q2q2 Taśma wejściowa Taśma wyjściowa

66 Przykład: Sheeptalk - Cowtalk q0q0 Start b:ma:u ! q1q1 q2q2 q3q3 q4q4 baaaa! muu q3q3 Taśma wejściowa Taśma wyjściowa

67 Przykład: Sheeptalk - Cowtalk q0q0 Start b:ma:u ! q1q1 q2q2 q3q3 q4q4 baaaa! muuu q3q3 Taśma wejściowa Taśma wyjściowa

68 Przykład: Sheeptalk - Cowtalk q0q0 Start b:ma:u ! q1q1 q2q2 q3q3 q4q4 baaaa! muuuu q3q3 Taśma wejściowa Taśma wyjściowa

69 Przykład: Sheeptalk - Cowtalk q0q0 Start b:ma:u ! q1q1 q2q2 q3q3 q4q4 baaaa! muuuu! q4q4 Taśma wejściowa Taśma wyjściowa

70 Przykłady z Lingwistyki komputerowej Uproszczona fleksja niektórych niemieckich czasowników (Automat) q0q0 Start q1q1 q2q2 wat q3q3 bet hast et ε en e est

71 Przykłady z Lingwistyki komputerowej Uproszczona fleksja niektórych niemieckich czasowników (Transduktor) T(betest) = V 2sg T(betest) = V 2sg T(hastet) = V 3sg, V 2pl T(hastet) = V 3sg, V 2pl T(wateten) = V impf 1pl, V impf 3pl T(wateten) = V impf 1pl, V impf 3pl q0q0 Start q1q1 q2q2 wat:V q3q3 bet:V hast:V et:impf et:2pl en:1pl,3pl e:1sg,3sg est:2sg en:1pl,3pl et:3sg,2pl e:1sg

72 Transduktor jako słownik ( Transduktor subsekwencyjny ) L = { agencja:N+fem, agent:N+mas, agentka:N+fem, bank:N+mas, bat:N+mas } 01 a 2 g 3 e 4 n 5 c 6 j 7 a 8 t 9 k 10 a 11 b 12 a 13 n 14 k 15 t N+mas N+fem

73 Transduktor jako słownik ( Transduktor subsekwencyjny ) L = { agencja:N+fem, agent:N+mas, agentka:N+fem, bank:N+mas, bat:N+mas } 01 a 2 g 3 e 4 n 5 c 6 j 7 a 8 t 9 k 10 a 11 b 12 a 13 n 14 k 15 t N+mas N+fem

74 Transduktor jako słownik ( Transduktor subsekwencyjny ) L = { agencja:N+fem, agent:N+mas, agentka:N+fem, bank:N+mas, bat:N+mas } 01 a 2 g 3 e 4 n 5 c 6 j 7 a 8 t k 11 b 12 a 13 n 14 k t N+mas N+fem

75 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 Kleeneego 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ą)

76 Złożenie FST - Kaskady FST T 1 FST T 2 FST T 3 wynik1wynik2wejściewyjście |T 1 |(wejście) = wynik1 |T 2 |(wynik1) = wynik2 |T 3 |(wynik2) = wyjście

77 FST T Złożenie FST - Kaskady FST T 1 FST T 2 FST T 3 wejściewyjście |T|(wejście) = |T 3T 2 T 1 |(wejście) = wyjście wynik1wynik2

78 FST T Złożenie FST - Kaskady wejściewyjście |T|(wejście) = wyjście

79 Intersekcja FST – Reguły równoległe FST T 1 FST T 2 FST T 3 FST T 4 wejściewyjście

80 Intersekcja FST – Reguły równoległe FST T 1 FST T 2 FST T 3 FST T 4 wejściewyjście

81 Kilka słów o fonologii SłowoARPAbet ambrosia lily sunflower [ae m b r ow zh ax] [l ih l iy] [s ah n f l aw axr]

82 Złożenie i przecięcie Transduktorów FST 1 FST n ortograficzne i fonetyczne reguły FST-Słownikowy o+Nx+PLf aask+N+PLf Poziom leksykalny o^xsf aask^zf Poziom pośredni oexsf aaskixzf Poziom wynikowy

83 Przykład na przecięcie Transduktorów o+Nx+PLfaask+N+PLfo^xsfaask^zfoexsf skixzf Poziom leksykalny Poziom pośredni Poziom wynikowy FST-Słownikowy FST – Przecięcie reguł

84 Przykład na przecięcie Transduktorów o+Nx+PLfaask+N+PLfoexsfaaskixzf Poziom leksykalny Poziom wynikowy FST Złożenie słownika z regułami

85 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.

86 Przykład prostego automatu ważonego t owow m aa t owow ey

87 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

88 Wreszcie koniec! Dziękuję bardzo za uwagę


Pobierz ppt "Lingwistyka komputerowa Zastosowanie automatów skończonych stanów w przetwarzaniu języków naturalnych Marcin Junczys-Dowmunt."

Podobne prezentacje


Reklamy Google