Lecture 7: Sequence Labeling

Similar documents
Lecture 13: Structured Prediction

Part of Speech Tagging: Viterbi, Forward, Backward, Forward- Backward, Baum-Welch. COMP-599 Oct 1, 2015

Statistical Methods for NLP

Lecture 6: Part-of-speech tagging

More on HMMs and other sequence models. Intro to NLP - ETHZ - 18/03/2013

ACS Introduction to NLP Lecture 2: Part of Speech (POS) Tagging

Empirical Methods in Natural Language Processing Lecture 11 Part-of-speech tagging and HMMs

CS838-1 Advanced NLP: Hidden Markov Models

Sequence Modelling with Features: Linear-Chain Conditional Random Fields. COMP-599 Oct 6, 2015

Statistical NLP for the Web Log Linear Models, MEMM, Conditional Random Fields

Sequence Labeling: HMMs & Structured Perceptron

Lecture 12: Algorithms for HMMs

INF4820: Algorithms for Artificial Intelligence and Natural Language Processing. Hidden Markov Models

10/17/04. Today s Main Points

A brief introduction to Conditional Random Fields

Hidden Markov Models

Lecture 12: Algorithms for HMMs

LECTURER: BURCU CAN Spring

Graphical models for part of speech tagging

CMSC 723: Computational Linguistics I Session #5 Hidden Markov Models. The ischool University of Maryland. Wednesday, September 30, 2009

Log-Linear Models, MEMMs, and CRFs

Midterm sample questions

Intelligent Systems (AI-2)

Basic Text Analysis. Hidden Markov Models. Joakim Nivre. Uppsala University Department of Linguistics and Philology

INF4820: Algorithms for Artificial Intelligence and Natural Language Processing. Hidden Markov Models

CSCI 5832 Natural Language Processing. Today 2/19. Statistical Sequence Classification. Lecture 9

A gentle introduction to Hidden Markov Models

Intelligent Systems (AI-2)

with Local Dependencies

Lecture 9: Hidden Markov Model

Statistical methods in NLP, lecture 7 Tagging and parsing

Statistical Methods for NLP

Conditional Random Fields

INF4820: Algorithms for Artificial Intelligence and Natural Language Processing. Language Models & Hidden Markov Models

HMM and Part of Speech Tagging. Adam Meyers New York University

IN FALL NATURAL LANGUAGE PROCESSING. Jan Tore Lønning

Hidden Markov Models in Language Processing

Hidden Markov Models

Statistical Methods for NLP

Conditional Random Fields and beyond DANIEL KHASHABI CS 546 UIUC, 2013

Predicting Sequences: Structured Perceptron. CS 6355: Structured Prediction

Hidden Markov Models (HMMs)

Maxent Models and Discriminative Estimation

Lecture 13: Discriminative Sequence Models (MEMM and Struct. Perceptron)

10 : HMM and CRF. 1 Case Study: Supervised Part-of-Speech Tagging

Sequence labeling. Taking collective a set of interrelated instances x 1,, x T and jointly labeling them

CS460/626 : Natural Language Processing/Speech, NLP and the Web (Lecture 8 POS tagset) Pushpak Bhattacharyya CSE Dept., IIT Bombay 17 th Jan, 2012

Lecture 5 Neural models for NLP

Fun with weighted FSTs

Hidden Markov Models

Log-Linear Models for Tagging (Maximum-entropy Markov Models (MEMMs)) Michael Collins, Columbia University

What s an HMM? Extraction with Finite State Machines e.g. Hidden Markov Models (HMMs) Hidden Markov Models (HMMs) for Information Extraction

Lecture 3: ASR: HMMs, Forward, Viterbi

Probabilistic Graphical Models: MRFs and CRFs. CSE628: Natural Language Processing Guest Lecturer: Veselin Stoyanov

Text Mining. March 3, March 3, / 49

Partially Directed Graphs and Conditional Random Fields. Sargur Srihari

CSE 490 U Natural Language Processing Spring 2016

Machine Learning for natural language processing

Statistical NLP: Hidden Markov Models. Updated 12/15

Conditional Random Field

COMP90051 Statistical Machine Learning

Probabilistic Models for Sequence Labeling

