Ordklasser Särdrag, lexikon och syntax Slutna klasser: prepositioner, konjunktioner, subjunktioner m.fl. (funktionsord) Inga nya ord bildas. Öppna klasser: substantiv, adjektiv, verb, adverb Ständiga nybildningar av ord. Slutna klasser prepositioner PP: på, i, för determinerare DT: den, en, det pronomen PN: den, en, det konjunktioner KN: och, eller, men subjunktioner SN: om, som räkneord RG: ett, 1, 2023 possessiv PS: min, ditt, hennes Öppna klasser substantiv NN: bilen, hund egennamn PM: Kalle, Volvo adjektiv JJ: gul, bäst adverb AB: mycket, igår verb VB: spela, springa particip PC: kastad, sjungande Vilka ord i lexikon? Slutna ordklasser De vanligaste från de öppna ordklasserna, så många man kan få tag på En modul för ordklassgissning är viktig, det dyker alltid upp nya ord. Vad skall man med en grammatik till? Olika syften: Pedagogiska Kodifierande Vetenskapliga 1
Mål Att definiera ett språk med ett regelsystem Att tilldela varje mening i språket en eller flera grammatiska strukturer - Om en mening kan härledas med grammatikens regler sägs grammatiken generera meningen. Översikt Teorier: Government-Binding Theory Cognitive grammar Formalism: DCG, PATR Teori med integrerad formalism: GPSG och LFG System: Maskinöversättning, grammatikkontroll m.fl. Chomsky Noam Chomsky (1928-) Grammatik ett mentalt organ Grammatik relationen mellan en talares språklig kompetens och performans. Generativ grammatik Mål: Hitta de grammatiska regler som genererar ett språk Produktion och tolkning av språkliga satser involverar successiva tillämpningar av omskrivningsregler. En talare av ett språk måste känna språkets grammatik. Grammatiken definierar vilka strängar som tillhör språket eller inte. Grammatikalitet och acceptabilitet Grammatisk och acceptabel: Det regnar. Grammatisk men oacceptabel: Mannen gav stenarna bumlingarna. Ogrammatisk men acceptabel: Jag såg han. Ogrammatisk och oacceptabel: Mannen ser sten bumlingarna. Rätt eller fel? Köp våra små matta! Köp våra små matta! Problem: att skilja ut oacceptabla meningar från ogrammatiska meningar. 2
Transformationsgrammatik En funktion från ett syntaktiskt träd till ett annat syntaktiskt träd Ytstruktur- Djupstruktur Det behövdes giltiga begränsningar på transformationer Chomsky: Government and Binding Andra modeller undviker transformationer Viktiga begrepp Ordföljd, sekvensiell ordning Grammatiska relationer: Subjekt, predikat, objekt Dependenser A styr B, högt hus, högt berg Konstituenter enheter i meningen som kan bygga upp nya enheter Problem: flertydighet Ordens flertydighet: Svenska: 60 % Engelska: 45 % Finska: 15 % + andra flertydigheter: konstituenter, huvuden Ordmönster som en enkel syntaktisk struktur Min bror väntade på flygplatsen PS + NN + VB + PP + NN Min flygplatsen väntade på bror PS + NN + VB + PP + NN Ordmönster med särdrag PS + NN.IND + VB + PP + NN.DEF Godkänner: Min bror väntade på flygplatsen. Godkänner inte: * Min flygplatsen väntade på bror. Ordklasstaggning Statistisk (Viggos föreläsning) eller regelbaserad (Constraint grammar) Maskininlärning: Brills taggare Det var en man som stod där. PN VB DT NN HP VB AB DT NN NN PN HP VB AB Löser ytsyntaktisk flertydighet Bra som förprocess 3
"<*min>" "min" <**c> N UTR INDEF SG NOM "min" <**c> <POSS-SG1> <MD> DET UTR DEF SG NOM (@DN>) "min" <**c> <POSS-SG1> PRON UTR DEF SG NOM "min" <**c> <MEASURE> ABBR UTR/NEU INDEF SG NOM "<glada>" "glad" A UTR/NEU DEF SG NOM "glad" A UTR/NEU DEF/INDEF PL NOM "glada" N UTR INDEF SG NOM "<glada>" "glad" A UTR/NEU DEF SG NOM "glad" A UTR/NEU DEF/INDEF PL NOM "glada" N UTR INDEF SG NOM "<satt>" "sitta" V ACT PAST "sätta" V ACT SUPINE "sätta" V PCP2 UTR/NEU INDEF SG NOM "satt" A UTR/NEU INDEF SG NOM "<på>" "på" ADV "på" PREP "<en>" "en" <NUM/ART> <ID> DET UTR INDEF SG NOM (@DN>) "en" <NUM> PRON UTR INDEF SG NOM "en" N UTR INDEF SG NOM "en" ADV (@AD>) "<för>" "föra" V ACT PRES "föra" V ACT IMP "för" N UTR INDEF SG NOM "för" <CLB> CC "för" ADV (@AD> @ADVL) "för" PREP Ord, fraser, satser och meningar Meningar Satser: Subjekt + finit verb Fraser: Ord Orddelar Vad är en konstituent Bildar en naturlig enhet i satsen En semantisk enhet Kan inte brytas upp, flyttas som en enhet Olika typer av fraser nominalfraser VP verbfraser PP prepositionsfraser AJP adjektivfraser Fraser som består av andra fraser: Å PP Nominalfraser han Hans en man introduktion mannen mannen är redan introducerad mannen i den svarta kostymen mannen i den svarta kostymen som vi såg igår Kontextfria regler för Å pn Å pm Å nn Å dt jj nn 4
Huvuden och attribut i En massa bilar i garaget Huvudet, det centrala, ofta substantivet i :n, bestämmer oftast hela frasen: bilar Framförställda attribut: en massa Efterställda attribut: i garaget VP - Verbfraser VP Å V VP Å V VP Å V sover ser mannen ser mannen som står där borta i en dimma ger mannen en fin gammal bok i present PP - Prepositionsfraser PP Å Prep Mot Mammon, på 200 miljarder PP-attachment: De byter Gud mot Mammon (verbbindning) Sverige gjorde en förlust på 200 miljarder (-bindning) Syntaktiska träd S VP ADV PP NN VB NN Prep PM Mannen åker skidor i Alperna Syntaktiska träd RelBisats S VP Olika typer av grammatikor Frasstrukturgrammatik: Sekvensiell ordning, gruppering, kategoritillhörighet S Å VP NN HP VB AB VB PN Kvinnan som står därborta känner jag Dependensgrammatik: Sekvensiell ordning, dependens, kategoritillhörighet 5
Konjunktioner Binder ihop: Fraser: vispad grädde och smält glass Satser: Jag gillar grädde och hon gillar glass. Konjunktioner är ofta flertydiga. Algoritmer för satsgränsigenkänning viktiga för att lösa upp flertydigheten. Olika typer av satser Påståendesatser: Jag gillar grädde och glass. Ja-nej-frågor: Regnar det? Frågeordssatser: Vem gillar grädde och glas? Imperativa satser: Ät upp din glass! Kongruens (agreement) Kongruens är viktigt för att förtydliga vilka ord som hänger ihop. Ett litet hus De små husen Det behövs särdrag för att beskriva kongruens på ett rationellt sätt. Lingvistiska särdrag Vi vill representera morfosyntaktiska beroenden, t.ex. kongruens Binära särdrag: Bilarna: [N; +utrum, +plural, +definit, +nominativ Särdragskategorier Numerus, Species, Genus Bilarna: lex= Bil (Lemma) cat=nn (Substantiv) gender=utr (utrum) num=plu (plural) spec=def (bestämd form) case=nom (Nominativ) Lexikon Om vi lägger den mesta informationen i lexikonet får vi en renare grammatik. Stamlexikon: Bil [LEX Bil] [Gender Utr] Ändelselexikon: +na [Spec Def] +0 [Spec Ind] 6
Subkategorisering Underindelningar av verb, nomen och adjektiv Särdragsstrukturer särdrag_1 värde_1 särdrag_n värde_n [Subcat intransitiv] sover [Subcat transitiv] beundrar [Subcat ditransitiv] ger [Subcat PP1] tittade på teve num SIN gender UTR spec DEF Unifiering [num SIN] [num SIN] JA! [num SIN] [num PLU] NEJ! [num SIN] [num []]=[num SIN] [num SIN] [gender UTR]= Num SIN Gender UTR En grammatik definieras genom: 1. Ett lexikon 2. En uppsättning kategorier 3. En uppsättning regler Ord- terminala symboler Kategorier- icke-terminala symboler Kontextfria regler: C Å s Kontextkänsliga regler: C Å s/s1_s2 Grammatikens språk Om en mening kan härledas med grammatikens regler sägs grammatiken generera meningen. Samma språk svagt ekvivalenta Isomorfa syntaktiska strukturer starkt ekvivalenta Chomsky-hierarkin Typ 0: Obegränsade grammatikor Typ 1: Kontextkänsliga grammatikor Typ 2: Kontextfria grammatikor Typ 3: Finite-state grammatikor 7
En liten kontextfri grammatik S Å VP VP Å VB VP Å VB VP Å VB Å DT NN Å NN NNÅ Pelle, hästen, pojke, bok DT Å en, ett VB Å sover, beundrar, ger Ett träd från grammatiken S VP NN VB NN Pelle gillar hästen Övergenerering och undergenerering Genererar: Pelle sover hästen. Genererar inte: Sover Pelle? Särdrag som grammatiska filter Kongruensböjning (se senare exempel) Verbfrasregler: VP Å V[subcat intranstiv] VP Å V[subcat transitiv] VP ÅV[subcat ditransitiv] S Å VP VP Å VB[subcat intranstiv] VP Å VB[subcat transitiv] VP Å VB[subcat ditransitiv] Å Pelle, hästen, pojken boken Lexikon: sover VB[subcat intransitiv] beundrar VB[subcat transitiv] ger VB[subcat ditransitiv] Genererar: Pelle sover. Genererar inte: Pelle sover hästen. Unifiering i regler S Å VP < NUMBER> = <VP NUMBER> Mannen är glad <NUMBER SIN> <NUMBER SIN> Å DET NOMINAL <Det AGREEMENT> = <Nominal AGREEMENT> < AGREEMENT> = <Nominal AGREEMENT> 8
Parsning Att utföra bästa möjliga (av grammatiken tillåten) analys av ett språkligt påstående. Problem: Språkets tvetydighet Generering Genereringsproblemet är parsningsproblemets motsats: Att från en logisk representation skapa ett påstående i naturligt språk. Påståendet måste givetvis ha samma innebörd som den logiska formen. tvåvägsgrammatikor = grammatikor som kan användas både för analys och generering. DCG Definite Clause Grammar En notation i Prolog för att skriva logiska grammatiker Pereira och Warren 1980 Prolog genererar automatiskt en parser för DCG-grammatiken. En grammatik i DCG s(s(, VP)) --> np(), vp(vp). vp(vp(vb)) --> vb(vb). vp(vp(vb,)) --> vb(vb), np(). vp(vp(vb, 1, 2)) --> vb(vb), np(1),np(2). np(np(dt, NN)) --> dt(dt), nn(nn). np(np(nn)) --> nn(nn). Lexikonet i DCG nn(nn(pelle)) --> [pelle]. nn(nn(hästen)) --> [hästen]. nn(nn(pojke)) --> [pojke]. nn(nn(bok)) --> [bok]. nn(nn(hus)) --> [hus]. dt(dt(en)) --> [en]. dt(dt(ett)) --> [ett]. vb(vb(sover)) --> [sover]. vb(vb(beundrar)) --> [beundrar]. vb(vb(ger)) --> [ger]. vb(vb(ser)) --> [ser]. Hur blir det? (del 1)?- s(träd, [pelle, sover],[]). Träd = s(np(nn(pelle)),vp(vb(sover)))??- s(t, [pelle, ser, ett, bok],[]). T = s(np(nn(pelle)),vp(vb(ser),np(dt(ett),nn( bok))))? 9
DCG med genuskongruens s(s(, VP)) --> np(,_), vp(vp). vp(vp(vb)) --> vb(vb). vp(vp(vb,)) --> vb(vb), np(,_). vp(vp(vb, 1, 2)) --> vb(vb), np(1, _),np(2,_). np(np(dt, NN), GEN) --> dt(dt,gen), nn(nn, GEN). np(np(nn), GEN) --> nn(nn, GEN). DCG med subkategorisering s(s(, VP)) --> np(,_), vp(vp). vp(vp(vb)) --> vb(vb,). vp(vp(vb,)) --> vb(vb), np(,_). vp(vp(vb, 1, 2)) --> vb(vb), np(1, _),np(2,_). np(np(dt, NN), GEN) --> dt(dt,gen), nn(nn, GEN). np(np(nn), GEN) --> nn(nn, GEN). nn(nn(pelle), utr) --> [pelle]. nn(nn(hästen), utr) --> [hästen]. nn(nn(pojke), utr) --> [pojke]. nn(nn(bok), utr) --> [bok]. nn(nn(hus), neu) --> [hus]. dt(dt(en),utr) --> [en]. dt(dt(ett),neu) --> [ett]. vb(vb(sover)) --> [sover]. vb(vb(beundrar)) --> [beundrar]. vb(vb(ger)) --> [ger]. vb(vb(ser)) --> [ser]. Hur blir det? (del 2)?- s(träd,[pelle,ser,en, bok],[]). Träd = s(np(nn(pelle)),vp(vb(ser),np(dt(en),n n(bok))))? ; no?- s(träd, [pelle, ser, ett, bok],[]). no s(s(, VP)) --> np(,_), vp(vp). vp(vp(vb)) --> vb(vb,intrans). vp(vp(vb,)) --> vb(vb,trans), np(,_). vp(vp(vb, 1, 2)) --> vb(vb,ditrans), np(1, _),np(2,_). Vi bygger ut verben i lexikonet: vb(vb(sover),intrans) --> [sover]. vb(vb(beundrar), trans) --> [beundrar]. vb(vb(ger), ditrans) --> [ger]. vb(vb(ser), trans) --> [ser]. 10
?- s(t,[pelle,sover],[]). T = s(np(nn(pelle)),vp(vb(sover)))? ; no?- s(t,[pelle, sover, hasten],[]). no?- s(t,[pelle, ser, hasten],[]). T = s(np(nn(pelle)),vp(vb(ser),np(nn(hasten) )))??- s(t,[pelle, ger, hasten, en, bok],[]). T = s(np(nn(pelle)),vp(vb(ger),np (nn(hasten)),np(dt(en),nn(bok ))))? yes?- s(t,[pelle, ser, hasten, en, bok],[]). no Särdragskategorier och särdragsvärden (i ren Prolog) np:[num=num, gen= Gen,tree=np(DET,N)] => np_det_n- [dt:[num=num,gen=gen, tree=det], nn:[num=num,gen=gen, tree=n]]. np:[num=num,gen=gen,tree=np(n)] => np_n- [nn:[num=num,gen=gen, tree=n]]. lexicon(pelle,nn:[num=sin,gen=utr,tree=np(pelle)]). lexicon(hästen,nn:[num=sin,gen= utr, tree=nn(hästen)]). lexicon(bok,nn:[num=sin,gen= utr, tree=nn(bok)]). lexicon(hus,nn:[num=sin,gen=neu, tree=nn(hus)]). lexicon(en,dt:[num=sin,gen=utr, tree=dt(en)]). lexicon(ett,dt:[num=sin,gen=neu, tree=dt(en)]). lexicon(den,dt:[num=sin,gen=utr, tree=dt(den)]). lexicon(de,dt:[num=plu,gen=_, tree=dt(de)]). 11