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.

Metadata

Release files for spacy-symspell 0.1.1

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.1
File Size Uploaded
spacy_symspell-0.1.1.tar.gz 3.7 MB Details

Built distribution (wheel)

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

Total release size: 7.3 MB

Release files / spacy_symspell-0.1.1.tar.gz

Download URL spacy_symspell-0.1.1.tar.gz
Size 3.7 MB
Tags Source
SHA-256 checksum
How to use checksums
9118ee569c1d90b7df37301d5dbba3a253da85846c850a5a35276a750bab4d40
BLAKE2b-256 checksum
How to use checksums
e8652799cde0b58f04d75d0c2d1b711b0d0142864d3666d23039a0afb3b4c415
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.1-py3-none-any.whl

Download URL spacy_symspell-0.1.1-py3-none-any.whl
Size 3.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
86f2d220eb4532593836e5ae548d76eea613fca4b83044515ef53396f99976bb
BLAKE2b-256 checksum
How to use checksums
1f00b6c46a89b46c461c8818bf57adaa5f99cf53e5ae8d3271a67b2b413dfa06
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

0.1.2

2 release files

This release

0.1.1 This release

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