PORTFOLIO     Blog Inguaris  
BOT INGUARIS


INGUARIS - TWÓJ WIRTUALNY KONSULTANTPrezentacja Video
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

 

Image


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.