All Projects → rounakdatta → CorrectLy

rounakdatta / CorrectLy

Licence: other
CorrectLy - Open Source Spelling & Grammar correction

Programming Languages

Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to CorrectLy

Semantic-Textual-Similarity
Natural Language Processing using NLTK and Spacy
Stars: ✭ 30 (+30.43%)
Mutual labels:  spelling-correction
spellchecker-wasm
SpellcheckerWasm is an extrememly fast spellchecker for WebAssembly based on SymSpell
Stars: ✭ 46 (+100%)
Mutual labels:  spelling-correction
contextualSpellCheck
✔️Contextual word checker for better suggestions
Stars: ✭ 274 (+1091.3%)
Mutual labels:  spelling-correction
grammarly-editor
Purify Grammarly editing experience
Stars: ✭ 16 (-30.43%)
Mutual labels:  grammarly
WordSegmentationDP
Word Segmentation with Dynamic Programming
Stars: ✭ 18 (-21.74%)
Mutual labels:  spelling-correction
reverse-engineered-grammarly-api
My attempt to reverse engineer the Grammarly API.
Stars: ✭ 51 (+121.74%)
Mutual labels:  grammarly
Symspell
SymSpell: 1 million times faster spelling correction & fuzzy search through Symmetric Delete spelling correction algorithm
Stars: ✭ 1,976 (+8491.3%)
Mutual labels:  spelling-correction
customized-symspell
Java port of SymSpell: 1 million times faster through Symmetric Delete spelling correction algorithm
Stars: ✭ 51 (+121.74%)
Mutual labels:  spelling-correction
deep-spell-checkr
Keras implementation of character-level sequence-to-sequence learning for spelling correction
Stars: ✭ 65 (+182.61%)
Mutual labels:  spelling-correction
sqlite-spellfix
Loadable spellfix1 extension for sqlite as python package
Stars: ✭ 13 (-43.48%)
Mutual labels:  spelling-correction
spell
Spelling correction and string segmentation written in Go
Stars: ✭ 24 (+4.35%)
Mutual labels:  spelling-correction
ocr-machine-learning
OCR Machine Learning in python
Stars: ✭ 42 (+82.61%)
Mutual labels:  spelling-correction
spacy hunspell
✏️ Hunspell extension for spaCy 2.0.
Stars: ✭ 94 (+308.7%)
Mutual labels:  spelling-correction
sheldon
Very Simple Erlang Spell Checker
Stars: ✭ 63 (+173.91%)
Mutual labels:  spelling-correction
Nkocr
🔎📝 This is a module to make specifics OCRs at food products and nutritional tables.
Stars: ✭ 15 (-34.78%)
Mutual labels:  spelling-correction
Did you mean
The gem that has been saving people from typos since 2014
Stars: ✭ 1,786 (+7665.22%)
Mutual labels:  spelling-correction
LinSpell
Fast approximate strings search & spelling correction
Stars: ✭ 52 (+126.09%)
Mutual labels:  spelling-correction
SymSpellCppPy
Fast SymSpell written in c++ and exposes to python via pybind11
Stars: ✭ 28 (+21.74%)
Mutual labels:  spelling-correction
ka GE.spell
ქართული ორთოგრაფიული ლექსიკონი - Georgian Spell Checking Dictionary
Stars: ✭ 24 (+4.35%)
Mutual labels:  spelling-correction
grammarify
Grammarify is a npm package that safely cleans up text that has mispellings, improper capitalization, lexical illusions, among other things.
Stars: ✭ 43 (+86.96%)
Mutual labels:  spelling-correction

CorrectLy - The English text corrector

CorrectLy is an NLP-based spelling and grammar correction tool that accepts articles as well as raw text and returns a corrected sentence. This automated proof-reading tool can correct incorrect words, correct verb-forms based on the sentence tense, correct preposition-noun agreements as well as suggest correct sentence structure. CorrectLy is built using Python, powered by data and makes use of core NLP techniques.

NLP

The project makes extensive use of the following Python NLP libraries:

  • SpaCy (excellent library for splitting into sentences, tokenizing sentence, generating POS tags and determiners)
  • NLTK (helps in tokenizing, visualizing sentence structure tree, has huge collection of data corpus)
  • language_check (great spelling-correction library with extensive support for simple grammar suggestions, punctuation errors)
  • pattern (a CLiPS product which helps in conjugating verbs - helps form the correct structure of the verb based on the tense, person, number, mood)
  • sympound (another spelling correction algorithm-based library which even accepts dictionary)
  • numpy (for minor mathematical calculations and memory-storage of dictionaries)

Algorithms

Grammar correction algorithms are implemented with help from these libraries. There are algorithms for:

  • Spelling correction (what are yuo doign in hte collrge -> What are you doing in the college.)
  • V-V correction (He is play in the garden. -> He is playing in the garden.)
  • V-V-V correction (Harry has been watched movie since afternoon. -> Harry has been watching movie since afternoon.)
  • Preposition correction (The children are sitting on the room. -> The children are sitting in the room.)
  • Sentence structure correction (I am looking at boy. -> I am looking at the boy.)

Getting started

The project has been built entirely using Python 3. The backend framework is powered by Flask. To install all the dependencies, you need to clone the repository, navigate to it and type make install. To start the application, you can type make start OR python3 app.py and then navigate to localhost:5000.

The application can be used as:

  1. Raw text inputted through the text box.
  2. DocX document uploaded and processed with all text formatting taken care of. The spelling and grammar-corrected document is returned in the DocX format.

The application outputs the corrected document / raw text with some statistics:

  • Number of errors of each type
  • Total number of errors (indicates the severity of the document)
  • Display the table containing the incorrect sentence structure and the correct sentence structure.

To Do

  • The preposition as well as sentence structure correction is powered by data - so more the data, better it works. So, dataset improvement.
  • The system still isn't very natural in suggesting the sentences (and might break for extreme cases) - so replacing the algorithms with a neural network-integrated approach.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].