I am creating an n-gram model that will predict the next word after an n-gram (probably unigram, bigram and trigram) as coursework.
I have seen lots of explanations about HOW to deal with zero probabilities for when an n-gram within the test data was not found in the training data. I understand how 'add-one' smoothing and some other techniques work.
However, I can find nothing about WHY we need to take actions such as these.
For instance, if the test data has "Peace begins with a Smile" and this was not in the training data, so when I supply the model with "Peace begins with a", it will not come up with "Smile" end word. It may provide others or none. If there are none or they have a low probability, then I would supply the shorter n-gram of "begins with a" and see what words and probabilities that provides. If that fails, then "with a" and so on.
I suspect I'm missing something but can't see what.
Please can you help?