1 / 88

Lingwistyka komputerowa

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

vito
Télécharger la présentation

Lingwistyka komputerowa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  4. 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 komputerowaNauka interdyscyplinarna

  5. 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 komputerowaStrona praktyczna oraz teoretyczna

  6. Lingwistyka komputerowaZastosowania • 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 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

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

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

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

  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 Sygnał Wiedza syntaktyczna Przetwarzanie sygnału Analiza składniowa Akustyczne wektory Hipotezy fraz Wiedza semantyczna Ekstrakcja cech Analiza semantyczna Akustyczne cechy Hipotezy znaczeń Inwentarz jednostek Segmentacja Analiza pragmatyczna Wiedza pragmatyczna Hipotezy jednostek Zdanie i interpretacja Lexical matching Słownik fonologiczny Hipotezy słów

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

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

  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, Σ, δ, q0, F )

  18. Przykład: Sheeptalk L(M) = { baa!, baaa!, baaaa!, baaaaa!, baaaaaa!, … } a b a a ! q4 q0 q1 q2 q3 Start M = ( Q, Σ, δ, q0, F ) Σ = { a, b, ! } Q = { q0, q1, q2, q3, q4 } F = { q4 }

  19. q0 Przykład: Sheeptalk a b a a ! q4 q0 q1 q2 q3 Start b a a a a !

  20. q1 Przykład: Sheeptalk a b a a ! q4 q0 q1 q2 q3 Start b a a a a !

  21. q2 Przykład: Sheeptalk a b a a ! q4 q0 q1 q2 q3 Start b a a a a !

  22. q3 Przykład: Sheeptalk a b a a ! q4 q0 q1 q2 q3 Start b a a a a !

  23. q3 Przykład: Sheeptalk a b a a ! q4 q0 q1 q2 q3 Start b a a a a !

  24. q3 Przykład: Sheeptalk a b a a ! q4 q0 q1 q2 q3 Start b a a a a !

  25. q4 Przykład: Sheeptalk a b a a ! q4 q0 q1 q2 q3 Start b a a a a !

  26. 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 Wady i zalety modeli skończenie stanowych

  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 Uproszczone słowotwórstwo niektórych polskich wyrazów stół -ek stoł q0 q1 q4 Start -ołowy q2 -arz stol -ka mal q3 -ar -stwo

  30. irreg-past-verb-stem past (-ed) reg-verb-stem q0 q1 q3 Start past-part (-ed) reg-verb-stem q2 pres-part (-ing) irreg-verb-stem 3sg (-s) Przykłady z Lingwistyki komputerowej Uproszczona fleksja niektórych angielskich czasowników

  31. wat et et bet en q3 q0 q1 q2 Start ε hast e est Przykłady z Lingwistyki komputerowej Uproszczona fleksja niektórych niemieckich czasowników

  32. N N N q0 q1 q3 Start I I N q2 Przykłady z Lingwistyki komputerowej Uproszczona morfologia niemieckich złożeń rzeczownikowych

  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ówDrzewo deterministyczne L = { agencja, agent, agentka, bank, bat } 0 Start

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

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

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

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

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

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

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

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

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

  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 Kleene’ego • Zamknięte ze względu na przecięcie • Zamknięte ze względu na dopełnienie

  45. q0 q0 Zamkniętość ze względu na sumę ε q0’ Start ε

  46. q0 Zamkniętość ze względu na domknięcie Kleene’ego ε ε ε

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

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

  49. N N N q0 q1 q3 Start I I N q2 Przykłady z Lingwistyki komputerowej Uproszczona morfologia niemieckich złożeń rzeczownikowych

  50. M1 M3 N 1 2 N 6 7 M2 I N 3 4 5 Przykład na korzystanie z własności zamkniętości

More Related