Dependency grammar and dependency parsing

Similar documents
Dependency grammar and dependency parsing

Dependency grammar and dependency parsing

Collins and Eisner s algorithms

Transition-based dependency parsing

The CKY algorithm part 1: Recognition

The CKY algorithm part 2: Probabilistic parsing

The CKY algorithm part 1: Recognition

Elements of Language Processing and Learning lecture 3

Ling 571: Deep Processing for Natural Language Processing

Computational Linguistics: Feature Agreement

Graph-Based Parsing. Miguel Ballesteros. Algorithms for NLP Course. 7-11

Exam Marco Kuhlmann. This exam consists of three parts:

The CKY Parsing Algorithm and PCFGs. COMP-550 Oct 12, 2017

Assignment 4 CSE 517: Natural Language Processing

Topics in Parsing: Context and Markovization; Dependency Parsing. COMP-599 Oct 17, 2016

CSE450 Translation of Programming Languages. Lecture 4: Syntax Analysis

Parsing with Dynamic Programming

Trees Rooted Trees Spanning trees and Shortest Paths. 12. Graphs and Trees 2. Aaron Tan November 2017

Formal Languages and Compilers Lecture V: Parse Trees and Ambiguous Gr

Agenda for today. Homework questions, issues? Non-projective dependencies Spanning tree algorithm for non-projective parsing

CS 224N Assignment 2 Writeup

Dependency Parsing. Allan Jie. February 20, Slides: Allan Jie Dependency Parsing February 20, / 16

2 Ambiguity in Analyses of Idiomatic Phrases

Transition-based Parsing with Neural Nets

The CKY Parsing Algorithm and PCFGs. COMP-599 Oct 12, 2016

CKY algorithm / PCFGs

UNIVERSITY OF EDINBURGH COLLEGE OF SCIENCE AND ENGINEERING SCHOOL OF INFORMATICS INFR08008 INFORMATICS 2A: PROCESSING FORMAL AND NATURAL LANGUAGES

Tekniker för storskalig parsning: Dependensparsning 2

Chapter 4. Lexical and Syntax Analysis. Topics. Compilation. Language Implementation. Issues in Lexical and Syntax Analysis.

Let s get parsing! Each component processes the Doc object, then passes it on. doc.is_parsed attribute checks whether a Doc object has been parsed

COMPUTATIONAL SEMANTICS WITH FUNCTIONAL PROGRAMMING JAN VAN EIJCK AND CHRISTINA UNGER. lg Cambridge UNIVERSITY PRESS

What is Parsing? NP Det N. Det. NP Papa N caviar NP NP PP S NP VP. N spoon VP V NP VP VP PP. V spoon V ate PP P NP. P with.

Ling/CSE 472: Introduction to Computational Linguistics. 5/4/17 Parsing

Ling 571: Deep Processing for Natural Language Processing

Refresher on Dependency Syntax and the Nivre Algorithm

LING/C SC/PSYC 438/538. Lecture 3 Sandiway Fong

Large-Scale Syntactic Processing: Parsing the Web. JHU 2009 Summer Research Workshop

Introduction to Lexical Functional Grammar. Wellformedness conditions on f- structures. Constraints on f-structures

Homework & Announcements

CHAPTER 10 GRAPHS AND TREES. Alessandro Artale UniBZ - artale/

SEMINAR: RECENT ADVANCES IN PARSING TECHNOLOGY. Parser Evaluation Approaches

Online Learning of Approximate Dependency Parsing Algorithms

Ortolang Tools : MarsaTag

Algorithms for NLP. Chart Parsing. Reading: James Allen, Natural Language Understanding. Section 3.4, pp

11-682: Introduction to IR, NLP, MT and Speech. Parsing with Unification Grammars. Reading: Jurafsky and Martin, Speech and Language Processing

Context-Free Grammars

Student Guide for Usage of Criterion

Dowty Friday, July 22, 11

