CSC 594 Topics in AI – Natural Language Processing

Slides:



Advertisements
Similar presentations
March 1, 2009Dr. Muhammed Al_mulhem1 ICS482 Parsing Chapter 13 Muhammed Al-Mulhem March 1, 2009.
Advertisements

CYK Parser Von Carla und Cornelia Kempa. Overview Top-downBottom-up Non-directional methods Unger ParserCYK Parser.
Simplifying CFGs There are several ways in which context-free grammars can be simplified. One natural way is to eliminate useless symbols those that cannot.
PARSING WITH CONTEXT-FREE GRAMMARS
Parsing with Context Free Grammars Reading: Chap 13, Jurafsky & Martin
March 1, 2009 Dr. Muhammed Al-Mulhem 1 ICS 482 Natural Language Processing Probabilistic Context Free Grammars (Chapter 14) Muhammed Al-Mulhem March 1,
CKY Parsing Ling 571 Deep Processing Techniques for NLP January 12, 2011.
1 Earley Algorithm Chapter 13.4 October 2009 Lecture #9.
Parsing — Part II (Ambiguity, Top-down parsing, Left-recursion Removal)
Syntactic Parsing with CFGs CMSC 723: Computational Linguistics I ― Session #7 Jimmy Lin The iSchool University of Maryland Wednesday, October 14, 2009.
Parsing SLP Chapter 13. 7/2/2015 Speech and Language Processing - Jurafsky and Martin 2 Outline  Parsing with CFGs  Bottom-up, top-down  CKY parsing.
Syllabus Text Books Classes Reading Material Assignments Grades Links Forum Text Books עיבוד שפות טבעיות - שיעור תשע Bottom Up Parsing עידו דגן.
1 Basic Parsing with Context Free Grammars Chapter 13 September/October 2012 Lecture 6.
11 CS 388: Natural Language Processing: Syntactic Parsing Raymond J. Mooney University of Texas at Austin.
CS460/626 : Natural Language Processing/Speech, NLP and the Web (Lecture 29– CYK; Inside Probability; Parse Tree construction) Pushpak Bhattacharyya CSE.
Lecture 21: Languages and Grammars. Natural Language vs. Formal Language.
1 Syntax Sudeshna Sarkar 25 Aug Sentence-Types Declaratives: A plane left S -> NP VP Imperatives: Leave! S -> VP Yes-No Questions: Did the plane.
1 CPE 480 Natural Language Processing Lecture 5: Parser Asst. Prof. Nuttanart Facundes, Ph.D.
1 CKY and Earley Algorithms Chapter 13 October 2012 Lecture #8.
LINGUISTICA GENERALE E COMPUTAZIONALE ANALISI SINTATTICA (PARSING)
May 2006CLINT-LN Parsing1 Computational Linguistics Introduction Parsing with Context Free Grammars.
October 2005csa3180: Parsing Algorithms 11 CSA350: NLP Algorithms Sentence Parsing I The Parsing Problem Parsing as Search Top Down/Bottom Up Parsing Strategies.
Parsing with Context Free Grammars CSC 9010 Natural Language Processing Paula Matuszek and Mary-Angela Papalaskari This slide set was adapted from: Jim.
Lecture 1, 7/21/2005Natural Language Processing1 CS60057 Speech &Natural Language Processing Autumn 2007 Lecture August 2007.
Sentence Parsing Parsing 3 Dynamic Programming. Jan 2009 Speech and Language Processing - Jurafsky and Martin 2 Acknowledgement  Lecture based on  Jurafsky.
PARSING 2 David Kauchak CS159 – Spring 2011 some slides adapted from Ray Mooney.
NLP. Introduction to NLP Motivation –A lot of the work is repeated –Caching intermediate results improves the complexity Dynamic programming –Building.
CS 4705 Lecture 10 The Earley Algorithm. Review Top-Down vs. Bottom-Up Parsers –Both generate too many useless trees –Combine the two to avoid over-generation:
Natural Language Processing Lecture 15—10/15/2015 Jim Martin.
PARSING David Kauchak CS159 – Fall Admin Assignment 3 Quiz #1  High: 36  Average: 33 (92%)  Median: 33.5 (93%)
Speech and Language Processing SLP Chapter 13 Parsing.
Parsing with Context Free Grammars. Slide 1 Outline Why should you care? Parsing Top-Down Parsing Bottom-Up Parsing Bottom-Up Space (an example) Top -
Introduction to Parsing
1 Statistical methods in NLP Diana Trandabat
CSC 594 Topics in AI – Natural Language Processing
Parsing Recommended Reading: Ch th Jurafsky & Martin 2nd edition
Parsing — Part II (Top-down parsing, left-recursion removal)
CSC 594 Topics in AI – Natural Language Processing
Instructor: Laura Kallmeyer
Programming Languages Translator
CS60057 Speech &Natural Language Processing
Heng Ji September 13, 2016 SYNATCTIC PARSING Heng Ji September 13, 2016.
Basic Parsing with Context Free Grammars Chapter 13
CKY Parser 0Book 1 the 2 flight 3 through 4 Houston5 6/19/2018
Parsing Recommended Reading: Ch th Jurafsky & Martin 2nd edition
Parsing — Part II (Top-down parsing, left-recursion removal)
4 (c) parsing.
Parsing Techniques.
Top-Down Parsing.
CSCI 5832 Natural Language Processing
CPSC 503 Computational Linguistics
CSCI 5832 Natural Language Processing
CKY Parser 0Book 1 the 2 flight 3 through 4 Houston5 11/16/2018
CSCI 5832 Natural Language Processing
CS 388: Natural Language Processing: Syntactic Parsing
CSCI 5832 Natural Language Processing
Probabilistic and Lexicalized Parsing
CSCI 5832 Natural Language Processing
Natural Language - General
Earley’s Algorithm (1970) Nice combo of our parsing ideas so far:
Parsing and More Parsing
CSCI 5832 Natural Language Processing
Parsing — Part II (Top-down parsing, left-recursion removal)
Heng Ji January 17, 2019 SYNATCTIC PARSING Heng Ji January 17, 2019.
CPSC 503 Computational Linguistics
CSCI 5832 Natural Language Processing
CSA2050 Introduction to Computational Linguistics
Parsing I: CFGs & the Earley Parser
David Kauchak CS159 – Spring 2019
NLP.
Presentation transcript:

