language-spelling

Various tools to detect/correct mistakes in words

https://github.com/bitonic/language-spelling

Latest on Hackage:0.3.2

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

LicenseRef-PublicDomain licensed and maintained by Francesco Mazzoli ([email protected])

Haskell library meant to be a set of tools to correct spelling mistakes, homophones, and OCR errors.

Sample session:

ghci> :m + Language.Distance.Search.BK
ghci> distance "foo" "bar" :: Distance DamerauLevenshtein
3
ghci> let bk = foldr insert empty ["foo", "foa", "fooa", "ofo", "arstu", "nana", "faa"] :: BKTree String DamerauLevenshtein
ghci> query 0 "foo" bk
[("foo",Distance 0)]
ghci> query 2 "foo" bk
[("faa",Distance 2),("foa",Distance 1),("fooa",Distance 1),("foo",Distance 0),("ofo",Distance 1)]

TODO:

  • Phonetic algorithms: metaphone, double metaphone, maybe others

  • Tests and better benchmarking

  • Cost tuning when searching