Homework & NLTK. CS 181: Natural Language Processing Lecture 9: Context Free Grammars. Motivation. Formal Def of CFG. Uses of CFG.

The anatomy of a syntax paper

Syntax Analysis. Chapter 4

I Know Your Name: Named Entity Recognition and Structural Parsing

AUTOMATIC LFG GENERATION

Klein & Manning, NIPS 2002

Context-Free Grammars. Carl Pollard Ohio State University. Linguistics 680 Formal Foundations Tuesday, November 10, 2009

Advanced Topics in Information Retrieval Natural Language Processing for IR & IR Evaluation. ATIR April 28, 2016

The Expectation Maximization (EM) Algorithm

Algorithms for NLP. Chart Parsing. Reading: James Allen, Natural Language Understanding. Section 3.4, pp

Online Graph Planarisation for Synchronous Parsing of Semantic and Syntactic Dependencies

COSE312: Compilers. Lecture 1 Overview of Compilers

Intro to XML. Borrowed, with author s permission, from:

Natural Language Processing

Computational Linguistics: Syntax-Semantics Interface

A Collaborative Annotation between Human Annotators and a Statistical Parser

CSE P 501 Compilers. Parsing & Context-Free Grammars Hal Perkins Winter /15/ Hal Perkins & UW CSE C-1

LL(1) predictive parsing

View and Submit an Assignment in Criterion

STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH

Proseminar on Semantic Theory Fall 2013 Ling 720 An Algebraic Perspective on the Syntax of First Order Logic (Without Quantification) 1

More Theories, Formal semantics

Basic Parsing with Context-Free Grammars. Some slides adapted from Karl Stratos and from Chris Manning

COMP 181 Compilers. Administrative. Last time. Prelude. Compilation strategy. Translation strategy. Lecture 2 Overview

Incremental Integer Linear Programming for Non-projective Dependency Parsing

Syntax and Grammars 1 / 21

Wh-questions. Ling 567 May 9, 2017

Parsing partially bracketed input

Dependency Parsing CMSC 723 / LING 723 / INST 725. Marine Carpuat. Fig credits: Joakim Nivre, Dan Jurafsky & James Martin

Advanced PCFG Parsing

Dependency Parsing 2 CMSC 723 / LING 723 / INST 725. Marine Carpuat. Fig credits: Joakim Nivre, Dan Jurafsky & James Martin

Advanced PCFG Parsing

Topic 1: Introduction

Homework 2: Parsing and Machine Learning

Stack- propaga+on: Improved Representa+on Learning for Syntax

1 A question of semantics

The Application of Constraint Rules to Data-driven Parsing

NLP Chain. Giuseppe Castellucci Web Mining & Retrieval a.a. 2013/2014

Projective Dependency Parsing with Perceptron

An Efficient Implementation of PATR for Categorial Unification Grammar

Parsing. Parsing. Bottom Up Parsing. Bottom Up Parsing. Bottom Up Parsing. Bottom Up Parsing

A Simple Syntax-Directed Translator

Formal Languages and Compilers Lecture I: Introduction to Compilers

CSE 3302 Programming Languages Lecture 2: Syntax

Earlier edition Dragon book has been revised. Course Outline Contact Room 124, tel , rvvliet(at)liacs(dot)nl

Defining Program Syntax. Chapter Two Modern Programming Languages, 2nd ed. 1

Principles of Programming Languages COMP251: Syntax and Grammars

Introduction to Parsing

Parsing II Top-down parsing. Comp 412

Iterative CKY parsing for Probabilistic Context-Free Grammars

AT&T: The Tag&Parse Approach to Semantic Parsing of Robot Spatial Commands

2.2 Syntax Definition

Transcription:

Dependency grammar and dependency parsing Syntactic analysis (5LN455) 2014-12-10 Sara Stymne Department of Linguistics and Philology Based on slides from Marco Kuhlmann