CSC401/2511 Spring CSC401/2511 Natural Language Computing Spring 2019 Lecture 5 Frank Rudzicz and Chloé Pou-Prom University of Toronto

A.I. in health informatics lecture 8 structured learning. kevin small & byron wallace

STA 414/2104: Machine Learning

Statistical Processing of Natural Language

Undirected Graphical Models

NLP Programming Tutorial 11 - The Structured Perceptron

The Noisy Channel Model and Markov Models

POS-Tagging. Fabian M. Suchanek

Hidden Markov Models

Bowl Maximum Entropy #4 By Ejay Weiss. Maxent Models: Maximum Entropy Foundations. By Yanju Chen. A Basic Comprehension with Derivations

Dept. of Linguistics, Indiana University Fall 2009

Hidden Markov Models

Hidden Markov Models and Gaussian Mixture Models

Directed Probabilistic Graphical Models CMSC 678 UMBC

Dynamic Programming: Hidden Markov Models

Tagging Problems, and Hidden Markov Models. Michael Collins, Columbia University

Natural Language Processing

Sequential Data Modeling - The Structured Perceptron

Part-of-Speech Tagging

Recap: HMM. ANLP Lecture 9: Algorithms for HMMs. More general notation. Recap: HMM. Elements of HMM: Sharon Goldwater 4 Oct 2018.

Data-Intensive Computing with MapReduce

STA 4273H: Statistical Machine Learning

Machine Learning for natural language processing

Machine Learning for Structured Prediction

Applied Natural Language Processing

Statistical Machine Learning Theory. From Multi-class Classification to Structured Output Prediction. Hisashi Kashima.

Natural Language Processing : Probabilistic Context Free Grammars. Updated 5/09

Probabilistic Context-free Grammars

Conditional Random Fields: An Introduction

Sequences and Information

Intelligent Systems (AI-2)

Language Processing with Perl and Prolog

Expectation Maximization (EM)

Machine Learning & Data Mining Caltech CS/CNS/EE 155 Hidden Markov Models Last Updated: Feb 7th, 2017

TnT Part of Speech Tagger

LING 473: Day 10. START THE RECORDING Coding for Probability Hidden Markov Models Formal Grammars

CSE 447/547 Natural Language Processing Winter 2018

order is number of previous outputs

Transcription:

http://courses.engr.illinois.edu/cs447 Lecture 7: Sequence Labeling Julia Hockenmaier juliahmr@illinois.edu 3324 Siebel Center

Recap: Statistical POS tagging with HMMs (J. Hockenmaier) 2

Recap: Statistical POS tagging She promised to back the bill w = w (1) w (2) w (3) w (4) w (5) w (6) t = t (1) t (2) t (3) t (4) t (5) t (6) PRP VBD TO VB DT NN What is the most likely sequence of tags t= t (1) t (N) for the given sequence of words w= w (1) w (N)? t* = argmaxt P(t w) (J. Hockenmaier) 3

POS tagging with generative models argmaxp(t w) = argmax t t P(t,w) P(w) = argmax P(t,w) P(t,w): the joint distribution of the labels we want to predict (t) and the observed data (w). We decompose P(t,w) into P(t) and P(w t) since these distributions are easier to estimate. Models based on joint distributions of labels and observed data are called generative models: think of P(t)P(w t) as a stochastic process that first generates the labels, and then generates the data we see, based on these labels. t = argmax P(t)P(w t) t (J. Hockenmaier) 4

Hidden Markov Models (HMMs) HMMs are generative models for POS tagging (and other tasks, e.g. in speech recognition) Independence assumptions of HMMs P(t) is an n-gram model over tags: Bigram HMM: P(t) = P(t (1) )P(t (2) t (1) )P(t (3) t (2) ) P(t (N) t (N-1) ) Trigram HMM: P(t) = P(t (1) )P(t (2) t (1) )P(t (3) t (2),t (1) ) P(t (n) t (N-1),t (N-2) ) P(ti tj) or P(ti tj,tk) are called transition probabilities In P(w t) each word is generated by its own tag: P(w t) = P(w (1) t (1) )P(w (2) t (2) ) P(w (N) t (N) ) P(w t) are called emission probabilities (J. Hockenmaier) 5

