25
Natural Language Processing Lecture 9: Classifcaton

Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

Natural Language Processing

Lecture 9: Classifcaton

Page 2: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

Classifcaton

Page 3: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

Notaton

• Training examples: x = (x1, x2, ..., xN)

• Their categories: y = (y1, y2, ..., yN)

• A classifer C seeks to map xi to yi

• A learner L infers C from (x, y)x

yL C

Cx y

Page 4: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

Probabilistc Classifers

Cx y

return arg maxy’ p(y’ | x)

Page 5: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

Noisy Channel Model (General)

sourcesource

channel

y x

decode

p(y)p(x | y)

What proporton of emails are expectedto be spam vs. not spam?

What proporton of product reviews areexpected to get 1,2,3,4,5 stars?

Page 6: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

Noisy Channel Classifers

Cx y

returnargmaxy p(y) × p(x | y)

Page 7: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

Representng Text: Features

• Any object you might be given to classify can be represented as a vector in a vector space– Vectors of representng text are ofen sparse and

high-dimensional

• Designing Φ (“Feature engineering”)– What informaton do you need to solve the

problem?

– What informaton do you need to avoid mistakes?

– Very common: bag-of-words

Page 8: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

Naïve Bayes Classifer

Cx y

ϕj ← [Φ(x)]j

return argmaxy’ p(y’)×Πj p(ϕj | y’)

Page 9: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

Naïve Bayes Learner

x

y

L

p∀y, p(y)

∀y, ∀j, ∀f, p(ϕj(x) = f | y)

Page 10: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

Linear Classifers

C:

1. Use Φ(x) to map x onto a real-valued feature space.

2. Calculate the linear score z = w ᵀ Φ(x).

3. If z > 0, then return y = YES, else y = NO.

Cx y

Page 11: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

Linear Classifers

Cx y

Page 12: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

Linear Classifers

Cx y

u : wᵀu =

0

w

Page 13: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

Linear Classifers

Cx y

u : w

ᵀu =

0

w

Page 14: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

Linear Classifers

Cx y

u : w

ᵀu =

0

Page 15: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

Linear Classifers (> 2 Classes)

Cx y

returnarg maxy w ᵀ Φ(x, y)

Page 16: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM

Perceptron Learner

x

y

L

w

w ← 0for t = 1 ... T:

select (xt, yt)# run current classifery ← arg maxy’ w ᵀ Φ(x, y’)

if y != yt then # mistakew ← w + α [Φ(xt, yt) − Φ(xt, y)]

return w

Page 17: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM
Page 18: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM
Page 19: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM
Page 20: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM
Page 21: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM
Page 22: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM
Page 23: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM
Page 24: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM
Page 25: Natural Language Processingdemo.clab.cs.cmu.edu/NLP/S20/files/slides/09...Natural Language Processing Author Noah Smith Created Date 2/11/2020 1:59:23 PM