Automattic / Automattic/harper
Integrate a phonetic algorithm such as Metaphone or Soundex into the `SpellCheck` module
- Dominant language
- Rust
- Stars
- 15.4k
- Forks
- 627
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 106
Description
Some spelling mistakes involve quirks of spelling beyond what the spell checker looks for. It looks for things like letter missing, extra letter, swapped letters. But English spelling is complex and there are 1:many and many:1 and many:many mappings between a sound and a spelling.
There are two well-known algorithms for finding words similar in sound, based on their spelling: [Soundex](https://en.wikipedia.org/wiki/Soundex) and [Metaphone](https://en.wikipedia.org/wiki/Metaphone), and these days there [are others](https://en.wikipedia.org/wiki/Phonetic_algorithm).
One or multiple such could provide extra factors for spelling suggestion ranking. Computing them for the whole dictionary when it's being built might be the most efficient for the CPU, with a memory cost. Performance analysis would be needed rather than just easiest-to-implement naïve approach.
Contributor guide
Assessment
This issue has not been assessed yet.