16
LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

Embed Size (px)

Citation preview

Page 1: LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

LING 388: Language and Computers

Sandiway Fong

Lecture 11: 10/4

Page 2: LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

Administrivia

• Homework #2– has been graded– you should get an email in a day or so

• Reservation (tentative)– Lab class– practice and homework #3 on context-free grammar parsing– next Monday (11th October)– meet in SBS 224, Instructional Computing Lab (not here)

Page 3: LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

Last Time

• Context-Free Grammars (CFG)– from acceptor to parser– add an extra argument to grammar rules

• x --> y, z.• x(x(Y,Z)) --> y(Y), z(Z).

– extra argument changes the expressive power of the rules

• regular grammar rules + extra argument can handle the non-regular language anbn

Page 4: LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

Today’s Topic

• Context-free grammar technology + bells and whistles are at the core of parsing sentences

– we’re going to keep exploring for the next few lectures how to implement natural language fragments

– today: more on extra arguments ...

Page 5: LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

Extra Argument and Phrase Structure

• Grammar from Lecture #10:– s(s(Y,Z)) --> np(Y), vp(Z).– np(np(Y)) --> pronoun(Y).– np(np(det(the),n(ball))) --> [the,ball].– pronoun(i) --> [i].– pronoun(we) --> [we].– vp(vp(Y)) --> unergative(Y). – vp(vp(Y,Z)) --> transitive(Y), np(Z).– unergative(v(ran)) --> [ran].– transitive(v(hit)) --> [hit].

• Query:– ?- s(X,[john,hit,the,ball],[]).

Result: parse tree

Page 6: LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

Extra Argument and Phrase Structure

• Examples:s

np vp

v np

det n

the ball

hit

i

s

np vp

v

ran

we

?- s(X,[we,ran],[]).

X = s(np(we),vp(v(ran)))?- s(X,[i,hit,the,ball],[]).X = s(np(i),vp(v(hit),np(det(the),n(ball))))

Page 7: LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

Extra Argument and Determiner-Noun Agreement

• Idea:– We can also use the extra argument to impose constraints

between constituents within a DCG rule

• Example: – English determiner-noun number agreement– Data:

• the man• the men• a man• *a men

– Lexical Features:• man singular• men plural

Page 8: LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

Extra Argument and Determiner-Noun Agreement

