April 2010Semantic Grammar1 A short guide to Blackburn’s Grammar of English
April 2010Semantic Grammar2 Outline Blackburn’s Grammar Syntactic Rules Lexical Rules Word Lexicon Semantic Lexicon See englishGrammar.pl in BB1 folder
April 2010Semantic Grammar3 Coordination Coordinated consitutents are those that are combined with a coordinator (e.g. coordinating conjunction such as “and”) Vincent and Mia Issues with coordination include: –Category of coordinated constituents –Agreement of coordinated constituent – in particular number –Left recursion
April 2010Semantic Grammar4 Coordination The natural way to write a coordination rule is this: X -> X coordinator X e.g. NP -> NP “and” NP This is left recursive because the first LH category is identical to the LHS category of the rule Left recursion causes problems in Prolog
April 2010Semantic Grammar5 Syntax Rules s([coord:no,sem:Sem])--> np([coord:_,num:Num,gap:[],sem:NP]), vp([coord:_,inf:fin,num:Num,gap:[],sem:VP]), {combine(s:Sem,[np:NP,vp:VP])}. Standard CF skeleton Features of the form attribute:value Semantic operations
April 2010Semantic Grammar6 Lexical Rules noun([sem:Sem])--> {lexEntry(noun,[symbol:Sym,syntax:Word])}, Word, {semLex(noun,[symbol:Sym,sem:Sem])}. The rule makes reference to two externally defined predicates (in curly brackets). –lexEntry: the predicate for lexical entries –semLex: semantic macro which constructs the semantic representation
April 2010Semantic Grammar7 Semantic Rules.... rewrite part of rule.... {combine(s:Sem,[np:NP,vp:VP])}. Here, using the rule, combine simply applies the semantic representation NP to the semantic representation VP by –creating the term app(NP,VP) –betaConverting that term
April 2010Semantic Grammar8 The Lexicon (see englishLexicon.pl ) The general format of every lexical entry is this: lexEntry(Cat,Features) where –Cat is a syntactic category and –Features are a collection of attribute:value pairs Example: lexEntry(noun,[symbol:car,syntax:[car]]). lexEntry(pn,[symbol:mia,syntax:[mia]]).
April 2010Semantic Grammar9 The Semantic Lexicon 1 semLex(pn,M):- M = [symbol:Sym, sem:lam(P,app(P,Sym))]. semLex(noun,M):- M = [symbol:Sym, sem:lam(X,Formula)], compose(Formula,Sym,[X]).
April 2010Semantic Grammar10 The Semantic Lexicon 2 semLex(iv,M):- M = [symbol:Sym, sem:lam(X,Formula)], compose(Formula,Sym,[X]). semLex(tv,M):- M = [symbol:Sym, sem:lam(K,lam(Y,app(K,lam(X,Formula))))], compose(Formula,Sym,[Y,X]).