review of homework 4 november 20, 2003. exercise 1 (a) 1 pt modify the dcg to accept the omission of...

Post on 02-Apr-2015

214 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Review of Homework Review of Homework 44

Review of Homework Review of Homework 44

November 20, 2003November 20, 2003

Exercise 1 (A) 1 pt

• Modify the DCG to accept the omission of the complementizer that for object relative clauses

• Your DCG should accept both of the following:

• the cat John saw• the cat that John saw

as NPs

s(s(X,Y)) --> np(X), vp(Y).vp(vp(X,Y)) --> transitive_verb(X), np(Y).np(np(X)) --> proper_noun(X).

% Special rules for relative clausesnp(np(np(Y,Z),U)) --> det(Y), common_noun(Z), sbar(U).np(np(x)) --> [].sbar(lambda(x,Y)) --> complementizer, s(Y).complementizer --> [that].complementizer --> [].

% Lexicontransitive_verb(v(hit)) --> [hit].transitive_verb(v(saw)) --> [saw].transitive_verb(v(hissed_at)) --> [hissed,at].proper_noun(john) --> [john].proper_noun(mary) --> [mary].common_noun(n(man)) --> [man].common_noun(n(cat)) --> [cat].det(det(the)) --> [the].

Exercise 1 (B) 3 pts

doubly-embedded object relative clause structure:

Mary hit [[the mani] that [[ the catj] that John saw [ej]] hissed at [ei]]object

Exercise 1 (B) 3 pts

doubly-embedded object relative clause structure:

Mary hit [[the mani] that [[ the catj] that John saw [ej]] hissed at [ei]]object

Exercise 1 (B) 3 pts

doubly-embedded object relative clause structure:

Mary hit [[the mani] that [[ the catj] that John saw [ej]] hissed at [ei]]

objectobject

WithoutWithout any further modification to the D any further modification to the DCG, construct and show parses for:CG, construct and show parses for:

(i) A sentence with two levels of embe(i) A sentence with two levels of embedding using subject relative clausesdding using subject relative clauses(ii) A sentence with two levels of embe(ii) A sentence with two levels of embedding using one subject and one objecdding using one subject and one object relative clauset relative clause(iii) Any sentence with a triply-embedd(iii) Any sentence with a triply-embedded relative clause structureed relative clause structure

(i) A sentence with two levels of (i) A sentence with two levels of embedding using embedding using subjectsubject relative clauses relative clauses

mary,saw,the,cat,that,hissed,at,the,man,that,hit,john subject subject

(ii) A sentence with two levels of (ii) A sentence with two levels of embedding using embedding using one subjectone subject and and one one objectobject relative clause relative clause

mary,saw,the,cat,that,hissed,at,the,man,that,john,hit subject object

mary,saw,the,man,that,the,cat,that,hit,hohn,hissed,at object subject

(iii) Any sentence with a triply-embedded (iii) Any sentence with a triply-embedded relative clause structurerelative clause structure

mary,saw,the,cat,that,hissed,at,the,man,that,hit,the,cat,that,john,saw subject subject object

• Your sentence has to be grammatical!

Extra Credit Homework Question3 pt

• Modify the DCG to allow that to be omitted only in the case of object relative clauses, i.e. grammar should still accept:– the cat John sawbut reject its subject relative clause counterpart:– *the cat saw John

• Hint (for one possible implementation):– Look at how subject/verb agreement was enforced

s(s(X,Y),EC) --> np(X), vp(Y),

{(nonvar(EC), X = np(x)) -> EC == overt}.

vp(vp(X,Y)) --> transitive_verb(X), np(Y).

np(np(X)) --> proper_noun(X).

np(np(x)) --> [].

np(np(np(Y,Z),U)) --> det(Y), common_noun(Z), sbar(U).

sbar(lambda(x,Y)) --> complementizer(EC), s(Y,EC).

complementizer(overt) --> [that].

complementizer(empty) --> [].

Exercise 2: Disjunctive Tree-Walker1 pt

• Homework Question:– Modify visit/1 to search for all NP nodes– How many times should visit/1 succeed for the

following sentence?• Mary hit the cat that hissed at John

• Hint:– You’ll need to add more than one clause to visit/1

visit(X) :- X =.. [_,A1,_],visit(A1).visit(X) :- X =.. [_,_,A2],visit(A2).visit(X) :- X =.. [_,A],visit(A).

visit(np(_)).

visit(np(_,_)).

It succeeds 5 times, visiting each np node.

Exercise 3: Collecting Answers1 pt

• Homework Question:– Assuming the unmodified version of visit/1– What does the query

