POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad.

14
POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad

Transcript of POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad.

Page 1: POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad.

POS Tagging & Chunking

Sambhav JainLTRC, IIIT Hyderabad

Page 2: POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad.

POS Tagging - Introduction

• Need for POS Tag ?– Assigning category which are < Vocab– Essential for systems– Has grammatical information

2POS Tagging and Chunking

Page 3: POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad.

Building a POS Tagger

• Rule Based Approaches– Come up with rules– Eg. Substitution: The {sad,green,fat,old} one in the garden.

• Statistical Learning / Machine Learning– Make machine learn automatically from annotated

instances– Unsupervised - Baum Welch

• Pros/Cons of each approach

3POS Tagging and Chunking

Page 4: POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad.

Machine Learning ---- ???

How can machine learn from examples

(on Board)

4POS Tagging and Chunking

Page 5: POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad.

Problem Statement

• Given W = w0 w1 w2 w3 w4 w5 w6 w7 • Find T = t1 t2 t3 t4 t5 t6 t7

ORThat T for which• P(T/W) should be maximum

5POS Tagging and Chunking

Page 6: POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad.

Hidden Markov Models

• P(T/W) = P(W/T)*P(T)/P(W)

• T= ArgmaxT P(W/T)*P(T)/P(W) = ArgmaxT P(W/T)*P(T)• P(W/T) = P(w0 w1 w2 w3 w4 w5 w6 w7 / t1 t2 t3 t4 t5 t6 t7 )

• (On Board) – • Chain Rule• Markov Assumption

6POS Tagging and Chunking

Page 7: POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad.

Hidden Markov Models

• How can we learn these values form annotated corpus.

• Emission Matrix• Transition Matrix

• Example (on Board)

7POS Tagging and Chunking

Page 8: POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad.

Hidden Markov Models

• Given Emission/Transition Matrix– Tag a new sequence – Complexity

• Viterbi Algorithm - DecodingExample (On Board)

8POS Tagging and Chunking

Page 9: POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad.

Viterbi Algorithm (Decoding)• Most probable tag sequence given text:

T* = arg maxT Pλ(T | W)

= arg maxT Pλ(W | T) Pλ(T) / Pλ(W)(Bayes’ Theorem)

= arg maxT Pλ(W | T) Pλ(T)(W is constant for all T)

= arg maxT i[a(ti-1ti) b(wi | ti) ]= arg maxT i log[a(ti-1ti) b(wi | ti) ]

9POS Tagging and Chunking

Page 10: POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad.

t1

t2

t3

w1

t1

t2

t3

w2

t1

t2

t3

w3

t0

A(,) t1 t2 t3

t0 0.005 0.02 0.1

t1 0.02 0.1 0.005

t2 0.5 0.0005 0.0005

t3 0.05 0.05 0.005

B(,) w1 w2 w3

t1 0.2 0.005 0.005

t2 0.02 0.2 0.0005

t3 0.02 0.02 0.05

10POS Tagging and Chunking

Page 11: POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad.

-log A t1 t2 t3

t0 2.3 1.7 1

t1 1.7 1 2.3

t2 0.3 3.3 3.3

t3 1.3 1.3 2.3

-log B w1 w2 w3

t1 0.7 2.3 2.3

t2 1.7 0.7 3.3

t3 1.7 1.7 1.3

t1

t2

t3

w1

t1

t2

t3

w2

t1

t2

t3

w3

t0

-1.7

-0.3

-1.3

-3

-3.4

-2.7

-2.3

-1.7

-1

-6

-4.7

-6.7

-1.7

-0.3

-1.3

-7.3

-9.3

-10.3

11POS Tagging and Chunking

Page 12: POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad.

Tools for POS Tagging

• It is a Sequence Labeling Task

• Tools– HMM based – TNT Tagger

• (http://www.coli.uni-saarland.de/~thorsten/tnt/)– CRF based – CRF++

• (http://crfpp.googlecode.com/svn/trunk/doc/index.html)

12POS Tagging and Chunking

Page 13: POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad.

CRF for Chunking

• (On Board)

• Tools – CRF++

• (http://crfpp.googlecode.com/svn/trunk/doc/index.html)

13POS Tagging and Chunking

Page 14: POS Tagging & Chunking Sambhav Jain LTRC, IIIT Hyderabad.

Understanding CRF Template# UnigramU00:%x[-2,0]U01:%x[-1,0]U02:%x[0,0]U03:%x[1,0]U04:%x[2,0]U05:%x[-1,0]/%x[0,0]U06:%x[0,0]/%x[1,0]

U10:%x[-2,1]U11:%x[-1,1]U12:%x[0,1]U13:%x[1,1]U14:%x[2,1]U15:%x[-2,1]/%x[-1,1]U16:%x[-1,1]/%x[0,1]U17:%x[0,1]/%x[1,1]U18:%x[1,1]/%x[2,1]

U20:%x[-2,1]/%x[-1,1]/%x[0,1]U21:%x[-1,1]/%x[0,1]/%x[1,1]U22:%x[0,1]/%x[1,1]/%x[2,1]

# BigramB

14POS Tagging and Chunking