Download presentation
Presentation is loading. Please wait.
1
Context-Free Grammar Parsing by Message Passing Paper by Dekang Lin and Randy Goebel Presented by Matt Watkins
2
Context-Free Grammars A context-free grammar is represented by a 4-tuple: V t → A set of terminals V n → A set of non-terminals P → A set of production rules S → A member of V n, representing the starting non-terminal Context-free grammars are used to represent the syntax of both programming languages and natural languages, as well as other things
3
Context-Free Grammars Example: → → "I" → "saw" → "man" → "park" → "saw" → "a" → "the" → "in"
4
Isawamaninthepark Context-Free Grammars
5
Parsing Context-Free Grammars Given only the definition of a context-free grammar, determine if a particular expression is a valid output of the grammar, and if so, how it is generated. Earley’s parser CYK parser Message passing parser
6
Grammar Representation Message passing algorithm represents a CFG as a 6-tuple N → set of non-terminals O → set of pre-terminals T → set of terminals s → start symbol P → production rules L → a lexicon consisting of pairs (w, p), w T and p O
7
Grammar Representation N = {S, NP, VP, PP, n, v, p, d} O = {n, v, p, d} T = {I, saw, a, man, in, the, park} s = S P = → L = {(I, {n}), (saw, {v, n}), (a, {d}), (man, {n}), (in, {p}), (the, {d}), (park, {n})}
8
Message Passing Network RsRs S NP VP PPndp v R np1 R np2 R np3 R vp2 R vp1 R pp 0 0 0 0 0 0 0 1 1 1 1 1 1
9
Message Passing Rules Non-terminal nodes are called NT nodes Phrase structure rule nodes are called PSR nodes Messages that are passed are integer pairs representing an interval in the expression being parsed I saw a man in the park NT nodes and PSR nodes have different rules for receiving and sending messages 0 1 2 3 4 5 6 7
10
NT nodes: Never send the same message twice Always send all unique messages to parents PSR nodes: Have a memory bank of pairs (I, n) where I is an interval and n is a link number Store pairs where n = 0 in memory bank Combines pairs where applicable if n ≠ 0 Message Passing Rules Pair (I, n) is combined with (I´, n´) iff: i, j, k such that I = {i, j} and I´ = {j, k} n´ = n + 1 If n´ is the last link, send a message to parents
11
Use T to identify the locations of terminals in the expression to be parsed Use the lexicon to determine the terminal’s part of speech. Pass a message to all parts of speech indicating the starting and ending position of all the terminals in the expression. Message Passing Rules
12
Message Passing Example RsRs S NP VP PPndp v R np1 R np2 R np3 R vp2 R vp1 R pp 0 0 0 0 0 0 0 1 1 1 1 1 1 Parsing “I” {0,1}
13
Message Passing Example RsRs S NP VP PPndp v R np1 R np2 R np3 R vp2 R vp1 R pp 0 0 0 0 0 0 0 1 1 1 1 1 1 Parsing “I” {0,1} ({0,1}, 0)
14
Message Passing Example RsRs S NP VP PPndp v R np1 R np2 R np3 R vp2 R vp1 R pp 0 0 0 0 0 0 0 1 1 1 1 1 1 Parsing “I” {0,1} ({0,1}, 0) {0,1}
15
Message Passing Example RsRs S NP VP PPndp v R np1 R np2 R np3 R vp2 R vp1 R pp 0 0 0 0 0 0 0 1 1 1 1 1 1 Parsing “I” {0,1} ({0,1}, 0) {0,1} ({0,1}, 0)
16
Each node will contain a set of intervals that represent where in the expression the non-terminals can be found. After message passing has completed, if the expression is represented by the grammar, then the network will contain a packed parse forest Completion
18
Tested on SPARCstation SLC
20
Analysis Strengths O(|G|n 3 ) time complexity Easily parallelizable Can handle empty rules Weaknesses Must convert some grammars in Backus Naur form
21
Questions?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.