SymSpellKt
A Kotlin Multiplatform implementation of the SymSpell algorithm.
Install / Use
/learn @Wavesonics/SymSpellKtREADME
SymSpell Spell Check Kotlin
This is a Kotlin Multiplatform implementation of the symspell fuzzy search algorithm. It has been ported from this Java implementation of symspell.
Dependency
implementation("com.darkrockstudios:symspellkt:3.4.0")
Sample
Try out the sample desktop application:
gradlew sampleCompose:run
SymSpell v6.6 (Bigrams)
- the optional bigram dictionary in order to use sentence level context information for selecting best spelling correction.
SymSpell
- The Symmetric Delete spelling correction algorithm reduces the complexity of edit candidate generation and dictionary lookup for a given Damerau-Levenshtein distance.
- It is six orders of magnitude faster (than the standard approach with deletes + transposes + replaces + inserts) and language independent.
- Opposite to other algorithms only deletes are required, no transposes + replaces + inserts. Transposes + replaces + inserts of the input term are transformed into deletes of the dictionary term.
- The speed comes from the inexpensive delete-only edit candidate generation and the pre-calculation.
Fdic: Binary Frequency Dictionary file format
In order to optimize for size on disk, and speed of loading and parsing, I made a little file format to encode the common plain text frequency dictionaries use with SymSpell style spell checkers.
fdic is both smaller on disk, and faster to load than either plain text or gzipped dictionaries. In some cases being:
- 70% faster to load and parse
- More than 40% smaller on disk.
There is a CLI program for producing .fdic files from a standard plain text frequency dictionary, as well as some
extension functions in an addon library for loading them into a SymSpellKt SpellChecker object.
Related Skills
node-connect
335.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
335.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.5kCommit, push, and open a PR

