Föreläsningens innehåll Syntaxformalismer Ola Knutsson knutsson@nada.kth.se Snabb repetition av Särdrag, lexikon och syntax Särdrag och särdragbaserade formalismer Översikt över olika typer av formalismer DCG och särdragbaserad grammatik i Prolog Språkteknologi 2D1418 HT 2001 Syntax - syntaxis (grek.) syntaktisk struktur syntaktisk-semantisk struktur Språket Syntaktisk teori TG / GB / MP HPSG Språk 1 Syntaxformalismer DCG TAG PATR-II... Språk N Datastrukturer Datamodeller Algoritmer Applikationer Språket Språket är objektet som studeras i språkvetenskap " Språkets struktur - syntax " Språkets mening - semantik " Språkets användning - pragmatik " Språkets användare - psykolingvistik Språk är en uppsättning regler och principer i hjärnan som definierar de meningar vi kan uttrycka " En grammatisk teori handlar om dessa principer Teori: formaliserad beskrivning av ett objekt Krav på teorier: " förklarande " prediktiva Jfr Klassisk grammatik " Normativ (skrivregler, andraspråksgrammatik) " Deskriptiv (empirisk beskrivning av ett språks struktur) Forskning DAG Term Ingenjörskonst Abstrakt Konkret Syntax och grammatik Konstituentstruktur (constituency) Grammatiska relationer (relations /functions) Syntaktiska beroendeförhållanden (dependency) Grammatiska relationer / funktioner " Formaliserade beskrivningar av relationer mellan SUBJEKT, PREDIKAT etc " Klassisk grammatik subjektet i svenska står först i meningar med normal ordföljd alla fullständiga meningar har subjekt " Problem: vad är ett subjekt, kan det definieras eller måste man betrakta det som en primitiv i sin grammatik. Kontextfria grammatiker Frastrukturgrammatiker " P: Regler på formen α β " N: icke-terminaler: S,, VP, AP, N, V " Σ: terminaler: kalle, cyklar, parken, i " S: startsymbol: S G = <N, Σ, P, S > " Derivering en räcka av regelapplikationer på en sträng " Träd: en strukturell representation baserat på deriveringen Parsningsproblemet: " att mappa ett träd till en sträng (snabbast möjligt) " nästa föreläsning behandlar detta 1
Generativ grammatik S VP Syntaktisk teori Generativ: precis och explicit Vanlig grammatik oftast vag - I svenskan krävs subjekt när man bildar meningar: Kalle springer. Det regnar. N PP P N Kalle cyklar i parken Konstituentstruktur Konstituenter: grupper av ord kring ett huvudord den röda hundens tofflor besegrades vid Waterloo deras gröngulblåa egendomliga egenskaper en hund Huvudord: det centrala elementet i en fras tofflor, besegrades, egenskaper N (Nomen), V (Verb), (P) prepositioner, (A) Adjektiv Nominalfraser (), Verbfraser (VP) Prepositionsfraser (PP), Adjektivfraser (AP) Argument för konstituentstruktur uppträder i liknande kontexter: en hund sågs i parken i parken sågs en hund sågs en hund i parken enskilda ord kan kan inte ersätta konstituenten *hund sågs i parken *i parken sågs en konstituenter kan flyttas men inte brytas upp i parken sågs en hund sågs en hund iparken *i hund en parken sågs *hund sågs i parken en En generativ grammatik: Argument mot konstituentanalys S VP S VP VP V VP V PP PP P kalle regnet V springer P i Flertydighet mellan konstituenterna är stor och när de sätts ihop ökar flertydigheten igen Ganska mycket talar för att ordbaserade system är både enklare att konstruera och effektivare att parsa. Kalle springer i regnet. Springer i regnet.?regnet springer i Kalle 2
Syntaktisk kongruens Kongruens: konstituenternas morfologiska struktur anpassar sig efter huvudordet de röda stugorna *den röda stugorna han hade haft tur han skulle velat kunna ha tur DTutr_sing_best APsing Nsing APsing Asing APplur Aplur Dtutr_sing_best den Dtutr_plur_best de Asing röd Aplur röda Nsing stugor Nplur stugorna Subkategorisering Verbens klassiska subkategorier " intranstitiva sjunga " transitiva sjunga sång " ditransitiva ge en flicka en boll Verb har individuella mönster sjunga[ø] kalle sjöng sjunga[] kalle sjöng en sång snöa [Ø] det snöar det = formellt subjekt ge [ ] kalle ger lisa bollen ge [ PP(till)] kalle ger lisa till lejonen få [ PP(av)] kalle får bollen av lisa få [] kalle får bollen Partiklar hoppa[på ] sparka[till ] ge [ut ] kalle hoppar på cykeln kalle sparkar till cykeln kalle ger ut sin tidning Syntaktiska teorier/formalismer Vad menas med syntaxformalism? Ett språk för att formalisera grammatiska regler. Ganska ofta med fokus på: en given syntaktisk teori (ofta knepiga lingvistiska relationer), några kärnmeningar, sällan något omfattande textmaterial. Representera lingvistisk kunskap i ett system För att tilldela indata en strukturell analys Transformationsgrammatik (Chomsky et al) HPSG (Pollard & Sag) Tree Adjoining Grammar Dependency Grammar och Constraint Grammar (se Parsning II) Finite-state grammars Generering Parsning Att utföra bästa möjliga (av grammatiken tillåten) analys av ett språkligt påstående. Problem: Språkets tvetydighet 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. 3
Transformationer Iden om en Universell grammatik innebär problem för trad. frasstrukturgrammatik " PSG deskriptiv kraft men inte prediktiv kraft " Transformationsgrammatik á la Chomsky antar en underliggande djupstruktur, D-struktur & parametriseras & transformeras V X Arguments N V Specifiers C X D V P Modifiers Kalle cyklar i parken A X B S S VP VP V V S Wh-trace John saw who Who John saw e S VP Varför wh-trace? V John saw who S VP V S Vem älskar Kalle? Älskar Kalle Lisa? (D-struktur Kalle älskar Lisa) Den wh-tracen håller reda på Lisa och Lisa plats i satsen. Idén om att det existerar någon slags djupstruktur En djupstruktur med en grammatiska ordning av orden Viljan att representera denna ordning med träd Who John saw e 4
Teorier in i datorn Första försöket att bygga ett system baserat på transformationsgrammatik, Petrick 1965. Problem med implementationen Augmented Transition Networks (Woods 1970) Lexikon och grammatikregler separerade Samma kraft som en transformationsgrammatik skulle kunna uppnås. Constraint-based formalismer Om alla grammatiska kategorier skall formuleras som frasstrukturregler får vi en mycket stor mängd regler Grammatiska kategorier skall ses som objekt Constraint restriktioner GPSG GPSG Generalized Phrase Structure Grammar Syftet var att skapa en unifierings-baserad formalism Frasstrukturregler utan transformationer skall vara tillräckligt för att beskriva språk Huvudmotivationen var att ta fram en enkel formalism med: En syntaktisk nivå: ytstruktur Ett slags syntaktiskt objekt: frasstrukturregeln Gerald Gazdar, sent 70-tal Gazdar, Klein, Pullum, Sag En distinktion mellan universala principer och språkspecifika regler ID-regler, immediate dominance rules Metaregler, mappningar från ID-regler till ID-regler LP, linear precedence, statements, definierar generell principer bland ordningen av systernoder Immediate dominance and linear precedence Immediate Dominance = frasstrukturregler men utan någon fastlagd inbördes ordning mellan noderna på högersidan (döttrarna) i en regel. I princip är dessa språkoberoende. Linear Precedence = adderar den språkspecifika ordningen mellan dotternoderna. HPSG (Pollard & Sag 1984) Head-driven Phrase Structure Grammar " Kombinerar särdrag och principer (jfr GB) " Informationen finns i lexikonet " Några få principer motorn " Heads (V, N, A, P) " Särdragsstrukturer " Head-Feature-Principle " kräver att modernoden unifieras dotternoder http://hpsg.stanford.edu/ 5
Lexical signs Ordens struktur kontrolleras av oberoende principer Strikt lexikalism Tonvikt på lexikonutveckling Särdragen avgör hur orden behandlas Fall som frasstruktur inte klarar Adverbets placering i satsen Adverb kan dyka upp lite var som helst i satsen Frasstruktur har konkatenering som en viktig operator Gazdar, Klein, Pullum & Sag (1985). ID/LP-regler Immediate dominance ID VP --> V,, PP, AdvP Säger inte i vilken ordning V,, PP, AdvP kommer Linear precedence LP-regler: V < V < PP < S1 Som säger: V föregår, V föregår PP, föregår S1, när de hänger från samma nod. Om ingen position är given för AdvP så kan den förekomma var som helst Transformationsgrammatik i NLP Chomsky introducerade förändringar av trädstrukturer, s.k. Transformationer. Lingvister använde transformationer för alla möjliga grammatiska konstruktioner: Kongruens och kasus, nu används särdrag Relationer mellan aktiva och passiva satser, nu används lexikal regler Varierande ordföljd, nu används alternativa frasstrukturregler för detta. För att göra en transformation behövs en trädstruktur, och måste vi använda transformationer för att skapa träd blir detta omöjligt. Transformationsgrammatiker används sällan inom NLP 6
PATR-II PATR-II (cf Shieber 1985) Regler och Särdragsstrukturer Unifiering av riktade icke-cykliska grafer Directed Acyclic Graph (DAG) Unifiering av DAG:er Särdrag definieras som par: särdrag:värde Särdragstrukturer kan representeras som riktade grafer S --> VP < HEAD> = <VP HEAD> --> DET AP N <DET HEAD AGR> = < HEAD AGR> < HEAD> = <N HEAD> N --> får <N HEAD AGR PERS> = third <N HEAD AGR NUM> = sing DET --> ett <DT HEAD AGR PERS> = third <DT HEAD AGR NUM> = sing AP --> A <AP HEAD> = <A HEAD> A--> svart <AP HEAD SING > = sing cat agr number sing person third def def cat : agr : number : sing person : third agr agr : def : def cat number person cat : number : sing agr : person : third def : def sing third Tree Adjoining Grammar cat agr number def person Operationer på trädstrukturer i ett lexikon Används ofta tillsammans med statistiska modeller baserade på korpusar Initial trees minimala fraser utan rekursion Auxiliary trees, bestämningar till basstrukturer http://www.cis.upenn.edu/~xtag/tech-report/ sing third def 7
Två operationer Unifiering Substution Adjunction Subkategorisering i TAG Särdragsbaserad, lexikaliserad TAG Lexikaliserad innebär att varje elementär struktur har ett lexikalt ankare. TAG-språken är medelkontextkänsliga och mycket kraftfullare än kontextfria språk. TAG är lämpliga i lingvistiska tillämpningar En engelsk grammatik finns för nerladdning och användning under GPL, även andra verktyg som t.ex. en supertaggare Supertaggning I (se t.ex. Joshi & Srinivas, 1994) Först fanns orden, Sedan kommer taggarna Och därefter kom supertaggarna! Det finns en supertagg för varje syntaktisk omgivning som ett ord kan befinna sig i. Vi får fler taggar än vid ordklasstaggning. Supertaggarna hämtas från LTAG Ordet masterminded har t.ex. 6 supertaggar: transtivt verb, passivt verb, relativiserad form m.fl Supertaggning II Hur går det till? Lokal statistisk information, trigram över supertaggar. SuperTag tränades på 1 miljon ord med supertaggar. Testade på 47 000 ord, 92.2 % av dessa taggades korrekt. Parsning och supertaggning: Supertaggning klarar nästan alltid att analysera meningar. För att få en komplett syntaxanalys måste supertaggar kombineras. Parsningen blir 30 ggr. snabbare med supertaggaren som förprocess. Om supertaggaren gör fel får vi inte en fullstädning parsning För att råda bot på detta har en lättvikts dependensparser utvecklats (LDA) som utnyttjar den dependensinformation som finns i supertaggarna. Tillämpningar: dokumentfiltrering, textförenkling, ordbetydelstaggning (hur skall ordet bank tolkas). 8
LFG Lexikalisk-funktionell grammatik (Lexical Functional Grammar) Är en teori för den universella grammatiken (Chomsky). Grammatiska funktioner/relationer betraktas som primitiva begrepp kan inte definieras med frasstruktur. Syntaktiska regler tillåts inte förändra grammatisk funktion hos en kosntituent. Inga transformationer ingen ytstruktur-djupstruktur Två nivåer: konstituentstruktur(c-struktur) och funktionell struktur (f-struktur) c-strukturen är ett frasstrukturträd genererat med CFG f-strukturen bestäms både av CFG:en och lexikal information The LFG Grammar Writer s workbench (Xerox) http://www.parc.xerox.com/istl/groups/nltt/medley/ LFG för svenska, Linköping Dependency grammar Dependensgrammatik, Tesnière 1959 Formalismer/parsningssystem: Functional Dependency Grammar (Järvinen & Tapanainen, 1997) Link Grammar (Sleator & Temperely, 1993) Constraint Grammar Finite-state grammars Finite-state transducers (Karttunen et al, 1997) Finite-state intersection grammar (Koskenniemi, 1990) designing a parsing grammar (Voutilainen, 1994) bra fokus på grammatikern, som skall skriva alla dessa regler. Olika analysnivåer kan samverka: en flertydighet på en nivå kan lämnas till nästa nivå, flertydig information från en nivå ovanför kan användas för att disambiguera en lägre nivå. Mer om finite-state parsning nästa föreläsning. DCG --> Prolog DCG Definite Clause Grammar HEAD -- > BODY. en möjlig form av HEAD är BODY. Konjunktionsoperatorn, En notation i Prolog för att skriva logiska grammatiker Pereira och Warren 1980 Prolog genererar automatiskt en parser för DCG-grammatiken. DCG: s --> np(agr), vp(agr). Översätts till: s(p0, P2) :- np(agr, P0, P1), vp(agr, P1, P2). Det existerar en konstituent, s, från punkt P0 till P2 om det existerar en np mellan punkterna P0 och P1 och en vp mellan P1 och P2, och särdragsvariablerna Agr i np och vp stämmer överens. 9
expand_term/2 SICStus 3 #6: Mon Feb 2 19:42:45 MET 1998?- expand_term((s --> np, vp), What). What = s(_a,_b):-np(_a,_c),vp(_c,_b)? yes?- expand_term((n --> [bilen]), Hur). När DCG-reglerna är översatta finns de endast expanderade i Prolog. icke-terminal --> icke-terminal. icke-terminal --> [hund] icke-terminal --> [så, länge] Icke-terminal --> {write ( Vilken va? )} Icke-terminal --> en serie av ovan sammansatta med, Hur = n(_a,_b):-'c'(_a,bilen,_b)? yes?- expand_term((ab --> [så], [länge]), H). H = ab(_a,_b):-'c'(_a,så,_c),'c'(_c,länge,_b)? number, Regler number(w) --> thousands(x), hundreds(y), [och], tens(z), {W is X + Y + Z}. number(x) --> thousands(y), hundreds(z), {X is Y + Z}. number(x) --> thousands(y), [och], tens(z), {X is Y + Z}. number(x) --> thousands(x). number(x) --> hundreds(y), [och], tens(z), {X is Y + Z}. number(x) --> hundreds(x). number(x) --> tens(x). thousands(x) --> digit(y), thousand(z), {X is Y * Z}. hundreds(x) --> digit(y), hundred(z), {X is Y * Z}. tens(x) --> tenty(y), digit(z), {X is Y + Z}. tens(x) --> tenty(x). tens(x) --> teen(x). tens(x) --> digit(x). lexikon number(0) --> [noll]. digit(1) --> [ett]. digit(2) --> [två]. digit(3) --> [tre]. digit(4) --> [fyra]. digit(5) --> [fem]. digit(6) --> [sex]. digit(7) --> [sju]. digit(8) --> [åtta]. digit(9) --> [nio]. teen(10) --> [tio]. teen(11) --> [elva]. teen(12) --> [tolv]. teen(13) --> [tretton]. teen(14) --> [fjorton]. teen(15) --> [femton]. teen(16) --> [sexton]. teen(17) --> [sjutton]. teen(18) --> [arton]. teen(19) --> [nitton]. tenty(20) --> [tjugo]. tenty(30) --> [trettio]. tenty(40) --> [förtio]. tenty(50) --> [femtio]. tenty(60) --> [sextio]. tenty(70) --> [sjuttio]. tenty(80) --> [åttio]. tenty(90) --> [nittio]. hundred(100) --> [hundra]. thousand(1000) --> [tusen]. Hur görs anrop? Tvåvägs, igenkänning och generering?- number(23, X, []). X = [tjugo,tre]? yes?- number(x, [tre, hundra, och, tjugo, tre],[]). X = 323? ; No En grammatik i DCG s --> np, vp. vp --> vb. vp --> vb, np. vp --> vb, np, np. np --> dt, nn. np --> nn. 10
Ett lexikon i DCG nn --> [pelle]. nn --> [hästen]. nn --> [pojke]. nn --> [bok]. nn --> [hus]. dt --> [en]. dt --> [ett]. vb --> [sover]. vb --> [beundrar]. vb --> [ger]. vb --> [ser]. Vad får vi ut? Vi får en parser som accepterar godkända strängar, vi får inga träd. Om vi bygger ut grammatiken kan vi få parsern att bygga syntaxträd. Varje regel skall fylla i sin struktur S --> np, vp. Skall ge s(, ), fylls i av np och vp. Np vill i sin tur fylla i med np(, ) osv. En grammatik i DCG med parseträd 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) När den första regel anropas, instanieras omedelbart dess argument till s(, VP) Variabler och VP är ännu så länge oinstansierade. Därefter instanieras till np(dt, NN) Hela strukturen är då s(np(dt, NN), VP) DT, NN och VP saknar då sina värden, men de fås när exekveringen fortsätter. Om Prolog backtrackar så är instansieringar ogjorda. Nyckelidén är att arbeta med information som man ännu inte har, bygg istället delvis instanierad struktur och instansiera senare. Denna teknik är Prologs styrka.?- 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))))? 11
Sädragsstrukturer igen Särdragsstrukturer särdrag_1 särdrag_n värde_1 värde_n 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 Gender SIN UTR Särdrag i grammatiken Vi vill ha ett elegant sätt att representera/uttrycka syntaktiska krav Lägger till sädrag och unifiering till våra vanliga frasstrukturregler (augmenting) Mål: Att associera komplexa särdragsstrukturer med lexikal poster och instanser av grammatiska kategorier Att styra bildningen av särdragsstrukturer för större grammatiska konstituenter baserade på komponenternas sädragsstrukturer Att framtvinga restriktioner som måste stämma överens mellan angivna delar i grammatiska konstruktioner 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). 12
Lexikon 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),nn(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].?- s(t,[pelle,sover],[]). T = s(np(nn(pelle)),vp(vb(sover)))? ; no?- s(t,[pelle, sover, hasten],[]). no?- s(t,[pelle, ser, 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 T = s(np(nn(pelle)),vp(vb(ser),np(nn(hasten))))? 13
CLE Core language engine Snabbare lexikon och separat lexikon nn --> [X], { substantiv(x) }. substantiv(hund). substantiv(katt). Det går snabbare att söka genom fakta än genom regler. Vi får också en lexikonstruktur som är skiljd från våra frasstrukturregler. Istället för att arbeta med en lingvistisk ren formalism (som måste kompileras till något mer effektivt) syftar CLE att vara en formalism som ligger när implementationsspråket. CLE är unifieringbaserad formalism implementerad i Prolog, som har inbyggd unifiering. I stort sett samma formlism för morfologi, syntax och semantik syn(<identifier>, <rule-group>, <documentation>, [<mother-constituent>, <daughter-constituent_1>, <daughter-constituent_n> ]). CLE S VP Förenklat i CLE: syn(s_np_vp_normal, core, doc( [Jag flyger], [d1, d3, e1], Covers all normal types of clauses ), [s:[vform=vform, type=type], np:[type=type], vp:[vform=vform] ])., betyder el. => Category:[Feature_1=Value_1,, Feature_n] SLE The Swedish Language Engine Arbetet startade 1990, Gambäck med flera Baserat på CLE Morfologisk, syntaktisk och semantisk analys Svenska meningar analyseras och konverteras till en intern semantisk represenation. Analys och generering kan göras med samma grammatik, som dock kompileras olika. Spoken Language Translator (SLT) Domänen flygbokning, översätter frågor på engelska till svenska Även andra tillämpningar Särdragskategorier och särdragsvärden i grammatikregler 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)]). 14
Diderichsens satsscheman Paul Diderichsen, en dansk lingvist Satsscheman: Fundament Nexufält Innehållsfält Finit verb Subjekt Satsadv Infinit verb obj. Adv Pojken reste [] inte igår Igår reste pojken inte Reste pojken inte igår? Vem reste [] inte igår? Satsscheman är bra för Beskrivning av ordföljd eller fältföljd Formalismen används både i traditionella grammatikor och för språkinlärning Skall man implementera en svenska grammatik, kan man enkelt hänvisa till paragrafer Bra för att utveckla transformationer mellan satser, hyfsat enkelt att Bra för en noggrann igenkänning och analys av satser Kan åtminstone delvis beskrivas med ändliga automater en eller flera automater för varje fält. Satsscheman II UnmDeclS P F FV v SA nex SA nex C obj PN h CN h RelS rel som FV v Pro obj Chomsky kände nog inte mannen kritiserade honom Ordningen hos adverben? nog inte korrekt inte nog ogrammatiskt Hur viktigt är det egentligen att skilja ut ogrammatiska konstruktioner från grammatiska? Vi återkommer till analys av ogrammatisk indata Hur bygger man en grammatik? Det finns ingen bok med grammatiska regler för svenska språket Utgå från någon grammatikbok Använd stora textmängder för att se var grammatiken läcker. Testa igen på stora textmängder, upprepa Alla grammatikor läcker. Se till så att alla meningar får någon form av analys/delanalys. Det är det viktiga. Lämna flertydigheter om de är svåra eller använd heuristik för att ta bort tolkningar, 100 analyser är inget system bekänt av 15