Below are two practical Python libraries for text processing. This function uses textblob’s spelling correction along with language_tool_python, which applies grammatical corrections via the Language Tool API. I added these text processing transformations into my concept text generation app. These are free, public APIs up to around 20 requests per second. You can send both text and receive back an improved version of your text, ideally altering and improving your writing.
I found 2 errors when I piped the text of this post into the below code: the proper noun “textblob” corrected to “text blow’s” and the word “app” corrected to “pp”. Be sure to proof your results. Regardless, I like having these two Python tools in my bag!
pip install language-tool-python
pip install -U textblob python -m textblob.download_corpora
import language_tool_python from textblob import TextBlob def fix_spelling_and_grammar(text): """ returns str: text transformed by language tool and text blob 1) Apply language tool API correction Language Tool Public API: https://dev.languagetool.org/public-http-api https://languagetool.org/http-api/swagger-ui/#!/default/post_check python library: https://pypi.org/project/language-tool-python/ 2) Apply textblob's spell check to the text""" try: # use the public API, language English tool = language_tool_python.LanguageToolPublicAPI('en-US') text = tool.correct(text) b = TextBlob(text) return str(b.correct()) except: return text text = "Language is incredble. Fascinatng how hoomans have so many." transformed_text = fix_spelling_and_grammar(text) print(transformed_text) # >>> Language is incredible. Fascinating how humans have so many.