Mid-course evaluation Mostly positive Good lectures and slides Good with small exercises during lectures Good assignments Main negative points: Air in Turing Parallel with semantic analysi Final evaluation at end of course, student portal

Overview Dependency parsing in general Arc-factored dependency parsing Collins algorithm Eisner s algorithm Transition-based dependency parsing The arc-standard algorithm Evaluation of dependency parsers

Dependency grammar

Dependency grammar The term dependency grammar does not refer to a specific grammar formalism. Rather, it refers to a specific way to describe the syntactic structure of a sentence.

Dependency grammar The notion of dependency The basic observation behind constituency is that groups of words may act as one unit. Example: noun phrase, prepositional phrase The basic observation behind dependency is that words have grammatical functions with respect to other words in the sentence. Example: subject, modifier

Dependency grammar Phrase structure trees S NP VP Pro Verb NP I booked Det Nom a Nom PP Noun from LA flight

Dependency grammar Dependency trees dobj subj det pmod I booked a flight from LA In an arc h d, the word h is called the head, and the word d is called the dependent. The arcs form a rooted tree.

Dependency grammar Heads in phrase structure grammar In phrase structure grammar, ideas from dependency grammar can be found in the notion of heads. Roughly speaking, the head of a phrase is the most important word of the phrase: the word that determines the phrase function. Examples: noun in a noun phrase, preposition in a prepositional phrase

Dependency grammar Heads in phrase structure grammar S NP VP Pro Verb NP I booked Det Nom a Nom PP Noun from LA flight

Dependency grammar The history of dependency grammar The notion of dependency can be found in some of the earliest formal grammars. Modern dependency grammar is attributed to Lucien Tesnière (1893 1954). Recent years have seen a revived interest in dependency-based description of natural language syntax.

Dependency grammar Linguistic resources Descriptive dependency grammars exist for some natural languages. Dependency treebanks exist for a wide range of natural languages. These treebanks can be used to train accurate and efficient dependency parsers.

Projectivity An important characteristic of dependency trees is projectivity A dependency tree is projective if: For every arc in the tree, there is a directed path from the head of the arc to all words occurring between the head and the dependent (that is, the arc (i,l,j) implies that i k for every k such that min(i, j) < k < max(i, j))

Projective and non-projective trees

Projectivity and dependency parsing Many dependency parsing algorithms can only handle projective trees Non-projective trees do occur in natural language How often depends on the language (and treebank)

Projectivity in the course The algorithms we will discuss in detail during the lectures will only concern projective parsing Non-projective parsing: Seminar 2: Pseudo-projective parsing Other variants mentioned briefly during the lectures You can read more about it in the course book!

Arc-factored dependency parsing

Ambiguity Just like phrase structure parsing, dependency parsing has to deal with ambiguity. dobj subj det pmod I booked a flight from LA

Ambiguity Just like phrase structure parsing, dependency parsing has to deal with ambiguity. dobj pmod subj det I booked a flight from LA

Disambiguation We need to disambiguate between alternative analyses. We develop mechanisms for scoring dependency trees, and disambiguate by choosing a dependency tree with the highest score.

Scoring models and parsing algorithms Distinguish two aspects: Scoring model: How do we want to score dependency trees? Parsing algorithm: How do we compute a highest-scoring dependency tree under the given scoring model?

The arc-factored model Split the dependency tree t into parts p1,..., pn, score each of the parts individually, and combine the score into a simple sum. score(t) = score(p1) + + score(pn) The simplest scoring model is the arc-factored model, where the scored parts are the arcs of the tree.

Arc-factored dependency parsing Features subj dobj det pmod I booked a flight from LA To score an arc, we define features that are likely to be relevant in the context of parsing. We represent an arc by its feature vector.

Arc-factored dependency parsing Examples of features

Arc-factored dependency parsing Examples of features The head is a verb.

Arc-factored dependency parsing Examples of features The head is a verb. The dependent is a noun.

