N-gram Language Models
CMSC 723 / LING 723 / INST 725 MARINE CARPUAT
marine@cs.umd.edu
N-gram Language Models CMSC 723 / LING 723 / INST 725 M ARINE C - - PowerPoint PPT Presentation
N-gram Language Models CMSC 723 / LING 723 / INST 725 M ARINE C ARPUAT marine@cs.umd.edu Roadmap Wrap up unsupervised learning EM Modeling Sequences First example: language model What are n-gram models? How to estimate
CMSC 723 / LING 723 / INST 725 MARINE CARPUAT
marine@cs.umd.edu
– (Dempster et al. 1977) – Guaranteed to make objective L increase
– Initialization matters!
– When to stop? – Random restarts – Can use add-one (add-alpha) smoothing in M-step
F = a lower bound on the log likelihood, which is a function of (1) model parameters p(k) and p(w|k) (2) auxiliary distributions Qi
Kullback-Leibler divergence between 2 distributions Qi(k) and P(k|di) Non-negative and equal to zero if distributions are equal!
Likelihood of the data as if we had
Entropy of Qi which is independent of the parameters
– Machine Translation:
» P(high winds tonite) > P(large winds tonite)
– Spell Correction
» The office is about fifteen minuets from my house
– Speech Recognition
» P(I saw a van) >> P(eyes awe of an)
– + Summarization, question-answering, etc., etc.!!
Word Freq. Use the 3332 determiner (article) and 2972 conjunction a 1775 determiner to 1725 preposition, verbal infinitive marker
1440 preposition was 1161 auxiliary verb it 1027 (personal/expletive) pronoun in 906 preposition
from Manning and Shütze
Word Freq.
1 3993 2 1292 3 664 4 410 5 243 6 199 7 172 8 131 9 82 10 91 11-50 540 50-100 99 > 100 102
from Manning and Shütze
– the 50th most common word should occur three times more often than the 150th most common word
f = frequency r = rank c = constant
Graph illustrating Zipf’s Law for the Brown corpus
from Manning and Shütze
p(B|A) = P(A,B)/P(A)
P(A,B,C,D) = P(A)P(B|A)P(C|A,B)P(D|A,B,C)
i
Andrei Markov
i
fifth, an, of, futures, the, an, incorporated, a, a, the, inflation, most, dollars, quarter, in, is, mass thrift, did, eighty, said, hard, 'm, july, bullish that, or, limited, the Some automatically generated sentences from a unigram model
i
Condition on the previous word:
texaco, rose, one, in, this, issue, is, pursuing, growth, in, a, boiler, house, said, mr., gurria, mexico, 's, motion, control, proposal, without, permission, from, five, hundred, fifty, five, yen
this, would, be, a, record, november
– because language has long-distance dependencies: “The computer which I had just put into the machine room
<s> I am Sam </s> <s> Sam I am </s> <s> I do not like green eggs and ham </s>
…
P(w | denied the) 3 allegations 2 reports 1 claims 1 request 7 total P(w | denied the) 2.5 allegations 1.5 reports 0.5 claims 0.5 request 2 other 7 total
allegations reports claims
attack
request
man
allegations
attack man
allegations reports
claims
request
From Dan Klein
MLE(wi | wi-1) = c(wi-1,wi)
Add-1(wi | wi-1) = c(wi-1,wi)+1
– Fix the N-gram probabilities (on the training data) – Then search for λs that give largest probability to held-out set:
Held-Out Data Test Data
logP(w1...wn | M(l1...lk)) = logP
M (l1...lk )(wi | wi-1) i
– Vocabulary V is fixed – Closed vocabulary task
– Out Of Vocabulary = OOV words – Open vocabulary task
– Training of <UNK> probabilities
and we train its probabilities like a normal word
– At decoding time
48
S(wi | wi-k+1
i-1 ) =
count(wi-k+1
i
) count(wi-k+1
i-1 )
if count(wi-k+1
i
) > 0 0.4S(wi | wi-k+2
i-1 ) otherwise
ì í ï ï î ï ï
S(wi) = count(wi) N
– OK for text categorization, not for language modeling
– Interpolation and back-off (advanced: Kneser-Ney)
– Stupid backoff
49
– Assign higher probability to “real” or “frequently observed” sentences
I always order pizza with cheese and ____ The 33rd President of the US was ____ I saw a ____
mushrooms 0.1 pepperoni 0.1 anchovies 0.01 …. fried rice 0.0001 …. and 1e-100
Perplexity is the inverse probability of the test set, normalized by the number of words: Chain rule: For bigrams: Minimizing perplexity is the same as maximizing probability
The best language model is one that best predicts an unseen test set
PP(W) = P(w1w2...wN )
N
= 1 P(w1w2...wN )
N