CSC 594 Topics in AI – Natural Language Processing Spring 2016/17 11. Context-Free Parsing (Some slides adapted from Jurafsky & Martin)

Speech and Language Processing - Jurafsky and Martin Parsing Parsing with CFGs refers to the task of assigning proper trees to input strings Proper here means a tree that covers all and only the elements of the input and has an S at the top It doesn’t mean that the system can select the correct tree from among all the possible trees Speech and Language Processing - Jurafsky and Martin 2

Speech and Language Processing - Jurafsky and Martin For Now Let’s assume… You have all the words for a sentence already in some buffer The input is not POS tagged prior to parsing We won’t worry about morphological analysis All the words are known These are all problematic in various ways, and would have to be addressed in real applications. Speech and Language Processing - Jurafsky and Martin 3

Speech and Language Processing - Jurafsky and Martin Search Framework It’s productive to think about parsing as a form of search… A search through the space of possible trees given an input sentence and grammar This framework suggests that heuristic search methods and/or dynamic programming methods might be applicable It also suggests that notions such as the direction of the search might be useful Speech and Language Processing - Jurafsky and Martin 4

Speech and Language Processing - Jurafsky and Martin Top-Down Search Since we’re trying to find trees rooted with an S (Sentences), why not start with the rules that give us an S. Then we can work our way down from there to the words. Speech and Language Processing - Jurafsky and Martin 5

Speech and Language Processing - Jurafsky and Martin Top Down Space Speech and Language Processing - Jurafsky and Martin 6

Speech and Language Processing - Jurafsky and Martin Bottom-Up Parsing Of course, we also want trees that cover the input words. So we might also start with trees that link up with the words in the right way. Then work your way up from there to larger and larger trees. Speech and Language Processing - Jurafsky and Martin 7

Speech and Language Processing - Jurafsky and Martin Bottom-Up Search Speech and Language Processing - Jurafsky and Martin 8

Speech and Language Processing - Jurafsky and Martin Bottom-Up Search Speech and Language Processing - Jurafsky and Martin 9

Speech and Language Processing - Jurafsky and Martin Bottom-Up Search Speech and Language Processing - Jurafsky and Martin 10

