Gramatyki wykorzystywane w analizie języka naturalnegoNatural 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.
|