Arc-factored dependency parsing Examples of features The head is a verb. The dependent is a noun. The head is a verb and the dependent is a noun.

Arc-factored dependency parsing Examples of features The head is a verb. The dependent is a noun. The head is a verb and the dependent is a noun. The head is a verb and the predecessor of the head is a pronoun.

Arc-factored dependency parsing Examples of features The head is a verb. The dependent is a noun. The head is a verb and the dependent is a noun. The head is a verb and the predecessor of the head is a pronoun. The arc goes from left to right.

Arc-factored dependency parsing Examples of features The head is a verb. The dependent is a noun. The head is a verb and the dependent is a noun. The head is a verb and the predecessor of the head is a pronoun. The arc goes from left to right. The arc has length 2.

Arc-factored dependency parsing Feature vectors 1 Feature: The dependent is a noun. 0 0 Feature: The head is a verb. 1

Arc-factored dependency parsing Feature vectors 1 booked flight Feature: The dependent is a noun. 0 flight from LA flight a booked I 0 Feature: The head is a verb. 1

Arc-factored dependency parsing Implementation of feature vectors We assign each feature a unique number. For each arc, we collect the numbers of those features that apply to that arc. The feature vector of the arc is the list of those numbers. Example: [1, 2, 42, 313, 1977, 2008, 2010]

Arc-factored dependency parsing Feature weights Arc-factored dependency parsers require a training phase. During training, our goal is to assign, to each feature fi, a feature weight wi. Intuitively, the weight wi quantifies the effect of the feature fi on the likelihood of the arc. How likely is is that we will see an arc with this feature in a useful dependency tree?

Arc-factored dependency parsing Feature weights We define the score of an arc h d as the weighted sum of all features of that arc: score(h d) = f1w1 + + fnwn

Arc-factored dependency parsing Training using structured prediction Take a sentence w and a gold-standard dependency tree g for w. Compute the highest-scoring dependency tree under the current weights; call it p. Increase the weights of all features that are in g but not in p. Decrease the weights of all features that are in p but not in g.

Arc-factored dependency parsing Training using structured prediction Training involves repeatedly parsing (treebank) sentences and refining the weights. Hence, training presupposes an efficient parsing algorithm.

Arc-factored dependency parsing Higher order models The arc-factored model is a first-order model, because scored subgraphs consist of a single arc. An nth-order model scores subgraphs consisting of (at most) n arcs. Second-order: siblings, grand-parents Third-order: tri-siblings, grand-siblings Higher-order models capture more linguistic structure and give higher parsing accuracy, but less efficient

Arc-factored dependency parsing Parsing algorithms Projective parsing Inspired by the CKY algorithm Collins algorithm Eisner s algorithm Non-projective parsing: Minimum spanning tree (MST) algorithms

Arc-factored dependency parsing Graph-based parsing Arc-factored parsing is an instance of graph-based dependency parsing Because it scores the dependency graph (tree) Graph-based models are often contrasted with transition-based models (next week) There are also grammar-based methods, which we will not discuss

Arc-factored dependency parsing Summary The term arc-factored dependency parsing refers to dependency parsers that score a dependency tree by scoring its arcs. Arcs are scored by defining features and assigning weights to these features. The resulting parsers can be trained using structured prediction. More powerful scoring models exist.

Overview Arc-factored dependency parsing Collins algorithm Eisner s algorithm Transition-based dependency parsing The arc-standard algorithm Dependency treebanks Evaluation of dependency parsers

Collins algorithm

Collins algorithm Collin s algorithm is a simple algorithm for computing the highest-scoring dependency tree under an arc-factored scoring model. It can be understood as an extension of the CKY algorithm to dependency parsing. Like the CKY algorithm, it can be characterized as a bottom-up algorithm based on dynamic programming.

Collins algorithm Signatures, CKY C min max [min, max, C]

Collins algorithm Signatures, Collins root min max [min, max, root]

