ling 581: advanced computational linguistics lecture notes april 23rd

33
LING 581: Advanced Computational Linguistics Lecture Notes April 23rd

Upload: oswin-matthews

Post on 18-Dec-2015

231 views

Category:

Documents


5 download

TRANSCRIPT

LING 581: Advanced Computational Linguistics

Lecture NotesApril 23rd

Last Time

• Built a Prolog grammar– g.pl on the webpage

• TCE:– We'll do this first …

Truth Conditions and Values

• Set-theoretic meaning of "and":– The circle is inside the square and the circle is dark– Mary is a student and a baseball fan– Mary and John bought a book

Truth Conditions and Values

• Terms:– synonymous, contradictory, entailment, presupposition,

tautology…• Prolog:– Conjunction p , q.– Disjunction p ; q.– Negation \+ p.– If-Then p -> q. (not implication)– If-Then-Else p -> q ; r.– Unification p = q (not logical equality)

Tautologies

http://en.wikipedia.org/wiki/Tautology_(logic)

Let’s prove the law of contraposition

Propositional LogicProgram: plogic3.pl

Semantic Grammars

• Use slides from course– LING 324 – Introduction to Semantics– Simon Frasier University, Prof. F.J. Pelletier– http://www.sfu.ca/~jeffpell/Ling324/fjpSlides4.pdf

• Difference is we’re computational linguists… so we’re going to implement the slides

• We’ll do the syntax part this lecture, and the semantics next time

Syntax• Step 1: let’s build the simplest possible Prolog grammar for this

fjpSlides4.pdfSlide 4

Syntax• Step 2: let’s add the parse tree component to our grammar …

Recall: grammar rules can have extra arguments(1) Parse tree(2) Implement agreement etc.

SyntaxNote: on handling left recursion in Prolog grammar rules• techniques:

1. use a bottom-up parser 2. rewrite grammar (left recursive -> right recursive)3. or use lookahead (today’s lecture)

lookahead is a dummy nonterminal that does not contribute to the parse, it is a “guard” that prevents rule from firing unless appropriate

lookahead succeeds if it can find a conjunction in the input and marks it (so it can’t find it twice)

Grammar: version 2g.pl

Grammar: version 2

Semantics

• We want to obtain a semantic parse for our sentences that we can “run” (i.e. evaluate) against the Prolog database (i.e. situation or possible world).

• So the semantic parse should be valid Prolog code (that we can call)

• We’ll need (built-in) member/2 and setof/3 defined in the following 2 slides (a quick review)

setof/3• See

– http://www.swi-prolog.org/pldoc/doc_for?object=section(2,'4.29',swi('/doc/Manual/allsolutions.html'))

• SWI Prolog built-in:

setof/3

• Example:

member/2

• See– http://www.swi-prolog.org/pldoc/man?predicate=member%2F2

Semantics

fjpSlides4.pdfSlide 7

Semantics

fjpSlides4.pdfSlide 8

Semantics

fjpSlides4.pdfSlide 9

Semantics

fjpSlides4.pdfSlide 10

Semantics: Implementation

• Desired implementation:

The extra argument returns a Prolog query that can be evaluated against the database

Note: we are bypassing the (explicit) construction of the syntax treeImagine if the Penn Treebank was labeled using a semantic representation

Semantics: Implementation• Let’s write the semantic grammar to handle “Jack is hungry”

– first, let’s introduce a bit of notation (lambda calculus)– λ = function– λx.x+1 denotes a function that takes an argument x and computes value x+1

• (a period separates the argument from the function body)

– (λx.x+1)(5) means apply 5 to the lambda function• substitute 5 in place of x and evaluate• answer = 6

Semantics: Implementation

setof(X,hungry(X),S)jack

setof(X,hungry(X),S), member(jack,S)

Syntax:

Semantics: Implementation

• Semantic grammar:

Semantics: Implementation

• Semantic grammar:

Semantics: Implementation

• More examples of computation:fjpSlides4.pdfSlide 10

Semantics: Implementation

• More examples of computation:

Semantics: Implementation

• More examples of computation:

Semantics

fjpSlides4.pdfSlide 11

Semantics: Implementation

• Scope of negation: wide or narrow

narrow

wide

Grammar: version 3g3.pl

Grammar: version 3

Evaluation

• Check our computer implementation on…

fjpSlides4.pdfSlide 12