Presentation is loading. Please wait.

Presentation is loading. Please wait.

LING 388: Language and Computers Sandiway Fong Lecture 15: 10/17.

Similar presentations


Presentation on theme: "LING 388: Language and Computers Sandiway Fong Lecture 15: 10/17."— Presentation transcript:

1 LING 388: Language and Computers Sandiway Fong Lecture 15: 10/17

2 Administrivia Homework #4 –acknowledgements to be sent out soon...

3 Last Time: Lab Class original DCG –sentence --> np, vp. –vp --> verb, np. –verb --> [took]. –np --> det, [man]. –np --> det, [book]. –det --> [the]. revised DCG: tree representation –sentence(s(NP,VP)) --> np(NP), vp(VP). –vp(vp(V,NP)) --> verb(V), np(NP). –verb(v(took)) --> [took]. –np(np(D,man)) --> det(D), [man]. –np(np(D,book)) --> det(D), [book]. –det(det(the)) --> [the]. s(np(det(the),man),vp(v(took),np(det(the),man))) original query ?- sentence(List,[]). query (with an extra argument) ?- sentence(P,List,[]). –P = parse tree –List = sentence

4 Last Time: Lab Class query –what parse P corresponds to the sentence “the man took the book”? –?- sentence(P,[the,man,too k,the,book],[]). –P = s(np(det(the),man),vp(v (took),np(det(the),book ))) ? ; –no query –what are the possible parses P and word X for the sentence “the man took the X”? ?- sentence(P,[the,man,took,th e,X],[]). P = s(np(det(the),man),vp(v(too k),np(det(the),man))), X = man ? ; P = s(np(det(the),man),vp(v(too k),np(det(the),book))), X = book ? ; no

5 Last Time: Lab Class add new rule –“kicked the bucket” is a VP idiom meaning “died” –vp(vp(v(died))) --> [kicked,the,bucket]. –example illustrates the ability to return any parse we like for a given rule query –what are the possible parses for “the man kicked the bucket”? ?- sentence(Parse,[the,man,kicked,the,bucket],[]). Parse = s(np(det(the),man),vp(v(died)) ) ? ; no –idiomatic meaning only

6 Last Time: Lab Class add new rules –for “kicked” and “bucket” as a verb and noun, respectively –verb(v(kicked)) --> [kicked]. –np(np(D,bucket)) --> det(D), [bucket]. –provides the ability to return the literal parse for “kicked the bucket” query –what are the possible parses for “the man kicked the bucket”? –?- sentence(Parse,[the,man,kicked,the,bucket],[]). –Parse = s(np(det(the),man),vp(v(kicked),np(det(the),bucket))) ? ; –Parse = s(np(det(the),man),vp(v(died))) ? ; –no –both idiomatic and literal meanings are now possible

7 A Note on Encoding Idioms Our ability to handle the idiom neatly depends on the fact that the idiom is a constituent –this means we can encode it in just one rule Example: –“kicked the bucket” is a VP idiom meaning “died” –vp(vp(v(died))) --> [kicked,the,bucket]. –very common... V + Object(s) –call it a day –jump the gun –walk the plank –turn the other cheek Asymmetry: Subject+V idioms are practically non-existent –The vultures appear to be circling NP[Linguist List, Vol-4-43] sentence --> np, vp. vp --> verb, np. verb --> [took]. np --> det, [man]. np --> det, [book]. det --> [the].

8 Extra Argument(s) used to hold the parse tree we can have multiple extra arguments in grammar rules –there are other uses... e.g. agreement

9 Another Grammar example –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

10 Another Grammar example parses s npvp vnp detn the ball hit i s npvp 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))))

11 Determiner-Noun Agreement idea –we can also use the extra argument to enforce 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]

12 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].

13 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].

14 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

15 Determiner-Noun Agreement data –the man/men –a man/*a men grammar (only the NP section shown here) –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),sg) --> [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 common_noun now takes two extra arguments: 1.parse tree 2.number [ sg, pl ] Note: we therefore have to query common_noun with two extra arguments, e.g. common_noun(N,Number)

16 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),sg) --> [man]. –common_noun(n(men),pl) --> [men]. –pronoun(i) --> [i]. –pronoun(we) --> [we]. idea give determiners a number feature as well and make it agree with the noun rules the can combine with singular or plural nouns a can combine only with singular nouns

17 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),sg) --> [man]. 8.common_noun(n(men),pl) --> [men]. 9.pronoun(i) --> [i]. 10.pronoun(we) --> [we].

18 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),sg) --> [man]. 8.common_noun(n(men),pl) --> [men]. 9.pronoun(i) --> [i]. 10.pronoun(we) --> [we].

19 Determiner-Noun Agreement simplifying the grammar det(det(the),sg) --> [the]. det(det(the),pl) --> [the]. det(det(a),sg) --> [a]. grammar is ambiguous –we have 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 modified DCG np(np(D,N)) --> det(D,Number), common_noun(N,Number). –det(det(the),_) --> [the]. Note: _ is a variable a variable is used because it matches anything (sg,pl) used underscore character because I don’t care about the name of the variable

20 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)) a computational 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),sg) --> [man]. 7.common_noun(n(men),pl) --> [men]. 8.pronoun(i) --> [i]. 9.pronoun(we) --> [we].


Download ppt "LING 388: Language and Computers Sandiway Fong Lecture 15: 10/17."

Similar presentations


Ads by Google