Speech and Language Processing - Jurafsky and Martin Bottom-Up Search Speech and Language Processing - Jurafsky and Martin 11

Speech and Language Processing - Jurafsky and Martin Bottom-Up Search Speech and Language Processing - Jurafsky and Martin 12

Top-Down and Bottom-Up Only searches for trees that can be answers (i.e. S’s) But also suggests trees that are not consistent with any of the words Bottom-up Only forms trees consistent with the words But suggests trees that make no sense globally Speech and Language Processing - Jurafsky and Martin 13

Speech and Language Processing - Jurafsky and Martin Control Of course, in both cases we left out how to keep track of the search space and how to make choices Which node to try to expand next Which grammar rule to use to expand a node One approach is called backtracking. Make a choice, if it works out then fine If not then back up and make a different choice Same as with ND-Recognize Speech and Language Processing - Jurafsky and Martin 14

Speech and Language Processing - Jurafsky and Martin Problems Even with the best filtering, backtracking methods are doomed because of two inter-related problems Ambiguity and search control (choice) Shared sub-problems Speech and Language Processing - Jurafsky and Martin 15

Speech and Language Processing - Jurafsky and Martin Ambiguity Speech and Language Processing - Jurafsky and Martin 16

Speech and Language Processing - Jurafsky and Martin Shared Sub-Problems No matter what kind of search (top-down or bottom-up or mixed) that we choose... We can’t afford to redo work we’ve already done. Without some help naïve backtracking will lead to such duplicated work. Speech and Language Processing - Jurafsky and Martin 17

Speech and Language Processing - Jurafsky and Martin Shared Sub-Problems Consider “A flight from Indianapolis to Houston on TWA” Speech and Language Processing - Jurafsky and Martin 18

Speech and Language Processing - Jurafsky and Martin Sample L1 Grammar Speech and Language Processing - Jurafsky and Martin 19

Speech and Language Processing - Jurafsky and Martin Shared Sub-Problems Assume a top-down parse that has already expanded the NP rule (dealing with the Det) Now its making choices among the various Nominal rules In particular, between these two Nominal -> Noun Nominal -> Nominal PP Statically choosing the rules in this order leads to the following bad behavior... Speech and Language Processing - Jurafsky and Martin 20

Speech and Language Processing - Jurafsky and Martin Shared Sub-Problems Speech and Language Processing - Jurafsky and Martin 21

Speech and Language Processing - Jurafsky and Martin Shared Sub-Problems Speech and Language Processing - Jurafsky and Martin 22

Speech and Language Processing - Jurafsky and Martin Shared Sub-Problems Speech and Language Processing - Jurafsky and Martin 23

Speech and Language Processing - Jurafsky and Martin Shared Sub-Problems Speech and Language Processing - Jurafsky and Martin 24

Speech and Language Processing - Jurafsky and Martin Dynamic Programming DP search methods fill tables with partial results and thereby Avoid doing avoidable repeated work Solve exponential problems in polynomial time (ok, not really) Efficiently store ambiguous structures with shared sub-parts. We’ll cover one approach that corresponds to a bottom-up strategy CKY Speech and Language Processing - Jurafsky and Martin 25

Speech and Language Processing - Jurafsky and Martin CKY Parsing First we’ll limit our grammar to epsilon-free, binary rules (more on this later) Consider the rule A  BC If there is an A somewhere in the input generated by this rule then there must be a B followed by a C in the input. If the A spans from i to j in the input then there must be some k st. i<k<j In other words, the B splits from the C someplace after the i and before the j. Speech and Language Processing - Jurafsky and Martin 26

Speech and Language Processing - Jurafsky and Martin Problem What if your grammar isn’t binary? As in the case of the TreeBank grammar? Convert it to binary… any arbitrary CFG can be rewritten into Chomsky-Normal Form automatically. What does this mean? The resulting grammar accepts (and rejects) the same set of strings as the original grammar. But the resulting derivations (trees) are different. Speech and Language Processing - Jurafsky and Martin 27

Speech and Language Processing - Jurafsky and Martin Problem More specifically, we want our rules to be of the form A  B C Or A  w That is, rules can expand to either 2 non-terminals or to a single terminal. Speech and Language Processing - Jurafsky and Martin 28