Viterbi algorithm Task: Given an HMM, return most likely tag sequence t (1) t (N) for a given word sequence (sentence) w (1) w (N) Data structure (Trellis): N T table for sentence w (1) w (N) and tag set {t1, tt}. Cell trellis[i][j] stores score of best tag sequence for w (1) w (j) that ends in tag tj and a backpointer to the cell corresponding to the tag of the preceding word trellis[i 1][k] Basic procedure: Fill trellis from left to right Initalize trellis[1][k] := P(tk) P(w (1) tk) For trellis[i][j]: - Find best preceding tag k* = argmax k(trellis[i 1][k] P(tj tk)), - Add backpointer from trellis[i][j] to trellis[i 1][k*]; - Set trellis[i][j] := trellis[i 1][k*] P(t j tk*) P(w (i) tj) Return tag sequence that ends in the highest scoring cell argmaxk(trellis[n][k]) in the last column (J. Hockenmaier) 6

Viterbi: At any given cell - For each cell in the preceding column: multiply its entry with the transition probability to the current cell. - Keep a single backpointer to the best (highest scoring) cell in the preceding column - Multiply this score with the emission probability of the current word t1 w (n-1) P(w (1..n-1), t (n-1) =t1)...... ti P(w (1..n-1), t (n-1) =ti)...... tn P(w (1..n-1), t n-1 =ti) P(ti t1) P(ti ti) P(ti tn) w (n) trellis[n][i] = P(w (n) ti) Max(trellis[n-1][j]P(ti ti)) (J. Hockenmaier) 7

Other HMM algorithms The Forward algorithm: Computes P(w) by replacing Viterbi s max() with sum() Learning HMMs from raw text with the EM algorithm: -We have to replace the observed counts (from labeled data) with expected counts (according to the current model) -Renormalizing these expected counts will give a new model -This will be better than the previous model, but we will have to repeat this multiple times to get to decent model The Forward-Backward algorithm: A dynamic programming algorithm for computing the expected counts of tag bigrams and word-tag occurrences in a sentence under a given HMM (J. Hockenmaier) 8

Sequence labeling (J. Hockenmaier) 9

POS tagging Pierre Vinken, 61 years old, will join IBM s board as a nonexecutive director Nov. 29. Pierre_NNP Vinken_NNP,_, 61_CD years_nns old_jj,_, will_md join_vb IBM_NNP s_pos board_nn as_in a_dt nonexecutive_jj director_nn Nov._NNP 29_CD._. Task: assign POS tags to words 10

Noun phrase (NP) chunking Pierre Vinken, 61 years old, will join IBM s board as a nonexecutive director Nov. 29. [NP Pierre Vinken], [NP 61 years] old, will join [NP IBM] s [NP board] as [NP a nonexecutive director] [NP Nov. 2]. Task: identify all non-recursive NP chunks 11

The BIO encoding We define three new tags: B-NP: beginning of a noun phrase chunk I-NP: inside of a noun phrase chunk O: outside of a noun phrase chunk [NP Pierre Vinken], [NP 61 years] old, will join [NP IBM] s [NP board] as [NP a nonexecutive director] [NP Nov. 2]. Pierre_B-NP Vinken_I-NP,_O 61_B-NP years_i-np old_o,_o will_o join_o IBM_B-NP s_o board_b-np as_o a_b-np nonexecutive_i-np director_i-np Nov._B-NP 29_I-NP._O 12

Shallow parsing Pierre Vinken, 61 years old, will join IBM s board as a nonexecutive director Nov. 29. [NP Pierre Vinken], [NP 61 years] old, [VP will join] [NP IBM] s [NP board] [PP as] [NP a nonexecutive director] [NP Nov. 2]. Task: identify all non-recursive NP, verb ( VP ) and preposition ( PP ) chunks 13

The BIO encoding for shallow parsing We define several new tags: B-NP B-VP B-PP: beginning of an NP, VP, PP chunk I-NP I-VP I-PP: inside of an NP, VP, PP chunk O: outside of any chunk [NP Pierre Vinken], [NP 61 years] old, [VP will join] [NP IBM] s [NP board] [PP as] [NP a nonexecutive director] [NP Nov. 2]. Pierre_B-NP Vinken_I-NP,_O 61_B-NP years_i-np old_o,_o will_b-vp join_i-vp IBM_B-NP s_o board_b-np as_b-pp a_b-np nonexecutive_i-np director_i-np Nov._B- NP 29_I-NP._O 14

