Skip to main content

# spaCy Symspell ## Spelling correction implementation in spaCy via Symspell

This package is a [spaCy 2.0 extension](https://spacy.io/usage/processing-pipelines#section-extensions) that adds sentnece/spelling corrections via Symspell to spaCy’s text processing pipeline.

## Installation

pip install spacy_symspell

## Notes This package is still in Alpha and there may be unforeseen errors. Dictionary loading time is also significant, can take up to 30 seconds on slow machines.

## Usage

Adding the component to the processing pipeline is relatively simple:

import spacy from spacy_symspell import SpellingCorrector

nlp = spacy.load(‘en_core_web_sm’) corrector = SpellingCorrector() nlp.add_pipe(corrector) doc = nlp(‘What doyuoknowabout antyhing’)

for s in doc._.suggestions:#iterable

print(s) #What doyon about anything

doc._.segmentation #::segmented_string - What doyouk now about antyhing ::corrected_string - that dook now about anything

spaCy_symspell operates on Doc and Span spaCy objects. When called on a Doc or Span, the object is given two attributes: suggestions (a list of all found spelling suggestions) and segmentation (a corrected sentence in the case of ommitted spaces).

## Todo Symspell accuracy can be improved with the help of spaCy by extracting and analyzing resulting n-grams and cross-referencing with possible n-grams deductible from the character groups in the symspell result. For example the correction ‘that dook now’ leaves us with a verbless sentence, and on closer analysis will reveal that the character group ‘now’ is related with the verb ‘know’, and the verb know is associated with the n-gram ‘you know’.

## Under the hood [spacy_symspell](https://github.com/xwiz/spacy_symspell) is currently a wrapper of the [python port](https://github.com/mammothb/symspellpy) for [Symspell](https://github.com/wolfgarbe/SymSpell). For additional details, see the linked project pages.

Release files for spacy-symspell 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spacy-symspell 0.1.2
File Size Uploaded
spacy_symspell-0.1.2.tar.gz 3.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for spacy-symspell 0.1.2
File Interpreter ABI Platform
spacy_symspell-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 7.3 MB

Release files / spacy_symspell-0.1.2.tar.gz

Download URL spacy_symspell-0.1.2.tar.gz
Size 3.7 MB
Tags Source
SHA-256 checksum
How to use checksums
79337bb996f182a9c9e84a4d3d19258020d51820065e3a0291de095d8cd7b608
BLAKE2b-256 checksum
How to use checksums
c18a900a5a4f55aeb75daf107789e70bae27475f82b104436378fc1fea3eb4f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.5.3

Release files / spacy_symspell-0.1.2-py3-none-any.whl

Download URL spacy_symspell-0.1.2-py3-none-any.whl
Size 3.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
d2c30268095fba6c344bd16c92f1362478402872874069b6224b068c27b7c694
BLAKE2b-256 checksum
How to use checksums
82c19dce7f0f0e2d02692d444ef8b1746b837cf4c1532a2dd3012a8be7f7ba58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.5.3

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page