INF4820: Algorithms for Artificial Intelligence and Natural Language Processing Parsing and Parser Evaluation
Stephan Oepen & Murhaf Fares
Language Technology Group (LTG)
November 10, 2016 University of Oslo : Department of Informatics
Overview Last Time Grammatical Structure Context-Free Grammar - - PowerPoint PPT Presentation
University of Oslo : Department of Informatics INF4820: Algorithms for Artificial Intelligence and Natural Language Processing Parsing and Parser Evaluation Stephan Oepen & Murhaf Fares Language Technology Group (LTG) November 10, 2016
Stephan Oepen & Murhaf Fares
Language Technology Group (LTG)
November 10, 2016 University of Oslo : Department of Informatics
Last Time
◮ Grammatical Structure ◮ Context-Free Grammar ◮ Treebanks ◮ Probabilistic CFGs
Last Time
◮ Grammatical Structure ◮ Context-Free Grammar ◮ Treebanks ◮ Probabilistic CFGs
Today
◮ Parser Evaluation ◮ Syntactic Parsing
◮ Na¨
ıve: Recursive-Descent
◮ Dynamic Programming: CKY
◮ Generalized Chart Parsing
Formally, a CFG is a quadruple: G = C, Σ, P, S
Formally, a CFG is a quadruple: G = C, Σ, P, S
◮ C is the set of categories (aka non-terminals),
◮ {S, NP, VP, V}
Formally, a CFG is a quadruple: G = C, Σ, P, S
◮ C is the set of categories (aka non-terminals),
◮ {S, NP, VP, V}
◮ Σ is the vocabulary (aka terminals),
◮ {Kim, snow, adores, in}
Formally, a CFG is a quadruple: G = C, Σ, P, S
◮ C is the set of categories (aka non-terminals),
◮ {S, NP, VP, V}
◮ Σ is the vocabulary (aka terminals),
◮ {Kim, snow, adores, in}
◮ P is a set of category rewrite rules (aka productions)
S → NP VP NP → Kim VP → V NP NP → snow V → adores
Formally, a CFG is a quadruple: G = C, Σ, P, S
◮ C is the set of categories (aka non-terminals),
◮ {S, NP, VP, V}
◮ Σ is the vocabulary (aka terminals),
◮ {Kim, snow, adores, in}
◮ P is a set of category rewrite rules (aka productions)
S → NP VP NP → Kim VP → V NP NP → snow V → adores
◮ S ∈ C is the start symbol, a filter on complete results;
Formally, a CFG is a quadruple: G = C, Σ, P, S
◮ C is the set of categories (aka non-terminals),
◮ {S, NP, VP, V}
◮ Σ is the vocabulary (aka terminals),
◮ {Kim, snow, adores, in}
◮ P is a set of category rewrite rules (aka productions)
S → NP VP NP → Kim VP → V NP NP → snow V → adores
◮ S ∈ C is the start symbol, a filter on complete results; ◮ for each rule α → β1, β2, ..., βn ∈ P: α ∈ C and βi ∈ C ∪ Σ
◮ The ParsEval metric (Black, et al., 1991) measures
constituent overlap.
◮ The original formulation only considered the shape of the
(unlabeled) bracketing.
◮ The modern ‘standard’ uses a tool called evalb, which
reports precision, recall and F1 score for labeled brackets, as well as the number of crossing brackets.
Gold Standard
(NP (DT a) (ADVP (RB pretty) (JJ big)) (NOM (NN dog) (POS ’s) (NN house)) )
System Output
(NP (DT a) (JJ pretty) (NOM (JJ big) (NOM (NN dog) (POS ’s) (NN house))))
Gold Standard
(NP (DT a) (ADVP (RB pretty) (JJ big)) (NOM (NN dog) (POS ’s) (NN house)) )
0,6 np
System Output
(NP (DT a) (JJ pretty) (NOM (JJ big) (NOM (NN dog) (POS ’s) (NN house))))
Gold Standard
(NP (DT a) (ADVP (RB pretty) (JJ big)) (NOM (NN dog) (POS ’s) (NN house)) )
0,6 np 0,1 dt
System Output
(NP (DT a) (JJ pretty) (NOM (JJ big) (NOM (NN dog) (POS ’s) (NN house))))
Gold Standard
(NP (DT a) (ADVP (RB pretty) (JJ big)) (NOM (NN dog) (POS ’s) (NN house)) )
0,6 np 0,1 dt 1,3 advp
System Output
(NP (DT a) (JJ pretty) (NOM (JJ big) (NOM (NN dog) (POS ’s) (NN house))))
Gold Standard
(NP (DT a) (ADVP (RB pretty) (JJ big)) (NOM (NN dog) (POS ’s) (NN house)) )
0,6 np 1,2 rb 0,1 dt 1,3 advp
System Output
(NP (DT a) (JJ pretty) (NOM (JJ big) (NOM (NN dog) (POS ’s) (NN house))))
Gold Standard
(NP (DT a) (ADVP (RB pretty) (JJ big)) (NOM (NN dog) (POS ’s) (NN house)) )
0,6 np 1,2 rb 0,1 dt 2,3 jj 1,3 advp
System Output
(NP (DT a) (JJ pretty) (NOM (JJ big) (NOM (NN dog) (POS ’s) (NN house))))
Gold Standard
(NP (DT a) (ADVP (RB pretty) (JJ big)) (NOM (NN dog) (POS ’s) (NN house)) )
0,6 np 1,2 rb 0,1 dt 2,3 jj 1,3 advp 3,6 nom
System Output
(NP (DT a) (JJ pretty) (NOM (JJ big) (NOM (NN dog) (POS ’s) (NN house))))
Gold Standard
(NP (DT a) (ADVP (RB pretty) (JJ big)) (NOM (NN dog) (POS ’s) (NN house)) )
0,6 np 1,2 rb 3,4 nn 0,1 dt 2,3 jj 1,3 advp 3,6 nom
System Output
(NP (DT a) (JJ pretty) (NOM (JJ big) (NOM (NN dog) (POS ’s) (NN house))))
Gold Standard
(NP (DT a) (ADVP (RB pretty) (JJ big)) (NOM (NN dog) (POS ’s) (NN house)) )
0,6 np 1,2 rb 3,4 nn 0,1 dt 2,3 jj 4,5 pos 1,3 advp 3,6 nom
System Output
(NP (DT a) (JJ pretty) (NOM (JJ big) (NOM (NN dog) (POS ’s) (NN house))))
Gold Standard
(NP (DT a) (ADVP (RB pretty) (JJ big)) (NOM (NN dog) (POS ’s) (NN house)) )
0,6 np 1,2 rb 3,4 nn 0,1 dt 2,3 jj 4,5 pos 1,3 advp 3,6 nom 5,6 nn
System Output
(NP (DT a) (JJ pretty) (NOM (JJ big) (NOM (NN dog) (POS ’s) (NN house))))
Gold Standard
(NP (DT a) (ADVP (RB pretty) (JJ big)) (NOM (NN dog) (POS ’s) (NN house)) )
0,6 np 1,2 rb 3,4 nn 0,1 dt 2,3 jj 4,5 pos 1,3 advp 3,6 nom 5,6 nn
System Output
(NP (DT a) (JJ pretty) (NOM (JJ big) (NOM (NN dog) (POS ’s) (NN house))))
0,6 np 2,6 nom 3,4 nn 0,1 dt 2,3 jj 4,5 pos 1,2 jj 3,6 nom 5,6 nn
Gold Standard
(NP (DT a) (ADVP (RB pretty) (JJ big)) (NOM (NN dog) (POS ’s) (NN house)) )
0,6 np 1,2 rb 3,4 nn 0,1 dt 2,3 jj 4,5 pos 1,3 advp 3,6 nom 5,6 nn
System Output
(NP (DT a) (JJ pretty) (NOM (JJ big) (NOM (NN dog) (POS ’s) (NN house))))
0,6 np 2,6 nom 3,4 nn 0,1 dt 2,3 jj 4,5 pos 1,2 jj 3,6 nom 5,6 nn
Correct: 7
Gold Standard
(NP (DT a) (ADVP (RB pretty) (JJ big)) (NOM (NN dog) (POS ’s) (NN house)) )
0,6 np 1,2 rb 3,4 nn 0,1 dt 2,3 jj 4,5 pos 1,3 advp 3,6 nom 5,6 nn
System Output
(NP (DT a) (JJ pretty) (NOM (JJ big) (NOM (NN dog) (POS ’s) (NN house))))
0,6 np 2,6 nom 3,4 nn 0,1 dt 2,3 jj 4,5 pos 1,2 jj 3,6 nom 5,6 nn
Recall: Correct Gold = 7 9 Precision: Correct System = 7 9
Gold Standard
(NP (DT a) (ADVP (RB pretty) (JJ big)) (NOM (NN dog) (POS ’s) (NN house)) )
0,6 np 1,2 rb 3,4 nn 0,1 dt 2,3 jj 4,5 pos 1,3 advp 3,6 nom 5,6 nn
System Output
(NP (DT a) (JJ pretty) (NOM (JJ big) (NOM (NN dog) (POS ’s) (NN house))))
0,6 np 2,6 nom 3,4 nn 0,1 dt 2,3 jj 4,5 pos 1,2 jj 3,6 nom 5,6 nn
Recall: Correct Gold = 7 9 Precision: Correct System = 7 9 F1 score: 7 9
Gold Standard
(NP (DT a) (ADVP (RB pretty) (JJ big)) (NOM (NN dog) (POS ’s) (NN house)) )
0,6 np 1,2 rb 3,4 nn 0,1 dt 2,3 jj 4,5 pos 1,3 advp 3,6 nom 5,6 nn
System Output
(NP (DT a) (JJ pretty) (NOM (JJ big) (NOM (NN dog) (POS ’s) (NN house))))
0,6 np 2,6 nom 3,4 nn 0,1 dt 2,3 jj 4,5 pos 1,2 jj 3,6 nom 5,6 nn
Recall: Correct Gold = 2 3 Precision: Correct System = 2 3 F1 score: 2 3
Gold Standard
(NP (DT a) (ADVP (RB pretty) (JJ big)) (NOM (NN dog) (POS ’s) (NN house)) )
0,6 np 1,2 rb 3,4 nn 0,1 dt 2,3 jj 4,5 pos 1,3 advp 3,6 nom 5,6 nn
System Output
(NP (DT a) (JJ pretty) (NOM (JJ big) (NOM (NN dog) (POS ’s) (NN house))))
0,6 np 2,6 nom 3,4 nn 0,1 dt 2,3 jj 4,5 pos 1,2 jj 3,6 nom 5,6 nn
Recall: Correct Gold = 2 3 Precision: Correct System = 2 3 F1 score: 2 3 Crossing Brackets: 1
✬ ✫ ✩ ✪
inf4820 — -nov- (oe@ifi.uio.no)
✬ ✫ ✩ ✪
inf4820 — -nov- (oe@ifi.uio.no)
inf4820 — -nov- (oe@ifi.uio.no)
inf4820 — -nov- (oe@ifi.uio.no)
✬ ✫ ✩ ✪
✬ ✫ ✩ ✪
inf4820 — -nov- (oe@ifi.uio.no)
inf4820 — -nov- (oe@ifi.uio.no)
inf4820 — -nov- (oe@ifi.uio.no)
inf4820 — -nov- (oe@ifi.uio.no)
✬ ✫ ✩ ✪
inf4820 — -nov- (oe@ifi.uio.no)
✎ ✍ ☞ ✌
inf4820 — -nov- (oe@ifi.uio.no)
inf4820 — -nov- (oe@ifi.uio.no)
inf4820 — -nov- (oe@ifi.uio.no)
inf4820 — -nov- (oe@ifi.uio.no)
inf4820 — -nov- (oe@ifi.uio.no)