Named Entity Recognition Pierre Vinken, 61 years old, will join IBM s board as a nonexecutive director Nov. 29. [PERS Pierre Vinken], 61 years old, will join [ORG IBM] s board as a nonexecutive director [DATE Nov. 2]. Task: identify all mentions of named entities (people, organizations, locations, dates) 15

The BIO encoding for NER We define many new tags: B-PERS, B-DATE, : beginning of a mention of a person/date... I-PERS, I-DATE, : inside of a mention of a person/date... O: outside of any mention of a named entity [PERS Pierre Vinken], 61 years old, will join [ORG IBM] s board as a nonexecutive director [DATE Nov. 2]. Pierre_B-PERS Vinken_I-PERS,_O 61_O years_o old_o,_o will_o join_o IBM_B-ORG s_o board_o as_o a_o nonexecutive_o director_o Nov._B-DATE 29_I-DATE._O 16

Many NLP tasks are sequence labeling tasks Input: a sequence of tokens/words: Pierre Vinken, 61 years old, will join IBM s board as a nonexecutive director Nov. 29. Output: a sequence of labeled tokens/words: POS-tagging: Pierre_NNP Vinken_NNP,_, 61_CD years_nns old_jj,_, will_md join_vb IBM_NNP s_pos board_nn as_in a_dt nonexecutive_jj director_nn Nov._NNP 29_CD._. Named Entity Recognition: Pierre_B-PERS Vinken_I-PERS,_O 61_O years_o old_o,_o will_o join_o IBM_B-ORG s_o board_o as_o a_o nonexecutive_o director_o Nov._B-DATE 29_I-DATE._O 17

Graphical models for sequence labeling CS447 Natural Language Processing 18

Directed graphical models Graphical models are a notation for probability models. In a directed graphical model, each node represents a distribution over a random variable: P(X) = X Arrows represent dependencies (they define what other random variables the current node is conditioned on) P(Y) P(X Y ) = Y X P(Y) P(Z) P(X Y, Z) = Y Z X Shaded nodes represent observed variables. White nodes represent hidden variables P(Y) P(X Y) with Y hidden and X observed = Y X 19

HMMs as graphical models HMMs are generative models of the observed input string w They generate w with P(w,t) = ip(t (i) t (i 1) )P(w (i) t (i) ) When we use an HMM to tag, we observe w, and need to find t t (1) t (2) t (3) t (4) w (1) w (2) w (3) w (4)

Models for sequence labeling Sequence labeling: Given an input sequence w = w (1) w (n), predict the best (most likely) label sequence t = t (1) t (n) Generative models use Bayes Rule: argmax t P(t w) argmaxp(t w) = argmax t t P(t,w) P(w) = argmax P(t,w) t = argmax P(t)P(w t) t Discriminative (conditional) models model P(t w) directly 21

Advantages of discriminative models We re usually not really interested in P(w t). w is given. We don t need to predict it! Why not model what we re actually interested in: P(t w) Modeling P(w t) well is quite difficult: Prefixes (capital letters) or suffixes are good predictors for certain classes of t (proper nouns, adverbs, ) Se we don t want to model words as atomic symbols, but in terms of features These features may also help us deal with unknown words But features may not be independent Modeling P(t w) with features should be easier: Now we can incorporate arbitrary features of the word, because we don t need to predict w anymore 22

Discriminative probability models A discriminative or conditional model of the labels t given the observed input string w models P(t w) = ip(t (i) w (i), t (i 1) ) directly. t (1) t (2) t (3) t (4) w (1) w (2) w (3) w (4)

Discriminative models There are two main types of discriminative probability models: Maximum Entropy Markov Models (MEMMs) Conditional Random Fields (CRFs) MEMMs and CRFs: are both based on logistic regression have the same graphical model require the Viterbi algorithm for tagging differ in that MEMMs consist of independently learned distributions, while CRFs are trained to maximize the probability of the entire sequence

Probabilistic classification Classification: Predict a class (label) c for an input x There are only a (small) finite number of possible class labels Probabilistic classification: Model the probability P( c x) P(c x) is a probability if 0 P (ci x) 1, and ip( ci x) = 1 Return the class c* = argmax i P (c i x) that has the highest probability One standard way to model P( c x) is logistic regression (used by MEMMs and CRFs) 25

