Kategorie
Język naturalny Teoria

Analiza i synteza języków naturalnych

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

Architektura systemów NLP
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.

Autor: Inguaris

Inguaris - sztuczna inteligencja, uczenie maszynowe, systemy ekspertowe. Zajmujemy się praktycznym wykorzystaniem AI w e-commerce, finansach, wsparciu marketingu i wielu innych dziedzinach.