Pontus Johansson 1 grammatiker 21.1 G 1 (BBS 7)

Slides:



Advertisements
Liknande presentationer
F. Drewes, Inst. f. datavetenskap1 Föreläsning 13: Resolution •Resolution i satslogiken •Resolution i predikatlogiken.
Advertisements

Pragmatik Funktionellt perspektiv - studiet av språket i kontexten
KONJUNKTIONER.
Pronomen.
Databaser & databasdesign
Golv, väggar, tak. fönster och en dörr
Allmän grammatik SATSDELAR
1 Logikprogrammering ons 11/9 David Hjelm. 2 Repetition Listor är sammansatta termer. De består av en ordnad mängd element. Elementen i en lista kan vara.
Prolog, Mån 16/9 Rebecca Jonson.
Logikprogrammering, Mån 23/9 Rebecca Jonson. Repetition P :- Q, R. Deklarativ syn: –P är sann om Q och R är sanna. –Av Q och R följer P Procedurell syn:
SYNTAX Allmän Grammatik.
Programmeringsteknik
Luncha och lär! Possessiva pronomen.
Grammatik.
Den uppsats ni är på väg att skriva skall en vacker dag presenteras muntligt. I betygskriterierna för Svenska C står det att eleven, skall använda sig.
Eva-Kristina Salameh Logkurs 5p
Logikprogrammering Ons, 25/9
Satsdelar.
Intro till Generativ Grammatik och Frasstrukturgrammatik Tis, 1/10
Satsdelar Predikat Subjekt Direkt objekt Indirekt objekt Adverbial
Beskriver vilken funktion orden har i en sats.
Dcg-notation 21.2 G 2.3 M (BBS 8). dagens föreläsning extra argument i dcg-notation prolog-anrop i dcg-notation avslutande kommentarer om dcg.
Futurum Framtid alltså
Svenska p Svenska p.
Växjö 21 april -04Språk & logik: Kontextfria grammatiker1 DAB760: Språk och logik 21/4: Kontextfria 10-12grammatiker Leif Grönqvist
Växjö 22 april -04Språk & logik: Parsning med kontextfria grammatiker1 DAB760:Språk och logik: 22 aprilParsning Leif Grönqvist
Föreläsning 2 Datalogi för E1 2D1343
Växjö 29 april -04Språk & logik: Kontextfria grammatiker i språkteknologi1 DAB760, 29 april Kontextfria grammatiker i språkteknolog Leif Grönqvist
Växjö 15 april -04Språk & logik: Reguljära uttryck1 DAB760: Språk och logik 15/4: Finita automater och 13-15reguljära uttryck Leif Grönqvist
© Patrick Blackburn, Johan Bos & Kristina Striegnitz FL 5: Aritmetik Teori –Introducerar Prologs inbyggda operationer för aritmetik –Tillämpar dessa på.
© Patrick Blackburn, Johan Bos & Kristina Striegnitz FL 6: Definite Clause Grammars (kap. 7) Teori –Introducerar kontextfria grammatikor och några besläktade.
Presupposition gemensam kunskap som inte behöver påstås eller förklaras förutsatt information - bakgrundsantaganden konventionaliserade bärare av implicit.
Det svenska kulturarvet: spår 1
Formell logik Kapitel 1 och 2
Språklig medvetenhet.
Språkteknologiska metoder Språkteknologisk forskning och utveckling (HT 2006)
Tryck på F5 för att börja. ”Klicka” sedan för att fortsätta.
Semantik – introduktion
Richard Hirsch Institutionen för kultur och kommunikation (IKK)
FRASER. En sats, som alltså kan vara antingen en huvudsats eller en bisats, består i sin tur av…
F. Drewes, Inst. f. datavetenskap1 Föreläsning 11: Funktionella språk Funktioner och variabler i matematiken Funktionella språk LISP, ML och.
Logikprogrammering 21/10 Binära träd
Läsbar prolog CM 8.1. allmäna principer correctness user-friendliness efficiency readability modifiability robustness documentation.
Logikprogrammering 16/ : operatorer Staffan Larsson.
Labgrupper: 2 pers/grupp fr o m lab 2 schema ENKÄT.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 4: Syntaxdefinition Formell syntaxdefinition Lexikalisk och kontextfri syntax Flertydighet i kontextfri.
Anders Broberg, Programspråksteoridelen DVA Moment 2 1 Epost: Hemsida: Tel: Rum: D438.
Syntaktiska funktioner
F5 - Fält & strängar 1 Programmeringsteknik, 4p vt-00 Fält Många element av samma typ Typexempel : lista av heltal Gemensamt namn Individuella värden nås.
Aritmetik 3.4 M 8.2 E 2.2. dagens föreläsning operatorer för aritmetik tillämpningar.
Föreläsning 9 Logik med tillämpningar Innehåll u Semantiska tablåer i predikatlogiken u Klausulform u Herbrandmodeller u Kapitel 3.5,
Föreläsning 13 Logik med tillämpningar Innehåll u Aritmetik i Prolog u Rekursiva och iterativa program u Typpredikat u Metalogiska predikat.
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 12: -kalkylen allmänt om -kalkylen syntax semantik att programmera i -kalkylen.
Karl-Henrik Hagdahl, 11 november Repetition Logikprogrammering: måndag 11 november 2002.
Grammatik - satslära Eleven kan översiktligt (C: med viss precision, A: med god precision) utifrån språkexempel redogöra för hur olika typer av satser,
1 Semantik – introduktion Semantik = läran om mening Tvärvetenskapligt filosofi lingvistik psykologi AI Lingvistik motsägelser mångtydighet metaforer Filosofi.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 5: Syntaxanalys (parsning) Syntaxanalysens mål Tillvägagångssätt och komplexitet Syntaxanalys.
Föreläsning 14 Logik med tillämpningar Innehåll u Cuts och negation u Input/output u Extralogiska predikat u Interaktiva program, failure-drivna.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 12: -kalkylen allmänt om -kalkylen syntax semantik att programmera i -kalkylen.
Procedurellt potpurri Dagens samtalsämnen –Klipp (Cut) –If-then-else –fail/0 –repeat/0 Att läsa –The Art of Prolog, kapitel 11 –Relevant avsnitt i Learn.
@ Anna Sågvall Hein 2005 Uppsala Chart Processor - UCP icke-deterministisk chartparser procedurell formalism versioner –UCP-1, UCP2 –UCP3 (light)
Pickering Robust semantisk parser Del i HIGGINS- projektet –Felhantering i dialogsystem –Navigering i stadsmiljö.
Frågor om elevinflytande till elever i åk 3 – 9 i grundskolan
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 4: Syntaxdefinition Formell syntaxdefinition Lexikalisk och kontextfri syntax.
Växjö 14 april -04Språk & logik: Finita automater1 DAB760: Språk och logik 14/4:Finita automater Leif Grönqvist Växjö Universitet.
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 13: Resolution Resolution i satslogiken Resolution i predikatlogiken.
Huvudsats och bisats– att bygga meningar
Formell logik Kapitel 1 och 2
Grammatik - satslära Eleven kan översiktligt (C: med viss precision, A: med god precision) utifrån språkexempel redogöra för hur olika typer av satser,
Morfologi – hur ord böjs och bildas
Presentationens avskrift:

