private IEnumerable <string> Corrections(string word) { //if (corpus.Contains(word)) return new[]{ word }; if (corpus.Contains(word.ToLower())) { return new[] { "No Spelling mistake found" } } ; // { word }; var edits = Edits(word); var knownEdits = corpus.Known(edits); if (knownEdits.Any()) { return(knownEdits); } var secondPass = from e1 in edits from e2 in Edits(e1) where corpus.Contains(e2) select e2; return(secondPass.Any() ? secondPass : new[] { "No Suggestions Found" });// new[] { word }; }
public IEnumerable <string> Corrections(string word) { if (corpus.Contains(word)) { return new[] { word } } ; var edits = Edits(word); var knownEdits = corpus.Known(edits); if (knownEdits.Any()) { return(knownEdits .OrderByDescending(corpus.Rank)); } var secondPass = from e1 in edits from e2 in Edits(e1) where corpus.Contains(e2) select e2; return(secondPass.Any() ? secondPass.OrderByDescending(corpus.Rank) : null); //return secondPass.Any() ? secondPass : new[] { word }; }
private IEnumerable <string> Corrections(string word) { if (corpus.Contains(word)) { return new[] { word } } ; var edits = Edits(word); var knownEdits = corpus.Known(edits); if (knownEdits.Any()) { return(knownEdits); } var secondPass = from e1 in edits from e2 in Edits(e1) where corpus.Contains(e2) select e2; return(secondPass.Any() ? secondPass : new[] { word }); }