Computational Linguistics 5, Exercise 1: what follows "strong" Code (run with py -X utf8, after the chapter's script): print(uni["strong"], sorted(nxt["strong"], reverse=True)) where nxt maps each word to a list of (count, next word) pairs built from bi. Output from the run: 3 [(2, 'tea'), (1, 'winds')] So "strong" occurs 3 times: followed by "tea" twice and "winds" once. P(tea | strong) = 2/3 = 0.667 and P(winds | strong) = 1/3 = 0.333. (The fractions are my arithmetic from the printed counts.) With only the single sentence "Strong tea warmed the keeper": "strong" occurs once and is followed by "tea" once, so P(tea | strong) = 1/1 = 1.0 and every other word has probability 0. The model would be certain, because it has seen one example. That is the data sparsity problem from the chapter: a count of one looks like a rule.