Pontus Johansson 1 grammatiker 21.1 G 1 (BBS 7)

Pontus Johansson 2 dagens föreläsning definitioner kontextfria regler (cfg) hur implementerar man cfg i prolog? vänsterrekursion

Pontus Johansson 3 definitioner några lingvistiska förkortningar: s = sentence np = noun phrase vp = verb phrase det = determiner n = noun v = verb

Pontus Johansson 4 np np = noun phrase (noun group) pelle flyger… en skabbig hund grubblar… hon sparras… tre bra band från seattle spelar… en tuff tvättbjörn som oskar äter…

Pontus Johansson 5 np (forts.) ett ”bevis” på att vissa ord hänger ihop inom samma np tycks alltså vara att de uppstår i liknande syntaktiska kontexter (t ex följs av ett verb) men individuella ord inom frasen behöver nödvändigtvis inte kunna det…

Pontus Johansson 6 np (forts.) *skabbig grubblar… *från spelar… *tuff äter…

Pontus Johansson 7 modell matematiska modeller –kontextfri grammatik (cfg), eller –frasstrukturgrammatik, och sägs vara i –backus-naur form (bnf) grundidé är hur som helst: –regler + ett lexikon

Pontus Johansson 8 definitioner (forts.) ett språk är en ändlig mängd satser en sats är en lista av terminaler… …som ingår i ett alfabete (en mängd av terminaler) en grammatik är en ändlig samling regler som definierar ett språk regler består av terminaler och icke- terminaler

