INF2820 Datalingvistikk V2016 11. Gang 6.4 Jan Tore Lønning
Sist Med anbefalt lesing og rekkefølge Grammatiske trekk («features») NLTK boka, seksj 9.1 Trekkstrukturer («feature structures») J&M, seksj 15.1 Unifikasjon og subsumpsjon J&M, seksj. 15.2 Trekkstrukturer i NLTK NLTK-boka seksj. 9.2 Trekkbaserte grammatikker (=Unifikasjonsgrammatikker) Delvis: J&M, seksj15.3, NLTK boka seksj 9.3 2
I dag Trekkbaserte grammatikker Eksempel Formelle egenskaper: Tolkning av grammatikkreglene Alternative format for slike grammatikker Trekkbaserte grammatikker for naturlige språk, trinnfor-trinn v.1.0 «Head»-trekk v.1.5 X-bar v.2 Generaliseringer Begrensninger i NLTK 3
1. Regler med trekkstrukturer S NP VP NP Det N V serve V serves En ikke-terminal suppleres med en partiell trekkstruktur Mulig deling mellom trekkstrukturene i en regel Terminalene er uendret 5. april 2016 4
1B. NLTKs format S NP VP S NP[AGR=?x] VP[AGR=?x] NP Det N NP[AGR=?x] Det[AGR=?x] Nom[AGR=?x] V serves V[AGR=[NUM=SG, PERS=3rd]] serves NLTKs format er en implementasjon av denne formalismen Men som vi vil se senere, har implementasjonen en del begrensninger i forhold til formalismen 5. april 2016 5
Liten eksempelgrammatikk: S -> NP[AGR=?x] VP[AGR=?x] NP[AGR=?x] -> DET[AGR=?n] N[AGR=?n] VP[AGR=?x] -> V[AGR=?x] NP V[AGR = [NUM = 'pl']] -> 'serve' V[AGR = [NUM = 'sg', PERS = '3rd']] -> 'serves' DET[AGR = [PERS = '3rd']] -> 'the' DET[AGR = [PERS = '3rd', NUM = 'sg']] -> 'a' DET[AGR = [PERS = '3rd', NUM = 'pl']] -> 'many' N[AGR = [PERS = '3rd', NUM = 'sg']] -> 'restaurant' N[AGR = [PERS = '3rd', NUM = 'pl']] -> 'restaurants' N[AGR = [PERS = '3rd', NUM = 'sg']] -> 'hamburger' N[AGR = [PERS = '3rd', NUM = 'pl']] -> 'hamburgers' N[AGR = [PERS = '3rd', NUM = 'sg']] -> 'customer' N[AGR = [PERS = '3rd', NUM = 'pl']] -> 'customers' N[AGR = [PERS = '3rd']] -> 'fish' 6 5. april 2016
Anerkjenning med grammatikken the restaurant serves many hamburgers 5. april 2016 7
De leksikalske reglene Det N V Det N the restaurant serves many hamburgers 5. april 2016 8
En regel svarer til partielt lokalt tre NP Det N Det N V Det N the restaurant serves many hamburgers 5. april 2016 9
Prøver å unifisere regel med noder NP Det N V Det N the restaurant serves many hamburgers 5. april 2016 10
Tilsvarende NP Det N NP Det N V Det N the restaurant serves many hamburgers 5. april 2016 11
(strukturen for the utvides) NP NP Det N V Det N the restaurant serves many hamburgers 5. april 2016 12
VP V NP NP NP Det N V Det N the restaurant serves many hamburgers 5. april 2016 13
(VP samsvarer med SUBJ ikke OBJ) VP NP NP Det N V Det N the restaurant serves many hamburgers 5. april 2016 14
S NP NP VP NP NP Det N V Det N the restaurant serves many hamburgers 5. april 2016 15
Strukturene unifiseres (2=3=4) S VP NP NP Det N V Det N the restaurant serves many hamburgers 5. april 2016 16
Ikke en grammatisk setning Det N V Det N the restaurant serve many hamburgers 5. april 2016 17
4 kan ikke unifiseres med både 2 og 3 S NP NP VP NP NP Det N V Det N the restaurant serve many hamburgers 5. april 2016 18
I dag Trekkbaserte grammatikker Eksempel Formelle egenskaper: Tolkning av grammatikkreglene Alternative format for slike grammatikker Trekkbaserte grammatikker for naturlige språk, trinnfor-trinn v.1.0 «Head»-trekk v.1.5 X-bar v.2 Generaliseringer Begrensninger i NLTK 19
Betingelser på grammatikalitet S, Hvert lokalt tre må tillates av en grammatikkregel NP, VP, DET, N, V, NP, DET, N, the restaurant serves many fish 5. april 2016 20
Lokalt tre tillatt av regel eks 1 t1: S, Hvert lokalt tre må tillates av en grammatikkregel NP, VP, R1: S NP VP Regelen R1 svarer til et lokalt tre t2 R1 tillater t1 hvis t1 «utvider» t2, Mer formelt: hvis t2 subsummerer t1 5. april 2016 21
Subsumpsjon av trær Vi kan utvide definisjonen av subsumpsjon fra trekkstrukturer til trær med trekkstrukturer på nodene Et tre T subsummerer et tre T dersom Trekkstrukturen på T subsummerer strukturen på T Inkludert at hvis T har en kategori, så har T samme kategori Hvis T har døtrene D 1, D 2,, D n, så har T like mage døtre D 1, D 2,, D n, der D i subsummerer D i for i = 1, 2,, n, og Alle delinger i T er også delinger i T. 22
Tolkning av grammatikk Et tre T med trekkstrukturer er tillatt av grammatikk G hvis og bare hvis. Hvis t 1, t 2,, t n er alle de lokale trærne i T, så fins det tilsvarende regler i G, si g 1, g 2,, g n s.a.: tre t i er tillatt av regel g i for i= 1, 2,, n Hvis T er et annet tre tillatt av de samme reglene g 1, g 2,, g n, på tilsvarende subtrær og T subsummerer T, så subsummerer T også T. "Det skal ikke være med mer i treet enn det reglene krever. " 5. april 2016 23
Grammatikker to alternative format 1. Trekkstrukturer i reglene 2. Regler + likninger S NP VP NP Det NOM V serves 5. april 2016 24
Lokalt tre tillatt av regel eks 1 S, Hvert lokalt tre må tillates av en grammatikkregel NP, VP, J&M-format: Det lokale treet lystrer alle likningene 5. april 2016 25
Lokalt tre tillatt av regel eks 2 DET, Hvert lokalt tre må tillates av en grammatikkregel the Regler + likninger: Det lokale treet lystrer alle likningene DET the <DET AGR PERS>=3rd Trekkstr. i regel DET[AGR=[PERS= 3rd ]]-> the DET, the 5. april 2016 26
Sammenlikning av formatene 1. Trekkstrukturer i reglene Utvid ikke-terminaler med partielle trekkstrukturer Variable i trekkstrukturene for deling («reentrancy») Brukt for eksempel i tidlig Head-driven Phrase Structure Grammars (HPSG) 2. Regler + likninger Legg likninger til CFG-reglene En likning mellom To stier, eller En sti og en atomær verdi Inspirert av PATR Lexical-Functional Grammar Blir det samme (før evt utvidelser) 5. april 2016 27
I dag Trekkbaserte grammatikker Eksempel Formelle egenskaper: Tolkning av grammatikkreglene Alternative format for slike grammatikker Trekkbaserte grammatikker for naturlige språk, trinnfor-trinn v.1.0 «Head»-trekk v.1.5 X-bar v.2 Generaliseringer Begrensninger i NLTK 28
Hoder ( heads ) (husker du?) I en CFG-regel har alle elementer på høyresiden samme status I en NL regel har som oftest et ledd hovedrollen NP Det N PP P NP VP V NP VP VP PP a house to the house built the house built the house in a week I et PS-tre og en CFG-regel kan en frase være hode i en annen frase I noen modeller snakker en bare om ord som hodet 29
«Hodetrekk»(Head features) (v.1.0) En frase deler mange trekk med sitt hode Hensiktsmessig å samle det i et særskilt «head» trekk + tilsvarende regel med transitive verb gives 30
Flere regler (v.1.0) 31
I dag Trekkbaserte grammatikker Eksempel Formelle egenskaper: Tolkning av grammatikkreglene Alternative format for slike grammatikker Trekkbaserte grammatikker for naturlige språk, trinnfor-trinn v.1.0 «Head»-trekk v.1.5 X-bar v.2 Generaliseringer Begrensninger i NLTK 32
X-bar (husker du?) En antagelse i flere grammatiske modeller/teorier En frase har tre nivåer: Full frase, eks. NP (= N ) Ord, eks N Midtnivå, eks. N (kalt Nominal i J&M) NP Det N N AP N N N PP VP V V V PP V V NP For generell form og mer informasjon, se Wikipedia 33
34
N =NP N =NOM DET A =AP N =NOM N =NOM P =PP A =AP N =NOM N P =PP 35
X-barskjema med et BAR-trekk (v.1.5) En del «nomenegenskaper» er delt mellom NP og hodet N (og N =Nom) En del «verbegenskaper» er delt mellom VP og V Vi representerer dette som trekk i «head»-trekket Hva med forskjellen mellom NP (=N ), Nom (=N ), N (ordet)? Flere muligheter. En av dem er å bruke et trekk for dette BAR: (Denne løsningen kaller vi her v.1.5) 36
Så langt (v.1.5) Mot 2.0: Dette er nesten en universell X-bar-regel for flere kategorier. Men vi må foreløpig si spesielt fra om kategoriene som inngår (DET og N) Et alternativ er å Leksikalisere i N at N kan kombineres med DET til N Sammen med en modifisert regel Vi samler informasjon om kombinasjoner i et VAL(ency)-trekk (Dette er *ikke* delt mellom mor og hodedatter) 37
I dag Trekkbaserte grammatikker Eksempel Formelle egenskaper: Tolkning av grammatikkreglene Alternative format for slike grammatikker Trekkbaserte grammatikker for naturlige språk, trinnfor-trinn v.1.0 «Head»-trekk v.1.5 X-bar v.2 Generaliseringer Begrensninger i NLTK 38
Trekkgrammatikker for naturlige språk Med en formalisme for unifikasjonsgrammatikker er det mange ulike måter denne kan brukes for å beskrive et bestemt språk. Vi har skissert en slik tilnærming, kalt v 2.0. Hovedideer: 1. Frasens hode deler mange trekk med sin mor. Disse samles (mest mulig) i et eget trekk: head. 2. X-bar-skjema med komplementer, spec og modifikatorer 3. Leksikalisering, der hodet velger sine søstre 39
Head-specifier regel Head-complement regel-0 v.2.0 house Eksempel på leksikalsk oppslag, eller egentlig: -Leksikalsk oppslag + -Leksikalsk regel som gir entallsform Merk at N og Det bare nevnes i leksikon ikke i reglene 40
5. april 2016 41
5. april 2016 42
5. april 2016 43
Subkategorisering Tidligere 3 VP-regler for mønstrene: VP V sleep VP V NP love VP V NP NP give Men det er mange andre mønstre VP V NP PP[to] give VP V NP VP[inf] persuade VP V CP tell (that Mary left) VP V NP CP tell (John that Mary left) VP V AP grow VP V NP PP save etc. Skal vi ha separate regler for hvert tilfelle? Bedre: La verbet selektere sine argumenter 5. april 2016 44
Head-complement-regler: Antall argumenter kan variere v.2.0 45
v.2.0 sleeps 46
v.2.0 gives 47
v.2.0 gives 48
v.2.0 persuades 49
Subcat er ikke et HEAD-trekk Siste tilnærming i J&M sec. 15.3 er ikke god <V <V 50
I dag Trekkbaserte grammatikker Eksempel Formelle egenskaper: Tolkning av grammatikkreglene Alternative format for slike grammatikker Trekkbaserte grammatikker for naturlige språk, trinnfor-trinn v.1.0 «Head»-trekk v.1.5 X-bar v.2 Generaliseringer Begrensninger i NLTK 51
NLTK-implement. begrensning 1 NLTK-implementasjonen forlanger f.eks.: S NP[AGR=?x] VP[AGR=?x] og tillater ikke: [CAT=s] [CAT=np,AGR=?x] [CAT=vp, AGR=?x] Vi kan «lure» NLTK og si at alle fraser har samme kategori X: X[CAT=s] X[CAT=np,AGR=?x] X[CAT=vp, AGR=?x] (Men det kan bli ineffektivt) 52
NLTK-implement. begrensning 2 NLTK tillater ikke variable over hele strukturer. F.eks. kunne vi ønsket å skrive X[HEAD=?y, VAL=[BAR=1, SPEC=?z]] X[HEAD=?y, VAL=[BAR=0, SPEC=?z, COMP1=?u, COMP2=False]]?u for 53
NLTK-implement. begrensning 2 NLTK tillater ikke variable over hele strukturer. F.eks. kunne vi ønsket å skrive X[HEAD=?y, VAL=[BAR=1, SPEC=?z]] X[HEAD=?y, VAL=[BAR=0, SPEC=?z, COMP1=?u, COMP2=False]]?u 54
NLTK-implement. begrensning 3 NLTK-implementasjonen tillater ikke en delstruktur å være både delvis instansiert og delt 55
Neste gang Avslutte unifikasjon og trekkgrammatikker Begynne på semantikk 56