LanguageTool

LanguageTool is a free and open-source grammar, style, and spell checker, and all its features are available for download. The LanguageTool website connects to a proprietary sister project called LanguageTool Premium (formerly LanguageTool Plus), which provides improved error detection for English and German, as well as easier revision of longer texts, following the open-core model.

Overview
LanguageTool was started by Daniel Naber for his diploma thesis in 2003 (then written in Python). It now supports 31 languages, each developed by volunteer maintainers, usually native speakers of each language. Based on error detection patterns, rules are created and then tested for a given text. The core app itself is free and open-source and can be downloaded for offline use. Some languages use 'n-gram' data, which is massive and requires considerable processing power and I/O speed, for some extra detections. As such, LanguageTool is also offered as a web service that does the processing of 'n-grams' data on the server-side. LanguageTool Premium also uses n-grams as part of its freemium business model.

LanguageTool web service can be used via a web interface in a web browser, or via a specialized client-side plug-ins for Microsoft Office, LibreOffice, Apache OpenOffice, Vim, Emacs, Firefox, Thunderbird, and Google Chrome.

LanguageTool does not check a sentence for grammatical correctness, but whether it contains typical errors. Therefore, it is easy to invent ungrammatical sentences that LanguageTool will still accept. Error detection succeeds with a variety of rules based on XML or written in Java. XML-based rules can be created using an online form.

More recent developments rely on large n-gram libraries that offer suggestions for improving misspellings with the help of artificial neural networks.