Pontus Johansson 9 regler En kontextfri regel har formen: X 0 -> X 1 … X n där X 0 är en icke-terminal och X i är terminaler ELLER icke-terminaler

Pontus Johansson 10 regler (forts.) en icke-terminal återfinns i vänsterled (kallas också fras eller kategori) en terminal finns aldrig i vänsterledet, och utgörs typiskt av ord/element i lexikon/alfabete.

Pontus Johansson 11 exempel s -> np vp np -> det n vp -> v np det -> en n -> hund n -> bil v -> jagar ”en hund jagar en bil”

Pontus Johansson 12 trädrepresentation (’parse tree’) s npvp vnp det n n enhundjagarenbil terminaler icke-terminaler s -> np vp np -> det n vp -> v np det -> en n -> hund n -> bil v -> jagar

Pontus Johansson 13 cfg i prolog (1) % append version append([],L,L). append([H|T],L2,[H|L3]) :- append(T,L2,L3). s(Z) :- np(X), vp(Y), append(X,Y,Z). np(Z) :- det(X), n(Y), append(X,Y,Z). vp(Z) :- v(X), np(Y), append(X,Y,Z). det([en]). n([hund]). n([bil]). v([jagar]). s([en,hund,jagar,en,bil]) np([en,hund]) vp([jagar,en,bil]) append( [en,hund], [jagar,en,bil], [en,hund,jagar,en,bil] ) np([en,hund]) det([en]) n([hund]) append([en],[hund],[en,hund]) vp([jagar,en,bil]) v([jagar]) np([en,bil]) append([jagar],[en,bil],[jagar,en,bil])

Pontus Johansson 14 cfg i prolog (2) % difference list version s(List1, Rest) :- np(List1, List2), vp(List2, Rest). np(List,Rest) :- det(List,List2), n(List2,Rest). vp(List,Rest) :- v(List,List2), np(List2,Rest). det([en|Rest],Rest). n([hund|Rest],Rest). v([jagar|Rest],Rest). n([bil|Rest],Rest). skillnaden mellan List1 och Rest är en s om: skillnaden mellan List1 och List2 är en np, och skillnaden mellan List2 och Rest är en vp. npvpRest List2 List1 s

Pontus Johansson 15 körning… ?- s([en,bil,jagar,en,hund],[]). yes ?- s([en,bil,jagar,en,hund|[]],[]). yes ?- s([en,bil,jagar,en,hund,jättefort],[]). no ?- s([en,bil,jagar,en,hund,jättefort],Rest). Rest = [jättefort] ?- s([en,bil,jagar,en,hund,jättefort],[jättefort]). yes

Pontus Johansson 16 [en,hund][jagar,en,bil][jättefort] List2 List1 s

Pontus Johansson 17 cfg i prolog dcg = definite clause grammar (nästa föreläsning!) ”syntaktiskt socker för att dölja differenslistornas notation”

