Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
INF2820 Datalingvistikk – V2015 9. Gang – 16.3 Jan Tore Lønning
I dag 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
Trekk (“features”) – trinn for trinn
NLTK ch.9, ex. 8 S NP_SG VP_SG S NP_PL VP_PL NP_SG Det_SG N_SG NP_PL Det_PL N_PL VP_SG V_SG VP_PL V_PL Det_SG 'this' Det_PL 'these' N_SG 'dog' N_PL 'dogs' V_SG 'runs' V_PL 'run'
Kategorier og trekk S NP[NUM=sg] VP[NUM=sg] S NP[NUM=pl] VP[NUM=pl] NP[NUM=sg] Det[NUM=sg] N[NUM=sg] NP[NUM=pl] Det[NUM=pl] N[NUM=pl] VP[NUM=sg] V[NUM=sg] VP[NUM=pl] V[NUM=pl] Det[NUM=sg] 'this' Det[NUM=pl] 'these' N[NUM=sg] 'dog' N[NUM=pl] 'dogs' V[NUM=sg] 'runs' V[NUM=pl] 'run'
March 12, 2015 3
Trekk – trinn for trinn 2
Kategorier og trekk S NP[NUM=sg] VP[NUM=sg] S NP[NUM=pl] VP[NUM=pl] NP[NUM=sg] Det[NUM=sg] N[NUM=sg] NP[NUM=pl] Det[NUM=pl] N[NUM=pl] VP[NUM=sg] V[NUM=sg] VP[NUM=pl] V[NUM=pl] Det[NUM=sg] 'this' Det[NUM=pl] 'these' N[NUM=sg] 'dog' N[NUM=pl] 'dogs' V[NUM=sg] 'runs' V[NUM=pl] 'run'
Saml sammen likheter S NP[NUM=?x] VP[NUM=?x] NP[NUM=?x] Det[NUM=?x] N[NUM=?x] VP[NUM=?x] V[NUM=?x] Det[NUM=sg] 'this' Det[NUM=pl] 'these' N[NUM=sg] 'dog' N[NUM=pl] 'dogs' V[NUM=sg] 'runs' V[NUM=pl] 'run'
March 12, 2015 4
Intuitiv tolkning
CFG
S NP VP
Hvis • words[i,j] er en NP og • words[j,k] er en VP
Så • kan words[i,k] være en S
Med trekk
S NP[NUM=?x] VP[NUM=?x]
Hvis • words[i,j] er en NP og • words[j,k] er en VP • og NP sin NUM = VP sin NUM
Så • kan words[i,k] være en S
March 12, 2015 5
Mot en formalisering • Formelt:
• Kan en kategori ha flere enn ett trekk? • Hvilke verdier kan et trekk ta? • Hva er de mulige grammatikkreglene? • Hvordan skal vi tolke grammatikkreglene?
• Anvendelser: • Hvordan skal en grammatikk med trekk for et gitt fenomen
formuleres naturlig? • Hva mer kan trekk brukes til?
• Generaliseringer • Grammatikker for språk som ikke er kontekstfrie • Semantiske representasjoner
• Komputasjonelt: • Hvordan kan trekkgrammatikker parses?
6 March 12, 2015
Flere enn ett trekk i en kat., eks: tysk S
NP[CASE=nom, NUM=?x, PERS=?y] VP[NUM=?x, PERS=y?]
NP[CASE=?z,NUM=?x, PERS=3rd] Det[CASE=?z,NUM=?x, GEN=?u] N[CASE=?z,NUM=?x, GEN=?u]
VP[NUM=?x] V[SUBC= dtv, NUM=?x] NP[CASE=dat] NP[CASE=acc]
Det[NUM=sg, CASE=nom, GEN=mask] 'der'
7
Flere enn ett trekk i en kat., eks: tysk S
NP[CASE=nom, NUM=?x, PERS=?y] VP[NUM=?x, PERS=?y]
NP[CASE=?z,NUM=?x, PERS=3rd] Det[CASE=?z,NUM=?x, GEN=?u] N[CASE=?z,NUM=?x, GEN=?u]
VP[NUM=?x] V[SUBC= dtv, NUM=?x] NP[CASE=dat] NP[CASE=acc]
Det[NUM=sg, CASE=nom, GEN=mask] 'der'
8
I dag 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 9
Trekkstrukturer
• Lang tradisjon i lingvistikk
• Eks.: fonologi • En mengde trekk og
verdier: • For hvert trekk er det
definert hvilke verdier som er mulige
• Et skritt videre: • Hele trekkstrukturer
som verdier 10
Trekkstrukturer som grafer
• To alternative notasjoner for det samme 11
Directed Acyclic Graphs
(DAGs)
Attribute Value Matrices (AVMs)
Deling («Reentrancies»)
12
Deling og programmering
• Likher mellom «reentrancy» og
• To variable peker til samme objekt (identitet), vs.
• To variable har samme verdi
>>> a = [3,4,5] >>> b = [6,7,a,9] >>> c = a[:] >>> a.pop() 5 >>> a ? >>> c ? >>> b ? >>>
13
I dag 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 14
Unifikasjon av trekkstrukturer
12. mars 2015 15
12. mars 2015 16
12. mars 2015 17
12. mars 2015 18
Subsumpsjon og unifikasjon
Subsumpsjon
• F subsummerer G • ”F er minst like generell som G” • • Hvis og bare hvis:
• F er atomær og F=G • Ellers
• For hvert trekk x i F: F(x) subsumerer G(x)
• For alle stier p, q in F: Hvis F(p) = F(q), så G(p) = G(q)
Unifikasjon
• H er unifikasjonen av F og G
• H = • Hvis og bare hvis
• • • Og H er den mest
generelle slike trekkstrukturen
12. mars 2015 19
I dag 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 20
NLTK - implementasjon >>> fs1 = nltk.FeatStruct(TENSE='past', NUM='sg') >>> fs1 [NUM='sg', TENSE='past'] >>> print fs1 [ NUM = 'sg' ] [ TENSE = 'past' ] >>> from nltk import FeatStruct >>> fs2 = FeatStruct(CAT='vp', AGR = fs1) >>> print fs2 [ AGR = [ NUM = 'sg' ] ] [ [ TENSE = 'past' ] ] [ ] [ CAT = 'vp' ]
21 12. mars 2015
NLTK - implementasjon >>> fs3 = fs2.unify(FeatStruct( "[AGR = ?x, SUBJ = [AGR = ?x]]"))
>>> print fs3 [ AGR = (1) [ NUM = 'sg' ] ] [ [ TENSE = 'past' ] ] [ ] [ CAT = 'vp' ] [ ] [ SUBJ = [ AGR -> (1) ] ]
22 12. mars 2015
I dag 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 23
Grammatikker – to alternative format
1. Trekkstrukturer i reglene
• NLTK er et (begrenset) forsøk på å implementere dette formatet
2. Regler + likninger
• Jurafsky og Martin
12. mars 2015 24
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
12. mars 2015 25
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
13. mars 2015 26
Generalisering av formalisme 1 • Vi trenger ikke egne symboler for ikke-terminalene • Vi kan bruke et trekk for dem, f.eks. Cat • Fordeler:
• Enklere teori • Større fleksibilitet, f.eks. variable over kategorier
Trekkstrukturgrammatikk • Syntaktisk regel:
• En trekkstr. på v.s • Null eller flere t.s. på h.s • Deling mellom trekkstr.ene
• Leksikalsk regel: • En trekkstr. på v.s • En terminal på h.s.
12. mars 2015 27
Tolkning av trekkstrukturgrammatikker
• Har definert: • Trekkstrukturer og unifikasjon • Grammatikkregler med trekkstrukturer
• Gjøre presist hvordan en trekkstrukturgrammatikk
definerer et språk • (mangler både fra J&M og NLTK-boka)
• Vi vil gi en semi-formell definisjon
• (ikke formalisere alle detaljer) 28 12. mars 2015
Husk: CFG og trær • Et lokalt tre:
• En node som ikke er et blad
• Alle døtrene • Rekkefølgen
mellom døtrene • Kantene mellom
mor og datter
• En regel • B s1, s2, …, sn • tillater (”license”) et
lokalt tre hvis og bare hvis det har formen:
12. mars 2015 29
B
s1 s2 sn … …..
Trær • En CFG G, generer et tre t hviss
• Toppen av t er merket med S • Bladene er merket med terminaler • Hvert lokalt tre er tillatt av en
produksjonsregel • T(G) for mengde av trær generert
av G • Utkomme (”yield”) av treet t er
symbolene på bladene i riktig rekkefølge
• En streng w er avledbar fra G hviss w er utkomme til et tre i T(G).
12. mars 2015 30
Forkortelse: ”hviss” for
”hvis og bare hvis”
Trær med trekkstrukturer
12. mars 2015 31
NP, VP,
V, N, DET, NP,
N, DET,
S,
the restaurant serves many fish
Hver ikke-terminal node inneholder en trekkstruktur
Betingelser på grammatikalitet
12. mars 2015 32
NP, VP,
V, N, DET, NP,
N, DET,
S,
the restaurant serves many fish
Hvert lokalt tre må tillates av en grammatikkregel
R1: S NP VP
Lokalt tre tillatt av regel – eks 1
• Regelen R1 svarer til et lokalt tre t2 • R1 tillater t1 hvis t1 «utvider» t2, • Mer formelt: hvis t2 subsummerer t1
33 12. mars 2015
NP, VP,
S, Hvert lokalt tre må tillates av en grammatikkregel
t1:
Subsumpsjone 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 • T er atomær og T = T’, eller • T har en mor M og døtre D1, D2, …, Dn, og
T’ har en mor M’ og like mange døtre D’1, D’2, …, D’n, der • M subsummerer M’, og • Di subsummerer D’i for i = 1, 2, …, n, og • Alle delinger i T er også delinger i T’.
34
Lokalt tre tillatt av regel –eks 2
R: DET[AGR=[PERS=‘3rd’]]-> ‘the’ R svarer til det lokale treet t’ som subsummerer t
35 12. mars 2015
DET, Hvert lokalt tre må tillates av en grammatikkregel
the
DET,
the
t:
t':
Tolkning av grammatikk
• Et tre T med trekkstrukturer er tillatt av grammatikk G hvis og bare hvis.
• Hvis t1, t2, …, tn er alle de lokale trærne i T, så fins det tilsvarende regler i G, si g1, g2, …, gn s.a.: tre ti er tillatt av regel gi for i= 1, 2, …, n
• Hvis T’ er et annet tre tillat av de samme reglene g1, g2, …, gn, og T’ subsummerer T, så subsummerer også T T’.
36 13. mars 2015
"Det skal ikke være med mer i treet enn det reglene krever. "
Grammatikker – to alternative format
1. Trekkstrukturer i reglene 2. Regler + likninger
12. mars 2015 37
• S NP VP
• NP Det NOM • V ’serves’ •
•
Lokalt tre tillatt av regel –eks 1
• J&M-format: • Det lokale treet lystrer alle likningene
38 12. mars 2015
NP, VP,
S, Hvert lokalt tre må tillates av en grammatikkregel
Lokalt tre tillatt av regel –eks 2
• Regler + likninger: • Det lokale treet lystrer alle
likningene
DET the
=3rd
• Trekkstr. i regel DET[AGR=[PERS=‘3rd’]]-> ‘the’
12. mars 2015 39
DET, Hvert lokalt tre må tillates av en grammatikkregel
the
DET,
the
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
12. mars 2015 40
Blir det samme (før evt utvidelser)
INF2820 Datalingvistikk – V2015I dagTrekk (“features”) – trinn for trinnTrekk – trinn for trinn 2Intuitiv tolkningMot en formaliseringFlere enn ett trekk i en kat., eks: tyskFlere enn ett trekk i en kat., eks: tyskI dagTrekkstrukturerTrekkstrukturer som graferDeling («Reentrancies»)Deling og programmeringI dagUnifikasjon av trekkstrukturerSlide Number 16Slide Number 17Slide Number 18Subsumpsjon og unifikasjonI dagNLTK - implementasjonNLTK - implementasjonI dagGrammatikker – to alternative format1. Regler med trekkstrukturer1B. NLTKs formatGeneralisering av formalisme 1 Tolkning av trekkstrukturgrammatikkerHusk: CFG og trærTrærTrær med trekkstrukturerBetingelser på grammatikalitetLokalt tre tillatt av regel – eks 1Subsumpsjone av trærLokalt tre tillatt av regel –eks 2Tolkning av grammatikkGrammatikker – to alternative formatLokalt tre tillatt av regel –eks 1Lokalt tre tillatt av regel –eks 2Sammenlikning av formatene