1 / 17

LING 388: Language and Computers

LING 388: Language and Computers. Sandiway Fong 9 /10 Lecture 5. Administrivia. Homework 1 graded we will review the homework today any questions about the grading (see me) Heads up: Lab class in Shantz 338 on Thursday Homework 2 will be out. Homework 1 Review.

virote
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 9/10 Lecture 5

  2. Administrivia • Homework 1 graded • we will review the homework today • any questions about the grading (see me) • Heads up: • Lab class in Shantz 338 on Thursday • Homework 2 will be out

  3. Homework 1 Review Examine the Stanford Parser output on: • Which book did you file ? Questions: • (2pts) Does the typed dependencies output offer any advantage over the parse output for the 1st sentence? Binary relation R R(Word-i, Word-j) dobj

  4. Homework 1 Review • *Which book did you file the report? Questions: • (2pts) What is wrong with the 2nd sentence? • (2pts) Is it possible to deduce from the parser output that the 2nd sentence is ungrammatical?

  5. Homework 1 Review

  6. Homework 1 Review • Recall the syntactically ambiguous example: • Where can I see the bus stop? the Stanford parser analyses “bus stop” as a noun-noun compound. • (2pts) Give a (question) sentence ending in “… the bus stop?” where the Stanford parser analyses “stop” as a verb. • (2pts) Can you characterize/describe in what situations a parser would chose to analyze “stop” in “… the bus stop?” as a noun vs. a verb?

  7. Homework 1 Review • Example subject

  8. Homework 1 Review tagging error

  9. Homework 1 Review maybe a bit awkward … Cf. Can you let me know where the bus will stop?

  10. SWI Prolog • Did you install SWI Prolog successfully?

  11. Last Time • Grammars • what is a grammar? • informally • set of “rewrite” rules to parse or “diagram” a sentence • derivation • top-down (from the sentence symbol), bottom-up (from the words) • Definite Clause Grammar (DCG) System • built-in Prolog support for writing grammars • --> is the rewrite symbol • [book], [took] terminals are enclosed in brackets • sentence, vp, npterminals and non-terminal symbols begin with lowercase letters Sentence → NP VP VP → Verb NP Verb → took NP → the man NP → the book sentence --> np, vp. vp --> verb, np. verb --> [took]. np --> [the], [man]. np --> [the], [book].

  12. Last Time • example grammar (from last time) • sentence --> np, vp. • vp --> verb, np. • verb --> [took]. • np --> [the], [man]. • np --> [the], [book]. Prolog translates grammar into underlying Prolog rules you can see the rules using the command listing • query format • ?- sentence(S,[]). • S = sentence (as a list) • [] = empty list • i.e. call the start symbol as a predicate and • supply two arguments, a list and an empty list

  13. Prolog Summary (so far) • Use a text editor to write your programs (extension: .pl) • Prolog interpreter • /opt/local/bin/swipl (on Mac) • Definite clause grammar rules • LHS --> RHS. • Non-terminal symbols (begin with lowercase letter), terminal symbols (same but in [..]) • Load in grammar at the prompt: • ?- [filename]. (no extension needed) • Submit Prolog query at the prompt: • ?-nonterminal(List,[]). • List: [word1,word2,..,wordn] head-tail notation: [Head|Tail] • Top-down, left-to-right derivation • Variables begin with an uppercase letter

  14. ?- listing. • Prolog translates DCG rules into ordinary Prolog rules • listing • vp(A, B) :- • verb(A, C), • np(C, B). • np(A, B) :- • det(A, C), • 'C'(C, man, B). • np(A, B) :- • det(A, C), • 'C'(C, book, B). • verb([took|A], A). • det([the|A], A). • det([a|A], A). • sentence(A, B) :- • np(A, C), • vp(C, B). • example • sentence --> np, vp. • vp --> verb, np. • verb --> [took]. • np --> det, [man]. • np --> det, [book]. • det --> [the]. • det --> [a]. variables A,B,C are all going to be lists 'C'(C, man, B) is true when man is the head of C and B is the tail of C i.e. C = [man|B]

  15. Prolog Grammar Rules • The computation rule for DCG rules • each time we look for a matching rule, we pattern-match against the database from the 1st rule on down • listing. • vp(A, B) :- • verb(A, C), • np(C, B). • np(A, B) :- • det(A, C), • 'C'(C, man, B). • np(A, B) :- • det(A, C), • 'C'(C, book, B). • verb([took|A], A). • det([the|A], A). • det([a|A], A). • sentence(A, B) :- • np(A, C), • vp(C, B). • example • sentence --> np, vp. • vp --> verb, np. • verb --> [took]. • np --> det, [man]. • np --> det, [book]. • det --> [the]. • det --> [a].

  16. Prolog Grammar Rules • derivation • ?- sentence([the,man,took,the,book],[]). • Call: (7) sentence([the, man, took, the, book], []) ? creep • Call: (8) np([the, man, took, the, book], _G353) ? creep • Call: (9) det([the, man, took, the, book], _G353) ? creep • Exit: (9) det([the, man, took, the, book], [man, took, the, book]) ? creep • Call: (9) 'C'([man, took, the, book], man, _G357) ? creep • Exit: (9) 'C'([man, took, the, book], man, [took, the, book]) ? creep • Exit: (8) np([the, man, took, the, book], [took, the, book]) ? creep • Call: (8) vp([took, the, book], []) ? creep • Call: (9) verb([took, the, book], _G353) ? creep • Exit: (9) verb([took, the, book], [the, book]) ? creep • Call: (9) np([the, book], []) ? creep • Call: (10) det([the, book], _G353) ? creep • Exit: (10) det([the, book], [book]) ? creep • Call: (10) 'C'([book], man, []) ? creep • Fail: (10) 'C'([book], man, []) ? creep • Redo: (10) det([the, book], _G353) ? creep • Fail: (10) det([the, book], _G353) ? creep • Redo: (9) np([the, book], []) ? creep • Call: (10) det([the, book], _G353) ? creep • Exit: (10) det([the, book], [book]) ? creep • Call: (10) 'C'([book], book, []) ? creep • Exit: (10) 'C'([book], book, []) ? creep • Exit: (9) np([the, book], []) ? creep • Exit: (8) vp([took, the, book], []) ? creep • Exit: (7) sentence([the, man, took, the, book], []) ? creep • Yes • listing. • vp(A, B) :- • verb(A, C), • np(C, B). • np(A, B) :- • det(A, C), • 'C'(C, man, B). • np(A, B) :- • det(A, C), • 'C'(C, book, B). • verb([took|A], A). • det([the|A], A). • det([a|A], A). • sentence(A, B) :- • np(A, C), • vp(C, B).

  17. Worked Exercise • Add grammar rules to handle: • I saw the boy with a telescope • Test your grammar on (NB. have to add a lexical rule for me) • the boy with a telescope saw me

More Related