Gramatyki unifikacyjne (UG) Gramatyki unifikacyjne (UG), Semantyka języka naturalnego Wieloznacznośćsłów Zapis własności języka naturalnego w gramatykach unifikacyjnych. Przykład formalizmu - HPSG. Literatura dodatkowa: Shieber, S. M. An Introduction to Unification-Based Approaches to Grammar, CSLI Stanford, 1986 Pollard, C., I. Sag, Head-Driven Phrase Structure Grammar, The University of Chicago Press, 1994. listopad, 2005 1 listopad, 2005 2 Lista wymaga opis wymagańumieszczamy w strukturze atrybutów przypisanej danemu wyrazowi jako wartośćatrybutu arg-st sleep cat v arg-st elist brak dopełnień num pl meet cat v arg-st [cat np ] jedno dopełnienie, NP num pl give cat v dwa dopełnienia: arg-st < [ cat np ], [cat np ]> NP i NP num pl tell cat v dwa dopełnienia: arg-st < [cat np ], [cat s ]> NP i S Realizacja wymaga Realizacja wymagańpolegaćbędzie na skracaniu listy arg-st w momencie rozpoznania frazy opisanej przez jej kolejny element [ cat s ] [ cat np ] cat v arg-st elist cat v cat v [ cat X ] arg-st Y arg-st first X rest Y listopad, 2005 num pl 3 listopad, 2005 4 Drzewo wywodu [cat s] cat v arg-st <> [cat s] cat v cat v arg-st <s> arg-st <> [cat np] cat v [cat np] [cat np] cat v arg-st <np, s> arg-st <np> [cat np] J zyk generowany przez UG w = a1... an naleŝy do języka generowanego przez gramatykęg ( w L(G)) jeŝeli ciąg δ =A1,..., An, otrzymany w wyniku zastąpienia wyrazów a i opisami słownikowymi jest unifikowalny z jakimściągiem otrzymanym na drodze wywodu z symbolu początkowego (jeŝeli istnieje wywód w G rozpoczynający sięod symbolu startowego i kończący sięformąδ, taką, Ŝe δ δ ) John told Paul he loved Ann. listopad, 2005 5 listopad, 2005 6 1
Równowa no UG i maszyny Turinga Gramatyki unifikacyjne sątypu 0 - to znaczy moc ich równowaŝna jest mocy maszyny Turinga (generująjęzyki rekurencyjnie przeliczalne) Oznacza to, Ŝe nie istnieje procedura, która dla dowolnej gramatyki unifikacyjnej G i ciągu w określi, czy ciąg ten naleŝy do języka generowanego przez G. Formalizmy unifikacyjne FUG Functional Unification Grammar LFG Lexical-Functional Grammar GPSG Generalized Phrase Structure Grammar CUG Categorial Unification Grammar HPSG Head-driven Phrase Structure Grammar... listopad, 2005 7 listopad, 2005 8 HPSG Head-driven driven Phrase Structure Grammar Teoria lingwistyczna (Pollard & Sag, 1987, 1994) o podstawach formalnych (istniejąlogiki aksjomatyzujące teorie HPSG) Teoria oparta na ograniczeniach: wyraŝenie lingwistyczne jest gramatyczne jeśli spełnia (jednocześnie) wszystkie nakładane przez gramatykęograniczenia. Gramatyka HPSG składa sięz: sygnatury zawierające opis struktury obiektów (typy, atrybuty), teorii składającej sięz ograniczeńnakładanych na obiekty opisywane przez sygnaturę. HPSG, hierarchia typów word sign PHON phon SYNSEM synsem phrase HD-DTR sign NONHD-DTR list(sign) Sygnatura zawiera opis struktury obiektów (typy, atrybuty). Sign - kaŝdy obiekt lingwistyczny, word -słowo, phrase - fraza listopad, 2005 9 listopad, 2005 10 synsem LOCAL Typy w HPSG, cd. local CAT CONTENT category HEAD ARG-ST content head args SUBJ list_of_synsems COMPS list_of_synsems Ograniczenia Do języka opisywanego przez gramatykęhpsg naleŝą wyraŝenia, które spełniająjednocześnie wszystkie ograniczenia nałoŝone przez tęgramatykę. Brak pojęcia wywodu, wszystko dane deklaratywnie. Zasada elementu głównego: phrase SYNSEM LOCAL CAT HEAD 1 HD-DTR SYNSEM LOCAL CAT HEAD 1 listopad, 2005 11 listopad, 2005 12 2
Realizacja wymaga, zasada walencji Phrase SYNSEM LOCAL CAT VAL elist HD-DTR SYNSEM LOCAL CAT VAL 1 NON-HD-DTRS 2 i synsem-signs( 1, 2 ) Zasada walencji mówi, Ŝe frazy musząmiećpustąlistę VAL, a ich składniki musząodpowiadaćwymaganiom zapisanym na liście VAL elementu głównego frazy. Przykład word PHON <daje> SYNSEM synsem LOC local CAT HEAD verb VFORM fin VAL < 1 NP [nom] [3, sing], 2 NP [dat], 3 NP [acc] > ARG-ST args SUBJ 1 COMPS < 2, 3 > listopad, 2005 13 listopad, 2005 14 PHON <Jan pisze list > SYNS synsem LOC local CAT cat HD-DTR PHON < pisze > SYNS Jan pisze list HEAD 4 SUBCAT <> H NH NH ARG-ST < 11, 12 > pisze Jan list synsem LOC local CAT HEAD 4 W słowniku w opisie pisze : SUBCAT < 1 NP[nom], 2 NP[acc]> verb VFORM fin SUBCAT < 11, 12 > AGR-ST < 11, 12 > NON-HD - -DTRS < PHON <Jan>, PHON <list> > SYNS 11 synsem SYNS 12 synsem LOC local LOC local CAT cat CAT cat HEAD noun HEAD noun CASE nom CASE acc SUBCAT <> SUBCAT <> listopad, 2005 AGR-ST < > AGR-ST < > 15 Systemy implementuj ce HPSG ALE, The Attribute Logic Engine, Carpernter, 1992 - efektywny system zachowujący elementy gramatyki PSG (CFG) LKB - Stanford, efektywny system nieco ograniczający moc HPSG ConTRoll - Tuebingen, nieefektywny, idealistyczny system TRALE - Tuebingen, nowa, efektywniejsza wersja ConTrolla (wykorzystanie doćwiadczeńz systemu ALE) listopad, 2005 16 Reguły y gramatyczne, ALE schema1 rule % wszystkie wymagania za hd-dtr (hd_val_ph, phon Mphon, synsem:loc:cat:val:(subj: [ ], comps: [ ]), hd_dtr: HDtr, non_hd_dtrs: NHdtr) ===> cat> (HDtr, phon:hphon, synsem:loc:cat:val:(subj:[subj],comps:comps)), goal> ( najwyzej_trzy(comps), synsems_to_signs([subj Comps], Slist), permutation(slist, NHdtr)), cats> (NHdtr), goal> ( wysycone_wym_l(nhdtr), sign_list_phon(nhphon, NHdtr), append(nhphon,hphon, Mphon),case_principle(Hdtr)). listopad, 2005 17 Przypadek dopełnie cp_comp((loc:cat:head:major:(nominal_t, agr:case:case)), Neg) if cp_comp_case(case, Neg). cp_comp((loc:cat:head:major:(@not_nominal)), Neg) if true. Przypadkiem strukturalnym dla dopełnieńczasownika nie zanegowanego jest biernik: cp_comp_case(acc_t, no_t) if true. dla dopełnieńczasownika zanegowanego dopełniacz: cp_comp_case(gen_t, yes_t) if true. Przypadki leksykalne sąakceptowane bezwarunkowo: cp_comp_case(lex_t, Neg) if true. listopad, 2005 18 3
LKB, hierarchia typów w słów s LKB, hierarchia typów w słów s listopad, 2005 19 listopad, 2005 20 LKB, prezentacja rozbiorów Semantyka j zyka naturalnego Przypadki głębokie (role semantyczne) Rachunek predykatów I rzędu DRT (Discourse Representation Theory) Literatura dodatkowa: Logic, Language and Meaning, L. T. F. Gamut, The University of Chicago Press, 1991. listopad, 2005 21 Semantyka czyli znaczenie ustalenie co jest znaczeniem konkretnego wyraŝenia w języku naturalnym nazwy obiektów, relacji między nimi,... sieci semantyczne wskazujące na hierarchięi pokrewieństwo terminów ustalenie sposobu reprezentowania znaczenia określenie niezbędnego zakresu wiedzy pragmatycznej określenie zasad wnioskowania Zapis znaczenia, przypadki głg bokie Jeśli zbudujemy drzewo budowy syntaktycznej zdania, to moŝemy pokusićsięo przyporządkowanie poszczególnych elementów składniowych (wymagańi modyfikatorów) do ról semantycznych (przypadków głębokich), jakie poszczególne obiekty pełniąw sytuacji opisywanej przez czasownik. Liczba przypadków głębokich i ich nazwy nie sąściśle ustalone, a ich uŝycie zaleŝy od konkretnego czasownika. Podstawowe role semantyczne sąustalone (choćczasami inaczej nazywane), ale na potrzeby róŝnych teorii czy dla konkretnych zastosowańwprowadza sięróŝne zestawy ról rozróŝniających istotne z punktu widzenia tego zastosowania funkcje. listopad, 2005 23 listopad, 2005 24 4
Zapis znaczenia, przypadki głg bokie S (Na strychu Jan zobaczył potwora) PP (modyfikator) NP (podmiot) VP Prep NP N V NP (dopełnienie) na N Jan zobaczył potwora strychu predykat: zobaczyć aktor Jan obiekt potwór miejsce strych listopad, 2005 25 Zapis znaczenia, przypadki głg bokie Rola znaczenie przykład AGENT wykonawca Kot rozlał mleko. EXPERIENCER doświadczający zdarzenia Jana boli głowa. FORCE siła wywołująca (niecelowo) Wiatr złamał drzewo. THEME obiekt Kiedy rozbił\ lód. RESULT rezultat Wybudował \dom. CONTENT cytat/treść Jan spytał ``Byłeś tam sam?''. INSTRUMENT uŝyte narzędzie Uderzył go kijem. BENEFICIARY ktoś na rzecz kogo Kupił mu dom. or RECIPENT odbyła się akcja SOURCE miejsce początkowe Przyleciał z ParyŜa. GOAL miejsce docelowe Poszedł do kina. listopad, 2005 26 Rachunek predykatów w I rz du Naturalną metodą reprezentowania semantyki jest rachunek predykatów I rzędu Nie jest to idealny sposób zapisu, nie pozwala na wyraŝenie wszystkich znaczeń, ale ma wiele właściwych cech: pozwala zapisać czy jakiś fakt jest prawdziwy czy fałszywy pozwala zapisywać pytania (uŝycie zmiennych) są metody wnioskowania Wybór rachunku pred. I rzędu nie jest całkowicie arbitralny czy sterowany konkretnymi aplikacjami. MoŜna zauwaŝyć pewne analogie między językiem naturalnym a językiem rachunku predykatów. Cechy rachunku pred. I rzędu: wprowadzenie zmiennych, uŝycie kwantyfikatorów, częściowo kompozycyjna semantyka listopad, 2005 27 Analiza semantyczna Analiza semantyczna to proces przekształcenia wyraŝenia lingwistycznego w zapis jego znaczenia Są miliony sposobów dokonania takiego przekształcenia, od rozwiązań całkowicie ad hoc, opracowanych na potrzeby konkretnych aplikacji do wyrafinowanych metod teoretycznych o często wątpliwym znaczeniu praktycznym Większość metod analizy semantycznej opiera się na wynikach analizy syntaktycznej (albo jest dokonywana równolegle z nią) listopad, 2005 28 Semantyka kompozycyjna Większość metod zapisu znaczenia zakłada KOMPOZYCYJNOŚĆ semantyki, tzn. przyjmuje załoŝenie, Ŝe znaczenie większych fragmentów teksu (zdania) moŝe zostać określona jako funkcja znaczeń jego elementów, czyli słów i fraz Na czy polega to w praktyce? PokaŜemy na przykładzie zdania: Filemon pije mleko Przykład Filemon pije mleko S e Isa(e, Picie) Pijący(e, Filemon) Pity(e, Mleko) NP VP NP Proper-Noun Verb Mass-Noun Filemon pije mleko listopad, 2005 29 listopad, 2005 30 5
Rozszerzone reguły y syntaktyczne Jak uzyskać znaczenie zdania ze znaczenia elementów? Dołączymy do reguł gramatyki CFG dodatkowe informacje (podobnie jak miało to miejsce przy rozszerzaniu CFG do gramatyk unifikacyjnych) Reguła gramatyki będzie miała teraz postać: A α1... αn { f(αj.sem,..., αk.sem) } W powyŝszym przykładzie: ProperNoun Filemon {Filemon} MassNoun mleko {Mleko} NP ProperNoun {ProperNoun:sem} NP MassNoun {MassNoun:sem} Verb pije { e, x, y Isa(e, Picie) Pijący(e, x) Pity(e, y)} listopad, 2005 31 Wyra enia Lambda Jak włączyć semantykę argumentów do semantyki czasownika? WyraŜenia Lambda : λx.p(x) λ x.p(x)(a) P(A) Verb pije {λxλy. { e Isa(e, Picie) Pijący(e, y) Pity(e, x)} S NP VP VP Verb NP {VP:sem(NP:sem)} {Verb:sem(NP:sem)} listopad, 2005 32 W restauracji podają mięso. przykład Wydaje się, Ŝe interpretacją powyŝszego zdania powinno być: e,x Isa(e, Serving) Server(e, x) Served(e, Meat) Isa(x, Restaurant) ale, jeŝeli załoŝymy, Ŝe interpretacją wyrazu restauracja jest wyraŝenie: x Isa(x, Restaurant) to jak uzyskać powyŝsze tłumaczenie z: λxλy. e Isa(e, Serving) Server(e, y) Served(e, x) Proste zastąpienie zmiennej wyraŝeniem λ nie prowadzi do właściwego rezultatu. Wynikiem jest: e Isa(e, Serving) Server(e, xisa(x, Restaurant)) Served(e, Meat) niestety powyŝszy zapis nie jest wyraŝeniem rach. pred. I rz. (FOPC) listopad, 2005 33 Wprowadzenie termów w złoz onych Rozwiązaniem problemu jest taki zapis semantyki fraz rzeczownikowych, aby jej elementy były dostępne z zewnątrz : Wprowadzenie termów złoŝonych i sposobu ich przekształcania: < Quantifier variable body > np. x Isa(x, Restaurant) e Isa(e, Serving) Server(e, < xisa(x, Restaurant) >) Served(e, Meat) Przekształcenie na wyraŝenie logiki I rzędu: P (< Quantifier variable body >) Quantifier variable body Connective P(variable) Server(e, < xisa(x, Restaurant) >) xisa(x, Restaurant) Server(e, x) listopad, 2005 34 Wprowadzenie termów w złoz onych Przekształcenie na wyraŝenie logiki I rzędu: P (< kwantyfikator zmienna treść >) kwantyfikator zmienna treść spójnik_logiczny P(zmienna) P (< zmienna treść >) => zmienna treść P(zmienna) P (< zmienna treść >) => zmienna treść P(zmienna) Server(e, < x Isa(x, Restaurant) >) (jakaśrestauracja) x Isa(x, Restaurant) Server(e, x) Server(e, < x Isa(x, Restaurant) >) (kaŝda restauracja) x Isa(x, Restaurant) Server(e, x) listopad, 2005 35 Przykład analizy semantycznej e Isa(e, Picie) Pijący(e, Filemnon) Pity(e, Mleko) NP Filemon S listopad, 2005 36 VP λ x. e Isa(e, Picie) Pijący(e, x) Pity(e, Mleko)} NP Mleko Proper-Noun Filemon Verb Mass-Noun Mleko Filemon pije mleko λyx. e Isa(e, Picie) Pijący(e, y) Pity(e, y)} 6
Wnioskowanie Nie chcemy tylko kopiować faktów, ale teŝ wyciągać wnioski, np. Jeśli wiemy, Ŝe X dostał Oskara za rolę w filmie Y, to wiemy teŝŝe X jest (dobrym, znanym, uznanym) aktorem, wiemy czym się w przybliŝeniu zajmował w czasie, gdy kręcony był ten film, Ŝe zna reŝysera i aktorów, którzy grali inne główne role... Język reprezentacji wiedzy musi uwzględniać wnioskowanie - mechanizmy wyliczania wartości prawda lub fałsz dla stwierdzeń, które nie pojawiają się bezpośrednio w danych Modus ponens Standardową regułą wnioskowania dla logiki pierwszego rzędu jest modu ponens α, α β β (jeŝeli wiemy Ŝe α oraz Ŝe α β to moŝemy wywnioskować β) np. Mruczek jest kotem, Jeśli x jest kotem, to x lubi mleko Mruczek lubi mleko listopad, 2005 37 listopad, 2005 38 Forward and backward chaining Modus ponens - wnioskowanie wprzód dodając do bazy nowy fakt wyliczamy wszystkie jego konsekwencje Wnioskowanie wstecz (od pytania do faktów) - mając pytanie, dopasowujemy go do formuł w bazie danych, jeśli uda nam się dowieść wszystkich przesłanek, fakt jest prawdziwy, np. Pytamy czy Mruczek lubi mleko, znajdujemy formułę Jeśli x jest kotem, to x lubi mleko, dokonujemy podstawienia x- Mruczek i otrzymujemy do sprawdzenia przesłankę zdania Mruczek lubi mleko, która jest juŝ w bazie danych, a więc pytanie uznajemy za udowodnione. Rezolucja Wnioskowanie wprzód i wstecz nie są zupełne, tj. są twierdzenia, które są prawdziwe, ale nie mogą być za pomocą tych metod udowodnione Metodą zupełną jest rezolucja (ale jest kosztowniejsza) - aby udowodnić p w ramach teorii T zakładamy, Ŝe prawdziwe jest p i próbujemy dojść do sprzeczności listopad, 2005 39 listopad, 2005 40 DRT Inne metody reprezentacji semantyki Situation semantics Montague grammar... listopad, 2005 41 DRT - Discourse Representation Theory metoda reprezentacji znaczenia wypowiedzi polegająca na konstruowaniu specjalnej struktury, nazwanej DRS (Discourse Representation Structure); Kamp i Reyle (1991); Struktura ta składa się z dwóch części: zbioru obiektów (discourse referents), zwanych uniwersum, zbioru warunków opisujących zaleŝności między obiektami. Przykładowo, zdanie Jones owns Ulysses (Jones posiada Ulissesa) moŝna przedstawić w postaci następującej struktury DRS: x y Jones (x) Ulysses(y) [x owns y] listopad, 2005 42 7
Reguły y budowy struktur DRS Budowa reprezentacji semantycznej wypowiedzi w teorii DRT polega na stopniowym przekształcaniu struktury syntaktycznej za pomocą odpowiednich reguł konstrukcyjnych. Reguły mogą zmieniać strukturę oraz rozszerzać uniwersum DRS o nowe zmienne referencyjne. Warunkiem zadziałania reguły jest wykrycie w analizowanej strukturze poddrzewa spełniającego pewne warunki odnoszące się bezpośrednio do jej struktury. Reguły y budowy struktur DRS, cd Kolejność stosowania reguł zaleŝy od miejsca występowania struktur spełniających warunki ich zastosowania - jako pierwszą wybiera się regułę dla której odpowiednia struktura znajduje się najwyŝej w analizowanym drzewie. W przypadku gdy dwie struktury znajdują się na tym samym poziomie naleŝy poprowadzić równolegle dwie analizy, w kaŝdej z nich wybierając inną regułę jako pierwszą. Uzyskanie w wyniku tego róŝnych struktur DRS odpowiada sytuacji niejednoznaczności analizowanego tekstu. listopad, 2005 43 listopad, 2005 44 CR.PN - reguła a dla rzeczowników własnych konfiguracje wyzwalające regułę: S lub VP NP Gen=b VP V NP Gen=b PN a zmiana uniwersum: dołączenie nowej zmiennej referencyjnej u; (nazwa róŝna od wszystkich juŝ występujących w DRS) zmiana zbioru warunków: dołączenie warunków a(u), Gen(u)= b zmiana struktury : wstawienie węzła u zamiast poddrzewa listopad, 2005 45 a PN CR.PN u S a(u) Gen(u) = b NP Gen=b VP S PN a listopad, 2005 46 u VP Analiza przykładu 1. Reguła CR.PN ekstrahuje podmiot, tworząc dla niego odpowiednią zmienną referencyjną (x). S x VP V owns VP NP Gen=-hum PN Analiza przykładu, cd 2. Do struktury DRS dołączone zostanie wyraŝenie Jones(x) wiąŝące zmienną x z reprezentowanym przez nią obiektem. Po tym kroku analizy struktura DRS przedstawiać się będzie następująco: x Jones (x) [x owns Ulysses] Ulysses PowyŜsze drzewo jest w sposób skrócony zapisywane jako: [x owns Ulysses] listopad, 2005 47 listopad, 2005 48 8
Analiza przykładu, 4 3. Kolejnym krokiem jest wyekstrahowanie obiektu posiadania i przypisanie mu takŝe zmiennej referencyjnej (y). W ten sposób uzyskamy pokazany na wstępie wynik: x y Jones (x) Ulysses(y) [x owns y] CR.NEG - reguła a dla negacji konfiguracja g wyzwalająca regułę: VP AUX not VP zamiana struktury zawierającej g na: S u VP VP listopad, 2005 49 listopad, 2005 50 John owns a car. x,y John(x) car(y) CR.NEG, przykład John does not own a car x John(x) y own(x,y) car(y) own(x,y) y(car(y) ^ own(j,y)) y(car(y) ^ own(j,y)) listopad, 2005 51 John owns a car. He likes it. Anafory John does not own a car.?he likes it. x,y x,w,z John(x) John(x) car(y) own(x,y) y likes(x,y) car(y) own(x,y) You can only pick up antecedents from the current DRS or DRSs you're embedded in. z=? w=? likes(z,w) listopad, 2005 52 Anafory w zdaniach zanegowanych a. John doesn't own Ulysses. b. He likes it (however). DRS dla (a): x,y John(x) Ulysses(y) DRS dla (a i b): x,y John(x) Ulysses(y) own(x,y) own(x,y) w=?? DRT always puts proper names into the main DRS. z=?? likes(z,w) listopad, 2005 53 DRT Motywacja (typowa) : rozwiązanie problemów, z którymi nie radzą sobie inne teorie: interpretacja zaimków, powiązanie fraz rzeczownikowych i zaimków (w ramach zdania i pomiędzy zdaniami) interpretacja informacji o czasie i aspekcie A man walks in a park. He whistles. A man walks in a park and whistles. x(man(x) walk_in_a_park(x) whistle(x)) A man walks in a park. He whistles. Apparently he is in a good mood.... trzeba znać cały tekst listopad, 2005 54 9
synsem LOCAL local CAT Semantyka w HPSG CONTENT category HEAD head SUBCAT list_of_synsems content content Semantyka w HPSG, cd. nominal_object INDEX index RESTR list_of_psoa psoa RELN rel_name index gender gender number number person person nominal_object (NP) psoa (p_state_of affairs) (VP) i argumenty zaleŝne od relacji, np. INSTANCE index listopad, 2005 55 listopad, 2005 56 Semantyka w HPSG, przykład PHNON <ksiąŝka> SYNSEM LOCAL CATEGORY HEAD noun CONTENT nominal_object INDEX 1 index gender fem number singular person 3rd RESTR < psoa > RELN ksiąŝka INSTANCE 1 listopad, 2005 57 Semantyka w HPSG, przykład 2 PHNON <Piotr kupił ksiąŝkę> SYNSEM LOCAL CATEGORY HEAD 4 CONTENT psoa RESTR psoa RELN kupić AGENT 2 OBJECT 1 HD-DTR SYNSEM LOCAL CATEGORY HEAD 4 verb NONHD-DTRS < SYNSEM... INDEX 2 SYNSEM... INDEX 1 > listopad, 2005 58 Liczne inne problemy.. zaleŝności czasowe aspekt czasowników (idę, poszłam, chadzam) reprezentowanie przekonań (niekonieczne obiektywnie prawdziwych) listopad, 2005 59 Prolog - j zyk do implementacji gramatyk 1971, Alain Colmeraurer i Phillip Roussel program podawany jest jako pewien zestaw zaleŝności, a obliczenia są dowodem pewnego twierdzenia w oparciu o te zaleŝności. Język oparty o logikę pierwszego rzędu ograniczenie klauzul to klauzul Horna, (co najwyŝej jeden niezanegowany element) dla których moŝna szybko dokonać dowiedzenia czy jest ona prawdziwa czy nie (na drodze rezolucji, tj. generowania nowych klauzul aŝdojdzie siędo sprzeczności.) ustalona metoda analizy left-to-right, dept-first-search kolejność ewaluacji klauzul zgodna z porządkiem tekstowym główna operacja - unifikacja zmiennych listopad, 2005 60 10
Prolog, podstawowe fakty W Prologu jeśli nazwa zaczyna się od małej litery - to stała, jeśli od wielkiej - zmienna. Program w Prologu składa się z informacji a) dane/fakty postaci owoc(dąb, Ŝołądź). b) zaleŝności młodszy(x,z) :- młodszy(x, Y), młodszy(y,z). {dla kaŝdych X, Y, Z, jeśli X jest młodszy od Y, a Y jest młodszy od Z, to X jest młodszy od Z} ( po lewej stronie moŝe być tylko jeden predykat, a:- b, c czytamy jeśli bi c to a ) listopad, 2005 61 Prolog, podstawowe fakty Pytania formułuje się podając klauzulę ze zmiennymi. Odpowiedzią są wszystkie utoŝsamienia zmiennych prowadzące do uzyskania prawdziwej formuły, np. młodszy(jan, michał). młodszy(michał, wiktor). młodszy(wiktor, zenek). młodszy(x,z) :- młodszy(x, Y), młodszy(y,z). młodszy(jan, X). młodszy(zenek,jan). X= michał, wiktor, zenek No listopad, 2005 62 Prolog, podstawowe fakty Nazywając predykaty trzeba pamiętać o jakim kierunku myślimy (w poprzednim przykładzie kto jest od kogo młodszy). Zamieniając miejscami zmienne i stałe zmieniamy kierunek pytania, np. podwładny(jan, michał). podwładny(michał, wiktor). podwładny(jan, X). podwładny(x,jan). podwładny(x,y). jan jest powdładnym michała Kogo podwładnym jest jan? Kto jest podwładnym jana? wszystkie pary listopad, 2005 63 Prolog, konkatenacja list Zapis [a,b,c] lub [a [b,c]] Sklejamy dwie listy tworząc trzeciąlistę. append([], L, L). % sklejenie pustej listy z dowolnąlistądajętędrugą append([x L1], L2, [X L3]) :- append(l1, L2, L3). % jeśli pierwsza lista nie jest pusta, to bierzemy ten pierwszy % element na początek listy wynikowej i rekurencyjnie sklejamy resztę % listy pierwszej (krótsząo 1 element) z listądrugą append([1,2],[3,4], X). X = [1,2,3,4] append([1,2], X, [1,2,5,6,7]). X = [5,6,7] listopad, 2005 64 Prolog Język Prolog jest podstawowym językiem do pisania gramatyk. Większość wymienionych środowisk programistycznych jest nakładką na Prolog (wyjątek to LKB korzystający z Lispu, drugiego waŝnego języka w tej dziedzinie) Niestety nawet uproszczone dowodzenie twierdzeń, jakim jest rezolucja jest drogie, a więc efektywność systemów korzystających z Prologu nie moŝe być zbyt wielka NajwaŜniejsze kompilatory Prologu: komercyjny Sicstus Prolog nie komercyjny SWI Prolog... Prolog - zapis gramatyk % klauzule pomocnicze: % div1 - podział ostatniej listy na dwie niepuste podlisty S1, S2 divide1([],s,s). divide1([x S1],S2,[X S]):-divide1(S1,S2,S). nempty([x _]). div1(s1,s2,s) :- divide1(s1,s2,s),nempty(s1), nempty(s2). --- np.. div1([piękna, kotka],[długo spała], [Piękna, kotka, długo, spała]). listopad, 2005 65 listopad, 2005 66 11
Prolog - zapis gramatyk s(l):- div1(l1,l2,l), np(l1,g), vp(l2,g). np(l,g):- n(l,g). np(l,g):- div1(l1,l2,l), adjp(l1,g), np(l2,g). vp(l,g):- v(l,g). adjp(l,g):- adj(l,g). adj([piekny],masc). % G - uzgodnienie rodzaju adj([piekna],fem). v([spal],masc). v([spala],fem). n([pies],masc). n([kotka],fem). Ujednoznacznianie słóws (WSD, Word sense disambiguation) listopad, 2005 67 listopad, 2005 68 Powi zania mi dzy słowamis homonimy - jednakowy kształt słowa, róŝne znaczenia np. pokój (pomieszczenie) i pokój (przeciwieństwo wojny) homofony - jednakowe brzmienie słów, róŝna pisownia, znaczenie np. moŝe, morze polisemia - wielość powiązanych znaczeń jednego słowa np. góra (piętro domu, część ubrania...) Synonimy - róŝne leksemy o tym samym (prawie) znaczeniu (mogące się nawzajem zastąpić w pewnym kontekście) hyponimy - leksemy o szerszym znaczeniu np. pojazd mechaniczny vs. samochód, Zadania: ustalenie ile i jakich znaczeń posiada dane słowo rozpoznawanie w jakim konkretnym znaczeniu wystąpiło dane słowo - word sense disambiguation taksonomia, hierarchia pojęć listopad, 2005 69 listopad, 2005 70 WordNet - baza danych o znaczeniach słóws Utworzona ręcznie baza zawierająca opisy i powiązania semantyczne dla słów danego języka (pierwszy był angielski, nie ma jeszcze dla polskiego) zakres WordNet 1.6 dla angielskiego liczba form liczba znaczeń rzeczowniki 94474 116317 czasowniki 10319 22066 przymiotniki 20170 29881 przysłówki 4546 5677 WordNet nie zawiera słów z klas zamkniętych, np. spójników w praktyce mało słów ma wiele znaczeń listopad, 2005 71 Przykładowy opis znacze Fragment opisu rzeczownika bass w bazie WordNet: 1. bass - the lowest part of the musical range 2. bass, bass part - the lowest part in polyphonic music 3. bass, basso - an adult male singer with the lowest voice 4. sea bass, bass - flesh of lean-flesh saltwater fish 5. fresh water bass, bass - any of varoius North American lean-fleshed freshwater fishes 6. bass, bass voice, basso... 7. bass... 8. bass... listopad, 2005 72 12
Rzeczowniki Relacje w WordNet relacja definicja przykład hypernym pojęcie -> pojęcie nadrzędne breakfast->meal hyponym pojęcie-> pojęcie podrzędne meal -> lunch has-member grupa -> członek katedra->profesor member-of członek ->grupa pilot -> załoga has-part ma części stół -> blat part-of jest elementem talerz -> serwis antonym jest przeciwieństwem pierwszy ->ostatni listopad, 2005 73 Przykładowy opis hiponimii Sense 3 bass, basso -- (an adult singer with the lowest voice) => singer, vocalist => musician, instrumentalist, player => performer, performing artist => entertainer => person, individual, someone... => life form, organism, being... => entity, something => causal agent, cause, causal agency => entity, something listopad, 2005 74 Rola AGENT EXPERIENCER FORCE THEME RESULT CONTENT INSTRUMENT BENEFICIARY SOURCE GOAL Role, FrameNet przykład Kot rozlał mleko. Jana boli głowa. Wiatr złamał drzewo. Kiedy rozbił lód. (uczestnik doświadczający skutków) Wybudował dom. Jan spytał Byłeś tam sam?. Uderzył go kijem. Kupił mu dom. Przyleciał z ParyŜa. Poszedł do szkoły. Selekcja znacze - ograniczenia na role eat something *I wanna eat someplace that s close to ICSI. I wanna eat some really cheap Chinese food right now. AGENT I / I THEME *someplace... /...food Czasownik eat wymaga, by w roli THEME występował obiekt jadalny listopad, 2005 75 listopad, 2005 76 Formułowanie owanie ogranicze Przedmiot dla czasownika eat musi być jadalny: Logika pierwszego rzędu: e,x,y eating(e) Agent(e,x) Theme(e,y) Isa(y,EdibleThing) Hierarchia hiponimii w WordNet Theme {food, nutrient} (jeden z 60000 klasyfikatorów, te pojęcia musza znaleźć się w hierarchii) hamburger, beefburger -- (a fried cake of minced meet served on a ban) => sandwich => snack food => dish => nutriment, nourishment, sustenance... =>food nutrient => substance, matter => object, physical object => entity, something listopad, 2005 77 Problemy z ujednoznacznianiem RóŜne ograniczenia na typ argumentów mogą pomóc przy ujednoznacznianiu przykładów: Which airlines serve Denver? - Pojedź do serwisu. Which one serves breakfast? - UŜyj tego granatowego serwisu. Ale: niedostateczny kontekst: Jaki serwis polecasz? Sytuacje niecodzienne On naprawdę zjadł szklankę! Przeczenie ale złota nie dało się jeść Bajki dla dzieci, sny...: listopad, śnił 2005 mi się latający krokodyl, piŝama w róŝowe słonie 78 13
Ujednoznacznianie Reguły probabilistyczne niczego (prawie) nie wykluczamy całkowicie, podajemy preferencje algorytm podaje to znaczenie, dla którego prawdopodobieństwo jest w danym kontekście największe odpowiednia metoda dla niejednoznacznych czasowników, ale przy jednoznacznych argumentach Metody machine learning uczenie się na podstawie korpusów anotowanych morfologicznie znajdowanie kontekstów uŝycia i wyznaczanie prawdopodobieństw dla poszczególnych znaczeń listopad, 2005 79 14