INF2820 Datalingvistikk V2016 12. Gang 13.4 Jan Tore Lønning
I dag Trekkbaserte grammatikker for naturlige språk med vekt på subkategorisering/argumenter, 3 tilnærminger a. Enkel løsning, grammatikk 1 og 2 b. Valg på kategori, grammatikk 3 og 4 c. Valg på hel struktur, grammatikk 5 og 6 Forhold til grammatiske modeller Implementasjon og parsing 2
Mål i dag Vise noen eksempler på hvordan trekk og unifikasjon anvendes i moderne lingvistiske teorier: ved å lage en serie av grammatikk(fragment)er gå lengre enn NLTK være mer detaljert enn J&M og samtidig se hvor mye av dette som kan og ikke kan gjøres i NLTKs fcfg-er Noe av det samme vi prøvde på i time 2 sist, men gå gjennom flere trinn Erkjenne at vi tok litt store sprang sist Mer detaljer og flere trinn i dag 3
a) Eksempel: Grammatikk 1 - samsvar 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 3. mai 2016 4
Samme regler på 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 trekkgrammatikkformalisme (fcfg) kan representere denne grammatikken Eksempler i NLTK: feat0.fcfg, german.fcfg 3. mai 2016 5
En generalisering av formalismen Eksempelgrammatikk 2 serves I dette tilfellet kan grammatikk 2 sees på som en notasjonell variant av grammatikk 1 Men vi vil snart se at vi kan gjøre mer med denne typen formalismer 3. mai 2016 6
NLTK og grammatikk 2 NLTKs format for trekkgrammatikker tillater ikke regler som i grammatikk 2. Men vi kan «lure» NLTKs fcfg ved å innføre en dummy kategori og la alle fraser være av denne kategorien, f.eks.: X[CAT=S] -> X[CAT=NP,AGR=?x] X[CAT=VP,AGR=?x] X[CAT=NP,AGR=?x] -> X[CAT=Det,AGR=?x] X[CAT=N,AGR=?x] X[CAT=VP,AGR=?x] -> X[CAT=V,AGR=?x] X[CAT=NP] X[CAT=V,AGR =[NUM = 'sg', PERS = '3rd']] -> 'serves' 3. mai 2016 7
Grammatikk 2 i likningsformalismen I likningsformalismen som brukes i J&M kan grammatikker som grammatikk 2 skrives med regler som denne (fra J&M seksj. 15.5.2) 8
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 (jfr. Oblig. 2) 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. Hvert verb kan forekomme i noen slike mønstre ikke i andre Mål: Unngå overgenerering og falske flertydigheter 3. mai 2016 9
Løsning med CFG Innføre forskjellige kategorier (ikke-terminaler) for de forskjellige verbene, f.eks: VP IV VP TV NP VP DTV NP NP IV sleep TV love DTV give Osv. Svakheter med denne løsningen: Mange regler Mange kategorier Manglende generalisering: «verb er verb» 3. mai 2016 10
Løsninger med trekkgrammatikker En trekkgrammatikk kan selvfølgelig bruke samme løsning: ulike kategorier for ulike klasser av verb. Men det er mer naturlig å skille mellom kategori: V og subkategori som intrans, trans, ditrans, scomp, osv. Dette kan gjøres både i eksempelgrammatikk 1 og i eksempelgrammatikk 2 3. mai 2016 11
Eksempelgrammatikk 2 fortsatt serves 3. mai 2016 osv. 12
Så langt Denne løsningen får frem generaliseringen: at verb har noe felles Den muliggjør likheter mellom reglene: Her ved AGR-trekket som overføres (alternativt kan det være del av et HEAD-trekk) Men fremdeles mange regler 13
I NLTK Eksempel først i seksjon 9.3 i NLTK-boka. VP[TENSE=?t, NUM=?n] -> V[SUBCAT=intrans, TENSE=?t, NUM=?n] VP[TENSE=?t, NUM=?n] -> V[SUBCAT=trans, TENSE=?t, NUM=?n] NP VP[TENSE=?t, NUM=?n] -> V[SUBCAT=clause, TENSE=?t, NUM=?n] SBar V[SUBCAT=intrans, TENSE=pres, NUM=sg] -> 'disappears' 'walks' V[SUBCAT=trans, TENSE=pres, NUM=sg] -> 'sees' 'likes' V[SUBCAT=clause, TENSE=pres, NUM=sg] -> 'says' 'claims' V[SUBCAT=intrans, TENSE=pres, NUM=pl] -> 'disappear' 'walk' V[SUBCAT=trans, TENSE=pres, NUM=pl] -> 'see' 'like' V[SUBCAT=clause, TENSE=pres, NUM=pl] -> 'say' 'claim' V[SUBCAT=intrans, TENSE=past, NUM=?n] -> 'disappeared' 'walked' V[SUBCAT=trans, TENSE=past, NUM=?n] -> 'saw' 'liked' V[SUBCAT=clause, TENSE=past, NUM=?n] -> 'said' 'claimed' 14
I dag Trekkbaserte grammatikker for naturlige språk med vekt på subkategorisering/argumenter, 3 tilnærminger a. Enkel løsning, grammatikk 1 og 2 b. Valg på kategori, grammatikk 3 og 4 c. Valg på hel struktur, grammatikk 5 og 6 Forhold til grammatiske modeller Implementasjon og parsing 15
Eksempelgrammatikk 3 Den samme regelen virker for alle verb som tar ett argument. says (Kim says that Lee is asleep) serves (The restaurant serves fish) Resten i leksikon 3. mai 2016 16
Eksempelgrammatikk 3 En regel for hvert mulig antall av argumenter til en V Resten i leksikon 3. mai 2016 17
Eksempelgrammatikk 3 -COMP2 Forhindrer verb som tar 2 argumenter her says serves -COMP2 Forhindrer at disse verbene tar flere enn to argumenter 3. mai 2016 18
Så langt, grammatikk 3 Færre og mer generelle regler Mer informasjon i leksikon Et verb velger sine argumenter 19
I NLTK NLTK boka drøfter denne type løsninger (seksj. 9.3), men implementerer dem ikke. Denne løsningen kan implementeres i NLTKs fcfg med samme trikk som for grammatikk 2: X[CAT=VP,AGR=?x] -> X[CAT=V,AGR=?x,SC=[COMP1=?y,-COMP2]] X[CAT=?y] X[CAT=V, AGR=[NUM=sg,PERS=3rd],SC=[COMP1=NP,-COMP2]] -> 'serves' 20
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) Felles struktur for fraser av ulike kategorier: NP, VP, PP For generell form og mer informasjon, se Wikipedia 21
N =NP N =NOM DET An A =AP old N =NOM N =NOM P =PP A =AP boring N professor N =NOM P =PP of German from Sweden 22
Forrige uke: 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) 23
Eksempelgrammatikk 4: Vi skal skissere en kombinasjon av: måten vi gjorde subkategorisering på i grammatikk 3 med head-features fra v1.5 forrige uke = Grammatikk 4 (eller v 1.9) Skissemessig (som i v. 1.5) Bar V N PP Adj? 2 S: V NP: N PP: P 1 VP: V Nom: N PP: P 0 V N P 24
Head-complement rule+lexicon serves En regel for verb som tar ett komplement uavhengig av komplementets kategori Resten i leksikon with 3. mai 2016 25
Head complement-rules En regel for hvert mulig antall (0, 1, 2) av argumenter uavhengig av kategori Resten i leksikon 3. mai 2016 26
Specifier rules Den første regelen vil både dekke S NP VP NP DET NOM hamburger 3. mai 2016 27
Eksempel with a hamburger 28
Leksikalsk regel with a hamburger 29
Head-complement-0-regel with a hamburger 30
Resultat with a hamburger 31
Leksikalsk regel (?) with a hamburger 32
Head-specifier-regel-1 with a hamburger 33
Resultat with a hamburger 34
Leksikalsk regel with a hamburger 35
HC-1-regel with a hamburger 36
Resultat with a hamburger 37
Grammatikk 4 i NLTKs fcfg-formalisme Kan vi uttrykke grammatikk 4 i NLTKs fcfg-formalisme (med trikket for kategorier)? Noe går, men regler hvor strukturer både er delt og (delvis) instansiert er ikke mulig å uttrykke i fcfggrammatikker, f.eks. 3. mai 2016 38
Vurdering av grammatikk 4 Denne uttrykker langt på vei en generell X-bar grammatikk Noen fenomener er problematiske: Skal enhver SPEC være BAR2, f.eks. er dette naturlige for DET? Er alle argumenter fulle fraser (BAR2), f.eks. Kari prøvde [å synge] (er dette en V?) Det er ikke bare kategorien til argumentet som avgjør om det kan være komplement F.eks. form Kari hørte [Ola synge]. (+INF) 3. mai 2016 39
Grammatikk 4b Grammatikk 4 er gjort enkel dels for å få plass til strukturene serves Vi kunne like gjerne brukt dette formatet serves I stedet for dette dette formatet 3. mai 2016 40
Grammatikk 4b Sammen med denne regelen I stedet for dette denne regelen og tilsvarende for de andre reglene 3. mai 2016 41
Så langt Grammatikk 4b vil beskrive akkurat det samme som grammatikk 4 Men med dette formatet ser vi muligheten for at hodet kan stille flere krav til sine komplementer og SPEC., f.eks. at den må ha en spesiell form Vi kan legge inn mere i f.eks. COMP1 42
Frasetyper. Kan være argumenter. Ulik subkategorisering av verb. (J&M, fig 15.3) 43
I dag Trekkbaserte grammatikker for naturlige språk med vekt på subkategorisering/argumenter, 3 tilnærminger a. Enkel løsning, grammatikk 1 og 2 b. Valg på kategori, grammatikk 3 og 4 c. Valg på hel struktur, grammatikk 5 og 6 Forhold til grammatiske modeller Implementasjon og parsing 44
Trekkgrammatikk v.2.0, grammatikk 5 Hovedide: Hodet kan spesifisere hele strukturen til sine komplementer og til specifier ikke bare kategorien Spesielt kan hodet spesifisere «Bar-nivået» på argumentene Formen til argumentene f.eks. finit/infinite Grammatikkformalismen må tillate variable over hele strukturer 45
Head-complement-regler v.2.0 46
v.2.0 sleeps 47
v.2.0 gives 48
v.2.0 gives 49
v.2.0 persuades 50
Head-specifier regel Head-complement regel-0 house Eksempel på leksikalsk oppslag, eller egentlig: -Leksikalsk oppslag + -Leksikalsk regel som gir entallsform 51
Grammatikk 5 i NLTKs fcfg? 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 52
Grammatikk 5 i NLTKs fcfg? Vi kan ikke skrive grammatikk 5 direkte i NLTK selv med vårt trikk Vi kan ta noen av ideene og gjøre litt mer ut av subkat enn i grammatikk 3/4 53
Grammatikk 5 i likningsformatet I prinsippet er dette mulig J&M, seksj. 15.3.3 skisserer tre suksessive løsninger til subkat som svarer omtrent til våre Grammatikk1/2 Grammatikk 3/4 Grammatikk 5 Men gjør noen litt rare ting 54
Grammatikk 5 i likningsformatet F.eks burde Hvis argumentets CAT er bestemt av <VP subcat> skal den ikke også i regel Heller vært X X SUBCAT kan ikke være et HEAD-trekk fordi det ikke er delt mellom mor og datter 55
N =NP N =NOM DET An A =AP old N =NOM N =NOM P =PP A =AP boring N professor N =NOM P =PP of German from Sweden 56
Komplementer vs. modifikatorer Modifikator: Kim sang in the garden Kan fjernes uten at det blir ugrammatisk Kan gjentas: sang in the garden with great joy Kan bruke annen preposisjon: sang with great joy Plasseres i X-bar-teori som Søster til X Datter til X Eks.: N N PP, eks. mannen med pistolen N AP N, eks. rød bil V V PP, eks. traff Kari på stasjonen Husker du? Kan noen ganger være vanskelig å avgjøre om det er komplement eller modifikator 57
Modifikatorer v.2.0 N AP N Vi legger inn et trekk i modifikatoren om Hva slags ledd den kan modifisere Siden dette har med kombinasjon å gjøre, legges det i VALboksen Vi må skille mellom modifikator til høyre og til venstre for hodet 58
Modifikatorer v.2.0 N AP N small 59
Grammatikk 6 N N PP v.2.1 with Head-specifier og komplement-reglene må utvides til å sende MOD-trekket fra hodet og oppover 60
I dag Trekkbaserte grammatikker for naturlige språk med vekt på subkategorisering/argumenter, 3 tilnærminger a. Enkel løsning, grammatikk 1 og 2 b. Valg på kategori, grammatikk 3 og 4 c. Valg på hel struktur, grammatikk 5 og 6 Forhold til grammatiske modeller Implementasjon og parsing 61
Unifikasjonbaserte/trekkstrukturbaserte grammatiske teorier Flere moderne grammatiske teorier/modeller/rammeverk Bruker: trekk («features») og unifikasjon Leksikaliserte: Mye informasjon i leksikon Få frasestrukturregler. Inklusive Generalized Phrase Structure Grammar (GPSG) Head-Driven Phrase Structure Grammar (HPSG) Lexical-Functional Grammar (LFG) 62
Hvert rammeverk består av 1. Grunnleggende unifikasjonsformalisme 2. Utvidelser og begrensninger i forhold til denne formalismen 3. Prinsipper som gjelder for alle menneskespråk 4. Språkspesifikke regler og leksika ( (2) og (3) er ofte nøstet i hverandre og vanskelige å skille.) 63
HPSG og oss HPSG endrer og utvider det vi har gjort: Lister for subkategorisering av komplementer Bruk av typer og arv 64
Lister (HPSG) HPSG bruker lister i VAL(ency) trekket BAR2 tilsv. tom SPEC-liste og tom COMPS-liste BAR1 tilsv. tom COMPS-liste persuades We HPSG 65
Fotnote Vi har i HPSG skilt argumentene mellom SUBCAT som en liste av komplementer SPEC, specifier, f.eks. subjekts-np til et verb Begge lærebøkene har også eksempler med SUBCAT-lister: NLTK har en liste av CAT-navn (tilsv. grammatikk 3/4) J&M har en liste av strukturer (tilsv. grammatikk 5/6) Begge legger også specifier (subjekts NP) (først) på SUBCAT-lista og har ikke SPEC-trekk Tilsvarer en tidlig variant av HPSG 66
I dag Trekkbaserte grammatikker for naturlige språk med vekt på subkategorisering/argumenter, 3 tilnærminger a. Enkel løsning, grammatikk 1 og 2 b. Valg på kategori, grammatikk 3 og 4 c. Valg på hel struktur, grammatikk 5 og 6 Forhold til grammatiske modeller Implementasjon og parsing 67
Implementasjon av unifikasjon Du må kunne: Gitt to trekkstrukturer f1 og f2: Avgjøre om de er unifiserbare Hvis de er unifiserbare, konstruere en struktur f3 som er resultatet av å unifisere de to. J&M seksj 15.4 er ikke pensum: Trenger ikke å kunne konstruksjonen med ekstra pekere 68
Parsing med trekkgrammatikker Vi har sett hvordan vi kan bygge trær med trekkstrukturer for setninger ut i fra en trekkgrammatikk Dette kan kombineres med alle parsingalgoritmene vi har sett for CFG: Parsingalgoritmen holder rede på rekkefølgen vi bygger treet Det er en komplikasjon når vi skal bygge flere trær Enten det er ved baktrackking: RD, SR Eller ved tabell: CKY, Chart 69
Eksempel S NP[AGR=?x] VP[AGR=?x] NP[AGR=?x] Det[AGR=?x] Nom[AGR=?x] Nom[AGR=?x] N[AGR=?x] Nom[AGR=?x] N[AGR=?x] Nom[AGR=?x] Det the N[AGR=sg] hamburger N[AGR=pl] resturants 70
Eksempel fortsatt Den ene analysen gjør the til sg, den andre gjør den til pl NP[NUM=pl] NP[NUM=sg] Nom[NUM=pl] Nom[NUM=sg] Nom[NUM=pl] Det[NUM=sg] N[NUM=sg] N[NUM=pl] Det[NUM=pl] N[NUM=sg] N[NUM=pl] the hamburger restaurants the hamburger restaurants 71
Løsning En backtrack-parser må kunne omgjøre unifikasjoner som ikke fører frem, her at the s NUM er sg. En tabellparser (CKY eller Chart) som vil lage begge alternativ må kopiere strukturer før de unifiseres Være klar over problemet og prinsippet for løsninger Ikke se på detaljer, J&M, seksj 15.5 ikke pensum. 3. mai 2016 72