The spelling-suggest package

[Tags: bsd3, library, program]

Given a possibly-misspelled word, this tool spits out one or more properly-spelled words in order of likelihood of similarity.

This functionality is exported as a library via Text.SpellingSuggest (suggest) and as a command-line program thimk (an old joke)

Running the program thimk-makedb is an optional (but highly recommended) step to speed up lookups, permitting reasonable performance on enormous dictionaries by creating a precompiled SQlite database of phonetic codes for a dictionary.


[Skip to ReadMe]

Properties

Versions0.5.0, 0.5.0.1, 0.5.1, 0.5.1.0, 0.5.2.0, 0.5.2.1
Change logNone available
Dependenciesbase (>=4.2 && <5), edit-distance (==0.2.*), parseargs (>=0.1.1 && <0.2), phonetic-code (==0.1.*), sqlite (>=0.5.1 && <0.6) [details]
LicenseBSD3
CopyrightCopyright © 2010 Bart Massey and Greg Weber
AuthorBart Massey and Greg Weber
Maintainerbart@cs.pdx.edu, greg@gregweber.info
CategoryConsole, Text
Home pagehttp://wiki.cs.pdx.edu/bartforge/thimk
Executablesthimk-makedb, thimk
UploadedThu May 26 20:29:54 UTC 2011 by GregWeber
DistributionsNixOS:0.5.2.1
Downloads863 total (40 in last 30 days)
Votes
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Flags

NameDescriptionDefault
debugEnabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for spelling-suggest-0.5.2.0

Spelling word suggestion tool
Copyright © 2010 Bart Massey and Greg Weber
ALL RIGHTS RESERVED

This software is licensed under the "3-clause ('new')
BSD License".  Please see the file COPYING provided with
this distribution for license terms.

This package is a newer version of the original package called "thimk".

"thimk" (an old joke) is a command-line spelling word
suggestion tool.  You give it a possibly-misspelled word,
and it spits out one or more properly-spelled words in order
of likelihood of similarity.

The idea and name for thimk came from an old program that used to hang
around Reed College, probably written by Graham Ross and
now apparently lost in the mists of time.
See <http://groups.google.com/group/net.sources/msg/8856593862fe22bd>
for the one very vague reference I've found on the web (in the
SEE ALSO section of the referenced manpage).

The current implementation is a bit more sophisticated
than I recall the original being. By
default it uses a prefilter that discards words with
large edit distances from the target, then filters words
with a different phonetic code than the target, then
presents the top result sorted by edit distance.

The Soundex and Phonix phonetic codes are designed for
names, but seem to work about the same with other words.
I follow the common practice of not truncating the codes
for greater precision, although Phonix does truncate its
final "sound" for greater recall.

The latest change to the implementation is an addition
of an optional precompiled SQlite database of phonetic
codes for the entire dictionary, created with
"thimk-makedb".  This greatly speeds lookup, permitting
reasonable performance on enormous dictionaries.