Aim: To detect incorrect words and use one or more models to find suitable corrections for incorrect words
Tasks:
[1] Coordinates the creation of the word dictionary
[2] Creates training and test sets
[3] Executes training and builds up all the models
[4] Compares performance of all models on the test set
Contains all the functions for training according to the Kernighan, Church, Gale probabilistic Noisy Channel
Contains all the functions for training according to Unsupervised rules in Soo and Frieder
Contains all the functions for training according to the Ngram model
(Combination of Unsupervised Rules and N gram characters)
python3 main.py