Using features Think of feature functions as useful questions you can ask about the input x: Binary feature functions: ffirst-letter-capitalized(urbana) = 1 ffirst-letter-capitalized(computer) = 0 Integer (or real-valued) features: fnumber-of-vowels(urbana) = 3 Which specific feature functions are useful will depend on your task (and your training data). 26

From features to probabilities We associate a real-valued weight wic with each feature function fi(x) and output class c Note that the feature function fi(x) does not have to depend on c as long as the weight does (note the double index wic) This gives us a real-valued score for predicting class c for input x: score(x,c) = iwic fi(x) This score could be negative, so we exponentiate it: score(x,c) = exp( iwic fi(x)) To get a probability distribution over all classes c, we renormalize these scores: P(c x) = score(x,c) j score(x,cj) = exp( iwic fi(x)) j exp( iwij fi(x)) 27

Learning: finding w Learning = finding weights w We use conditional maximum likelihood estimation (and standard convex optimization algorithms) to find/learn w (for more details, attend CS446 and CS546) The conditional MLE training objective: Find the w that assigns highest probability to all observed outputs ci given the inputs xi ŵ = arg max w i P(c i x i,w) x w 28

Terminology Models that are of the form P(c x) = score(x,c) j score(x,c j ) = exp( iwic fi(x)) j exp( iwij fi(x)) are also called loglinear models, Maximum Entropy (MaxEnt) models, or multinomial logistic regression models. CS446 and CS546 should give you more details about these. The normalizing term j exp( iwij fi(x)) is also called the partition function and is often abbreviated as Z (J. Hockenmaier) 29

