JamSpell VS SymSpell

Compare JamSpell vs SymSpell and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
JamSpell SymSpell
3 16
589 3,018
- -
2.4 6.0
6 months ago 14 days ago
C++ C#
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

JamSpell

Posts with mentions or reviews of JamSpell. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-01-22.
  • Rebuilding the spellchecker, pt.4: Introduction to suggest algorithm
    3 projects | dev.to | 22 Jan 2021
    There is, for example, a curious evaluation table provided by a modern ML-based spellchecker JamSpell. According to it, JamSpell is awesome—while Hunspell is a mere 0.03% better than dummy ("fix nothing") spellchecker... Which doesn't ring true, somehow!
  • Rebuilding the spellchecker, pt.3: Lookup–compounds and solutions
    7 projects | news.ycombinator.com | 15 Jan 2021
    That's a huge topic, which I am planning to cover towards the end of the article series please like and subscribe, but in short: yes, my opinion is that spellchecking is actually a "machine learning problem in disguise", and most of existing dictionaries are more a roundabout way of storing something-not-unlike-models than analytical data.

    But ML approach will raise a question of data availability. What good your "deep learning OSS spellchecker" will do if there aren't good (and open) models for it which cover as much languages as existing Hunspell dictionaries do? And what if adding a bunch of new words requires laborous model retraining? It is not unsolvable, but non-trivial.

    I believe all the giants have something like this inside (I don't think spelling correction in Google search bar is handled with Hunspell, right?), but it is much harder to do as an open tool, ready to embedding into other software.

    There are a notable attempts, though: JamSpell for one (https://github.com/bakwc/JamSpell), which has an open "free" models, and more precise commercial ones; source code is open (maybe also only for using "simplistic" models, haven't dug deeper).

  • Rebuilding the most popular spellchecker. Part 1
    4 projects | dev.to | 6 Jan 2021
    Obviously, there are open-source spellcheckers other than Hunspell. GNU aspell (that at one point was superseded by Hunspell, but still holds its ground in English suggestion quality), to name one of the older ones; but also there are novel approaches, like SymSpell, claiming to be "1 million times faster" or ML-based JamSpell, claiming to be much more accurate.

SymSpell

Posts with mentions or reviews of SymSpell. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-30.
  • Show HN: I automated 1/2 of my typing
    11 projects | news.ycombinator.com | 30 Aug 2023
  • Learn more about spell checkers
    2 projects | /r/nlp_knowledge_sharing | 18 Mar 2023
    Books: a. "Speech and Language Processing" by Daniel Jurafsky and James H. Martin (3rd Edition) - This book covers various aspects of natural language processing, including a section on spelling correction that provides a comprehensive introduction to the topic. b. "Foundations of Statistical Natural Language Processing" by Christopher D. Manning and Hinrich Schütze - This book provides an overview of statistical approaches in NLP, including a chapter on spelling correction. Articles: a. "How to Write a Spelling Corrector" by Peter Norvig - This article demonstrates the development of a simple spelling corrector using statistical algorithms. It's a great starting point for understanding the basics of spell checkers. (Link: https://norvig.com/spell-correct.html) b. "The Design of a Proofreading Software Service" by Michael D. Garris and James L. Blue - This article presents the design and implementation of a spelling correction system that can be integrated into various applications. (Link: https://www.nist.gov/system/files/documents/itl/iad/89403123.pdf) c. "A Fast and Flexible Spellchecker" by Atkinson, K. (2006) - This article details the design of a spell checker that uses a combination of rule-based and statistical approaches for improved performance. (Link: https://aspell.net/0.60.6.1/aspell-0.60.6.1.pdf) Online Resources: a. The Natural Language Toolkit (NLTK) - This is a popular Python library for natural language processing. It includes a spell checker module and various examples of how to use it. (Link: https://www.nltk.org/) b. SymSpell - This is an open-source spell checking library that uses a Symmetric Delete spelling correction algorithm for high performance and accuracy. The GitHub repository includes a detailed description of the algorithm and examples of how to use it. (Link: https://github.com/wolfgarbe/SymSpell) These resources should provide a solid foundation for understanding the design, algorithms, and usage of spell checkers. Happy learning!
  • Turn the spellchecker into autocorrection software
    2 projects | /r/learnprogramming | 13 Feb 2023
    Can this github.com/wolfgarbe/SymSpell or this github.com/ruby/did_you_mean or any of these github.com/topics/spell-check?o=desc&s=forks spellcheckers be used as an autocorrection software?
  • Hacker News top posts: Mar 6, 2022
    3 projects | /r/hackerdigest | 6 Mar 2022
    SymSpell: 1M times faster spelling correction\ (6 comments)
  • SymSpell: 1M times faster spelling correction
    8 projects | news.ycombinator.com | 6 Mar 2022
  • Typo correction using NLP
    4 projects | /r/LanguageTechnology | 19 Mar 2021
    SymSpell
  • Fuzzy Name Matching in Postgres
    3 projects | news.ycombinator.com | 24 Feb 2021
    I'm glad to see these built-in to Postgres, as these are the basics of fuzzy string matching.

    A quantum leap would be to integrate an implementation of the symmetric delete algorithm, such as https://github.com/wolfgarbe/SymSpell

    Soundex and Phonex can yield too many false negatives outside of phonetically English names. Levenshtein/Jaro-Winkler aren't indexable solutions themselves, so they require N^2 comparisons. SymSpell conceptually combines these two into an indexed string-distance solution. It has the usual index issue of being designed for many reads, few writes.

  • Rebuilding the spellchecker, pt.4: Introduction to suggest algorithm
    3 projects | dev.to | 22 Jan 2021
    Some of the modern approaches to spellchecking still take this road: for example, SymSpell algorithm (claiming to be "1 million times faster") is at its core just a brilliant idea for a novel storage format for a flat word list, that allows optimizing the calculation of edit distance significantly.
  • Rebuilding the spellchecker, pt.3: Lookup–compounds and solutions
    7 projects | news.ycombinator.com | 15 Jan 2021
    https://github.com/wolfgarbe/SymSpell lists 5 JS implementations (+ a Rust one that compiles to web assembly)

What are some alternatives?

When comparing JamSpell and SymSpell you can also consider the following projects:

hunspell - The most popular spellchecking library.

SymSpell - A JavaScript implementation of the Symmetric Delete spelling correction algorithm.

wtpsplit - Code for Where's the Point? Self-Supervised Multilingual Punctuation-Agnostic Sentence Segmentation

languagetool - Style and Grammar Checker for 25+ Languages

WeCantSpell.Hunspell - A port of Hunspell v1 for .NET and .NET Standard

NLP-progress - Repository to track the progress in Natural Language Processing (NLP), including the datasets and the current state-of-the-art for the most common NLP tasks.

ruby-spellchecker - Fast English spelling and grammar checker that can be used for autocorrection.

goSpellcheck - A terrible spell checker in Go.