Gramatyki wykorzystywane w analizie języka naturalnego
Natural Language Processing
Natural Language Processing to dział sztucznej inteligencji, składający się z:
- teorii gramatyk i języków formalnych,
- szukanie dobrych reprezentacji wiedzy zawartej w tekstach.
Celami NLP są:
- wspomaganie prac z tekstami,
- tworzenie słowników,
- tworzenie programów nauczających języków obcych,
- dialog z komputerem w języku naturalnym, pisanym i mówionym,
- analiza sensu/gramatyki istniejących tekstów, streszczenia,
- komentowanie tekstu, wydobywanie informacji,
- Tłumaczenie maszynowe,
- analiza i synteza mowy.
Podstawowe pojęcia
- Syntaktyka języka – zajmuje się formatem, regułami budowy i formalną składnią.
- Gramatyka – jest zbiorem reguł syntaktycznych.
- Semantyka języka – znaczenie (sens) wyrażeń i konstrukcji w danym języku – zrozumiały tylko w kontekście, często szerokim (społecznym).
- Rozbiór gramatyczny – parsing – uwidacznia nieliniowe powiązania części zdania, do pewnego stopnia widoczne w tradycyjnym rozbiorze (podmiot, orzeczenie).
Historia
- 1950, Wczesne wysiłki: identyfikacji słów kluczowych, prymitywne programy do tłumaczenia maszynowego .
- 1960, Usprawnienia: baza danych, indeksacja, dopasowanie do wzorców wypowiedzi, podstawowe analizy gramatyczne.
- 1970, Reprezentacja logiczna, analiza semantyczna, rola kontekstu, rozszerzone sieci semantyczne ATM.
- 1975, Systemy wykorzystujące bazy wiedzy, wnioskujące, rozumujące.
- 1980, Programowanie logiczne, gramatyki ograniczeń, modele planowania do rozumienia i generacji tekstu.
- 1990, Formalizacja sieci semantycznych, modele statystyczne, metody koneksjonistyczne, integracja mowy i tekstu, obszerne językowe bazy danych, pragmatyka języka.
- 2000, Gramatyki probabilistyczne (data oriented parsing)
Gramatyki
Przykład gramatyki:
- <Zdanie>: <fraza rzeczownikowa> <fraza czasownikowa>
- <fraza rzeczownikowa>: <rzeczownik>
- <rzeczownik>: pies
- <rzeczownik>: kot
- <fraza czasownikowa>: biegnie
- <fraza czasownikowa>: śpi
Klasy gramatyk (klasyfikacja Chomsky’ego)
- Klasa 0 – rekursywnie przeliczalna – najbardziej ogólna, nie ma ograniczeń co do reguł przepisania, system przypisań ma moc maszyny Turinga.
- Klasa 1 – kontekstowa – ogranicza reguły przepisania X: Y tak, by Y miało przynajmniej tyle symboli co X
- Klasa 2 – bezkontekstowa – każda produkcja ma postać X: Y, gdzie X jest pojedynczym nieterminalem
- Klasa 3 – liniowa – każda produkcja ma postać X: a Y lub X: a (albo X: Y a oraz X: a), gdzie X, Y – nieterminale, x – łańcuch terminalny.
- Klasy 2 i 3 mają silne ograniczenia, ale 2 jest popularna w analizie języka naturalnego, daje spore możliwości.
- Klasa 3 nadaje się tylko do języków sztucznych, ale jest szybka i dlatego wykorzystywana w procesach szukania.
Typy gramatyk
Istnieją różne typy gramatyk, między innymi:
- Gramatyka generatywna – strukturalny opis zdania, można utworzyć nieskończoną liczbę zdań o tej samej strukturze.
- Gramatyka transformacyjna – znaczenie jest niezmiennicze ze względu na transformacje „powierzchniowe” zdania.
- Gramatyki systemiczne – sieci systemowe, opisujące możliwości wyboru znaczeń.
- Gramatyki „przypadków” (case grammars) – czyli semantycznie istotnych powiązań syntaktycznych; np. agent, obiekt, źródło, cel
Architektura systemów NLP
Analiza
- Fonologiczna – fonetyka zajmuje się strukturą dźwięków; fonemy, formantami – istnieje międzynarodowy alfabet fonetyczny; fonologia zajmuje się organizacją fonemów w wypowiedziach.
- Morfologiczna – struktura słów, fleksja, rdzenie, leksykony wykorzystujące regularności języka na poziomie słów.
- Syntaktyczna – konstrukcja zdań, rozbiór gramatyczny.
- Semantyczna – sens, jednoznaczność, wybór słów, zależnie od kontekstu; markery semantyczne i organizacja leksykonu.
- Pragmatyczna – sposób użycia wyrazów, relacje zaimki-fraza; relacje między frazami, relacje przyczynowe, rozumienie całości, założenia.
Kroki analizy językowej:
- Speech recognition: rozpoznawanie mowy, tylko na poziomie fonetycznym + morfologicznym, ale korzysta ze słownika by wybrać bardziej prawdopodobną interpretację rozpoznawanych dźwieków.
- NLP: analiza języka, zaczyna się od poziomu morfologicznego, obejmuje też poziom syntaktyczny, semantyczny i pragmatyczny.
Problemy NLP
- brak wiedzy w programach – trudno zrozumieć sens zdania, jeśli się mało wie
- reprezentacja znaczenia słów i fraz wymaga reprezentacji wiedzy
- rozstrzygnięcie do czego lub kogo odnosi się dany tekst jest trudne – wymaga zrozumienia kontekstu
- słowa mogą posiadać różne znaczenia (w zależności od kontekstu)
- dynamiczne dopełnianie fraz na podstawie modelu świata
- nauka znaczenia fraz z przykładów kontekstowych
- niejednoznaczność zdań
- stosowanie metafor
- parafrazowanie – możliwość wypowiadania tego samego znaczenia używając innych konstrukcji, modyfikowanie i ewentualne rozwijanie tekstu.