• ?- s(X,[mary,hit,the,cat,that,hissed,at,john],[]), findall(once,visit(X),L),

length(L,N).do?

s(X,[mary,hit,the,cat,that,hissed,at,john],[]),findall(once,visit(X),L),length(L,N).

X = s(np(mary), vp(v(hit), np(np(det(the), n(cat)), lambda(x, s(np(x), vp(v(hissed_at), np(john)))))))

L = [once, once, once, once, once, once, once, once]

N = 8

Exercise 4: Operators and Variables

• Homework Question:– Determine the status of the following sentences

with respect to the DCG, filter1 and filter2. – Explain your answers when there is a violation.

• 1. *hit 1pt• 2. *saw the man that hit 1pt

• Two Filters:– All variables must be bound by an operator

(x)– Operator (x) can only bind one variable

• Implementation:– filter1(X) :- \+ ( variable(X,F), var(F) ). – filter2(X) :- operator(X).

EX4-1: *hit violates both filter 1 and 2 X = s(np(x), vp(v(hit), np(x)))

• it violates filter1 because the variables np(x) are not bound by an operator.

• it violates filter2 because there is no operator.(This shows the inadequacy of this rule because it also rules out sentences like "john saw mary".)

EX4-2: X = s(np(x),vp(v(saw),np(np(det(the), n(man)), lambda(x,s(np(x),vp(v(hit), np(x)))))))

• it violates filter1 because the first np(x) is not bound by an operator.

• it violates filter2 because there are two variables to be bound one operator under the man.

Big Picture

• Relative clauses:

John saw the man that the cat hissed at.

Big Picture

• Relative clauses:

John saw the man that the cat hissed at e. np(x)

Big Picture

• Relative clauses:

John saw the man that the cat hissed at e. np(x)

Big Picture

• The relation between and np(x):

John saw the man that the cat hissed at e. np(x)

0

0 1

2+

0 1 1

2+

ok

* F1

* F1

* F2new

ok * F2old

Big Picture

• Relative clauses:– The operator and the np(x) has to be in

the same branch.– The operator has to dominate the np(x).– There should be no intervening operators

between the operator and the variable.

Exercise 5:– 4. Mary hit the man that the cat that

John saw hissed at – 5. *Mary hit the man that the cat that

John saw Mary hissed at • (4) is a doubly-embedded object relative

sentence• (4) and (5) satisfy both filters

Exercise 5: Multiple Embeddings2pt

• Homework Question:– Modify filter2/1, i.e. operator/1, to reject example 5:

5. *Mary hit the man that the cat that John saw Mary hissed at

In other words:– Modify operator/1 from succeeding for zero np(x)s– Operator/1 should succeed only for the case wher

e there is exactly one np(x) present

filter2(X) :- operator(X).

lt2vars(np(x),F) :- var(F), F = one.lt2vars(X,F) :- X =.. [_,A1,A2], \+ X = lambda(x,_),

lt2vars(A1,F),lt2vars(A2,F).lt2vars(X,F) :- X =.. [_,A1,A2], X = lambda(x,_).lt2vars(X,F) :- \+ X = np(x), X =.. [_,A], lt2vars(A,F).lt2vars(X,_) :- atom(X).

operator(lambda(x,Y),F):- lt2vars(Y,F).operator(X,F) :- X =.. [_,A1,_], operator(A1,F).operator(X,F) :- X =.. [_,_,A2], operator(A2,F).operator(X,F) :- X =.. [_,A], operator(A,F).

Original clauses

This successfully excludes cases where there are two np(x)s bound by one operator.

BUT, this does NOT exclude an operator binding ZERO np(x).

np

np

det

the

n

cat

lambda

x s

np

np vp

vjohn

saw mary

*Mary hit the man that the cat that John saw Mary hissed at

np

vp

v

hissed at x

lambda

x s

Solution• lt2vars(np(x),F) :- var(F), F = one.

• operator(lambda(x,Y)):- lt2vars(Y,F), var(F).

• filter2(X) :- \+ operator(X).

2+ np(x) 1 np(x) 0 np(x)

An alternativefilter2(X) :- \+ ( operator(X,F), var(F)).

A better solution that takes care of even the 2nd extra credits

• lt2vars(np(x),F) :-

(var(F) -> F = one(_)); F = one(two).

• operator(lambda(x,Y)):- lt2vars(Y,F), (var(F) ; F == one(two)).

• filter2(X) :- \+ operator(X).

2+ np(x) 1 np(x) 0 np(x)

Term projects?Final take-home exam: 12/9-12/16

top related