Collins algorithm Initialization I booked a flight from LA 0 I 2 3 4 5

Collins algorithm Initialization I booked a flight from LA 0 I 2 3 4 5 [0, 1, I] [1, 2, booked] [2, 3, a] [3, 4, flight] [4, 5, from LA]

Collins algorithm Adding a left-to-right arc I booked a flight from LA 0 I 2 3 4 5

Collins algorithm Adding a left-to-right arc I booked a flight from LA 0 I 2 3 4 5 [3, 4, flight] [4, 5, from LA]

Collins algorithm Adding a left-to-right arc pmod I booked a flight from LA 0 I 2 3 4 5 [3, 4, flight] [4, 5, from LA]

Collins algorithm Adding a left-to-right arc pmod I booked a flight from LA 0 I 2 3 4 5 [3, 5, flight]

Collins algorithm Adding a left-to-right arc

Collins algorithm Adding a left-to-right arc l r t 1 t 2 min mid max

Collins algorithm Adding a left-to-right arc l r t 1 t 2 min mid max

Collins algorithm Adding a left-to-right arc l t min max

Collins algorithm Adding a left-to-right arc l t min max score(t) = score(t1) + score(t2) + score(l r)

Collins algorithm Adding a left-to-right arc for each [min, max] with max - min > 1 do for each l from min to max - 2 do double best = score[min][max][l] for each r from l + 1 to max - 1 do for each mid from l + 1 to r do t1 = score[min][mid][l] t2 = score[mid][max][r] double current = t1 + t2 + score(l! r) if current > best then best = current score[min][max][l] = best

Collins algorithm Adding a right-to-left arc pmod I booked a flight from LA 0 I 2 3 4 5

Collins algorithm Adding a right-to-left arc pmod I booked a flight from LA 0 I 2 3 4 5 [0, 1, I] [1, 2, booked]

Collins algorithm Adding a right-to-left arc subj pmod I booked a flight from LA 0 I 2 3 4 5 [0, 1, I] [1, 2, booked]

Collins algorithm Adding a right-to-left arc subj pmod I booked a flight from LA 0 I 2 3 4 5 [0, 2, booked]

Collins algorithm Adding a right-to-left arc

Collins algorithm Adding a right-to-left arc l r t 1 t 2 min mid max

Collins algorithm Adding a right-to-left arc l r t 1 t 2 min mid max

Collins algorithm Adding a right-to-left arc r t min max

Collins algorithm Adding a right-to-left arc r t min max score(t) = score(t1) + score(t2) + score(r l)

Collins algorithm Adding a right-to-left arc for each [min, max] with max - min > 1 do for each r from min + 1 to max - 1 do double best = score[min][max][r] for each l from min to r - 1 do for each mid from l + 1 to r do t1 = score[min][mid][l] t2 = score[mid][max][r] double current = t1 + t2 + score(r! l) if current > best then best = current score[min][max][r] = best

Collins algorithm Finishing up subj pmod I booked a flight from LA 0 I 2 3 4 5

Collins algorithm Finishing up subj det pmod I booked a flight from LA 0 I 2 3 4 5 [2, 3, a] [3, 5, flight]

Collins algorithm Finishing up subj det pmod I booked a flight from LA 0 I 2 3 4 5 [2, 5, flight]

Collins algorithm Finishing up dobj subj det pmod I booked a flight from LA 0 I 2 3 4 5 [0, 2, booked] [2, 5, flight]

Collins algorithm Finishing up dobj subj det pmod I booked a flight from LA 0 I 2 3 4 5 [0, 5, booked]

Collins algorithm Complexity analysis Space requirement: O( w 3 ) Runtime requirement: O( w 5 )

Collins algorithm Summary Collins algorithm is a CKY-style algorithm for computing the highest-scoring dependency tree under an arc-factored scoring model. It runs in time O( w 5 ). This may not be practical for long sentences.