1 / 34

CS60057 Speech &Natural Language Processing

CS60057 Speech &Natural Language Processing. Autumn 2007. Lecture 6 3 August 2007. Simple N-Grams. Assume a language has V word types in its lexicon, how likely is word x to follow word y? Simplest model of word probability: 1/V

andie
Télécharger la présentation

CS60057 Speech &Natural Language Processing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS60057Speech &Natural Language Processing Autumn 2007 Lecture 6 3 August 2007 Natural Language Processing

  2. Simple N-Grams • Assume a language has V word types in its lexicon, how likely is word x to follow word y? • Simplest model of word probability: 1/V • Alternative 1: estimate likelihood of x occurring in new text based on its general frequency of occurrence estimated from a corpus (unigram probability) popcorn is more likely to occur than unicorn • Alternative 2: condition the likelihood of x occurring in the context of previous words (bigrams, trigrams,…) mythical unicorn is more likely than mythical popcorn Natural Language Processing

  3. N-grams • A simple model of language • Computes a probability for observed input. • Probability is the likelihood of the observation being generated by the same source as the training data • Such a model is often called a language model Natural Language Processing

  4. Computing the Probability of a Word Sequence • P(w1, …, wn) = P(w1).P(w2|w1).P(w3|w1,w2). … P(wn|w1, …,wn-1)P(the mythical unicorn) = P(the) P(mythical|the) P(unicorn|the mythical) • The longer the sequence, the less likely we are to find it in a training corpus P(Most biologists and folklore specialists believe that in fact the mythical unicorn horns derived from the narwhal) • Solution: approximate using n-grams Natural Language Processing

  5. Bigram Model • Approximate by • P(unicorn|the mythical) by P(unicorn|mythical) • Markov assumption: the probability of a word depends only on the probability of a limited history • Generalization: the probability of a word depends only on the probability of the n previous words • trigrams, 4-grams, … • the higher n is, the more data needed to train • backoff models Natural Language Processing

  6. Using N-Grams • For N-gram models •  • P(wn-1,wn) = P(wn | wn-1) P(wn-1) • By theChain Rulewe can decompose a joint probability, e.g. P(w1,w2,w3) P(w1,w2, ...,wn) = P(w1|w2,w3,...,wn) P(w2|w3, ...,wn) … P(wn-1|wn) P(wn) For bigrams then, the probability of a sequence is just the product of the conditional probabilities of its bigrams P(the,mythical,unicorn) = P(unicorn|mythical) P(mythical|the) P(the|<start>) Natural Language Processing

  7. The n-gram Approximation Assume each word depends only on the previous (n-1) words (n words total) For example for trigrams (3-grams): P(“the|… whole truth and nothing but”)  P(“the|nothing but”) P(“truth|… whole truth and nothing but the”)  P(“truth|but the”) Natural Language Processing

  8. n-grams, continued • How do we find probabilities? • Get real text, and start counting! • P(“the | nothing but”)  C(“nothing but the”) / C(“nothing but”) Natural Language Processing

  9. Unigram probabilities (1-gram) • http://www.wordcount.org/main.php • Most likely to transition to “the”, least likely to transition to “conquistador”. • Bigram probabilities (2-gram) • Given “the” as the last word, more likely to go to “conquistador” than to “the” again. Natural Language Processing

  10. N-grams for Language Generation • C. E. Shannon, ``A mathematical theory of communication,'' Bell System Technical Journal, vol. 27, pp. 379-423 and 623-656, July and October, 1948. Unigram: 5. …Here words are chosen independently but with their appropriate frequencies. REPRESENTING AND SPEEDILY IS AN GOOD APT OR COME CAN DIFFERENT NATURAL HERE HE THE A IN CAME THE TO OF TO EXPERT GRAY COME TO FURNISHES THE LINE MESSAGE HAD BE THESE. Bigram: 6. Second-order word approximation. The word transition probabilities are correct but no further structure is included. THE HEAD AND IN FRONTAL ATTACK ON AN ENGLISH WRITER THAT THE CHARACTER OF THIS POINT IS THEREFORE ANOTHER METHOD FOR THE LETTERS THAT THE TIME OF WHO EVER TOLD THE PROBLEM FOR AN UNEXPECTED. Natural Language Processing

  11. N-Gram Models of Language • Use the previous N-1 words in a sequence to predict the next word • Language Model (LM) • unigrams, bigrams, trigrams,… • How do we train these models? • Very large corpora Natural Language Processing

  12. Training and Testing • N-Gram probabilities come from a training corpus • overly narrow corpus: probabilities don't generalize • overly general corpus: probabilities don't reflect task or domain • A separate test corpus is used to evaluate the model, typically using standard metrics • held out test set; development test set • cross validation • results tested for statistical significance Natural Language Processing

  13. A Simple Example • P(I want to each Chinese food) = P(I | <start>) P(want | I) P(to | want) P(eat | to) P(Chinese | eat) P(food | Chinese) Natural Language Processing

  14. Eat on .16 Eat Thai .03 Eat some .06 Eat breakfast .03 Eat lunch .06 Eat in .02 Eat dinner .05 Eat Chinese .02 Eat at .04 Eat Mexican .02 Eat a .04 Eat tomorrow .01 Eat Indian .04 Eat dessert .007 Eat today .03 Eat British .001 A Bigram Grammar Fragment from BERP Natural Language Processing

  15. <start> I .25 Want some .04 <start> I’d .06 Want Thai .01 <start> Tell .04 To eat .26 <start> I’m .02 To have .14 I want .32 To spend .09 I would .29 To be .02 I don’t .08 British food .60 I have .04 British restaurant .15 Want to .65 British cuisine .01 Want a .05 British lunch .01 Natural Language Processing

  16. P(I want to eat British food) = P(I|<start>) P(want|I) P(to|want) P(eat|to) P(British|eat) P(food|British) = .25*.32*.65*.26*.001*.60 = .000080 • vs. I want to eat Chinese food = .00015 • Probabilities seem to capture ``syntactic'' facts, ``world knowledge'' • eat is often followed by an NP • British food is not too popular • N-gram models can be trained by counting and normalization Natural Language Processing

  17. I Want To Eat Chinese Food lunch I 8 1087 0 13 0 0 0 Want 3 0 786 0 6 8 6 To 3 0 10 860 3 0 12 Eat 0 0 2 0 19 2 52 Chinese 2 0 0 0 0 120 1 Food 19 0 17 0 0 0 0 Lunch 4 0 0 0 0 1 0 BERP Bigram Counts Natural Language Processing

  18. I Want To Eat Chinese Food Lunch 3437 1215 3256 938 213 1506 459 BERP Bigram Probabilities • Normalization: divide each row's counts by appropriate unigram counts for wn-1 • Computing the bigram probability of I I • C(I,I)/C(all I) • p (I|I) = 8 / 3437 = .0023 • Maximum Likelihood Estimation (MLE): relative frequency of e.g. Natural Language Processing

  19. What do we learn about the language? • What's being captured with ... • P(want | I) = .32 • P(to | want) = .65 • P(eat | to) = .26 • P(food | Chinese) = .56 • P(lunch | eat) = .055 • What about... • P(I | I) = .0023 • P(I | want) = .0025 • P(I | food) = .013 Natural Language Processing

  20. P(I | I) = .0023 I I I I want • P(I | want) = .0025 I want I want • P(I | food) = .013 the kind of food I want is ... Natural Language Processing

  21. Approximating Shakespeare • As we increase the value of N, the accuracy of the n-gram model increases, since choice of next word becomes increasingly constrained • Generating sentences with random unigrams... • Every enter now severally so, let • Hill he late speaks; or! a more to leg less first you enter • With bigrams... • What means, sir. I confess she? then all sorts, he is trim, captain. • Why dost stand forth thy canopy, forsooth; he is this palpable hit the King Henry. Natural Language Processing

  22. Trigrams • Sweet prince, Falstaff shall die. • This shall forbid it should be branded, if renown made it empty. • Quadrigrams • What! I will go seek the traitor Gloucester. • Will you not tell me who I am? Natural Language Processing

  23. There are 884,647 tokens, with 29,066 word form types, in about a one million word Shakespeare corpus • Shakespeare produced 300,000 bigram types out of 844 million possible bigrams: so, 99.96% of the possible bigrams were never seen (have zero entries in the table) • Quadrigrams worse: What's coming out looks like Shakespeare because it is Shakespeare Natural Language Processing

  24. N-Gram Training Sensitivity • If we repeated the Shakespeare experiment but trained our n-grams on a Wall Street Journal corpus, what would we get? • This has major implications for corpus selection or design Natural Language Processing

  25. Some Useful Empirical Observations • A small number of events occur with high frequency • A large number of events occur with low frequency • You can quickly collect statistics on the high frequency events • You might have to wait an arbitrarily long time to get valid statistics on low frequency events • Some of the zeroes in the table are really zeros But others are simply low frequency events you haven't seen yet. How to address? Natural Language Processing

  26. Smoothing Techniques • Every n-gram training matrix is sparse, even for very large corpora (Zipf’s law) • Solution: estimate the likelihood of unseen n-grams • Problems: how do you adjust the rest of the corpus to accommodate these ‘phantom’ n-grams? Natural Language Processing

  27. Smoothing Techniques • Every n-gram training matrix is sparse, even for very large corpora (Zipf’s law) • Solution: estimate the likelihood of unseen n-grams • Problems: how do you adjust the rest of the corpus to accommodate these ‘phantom’ n-grams? Natural Language Processing

  28. Add-one Smoothing • For unigrams: • Add 1 to every word (type) count • Normalize by N (tokens) /(N (tokens) +V (types)) • Smoothed count (adjusted for additions to N) is • Normalize by N to get the new unigram probability: • For bigrams: • Add 1 to every bigram c(wn-1 wn) + 1 • Incr unigram count by vocabulary size c(wn-1) + V Natural Language Processing

  29. Discount: ratio of new counts to old (e.g. add-one smoothing changes the BERP bigram (to|want) from 786 to 331 (dc=.42) and p(to|want) from .65 to .28) • But this changes counts drastically: • too much weight given to unseen ngrams • in practice, unsmoothed bigrams often work better! Natural Language Processing

  30. Witten-Bell Discounting • A zero ngram is just an ngram you haven’t seen yet…but every ngram in the corpus was unseen once…so... • How many times did we see an ngram for the first time? Once for each ngram type (T) • Est. total probability of unseen bigrams as • View training corpus as series of events, one for each token (N) and one for each new type (T) Natural Language Processing

  31. We can divide the probability mass equally among unseen bigrams….or we can condition the probability of an unseen bigram on the first word of the bigram • Discount values for Witten-Bell are much more reasonable than Add-One Natural Language Processing

  32. Good-Turing Discounting • Re-estimate amount of probability mass for zero (or low count) ngrams by looking at ngrams with higher counts • Estimate • E.g. N0’s adjusted count is a function of the count of ngrams that occur once, N1 • Assumes: • word bigrams follow a binomial distribution • We know number of unseen bigrams (VxV-seen) Natural Language Processing

  33. Backoff methods (e.g. Katz ‘87) • For e.g. a trigram model • Compute unigram, bigram and trigram probabilities • In use: • Where trigram unavailable back off to bigram if available, o.w. unigram probability • E.g An omnivorous unicorn Natural Language Processing

  34. Summary • N-gram probabilities can be used to estimate the likelihood • Of a word occurring in a context (N-1) • Of a sentence occurring at all • Smoothing techniques deal with problems of unseen words in a corpus Natural Language Processing

More Related