Awesome
SymSpellAPI
Welcome to the SymSpell API! If you don't know what SymSpell is, please check out the awesomme SymSpell-Spellchecker. This documentation should help you familiarise yourself with the resources available and how to consume them with HTTP requests. Read through the getting started section before you dive in. Most of your problems should be solved just by reading through it.
Feel free to suggest any changes or improvements. You can contact me via Github or my email address (leon-erath@hotmail.de).
Get Started
The Web API implements SymSpell via the NuGet Package (Current Version SymSpell 6.3.0).
git clone https://github.com/LeonErath/SymSpellAPI
You can deploy the code yourself or deploy in a docker container:
Docker Container
To build and run the container:
docker build -t symspellapi .
docker run -it --rm -p 5000:80 symspellapi
The container should be then availabe on http://localhost:5000
API
You can find the Documentation here. There you find a detailed description of all possible api calls as well as integration examples for all major programming languages.
Performance
I currently evaluated 3 spellchecker in nodejs. Here are my results:
algorithm | precision | recall | accuracy | time (in sec.) |
---|---|---|---|---|
nspell | 98.0861 % | 66.129 % | 82.41935 % | 20.451 s |
SymSpell | 98.3173 % | 65.96774 % | 82.419 % | 3.793 s |
node-spellchecker | 98.86 % | 70.16129 % | 84.6774 % | 9.165 s |
Corpus: ABODAT.643 from Birkbeck spelling error corpus (2480 Words)
algorithm | precision | recall | accuracy | time (in sec.) |
---|---|---|---|---|
nspell | 97.577 % | 88.6 % | 93.2 % | 22.511 s |
SymSpell | 97.99789 % | 93 % | 95.55 % | 1.999 s |
node-spellchecker | 98.333 % | 94.4 % | 96.4 % | 12.837 s |
Corpus: Wikipedia (the first 1000 Words)
algorithm | precision | recall | accuracy | time (in sec.) |
---|---|---|---|---|
nspell | 97.83599 % | 85.9 % | 92 % | 24.63 s |
SymSpell | 96.868 % | 89.7 % | 93.4 % | 2.489 s |
node-spellchecker | 97.2073 % | 90.5 % | 93.95 % | 12.137 s |
Corpus: Wikipedia (the next 1000-2000 Words)