Binarization Intuition Eliminate chains of unit productions. Introduce new intermediate non-terminals into the grammar that distribute rules with length > 2 over several rules. So… S  A B C turns into S  X C and X  A B Where X is a symbol that doesn’t occur anywhere else in the grammar. Speech and Language Processing - Jurafsky and Martin 29

Speech and Language Processing - Jurafsky and Martin Sample L1 Grammar Speech and Language Processing - Jurafsky and Martin 30

Speech and Language Processing - Jurafsky and Martin CNF Conversion Speech and Language Processing - Jurafsky and Martin 31

Speech and Language Processing - Jurafsky and Martin CKY Since each LHS non-terminal consists of exactly two RHS non-terminals, a 2-dimensional table can be used to record constituents found. Each cell [i,j] contains the set of (LHS) non-terminals that span i through j in the sentence. 0 Book 1 that 2 flight 3 So a non-terminal spanning an entire sentence will sit in cell [0, n]. Then for a sentence of length n, the algorithm uses only the upper-triangular portion of an (n+1) x (n+1) table. Speech and Language Processing - Jurafsky and Martin 32

Speech and Language Processing - Jurafsky and Martin CKY For a rule like A  B C we should look for a B in [i,k] and a C in [k,j]. In other words, if we think there might be an A spanning i,j in the input… AND A  B C is a rule in the grammar THEN There must be a B in [i,k] and a C in [k,j] for some k such that i<k<j Speech and Language Processing - Jurafsky and Martin 33

Speech and Language Processing - Jurafsky and Martin CKY So to fill the table loop over the cells [i,j] values in some systematic way Then for each cell, loop over the appropriate k values to search for things to add. Add all the derivations that are possible for each [i,j] for each k Speech and Language Processing - Jurafsky and Martin 34

Speech and Language Processing - Jurafsky and Martin CKY Table Speech and Language Processing - Jurafsky and Martin 35

Speech and Language Processing - Jurafsky and Martin Example Speech and Language Processing - Jurafsky and Martin 36

Speech and Language Processing - Jurafsky and Martin CKY Algorithm Looping over columns Filling bottom cell Filling row i in column j Check the grammar for rules that link the constituents in [i,k] with those in [k,j]. For each rule found store the LHS of the rule in cell [i,j]. Looping over the possible split locations between i and j. Speech and Language Processing - Jurafsky and Martin 37

Speech and Language Processing - Jurafsky and Martin Example Filling column 5 Speech and Language Processing - Jurafsky and Martin 38

Speech and Language Processing - Jurafsky and Martin Example Speech and Language Processing - Jurafsky and Martin 39

Speech and Language Processing - Jurafsky and Martin Example Speech and Language Processing - Jurafsky and Martin 40

Speech and Language Processing - Jurafsky and Martin Example Speech and Language Processing - Jurafsky and Martin 41

Speech and Language Processing - Jurafsky and Martin Example Speech and Language Processing - Jurafsky and Martin 42

Speech and Language Processing - Jurafsky and Martin Example Since there’s an S in [0,5] we have a valid parse. Are we done? We sort of left something out of the algorithm. Speech and Language Processing - Jurafsky and Martin 43

Speech and Language Processing - Jurafsky and Martin CKY Notes Since it’s bottom up, CKY hallucinates a lot of silly constituents. Segments that by themselves are constituents but cannot really occur in the context in which they are being suggested. To avoid this we can switch to a top-down control strategy Or we can add some kind of filtering that blocks constituents where they can not happen in a final analysis. Speech and Language Processing - Jurafsky and Martin 44

Speech and Language Processing - Jurafsky and Martin CKY Notes We arranged the loops to fill the table a column at a time, from left to right, bottom to top. This assures us that whenever we’re filling a cell, the parts needed to fill it are already in the table (to the left and below) It’s somewhat natural in that it processes the input a left to right a word at a time Known as online Can you think of an alternative strategy? Speech and Language Processing - Jurafsky and Martin 45

Speech and Language Processing - Jurafsky and Martin Note An alternative is to fill a diagonal at a time. That still satisfies our requirement that the component parts of each constituent/cell will already be available when it is filled in. Filling a diagonal at a time corresponds naturally to what task? Speech and Language Processing - Jurafsky and Martin 46