コード例 #1
0
        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 };
        }
コード例 #2
0
        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 };
        }
コード例 #3
0
    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 });
    }