Maximum Entropy Markov Models MEMMs use a MaxEnt classifier for each P(t (i) w (i), t (i 1) ): t (i 1) t (i) w (i) Since we use w to refer to words, let s use λjk as the weight for the feature function f j (t (i 1), w (i) ) when predicting tag t k : P(t (i) = t k t (i 1),w (i) )= exp( Â j l jk f j (t (i 1),w (i) ) Â l exp(â j l jl f j (t (i 1),w (i) )

Viterbi for MEMMs trellis[n][i] stores the probability of the most likely (Viterbi) tag sequence t (1) (n) that ends in tag t i for the prefix w (1) w (n) Remember that we do not generate w in MEMMs. So: trellis[n][i] = max t (1)..(n 1)[ P(t (1) (n 1), t (n) =t i w (1) (n) ) ] = maxj [ trellis[n 1][j] P(t i t j, w (n) ) ] = maxj [max t (1)..(n 2)[P(t (1)..(n 2), t (n 1) =t j w (1)..(n 1) )] P(t i t j,w (n) )] w (n 1) t 1 max t (1)..(n 2) P(t (1)..(n 2), t (n 1) =t 1 w (1)..(n 1) )...... t i max t (1)..(n 2) P(t (1)..(n 2), t (n 1) =t i w (1)..(n 1) )...... t T max t (1)..(n 2) P(t (1)..(n 2), t (n 1) =t T w (1)..(n 1) ) P(t i t 1,w (n) ) P(t i t i,w (n) ) P(t i tt,w (n) ) w (n) trellis[n][i] = maxj[trellis[n 1][j] P(ti tj, w (n) )] (J. Hockenmaier) 31

Today s key concepts Sequence labeling tasks: POS tagging NP chunking Shallow Parsing Named Entity Recognition Discriminative models: Maximum Entropy classifiers MEMMs 32

Supplementary material: Other HMM algorithms (very briefly ) (J. Hockenmaier) 33

The Forward algorithm trellis[n][i] stores the probability mass of all tag sequences t (1) (n) that end in tag t i for the prefix w (1) w (n) trellis[n][i] = t (1)..(n 1)[ P(w (1) (n), t (1) (n 1), t (n) =t i ) ] = j [ trellis[n 1][j] P(t i t j ) ] P( w (n) t i ) = j [ t (1)..(n 2)[P(w (1)..(n 1),t (1)..(n 2),t (n 1) =t j )] P(t i t j )] P(w (n) t i ) w (n 1) t 1 t (1)..(n 2) P(w (1)..(n 1), t (1)..(n 2), t (n 1) =t 1 )...... t i t (1)..(n 2) P(w (1)..(n 1), t (1)..(n 2), t (n 1) =t i )...... t T t (1)..(n 2) P(w (1)..(n 1), t (1)..(n 2), t (n 1) =t T ) P(t i t 1 ) P(t i t i ) P(ti t T ) w (n) trellis[n][i] = P(w (n) ti) j[trellis[n 1][j] P(ti tj)] Last step: computing P(w): P(w (1) (N) ) = j trellis[n][j] (J. Hockenmaier) 34

Learning an HMM from unlabeled text Pierre Vinken, 61 years old, will join the board as a nonexecutive director Nov. 29. Tagset: NNP: proper noun CD: numeral, JJ: adjective,... We can t count anymore. We have to guess how often we d expect to see titj etc. in our data set. Call this expected count C( ) - Our estimate for the transition probabilities: ˆP (t j t i ) = C(t it j ) C(t i ) -Our estimate for the emission probabilities: ˆP (w j t i ) = C(w j t i ) C(t i ) -Our estimate for the initial state probabilities: p(t i )= hc(tag of first word = t i)i Number of sentences (J. Hockenmaier) 35

Expected counts Emission probabilities with observed counts C(w, t) P(w t) = C(w, t) C(t) = C(w, t) w C(w, t) Emission probabilities with expected counts C(w, t) P(w t) = C(w, t) C(t) = C(w, t) w C(w, t) C(w, t) : How often do we expect to see word w with tag t in our training data (under a given HMM)? We know how often the word w appears in the data, but we don t know how often it appears with tag t We need to sum up C(w (i) =w, t) for any occurrence of w We can show that C(w (i) =w, t) = P(t (i) =t w) (NB: Transition counts C(t (i) =t, t (i+1) =t ) work in a similar fashion) (J. Hockenmaier) 36

Forward-Backward: P(t (i) =t w (1)..(N) ) P( t (i) =t w (1) (N) ) = P( t (i) =t, w (1) (N) ) P(w (1) (N) ) w (1) (N) = w (1) (i) w (i+1) (N) Due to HMM s independence assumptions: P( t (i) =t, w (1) (N) ) = P(t (i) =t, w (1) (i) ) P(w (i+1)...(n) t (i) =t) The forward algorithm gives P(w (1) (N) ) = t forward[n][t] Forward trellis: forward[i][t] = P(t (i) =t, w (1) (i) ) Gives the total probability mass of the prefix w (1) (i), summed over all tag sequences t (1) (i) that end in tag t (i) =t Backward trellis: backward[i][t] = P(w (i+1)...(n) t (i) =t) Gives the total probability mass of the suffix w (i+1) (N), summed over all tag sequences t (i+1) (N), if we assign tag t (i) =t to w (i) (J. Hockenmaier) 37

The Backward algorithm The backward trellis is filled from right to left. backward[i][t] provides P(w (i+1)...(n) t (i) =t) NB: tbackward[1][t] = P(w (i+1) (N) ) = tforward[n][t] Initialization (last column): backward[n][t] = 1 Recursion (any other column): backward[i][t] = t P(t t) P(w (i+1) t ) backward[i+1][t ] t1... t... tt w (1)... w (i-1) w (i) w (i+1)... w (N) CS447 Natural Language Processing 38

How do we compute C(ti) wj t1... t... tt w (1)... w (i-1) w (i) w (i+1)... w (N) C(t,w (i) ) w = P(t (i) =t, w)/p(w) with P(t (i) =t, w) = forward[i][t] backward[i][t] P(w) = t forward[n][t] CS447 Natural Language Processing 39

The importance of tag dictionaries Forward-Backward assumes that each tag can be assigned to any word. No guarantee that the learned HMM bears any resemblance to the tags we want to get out of a POS tagger. A tag dictionary lists the possible POS tags for words. Even a partial dictionary that lists only the tags for the most common words and contains at least a few words for each tag provides enough constraints to get significantly closer to a model that produces linguistically correct (and hence useful) POS tags. a DT back JJ, NN, VB, VBP, RP an DT bank NN, VB, VBP and CC America NNP zebra NN (J. Hockenmaier) 40