Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej
NLP Natural Language Processing (przetwarzanie języka naturalnego) Głównym celem prac prowadzonych w tej dziedzinie jest opracowanie modeli opisujących strukturę języka oraz poznanie mechanizmów rozumienia i formułowania wypowiedzi. Zrozumienie zasad budowy i posługiwania się językiem naturalnym możliwe jest dzięki wspólnym wysiłkom badaczy z wielu dyscyplin naukowych: lingwistyki, logiki, filozofii, psychologii, neurofizjologii oraz informatyki. Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 2
Definicja NLP NLP to dział AI zajmujący się poszukiwaniem metod formalnego opisu języka naturalnego oraz reprezentacji wiedzy zawartej w tekstach. Początki zainteresowania przetwarzaniem języka naturalnego związane są z problemem automatycznego tłumaczenia tekstów z jednego języka na inny. Pierwszy projekt badawczy dotyczący automatycznego tłumaczenia tekstów rozpoczęto w roku 1946 w Birkbeck College w Londynie. Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 3
Zastosowanie systemów NLP: rozpoznawanie i synteza mowy interfejsy w języku naturalnym (HCI z j. ang. human - computer interfaces) rozumienie i generowanie tekstów, (np. inteligentne wyszukiwania informacji, dokonywanie streszczeń, tworzenie bazy wiedzy, itd.) prowadzenie dialogu człowiek-komputer automatyczne tłumaczenie tekstów (np. system JANUS-II) inteligentne edytory tekstów nauka języków obcych Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 4
Zalety stosowania systemów NLP: korzystanie z komputera przez osoby bez specjalistycznego przygotowania szybkość (klawiatura 0,5 słowa/s; profesjonalna maszynistka 1.5-2.5 słowa/s; spontaniczna mowa 2.5-3.6 słowa/s) zwolnienie rąk użytkownika (równoległe wykonywanie innych czynności) komunikacja z komputerem w nietypowym środowisku (pod wodą, w statku kosmicznym) zmniejszenie czasu reakcji (szybsza reakcja werbalna niż manualna np. wyłączenie urządzenia w przypadku awarii) korzystanie z komputerów przez osoby niepełnosprawne Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 5
U podstaw procesu porozumiewania się za pomocą języka naturalnego leżą bardzo złożone mechanizmy związane z percepcją i wytwarzaniem wypowiedzi. Wyróżnia się następujące poziomy analizy języka naturalnego: akustyczny rytm i intonacja języka fonologiczny badanie struktury dźwiękowej języka morfologiczny badanie struktury słów (rdzenie, końcówki) syntaktyczny analiza gramatyczna zdania semantyczny opis znaczenia wyrazów i zdań pragmatyczny badanie znaczenia w zależności od kontekstu wypowiedzi Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 6
Podstawowe problemy analizy języka naturalnego: złożoność problemu (bogate słownictwo, różnorodne struktury, itd.) wieloznaczność syntaktyczna wyrazów (np. wyraz "work" może oznaczać rzeczownik "praca" lub czasownik "pracować" ) wieloznaczność semantyczna wyrazów (np. czasownik "order" może posiadać jedno ze znaczeń: "rozkazać", "zamówić", "uporządkować" ) Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 7
wieloznaczność syntaktyczna na poziomie fraz (lub zdań) (John) (sent) (a package) (to New York) (John) (booked) (a flight to New York) problem odniesień anaforycznych The airline bought the plane because it had already decided to do so earlier problem zakresu kwantyfikatorów i negacji Nie wszyscy chłopcy i dziewczynki poszli do kina wystąpienie w zdaniu nieznanych słów. Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 8
Przykładowe realizacje systemów NLP: SAD-SAM (R. Lindsay, 1963) system odpowiadający na pytania dotyczące stopnia pokrewieństwa BASEBALL (B. Green i inni, 1963) system bazy danych, odpowiadający na pytania dotyczące spotkań baseballowych LUNAR (W. A. Woods, 1972) system do wyszukiwania danych na temat próbek gruntu księżycowego pobranych przez Apollo 11 LADDER (G. Hendrix, 1978) system dialogowego dostępu do rozproszonych baz danych HAM-ANS (1981-86) i WISBER(1986-89) systemy prowadzące dialog na temat rezerwacji hotelowej (w języku niemieckim) Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 9
ORBIS (A. Colmerauer, 1983) system bazy danych, odpowiadający na pytania dotyczące planet układu słonecznego Projekty Massachusetts Institute of Technology (MIT): JUPITER system informacji o pogodzie, dostęp przez telefon (około 500 miast) MERCURY system rezerwacji lotów (dostęp przez telefon) PEGASUS system informacji o lotach (odloty, przyloty) VOYAGER system informacji o ruchu drogowym, pomoc w nawigacji (dotyczy Bostonu) Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 10
Schemat blokowy systemu dialogowego (wg MIT): Odpowiedź synteza mowy generowanie wypowiedzi układ sterujący baza danych kontekst dialogu rama semantyczna Pytanie rozpoznanie mowy zrozumienie wypowiedzi (języka) Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 11
Przykład dialogu w systemie Merkury: S: Welcome to the initial development version of the MIT air travel information system. This call is being recorded for system development. You may hang up or ask for help at any time. For enrolled users please say your first and last name. Otherwise, say new user. U: Joe Polifroni S: Please speak the month and day you registered as your password, as in May first. U: I want to key in my password. S: Okay, Please enter your four digit date password... <keyed in> S: Welcome, Joe. You have successfully logged onto mercury. How may I help you? U: I want to fly to San Francisco the first Sunday in November and return the following Thursday. Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 12
S: Okay, flights from Boston to San Francisco on Sunday November 5. Can you provide the approximate departure time or airline preference? U: Are there any flights in the morning? S: Okay, flights from Boston to San Francisco departing between 5 a.m. and 12 p.m. on Sunday November 5. One moment please.... Can you provide a departure or arrival time? I have flights on American, Frontier, America West, Nordic East Airways, Northwest, and United. The earliest nonstop United flight leaves at 7 a.m. and arrives at 10:20 a.m. U: I don t want to fly on United. S: I have a nonstop American flight leaving at 9 a.m. arriving at 12:40 p.m. Would that work? U: Yes, I ll take that one. S: American flight 195 has been added to your itinerary. You depart Boston at 9 a.m. and arrive in San Francisco at 12:40 p.m. Shall I help you with the return flight now? U: Yes, please.... Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 13
Analiza syntaktyczna Dla "zrozumienia" zdania języka naturalnego konieczna jest nie tylko znajomość znaczenia użytych w nim wyrazów, ale również informacja o ich wzajemnym układzie i powiązaniach. Opisem reguł budowy zdań z wyrazów zajmuje się syntaktyka. Termin "syntaksa" wywodzi się z greckiego wyrazu "syntaktis" (zestawienie, uszeregowanie). Zbiór reguł syntaktycznych dla danego języka nazywamy gramatyką tego języka. Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 14
Proces analizy syntaktycznej nazywany jest parsowaniem, a program realizujący ten proces parserem. Zadaniem parsera jest transformacja liniowego zapisu tekstu na pewną strukturę, która zawiera informację o związkach i zależnościach pomiędzy wyrazami i częściami zdania. Wprowadzenie przez Chomskiego w latach pięćdziesiątych naszego wieku pojęcia gramatyki generatywnej stanowiło przełom w lingwistyce, i uważane jest za jedno z ważniejszych wydarzeń w tej dziedzinie. Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 15
Podstawowe pojęcia dotyczące gramatyk Alfabetem nazywamy skończony zbiór symboli występujących w danym języku. Dla języka naturalnego są to wyrazy. Słowem nazywamy skończony ciąg symboli należących do alfabetu. Dla języka naturalnego są to zdania. Językiem nazywamy zbiór słów nad pewnym alfabetem. Język naturalny jest więc zbiorem zdań. Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 16
Gramatykę definiuje się jako "czwórkę" <T, V, P, S>: T zbiór terminali (symbole końcowe np. słowa języka naturalnego) V zbiór nieterminali (kategorie syntaktyczne np. <zdanie>, <fraza rzeczownikowa>, itd.) P zbiór produkcji (reguły tworzenia zdań np. S NP VP ) S wyróżniony symbol początkowy Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 17
Postać reguł produkcji stanowi podstawę klasyfikacji gramatyk na cztery typy (wg Chomskiego): typ 0 gramatyki rekurencyjnie przeliczalne (bez ograniczeń dowolny ciąg symboli terminalnych i nieterminalnych można zastąpić innym ciągiem tych symboli): α β, α, β - dowolne (α ε) typ 1 gramatyki kontekstowe (ciąg symboli po lewej stronie można zastąpić innym ciągiem co najmniej o tej samej długości): α A β α γ β, A symbol nieterminalny α, β, γ - dowolne (γ ε) Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 18
typ 2 gramatyki bezkontekstowe (po lewej stronie reguły może wystąpić wyłącznie jeden symbol nieterminalny, prawa strona jest dowolna): A α, A symbol nieterminalny, α - dowolne typ 3 gramatyki regularne (jeden symbol nieterminalny można zastąpić jednym symbolem terminalnym lub połączeniem symbolu nieterminalnego i terminalnego): A a lub A a B, A, B symbole nieterminalne, a symbol terminalny Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 19
Postać reguł produkcji decyduje o mocy danej gramatyki. Przez moc gramatyki rozumie się liczbę typów konstrukcji językowych przez nią generowanych. Najmniejszą moc ma gramatyka regularna, największą gramatyka rekurencyjnie policzalna. Chomsky pokazał, że do opisu języka angielskiego (i wielu innych języków naturalnych) niezbędna jest gramatyka kontekstowa. W praktyce, w wielu zastosowaniach używana jest gramatyka bezkontekstowa (nie można opisać wszystkich konstrukcji, ale istnieją efektywne algorytmy). Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 20
Gramatyka bezkontekstowa dla języka angielskiego (fragment): S NP VP VP vi (vi czasownik nieprzechodni np. spać ) VP vt NP (vt czasownik przechodni np. "widzieć ) VP vt NP PP NP n NP det n NP pron (pron zaimek) NP det adj n PP prep NP (PP grupa przyimkowa) Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 21
Analiza zdania: They visit friends in Egypt pron vt n prep n Drzewo struktury frazowej: S NP VP pron vt NP PP n prep NP n they visit friendst in Egypt Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 22
Każda gramatyka powinna spełniać dwa kryteria: generować wszystkie poprawne zdania danego języka generować wyłącznie zdania tego języka (nie może generować zdań niepoprawnych). Przykład 1. Chłopiec czyta książkę. 2. Chłopiec je ciastko. 3. Chłopiec czytają książkę. 4. Chłopiec czyta książka. 5. Chłopiec czyta ciastko. 6. Chłopiec je książkę. Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 23
Gramatyka powinna w swoich regułach uwzględniać również konieczność uzgadniania form fleksyjnych wyrazów (istotne dla języków fleksyjnych np. j. polskiego). Problem ten można rozwiązać przez przypisanie symbolom gramatyki dodatkowych atrybutów (np. osoby, liczby, rodzaju, przypadku itd.): S NP(case, gender, nb, person) VP(gender, nb, person) NP(case,gender,number) Noun(case,gender,number) Warunkiem zastosowania danej reguły jest wówczas dodatkowo zgodność wartości odpowiadających sobie atrybutów. Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 24
Problemy występujące podczas analizy syntaktycznej: wieloznaczność syntaktyczna (Poszedłem) (po proszek) (do sklepu) (Poszedłem) (po proszek do prania) nieciągłość fraz Dziewczynki będą dziś wieczorem rysowały swobodny szyk wyrazów Ewa dała jabłko Adamowi (możliwe 24 permutacje) konstrukcje współrzędnie złożone elipsy i konstrukcje z elementami domyślnymi John wants [John] to dance Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 25
Rodzaje gramatyk spotykane w literaturze: gramatyki transformacyjne gramatyki Montague gramatyki struktur frazowych gramatyki funkcyjne gramatyki logiczne gramatyki składania drzew gramatyki unifikacyjne... Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 26
Gramatyka dla języka polskiego (wg Szpakowicza): jednostki elementarne (klasy wyrazów) - 20 wyrazy funkcyjne (spójniki i zaimki) - około 100 jednostki składniowe (nieterminale) - około 100 reguły - około 270 Przykładowa reguła: ZDANIEELEM (1, r, l, o, tr, cz, neg) = [SZFRZ(r, l, o) SZFCZ(OSOB, r, l, o, tr, cz, neg)]. Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 27
Analiza semantyczna Semantyka zajmuje się opisem znaczenia. Wyróżnia się trzy poziomy analizy semantycznej: opis znaczenia wyrazów, zdań oraz tekstów. Cele analizy semantycznej: sprawdzenie poprawności zdania pod względem zrozumiałości i sensowności (np. odrzucenie zdań nielogicznych) usunięcie niejednoznaczności w strukturze zdania (np. właściwa interpretacja wyrazów, wybór właściwego rozbioru gramatycznego zdania), określenie reprezentacji znaczenia zdania (np. opis znaczenia zdania w celu dalszej analizy). Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 28
Zagadnienie semantyki pojawiło się stosunkowo późno w polu zainteresowania lingwistów (lata 60-te XX wieku). Dwa podejścia stosowane do opisu semantyki: strukturalne (relacyjne) składnikowe. Podejście strukturalne: jednostkom języka (głoskom, wyrazom itp.), wyróżnionym w toku analizy zdania, można przypisać znaczenie na podstawie ich relacji w stosunku do innych jednostek danego systemu językowego. Znaczenie wyrazu definiują relacje z wyrazami sąsiednimi (bliskoznacznymi) i opozycyjnymi (np. WORDNET). Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 29
Podejście składnikowe: znaczenie może być zdefiniowane przez rozkład na prostsze (elementarne) komponenty semantyczne. mężczyzna = człowiek + męski + dorosły kobieta = człowiek + żeński + dorosły chłopiec = człowiek + męski + młodociany Znaczenie czasownika "dać" można zdefiniować za pomocą czasowników elementarnych "powodować" i "mieć": X daje Y-owi Z = X powoduje, Y ma Z Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 30
Kazimierz Polański Słownik syntaktyczno-generatywny czasowników polskich : [+ Abstr] abstrakcyjność [- Abstr] konkretność [+ Anim] żywotność [- Anim] nieżywotność [+ Hum] osobowość [- Hum] nieosobowość, [Coll] zbiorowość [Elm] żywioł [Fl] roślina [Instit] instytucja [Instr] narzędzie [Liqu] płyn, [Mach] maszyna [Mat] materiał [Pers] część Cechy te mogą tworzyć różne kombinacje np.: [- Abstr, - Anim] obiekt materialny nieożywiony np. kamień, szkło [+ Hum, Pars] część ciała ludzkiego np. ręka, głowa, ząb Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 31
Podstawowe teorie semantyczne w systemach NLP: gramatyki semantyczne (ang. semantic grammars) teoria zależności pojęciowych Schanka (ang. Conceptual Dependancy Theory) gramatyka przypadków głębokich Fillmore'a (ang. case grammar) Gramatyki semantyczne łączą opis składniowy zdania z informacją semantyczną zawartą w zdaniu (np. gramatyka bezkontekstowa, w której symbole nieterminalne reprezentują pewne pojęcia semantyczne). Podstawowe zastosowanie: systemy umożliwiające dostęp do baz danych w języku naturalnym. Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 32
Reguły analizy pytań w systemie LADDER: S QUERY the SHIP_PROP of SHIP? QUERY what is [can you] tell me SHIP_PROP speed length beam type class SHIP the SHIP_NAME SHIP_NAME the fastest SHIP2 SHIP2 SHIP_NAME Kennedy Enterprise Lafayette... SHIP2 COUNTRY SHIP3 SHIP3 SHIP3 SHIP_TYPE LOC SHIP_TYPE SHIP_TYPE carrier submarine COUNTRYS American British LOC in the Pacific in the Atlantic Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 33
Teoria zależności pojęciowych Schanka (teoria CD) Teoria CD Schanka wykorzystuje zjawisko "pojęciowego" podobieństwa czasowników. Podstawą reprezentacji informacji zawartych w zdaniu jest struktura, która przedstawia wzajemne relacje między pojęciami stanowiącymi główne elementy danego zdarzenia, takimi jak: czynność, sprawca czynności, obiekt podlegający czynności, cel czynności... Struktura ta nazywana jest formułą CD. Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 34
W zapisie formuł zastosowano uproszczenia dotyczące nazywania czynności. W tym celu zostały wprowadzone tzw. akcje elementarne, które w formułach pełnią funkcję czasowników. Schank zaproponował jedenaście akcji elementarnych: MTRANS ATRANS PTRANS PROPEL INGEST MBUILT ATTEND SPEAK MOVE GRASP EXPEL. Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 35
Przykład Janek dał Marii jabłko. Maria wzięła od Janka jabłko. Zdania te będą miały następującą reprezentację w postaci formuł CD: akcja - ATRANS akcja - ATRANS aktor - Janek aktor - Maria obiekt - jabłko obiekt - jabłko kierunek DO - Maria kierunek DO - Maria OD - Janek OD - Janek Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 36
Nagroda Loebnera (od 1990 roku) Nagroda ufundowana dla programisty, który zdoła napisać program, który skutecznie przejdzie test Turinga. Nagroda ta obejmuje przyznanie złotego medalu oraz 100 000 USD dla programu prowadzącego konwersację, który zdoła skutecznie zmylić wszystkich sędziów. http://www.loebner.net/prizef/loebner-prize.html Autor: Dariusz Banasiak Instytut Informatyki, Automatyki i Robotyki PWr 37