1 / 24

LING 388: Language and Computers

LING 388: Language and Computers. Sandiway Fong Lecture 18: 10/27. Last Time. computation of predicate-argument structure ?- s( P , [i,hit,the,ball], []). P = s(np(i),vp(v(hit),np(det(the),n(ball)))) P = hit(i,ball) predicate: hit arguments: i ball

oleg
Download Presentation

LING 388: Language and Computers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LING 388: Language and Computers Sandiway Fong Lecture 18: 10/27

  2. Last Time • computation of predicate-argument structure • ?- s(P, [i,hit,the,ball], []). • P = s(np(i),vp(v(hit),np(det(the),n(ball)))) • P = hit(i,ball) • predicate: hit • arguments: i ball • involved calling Prolog predicates from grammar rules { ... } • headof(X,H) • ?- headof(vp(v(hit),np(det(the),n(ball))),V). • X = hit • another application of { ... } • counting # of a’s and b’s for modifying a regular grammar for a+b+ • into a grammar for anbn

  3. Today’s Topics • another step towards a simple language translator ... • we can write a grammar for Japanese • differences between English and Japanese • canonical word order • syntax of wh-questions

  4. Japanese • head-final language • we introduced the notion “head of a phrase” (see last lecture) • e.g. verb is the head of a verb phrase • hit the ball • ran • noun is the head of a noun phrase • the man (that I saw) • the old man • John’s mother • Japanese sentence word order (canonical) • Subject Object Verb • cf. English word order • Subject Verb Object

  5. Japanese • head-final language • sentence word order (canonical) • Subject Object Verb (Japanese) • Subject Verb Object (English) • example • John bought a book (English) • John a book bought (Japanese word order) • Taroo-ga hon-o katta (Japanese) • case markers • ga = nominative case marker • o = accusative case marker • note: no determiner present in the Japanese sentence

  6. Japanese • head-final language • sentence word order (canonical) • Subject Object Verb • Japanese also allows “scrambling” • e.g. object and subject can be switched in order • Subject Object Verb • Object Subject Verb • *Subject Verb Object (still head-final) • example • John bought a book (English) • John a book bought • Taroo-ga hon-o katta (Japanese - canonical) • hon-o Taroo-ga katta (Japanese - scrambled) • *Taroo-ga katta hon-o (English word order) • ga = nominative case marker • o = accusative case marker

  7. Japanese • example • John bought a book • John a book bought • taroo-ga hon-o katta • ga = nominative case marker • o = accusative case marker • parser input • (as a Prolog list with case markers separated) • [taroo,ga,hon,o,katta] • grammar rules • s(s(Y,Z)) --> np(Y), nomcase, vp(Z). • vp(vp(Z,Y)) --> np(Z), acccase, transitive(Y). • transitive(v(katta)) --> [katta]. • nomcase --> [ga]. • acccase --> [o]. • np(np(taroo)) --> [taroo]. • np(np(hon)) --> [hon]. • note: • new nonterminals nomcaseacccase • do not create structure • order of np, transitive in the VP • reflects Japanese word order

  8. Japanese • s(s(Y,Z)) --> np(Y), nomcase, vp(Z). • vp(vp(Z,Y)) --> np(Z), acccase, transitive(Y). • transitive(v(katta)) --> [katta]. • nomcase --> [ga]. • acccase --> [o]. • np(np(taroo)) --> [taroo]. • np(np(hon)) --> [hon]. • example • John a book bought • taroo-ga hon-o katta • ga = nominative case marker • o = accusative case marker • computation tree • ?- s(X,[taroo,ga,hon,o,katta],[]). • ?- np(Y,[taroo,ga,hon,o,katta],L1). • ?- nomcase(L1,L2). • ?- vp(Z,L2,[]). • ?- np(Y,[taroo,ga,hon,o,katta],L1). • Y = np(taroo) L1 = [ga,hon,o,katta] • ?- nomcase([ga,hon,o,katta],L2). • L2 = [hon,o,katta] • ?- vp(vp(Z’,Y’), [hon,o,katta],[]). Z = vp(Z’,Y’) • ?- np(Z’,[hon,o,katta],L1’). • ?- acccase(L1’,L2’). • ?- transitive(Y’,L2’,[]).

  9. Japanese • s(s(Y,Z)) --> np(Y), nomcase, vp(Z). • vp(vp(Z,Y)) --> np(Z), acccase, transitive(Y). • transitive(v(katta)) --> [katta]. • nomcase --> [ga]. • acccase --> [o]. • np(np(taroo)) --> [taroo]. • np(np(hon)) --> [hon]. • example • John a book bought • taroo-ga hon-o katta • ga = nominative case marker • o = accusative case marker • computation tree • ?- vp(vp(Z’,Y’), [hon,o,katta],[]). • ?- np(Z’,[hon,o,katta],L1’). • ?- acccase(L1’,L2’). • ?- transitive(Y’,L2’,[]). • ?- np(Z’,[hon,o,katta],L1’) • Z’ = np(hon) L1’ = [o,katta] • ?- acccase([o,katta],L2’). • L2’ = [katta] • ?- transitive(Y’,[katta],[]). • Y’ = v(katta) • answer • ?- s(X,[taroo,ga,hon,o,katta],[]). • X = s(np(taroo), vp(np(hon), v(katta)))

  10. Parser Sentence Parse tree Generator Sentence Parse tree Japanese • s(s(Y,Z)) --> np(Y), nomcase, vp(Z). • vp(vp(Z,Y)) --> np(Z), acccase, transitive(Y). • transitive(v(katta)) --> [katta]. • nomcase --> [ga]. • acccase --> [o]. • np(np(taroo)) --> [taroo]. • np(np(hon)) --> [hon]. • example • John a book bought • taroo-ga hon-o katta • ga = nominative case marker • o = accusative case marker • grammar • can be run “backwards” for sentence generation • we’ll need this • query • ?- s(s(np(taroo), vp(np(hon), v(katta))),L,[]). • L = [taroo, ga, hon, o, katta]

  11. Japanese • s(s(Y,Z)) --> np(Y), nomcase, vp(Z). • vp(vp(Z,Y)) --> np(Z), acccase, transitive(Y). • transitive(v(katta)) --> [katta]. • nomcase --> [ga]. • acccase --> [o]. • np(np(taroo)) --> [taroo]. • np(np(hon)) --> [hon]. • example • John a book bought • taroo-ga hon-o katta • ga = nominative case marker • o = accusative case marker • query (generation) • ?- s(s(np(taroo),vp(np(hon),v(katta))),L,[]). • Y = np(taroo) Z = vp(np(hon),v(katta))) • ?- np(np(taroo),L,L1). • ?- nomcase(L1,L2). • ?- vp(vp(np(hon),v(katta))),L2,[]). • ?- np(np(taroo),L,L1). • L = [taroo|L1] • ?- nomcase(L1,L2). • L1 = [ga|L2] • ?- vp(vp(np(hon),v(katta))),L2,[]). • Z’ = np(hon) Y’ = v(katta) • ?- np(np(hon),L2,L3). • ?- acccase(L3,L4). • ?- transitive(v(katta),L4,[]).

  12. Japanese • s(s(Y,Z)) --> np(Y), nomcase, vp(Z). • vp(vp(Z,Y)) --> np(Z), acccase, transitive(Y). • transitive(v(katta)) --> [katta]. • nomcase --> [ga]. • acccase --> [o]. • np(np(taroo)) --> [taroo]. • np(np(hon)) --> [hon]. • example • John a book bought • taroo-ga hon-o katta • ga = nominative case marker • o = accusative case marker • query (generation) • ?- vp(vp(np(hon),v(katta))),L2,[]). • Z’ = np(taroo) Y’ = v(katta) • ?- np(np(hon),L2,L3). • ?- acccase(L3,L4). • ?- transitive(v(katta),L4,[]). • ?- np(np(hon),L2,L3). • L2 = [hon|L3] • ?- acccase(L3,L4). • L3 = [o|L4] • ?- transitive(v(katta),L4,[]). • L4 = [katta|[]]

  13. Japanese • s(s(Y,Z)) --> np(Y), nomcase, vp(Z). • vp(vp(Z,Y)) --> np(Z), acccase, transitive(Y). • transitive(v(katta)) --> [katta]. • nomcase --> [ga]. • acccase --> [o]. • np(np(taroo)) --> [taroo]. • np(np(hon)) --> [hon]. • example • John a book bought • taroo-ga hon-o katta • ga = nominative case marker • o = accusative case marker • query (generation) • back-substituting ... • ?- np(np(taroo),L,L1). • L = [taroo|L1] • ?- nomcase(L1,L2). • L1 = [ga|L2] • ?- np(np(hon),L2,L3). • L2 = [hon|L3] • ?- acccase(L3,L4). • L3 = [o|L4] • ?- transitive(v(katta),L4,[]). • L4 = [katta|[]] • answer • L = [taroo, ga, hon, o, katta]

  14. Japanese • wh-NP phrases • English • examples • John bought a book • Who bought a book? (subject wh-phrase) • *John bought what? (echo-question only) • What did John buy? (object wh-phrase) • object wh-phrase case • complex operation required from the declarative form: • object wh-phrase must be fronted • do-support (insertion of past tense form of “do”) • boughtbuy (untensed form) what did John buy what did John bought what John bought John bought what John bought a book

  15. Japanese • wh-NP phrases • English • Who bought a book? (subject wh-phrase) • *John bought what? (only possible as an echo-question) • What did John buy? (object wh-phrase) • Japanese • wh-in-situ: • meaning wh-phrase appears in same position as a regular noun phrase • easy to implement! (no complex series of operations) • taroo-ga nani-o katta ka • nani: means what • ka: sentence-final question particle • dare-ga hon-o katta ka • dare: means who

  16. Japanese • wh-in-situ: • taroo-ga nani-o katta ka • nani: means what • ka: sentence-final question particle • dare-ga hon-o katta ka • dare: means who • grammar • s(s(Y,Z)) --> np(Y), nomcase, vp(Z). • vp(vp(Z,Y)) --> np(Z), acccase, transitive(Y). • transitive(v(katta)) --> [katta]. • nomcase --> [ga]. • acccase --> [o]. • np(np(taroo)) --> [taroo]. • np(np(hon)) --> [hon]. • add new wh-words • np(np(dare)) --> [dare]. • np(np(nani)) --> [nani].

  17. Japanese • wh-in-situ: • taroo-ga nani-o katta ka • nani: means what • ka: sentence-final question particle • dare-ga hon-o katta ka • dare: means who • grammar • s(s(Y,Z)) --> np(Y), nomcase, vp(Z). • vp(vp(Z,Y)) --> np(Z), acccase, transitive(Y). • transitive(v(katta)) --> [katta]. • nomcase --> [ga]. • acccase --> [o]. • np(np(taroo)) --> [taroo]. • np(np(hon)) --> [hon]. • np(np(dare)) --> [dare]. • np(np(nani)) --> [nani]. • allows sentences • Taroo-ga hon-o katta • Taroo-ga nani-o katta (ka) • dare-ga hon-o katta (ka) • How do we enforce the constraint that ka is obligatory when a wh-phrase is in the sentence?

  18. Japanese • wh-in-situ: • taroo-ga nani-o katta ka • nani: means what • ka: sentence-final question particle • dare-ga hon-o katta ka • dare: means who • grammar • s(s(Y,Z)) --> np(Y,Q), nomcase, vp(Z). • vp(vp(Z,Y)) --> np(Z,Q), acccase, transitive(Y). • transitive(v(katta)) --> [katta]. • nomcase --> [ga]. • acccase --> [o]. • np(np(taroo),notwh) --> [taroo]. • np(np(hon),notwh) --> [hon]. • np(np(dare),wh) --> [dare]. • np(np(nani),wh) --> [nani]. • answer • employ an extra argument to encode the lexical feature wh (with values wh, notwh) for nouns

  19. Japanese • wh-in-situ: • taroo-ga nani-o katta ka • nani: means what • ka: sentence-final question particle • dare-ga hon-o katta ka • dare: means who • grammar • s(s(Y,Z)) --> np(Y,Q1), nomcase, vp(Z,Q2). • vp(vp(Z,Y),Q) --> np(Z,Q), acccase, transitive(Y). • transitive(v(katta)) --> [katta]. • nomcase --> [ga]. • acccase --> [o]. • np(np(taroo),notwh) --> [taroo]. • np(np(hon),notwh) --> [hon]. • np(np(dare),wh) --> [dare]. • np(np(nani),wh) --> [nani]. • answer • employ an extra argument to encode the lexical feature wh for nouns • propagate this feature up to the (top) sentence rule • means adding extra argument Q to the VP nonterminal

  20. Japanese • wh-in-situ: • taroo-ga nani-o katta ka • nani: means what • ka: sentence-final question particle • dare-ga hon-o katta ka • dare: means who • grammar • s(s(Y,Z)) --> np(Y,Q1), nomcase, vp(Z,Q2), sf(Q1,Q2). • vp(vp(Z,Y),Q) --> np(Z,Q), acccase, transitive(Y). • transitive(v(katta)) --> [katta]. • nomcase --> [ga]. • acccase --> [o]. • np(np(taroo),notwh) --> [taroo]. • np(np(hon),notwh) --> [hon]. • np(np(dare),wh) --> [dare]. • np(np(nani),wh) --> [nani]. • answer • employ an extra argument to encode the lexical feature wh for nouns • propagate this feature up to the s rule • add a sentence-final particle rule (sf) that generates ka when this feature is wh

  21. Japanese • wh-in-situ: • taroo-ga nani-o katta ka • nani: means what • ka: sentence-final question particle • dare-ga hon-o katta ka • dare: means who • grammar • s(s(Y,Z)) --> np(Y,Q1), nomcase, vp(Z,Q2), sf(Q1,Q2). • vp(vp(Z,Y),Q) --> np(Z,Q), acccase, transitive(Y). • transitive(v(katta)) --> [katta]. • nomcase --> [ga]. • acccase --> [o]. • np(np(taroo),notwh) --> [taroo]. • np(np(hon),notwh) --> [hon]. • np(np(dare),wh) --> [dare]. • np(np(nani),wh) --> [nani]. • sentence-final particle rule (sf/2) • sf(wh,notwh) --> [ka]. • sf(notwh,wh) --> [ka]. • sf(notwh,notwh) --> []. (empty) • sf(wh,wh) --> [ka]. (example:dare-ga nani-o katta ka: who bought what)

  22. Japanese s(s(Y,Z)) --> np(Y,Q1), nomcase, vp(Z,Q2), sf(Q1,Q2). vp(vp(Z,Y),Q) --> np(Z,Q), acccase, transitive(Y). transitive(v(katta)) --> [katta]. nomcase --> [ga]. acccase --> [o]. np(np(taroo),notwh) --> [taroo]. np(np(hon),notwh) --> [hon]. np(np(dare),wh) --> [dare]. np(np(nani),wh) --> [nani]. sf(wh,notwh) --> [ka]. sf(notwh,wh) --> [ka]. sf(notwh,notwh) --> []. sf(wh,wh) --> [ka]. • wh-in-situ: • taroo-ga nani-o katta ka • nani: means what • ka: sentence-final question particle • dare-ga hon-o katta ka • dare: means who • computation tree • ?- s(X,[taroo,ga,nani,o,katta,ka],[]). • X = s(np(taroo),vp(np(nani),v(katta))) • ?- s(X,[taroo,ga,nani,o,katta],[]). • no we may want to modifiy the parse tree to represent the sentence-final particle ka as well

  23. Japanese • grammar choices • so far • s(s(Y,Z)) --> np(Y,Q1), nomcase, vp(Z,Q2), sf(Q1,Q2). • could have written • s(s(Y,Z)) --> np(Y,notwh), nomcase, vp(Z,notwh). • s(s(Y,Z)) --> np(Y,Q1), nomcase, vp(Z,Q2), \+ Q1=notwh, \+ Q2=notwh, sf. • sf --> [ka]. • then • s(s(Y,Z)) --> np(Y,notwh), nomcase, vp(Z,notwh). • s(s(Y,Z,ka)) --> np(Y,Q1), nomcase, vp(Z,Q2), \+ Q1=notwh, \+ Q2=notwh, sf. • sf --> [ka]. • generates different structures for declarative vs. wh-NP questions

  24. Next Time • we’ll look at wh-questions in English • ... and also take one more step towards our machine translator

More Related