import java.util.HashSet; public class SpellCorrector { final private CorpusReader cr; final private ConfusionMatrixReader cmr; final char[] ALPHABET = "abcdefghijklmnopqrstuvwxyz'".toCharArray(); public SpellCorrector(CorpusReader cr, ConfusionMatrixReader cmr) { this.cr = cr; this.cmr = cmr; } public String correctPhrase(String phrase) { if (phrase == null || phrase.length() == 0) { throw new IllegalArgumentException("phrase must be non-empty."); } String[] words = phrase.split(" "); String finalSuggestion = ""; /** * CODE TO BE ADDED * */ return finalSuggestion.trim(); } public double calculateChannelModelProbability(String suggested, String incorrect) { /** * CODE TO BE ADDED * */ return 0.0; } public HashSet getCandidateWords(String word) { HashSet ListOfWords = new HashSet(); /** * CODE TO BE ADDED * */ return cr.inVocabulary(ListOfWords); } }