Pontus Johansson 18 cfg i prolog (3) % DCG (CFG) version s --> np,vp. np --> det,n. vp --> v,np. det --> [en]. n --> [hund]. v --> [jagar]. n --> [bil]. %difference list version s(List1, Rest) :- np(List1, List2), vp(List2, Rest). np(List,Rest) :- det(List,List2), n(List2,Rest). vp(List,Rest) :- v(List,List2), np(List2,Rest). det([en|Rest],Rest). n([hund|Rest],Rest). v([jagar|Rest],Rest). n([bil|Rest],Rest). % append version append([],L,L). append([H|T],L2,[H|L3]) :- append(T,L2,L3). s(Z) :- np(X), vp(Y), append(X,Y,Z). np(Z) :- det(X), n(Y), append(X,Y,Z). vp(Z) :- v(X), np(Y), append(X,Y,Z). det([en]). n([hund]). n([bil]). v([jagar]).

Pontus Johansson 19 mer cfg hur utökar vi vårt språk? vp --> v, np, adv. adv --> [jättefort].

Pontus Johansson 20 körning… ?- s([en,bil,jagar,en,hund,Hur],[]). Hur = jättefort

Pontus Johansson 21 körning… språket blir dubbelt så stort! ?- s(X,[]). X = [en,bil,jagar,en,bil] ? ; X = [en,bil,jagar,en,hund] ? ; X = [en,bil,jagar,en,bil,jättefort] ? ; X = [en,bil,jagar,en,hund,jättefort] ? ; X = [en,hund,jagar,en,bil] ? ; X = [en,hund,jagar,en,hund] ? ; X = [en,hund,jagar,en,bil,jättefort] ? ; X = [en,hund,jagar,en,hund,jättefort] ? ; no

Pontus Johansson 22 användning parsning –testar om en sträng accepteras av grammatiken (dvs om den ”känns igen”) –egentligen ska parsern ge info om strukturen (t ex genom ett parseträd) också… ?- s([en,hund,jagar,en,bil],[]). yes generering –låter grammatiken generera strängar (parsningens motsats) ?- s(Generated,[]). Generated = [en,hund,jagar,en,bil]

Pontus Johansson 23 en grammatik till % satser s --> np, vp. % verbfraser vp --> v. vp --> v, np. vp --> vp, pp. % nominalfraser np --> namn. np --> pron. np --> n. np --> det, n. % prepositionsfraser pp --> prep, np.

Pontus Johansson 24 en grammatik till (forts.) n --> [hund]. n --> [kastrull]. det --> [en]. v --> [kastar]. v --> [sover]. namn --> [pelle]. pron --> [han]. prep --> [på].

Pontus Johansson 25 några exempel en hund kastar en kastrull på pelle pelle sover han kastar en hund på en kastrull en hund sover pelle på han en kastrull kastar etc…

Pontus Johansson 26 vänsterrekursion vp --> vp, pp. kan få prolog i oändlig loop vp(List,Rest) :- vp(List,List2), pp(List2,Rest). vp(List,… etc…

Pontus Johansson 27 vänsterrekursion (forts.) vp --> v. vp --> v, np. vp --> vp, pp. vad innebär detta? ”efter varje vp kan en pp följa” vp --> v, somePP.% skriv om med ”somePP” vp --> v, np, somePP.% skriv om med ”somePP” somePP --> []. somePP --> pp.

Pontus Johansson 28 vänsterrekursion (forts.) obs! vänsterrekursion är ett prolog- problem (alltså inte ett lingvistiskt problem) –deklarativt är det ok –procedurellt är det inte ok alla vänsterrekursiva grammatiker kan skrivas om till icke- vänsterrekursiva grammatiker

Pontus Johansson 29 mixa terminaler och icke- terminaler n --> [dog]. n --> n1, [t2], n3, [t4]. n([dog|Rest],Rest). n(List1, Rest) :- n1(List1, [t2|List3]), n3(List3, [t4|Rest]).

Pontus Johansson 30 nästa föreläsning mer om dcg –argument –prologanrop från dcg –och lite till litteratur –21.2 –G 2.3 –M –(BBS 8)