Collection of Smoothing Algorithms for Generative N-Gram Language Models
This course assignment in the NLP course was meant to give exposure to techniques in classical NLP. Particularly we implemented many smoothing algorithms for N-Gram Language Models which we trained on Harry Potter books to generate wizard-looking text. Check out the code for details on these algorithms that are often missing from most course offerings.
We implemented the following algorithms:
- Add-K
- Interpolation
- Katz-Backoff
- Good-Turing
- Kneser-Kney