• Data:– the man/men– a man/*a men

• Grammar:– s(s(Y,Z)) --> np(Y), vp(Z).– np(np(Y)) --> pronoun(Y).– np(np(det(the),n(ball))) --> [the,ball].– pronoun(i) --> [i].– pronoun(we) --> [we].– vp(vp(Y)) --> unergative(Y). – vp(vp(Y,Z)) --> transitive(Y), np(Z).– unergative(v(ran)) --> [ran].– transitive(v(hit)) --> [hit].

np --> det, common_noun.det --> [the].det --> [a].common_noun--> [ball].common_noun--> [man].common_noun --> [men].

np --> det, common_noun.det --> [the].det --> [a].common_noun--> [ball].common_noun--> [man].common_noun --> [men].

Page 9: LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

Extra Argument and Determiner-Noun Agreement

• Data:– the man/men– a man/*a men

• Grammar:– s(s(Y,Z)) --> np(Y), vp(Z).– np(np(Y)) --> pronoun(Y).– np(np(det(the),n(ball))) --> [the,ball].– pronoun(i) --> [i].– pronoun(we) --> [we].– vp(vp(Y)) --> unergative(Y). – vp(vp(Y,Z)) --> transitive(Y), np(Z).– unergative(v(ran)) --> [ran].– transitive(v(hit)) --> [hit].

np --> det, common_noun.det --> [the].det --> [a].common_noun--> [ball].common_noun--> [man].common_noun --> [men].

np(np(D,N)) --> det(D), common_noun(N).det(det(the)) --> [the].det(det(a)) --> [a].common_noun(n(ball)) --> [ball].common_noun(n(man)) --> [man].common_noun(n(men)) --> [men].

np(np(D,N)) --> det(D), common_noun(N).det(det(the)) --> [the].det(det(a)) --> [a].common_noun(n(ball)) --> [ball].common_noun(n(man)) --> [man].common_noun(n(men)) --> [men].

Page 10: LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

Extra Argument and Determiner-Noun Agreement

• Data:– the man/men– a man/*a men

• Grammar:– s(s(Y,Z)) --> np(Y), vp(Z).– np(np(Y)) --> pronoun(Y).– np(np(D,N)) --> det(D), common_noun(N).– det(det(the)) --> [the].– det(det(a)) --> [a].– common_noun(n(ball)) --> [ball].– common_noun(n(man)) --> [man].– common_noun(n(men)) --> [men].– pronoun(i) --> [i].– pronoun(we) --> [we].– vp(vp(Y)) --> unergative(Y). – vp(vp(Y,Z)) --> transitive(Y), np(Z).– unergative(v(ran)) --> [ran].– transitive(v(hit)) --> [hit].

• Lexical Features•man singular•men plural

•Rules•the can combine with singular or plural nouns•a can combine only with singular nouns

Page 11: LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

Extra Argument and Determiner-Noun Agreement

• Data:– the man/men– a man/*a men

• Grammar: (NP section)– np(np(Y)) --> pronoun(Y).– np(np(D,N)) --> det(D), common_noun(N,Number).– det(det(the)) --> [the].– det(det(a)) --> [a].– common_noun(n(ball),sg) --> [ball].– common_noun(n(man),pl) --> [man].– common_noun(n(men),pl) --> [men].– pronoun(i) --> [i].– pronoun(we) --> [we].

•Idea:specify singular (sg) and plural (pl) for common nouns using an extra argument

•Rules•the can combine with singular or plural nouns•a can combine only with singular nouns

Page 12: LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

Extra Argument and Determiner-Noun Agreement

• Data:– the man/men– a man/*a men

• Grammar: (NP section)– np(np(Y)) --> pronoun(Y).– np(np(D,N)) --> det(D,Number),

common_noun(N,Number).– det(det(the),sg) --> [the].– det(det(the),pl) --> [the].– det(det(a),sg) --> [a].– common_noun(n(ball),sg) --> [ball].– common_noun(n(man),pl) --> [man].– common_noun(n(men),pl) --> [men].– pronoun(i) --> [i].– pronoun(we) --> [we].

•Idea:give determiners a number feature as welland make it agree with the noun

•Rules•the can combine with singular or plural nouns•a can combine only with singular nouns

Page 13: LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

Extra Argument and Determiner-Noun Agreement

• Query:– ?- np(X,[the,men],[]).– Note: we need not start with non-terminal symbol s,

i.e. parse a full sentence– Prolog DCG rules can be independently accessed

• Computation tree: – ?- np(X,[the,men],[]). X = np(D,N)

• ?- det(D,Number,[the,men],L).• ?- common_noun(N,Number,L,[]).

– ?- det(D,Number,[the,men],L). Rule #3• D = det(the) Number = sg L = [men]

– ?- common_noun(N,sg,[men],[]). Rule #8• No

– Retry (rule #3 led to failure)– ?- det(D,Number,[the,men],L). Rule #4

• D = det(the) Number = pl L = [men]– ?- common_noun(N,pl,[men],[]). Rule #8

• Yes N = n(men)

• X = np(det(the),n(men))

1. np(np(Y)) --> pronoun(Y).

2. np(np(D,N)) --> det(D,Number), common_noun(N,Number).

3. det(det(the),sg) --> [the].4. det(det(the),pl) --> [the].5. det(det(a),sg) --> [a].6. common_noun(n(ball),sg) -->

[ball].7. common_noun(n(man),pl) -->

[man].8. common_noun(n(men),pl) -->

[men].9. pronoun(i) --> [i].

10. pronoun(we) --> [we].

Page 14: LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

Extra Argument and Determiner-Noun Agreement

• Data:– the man/men– a man/*a men

• Query:– ?- np(X,[a,men],[]).

• Computation tree: – ?- np(X,[a,men],[]). X = np(D,N)

• ?- det(D,Number,[a,men],L).• ?- common_noun(N,Number,L,[]).

– ?- det(D,Number,[a,men],L). Rule #5• D = det(a) Number = sg L = [men]

– ?- common_noun(N,sg,[men],[]). Rule #8• No

1. np(np(Y)) --> pronoun(Y).

2. np(np(D,N)) --> det(D,Number), common_noun(N,Number).

3. det(det(the),sg) --> [the].4. det(det(the),pl) --> [the].5. det(det(a),sg) --> [a].6. common_noun(n(ball),sg) -->

[ball].7. common_noun(n(man),pl) -->

[man].8. common_noun(n(men),pl) -->

[men].9. pronoun(i) --> [i].

10. pronoun(we) --> [we].

Page 15: LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

Extra Argument and Determiner-Noun Agreement

• Simplifying the grammar:– det(det(the),sg) --> [the].– det(det(the),pl) --> [the].– det(det(a),sg) --> [a].

• Grammar is ambiguous:– two rules for determiner the– can see the effect in the computation tree

• retry needed to get “the men” to parse• Agreement Rule (revisited):

• the can combine with singular or plural nouns• i.e. the doesn’t care about the number of the noun

• DCG Rule:• np(np(D,N)) --> det(D,Number), common_noun(N,Number).

– det(det(the),_) --> [the].Note: _ is a variableused underscore character because I don’t care about the name of the variable

Page 16: LING 388: Language and Computers Sandiway Fong Lecture 11: 10/4

Extra Argument and Determiner-Noun Agreement

• Revisit Query:– ?- np(X,[the,men],[]).

• Computation tree: – ?- np(X,[the,men],[]). X = np(D,N)

• ?- det(D,Number,[the,men],L).• ?- common_noun(N,Number,L,[]).

– ?- det(D,Number,[the,men],L). Rule #3• D = det(the) Number = _ L = [men]

– ?- common_noun(N,_,[men],[]). Rule #7• Yes N = n(men) _ = pl

• X = np(det(the),n(men))• Advantage:

– no need for retry (ambiguity removed)

1. np(np(Y)) --> pronoun(Y).

2. np(np(D,N)) --> det(D,Number), common_noun(N,Number).

3. det(det(the),_) --> [the].4. det(det(a),sg) --> [a].5. common_noun(n(ball),sg) -->

[ball].6. common_noun(n(man),pl) -->

[man].7. common_noun(n(men),pl) -->

[men].8. pronoun(i) --> [i].

9. pronoun(we) --> [we].