A grammar checker, in computing terms, is a program, or part of a program, that attempts to verify written text for grammatical correctness. Grammar checkers are most often implemented as a feature of a larger program, such as a word processor, but are also available as stand-alone application that can be activated from within programs that work with editable text.
The implementation of a grammar checker makes use of natural language processing.
The earliest “grammar checkers” were basically programs that checked for punctuation and style inconsistencies, rather than finding many actual grammatical errors. The first system was called Writer's Workbench, and was a set of writing tools included with Unix systems as far back as the 1970s. The whole Writer’s Workbench package included several separate tools to check for various writing problems. The ‘diction’ tool checked for wordy, trite, clichéd or misused phrases in a text. The tool would output a list of suspect phrases, and provide suggestions for improving the writing. The ‘style’ tool analyzed the writing style of a given text. It performed a number of readability tests on the text and output their results, and it gave some statistical information about the sentences of the text.
Aspen Software of Albuquerque, NM, released the earliest version of a diction and style checker for personal computers, Grammatik, in 1981. Grammatik was first available for a Radio Shack - TRS-80, and soon had versions for CP/M and the IBM PC. Reference Software of San Francisco, CA, acquired Grammatik in 1985. Development of Grammatik continued, and it became an actual grammar checker that could detect writing errors beyond simple style checking.
Other early diction and style checking programs included Punctuation & Style, Correct Grammar, and RightWriter. While all the earliest programs started out as simple diction and style checkers, all eventually added various levels of language processing, and developed some level of true grammar checking capability.
Until 1992, grammar checkers were sold as add-on programs. There were still a large number of different word processing programs available at that time, with WordPerfect and Microsoft Word the top two in market share. In 1992, Microsoft decided to add grammar checking as a feature of Word and licensed CorrecText, a grammar checker from Houghton Mifflin that had not yet been marketed as a standalone product. WordPerfect answered Microsoft’s move by acquiring Reference Software, and the direct descendant of Grammatik is still included with WordPerfect.
The earliest writing style programs checked for wordy, trite, clichéd, or misused phrases in a text. This process was based on simple pattern matching. The heart of the program was a list of many hundreds or thousands of phrases that are considered poor writing by many experts. The list of suspect phrases included alternative wording for each phrase. The checking program would simply break text into sentences, check for any matches in the phrase dictionary, and flag suspect phrases and show an alternative. These programs could also perform some mechanical checks. For example, they would typically flag doubled words, doubled punctuation, some capitalization errors, and other simple mechanical mistakes.
True grammar checking is more complex. While a computer programming language has a very specific syntax and grammar, this is not so for natural languages. Though it is possible to write a somewhat complete formal grammar for a natural language, there are usually so many exceptions in real usage that a formal grammar is of minimal help in writing a grammar checker. One of the most important parts of a natural language grammar checker is a dictionary of all words in the language, along with the part of speech of each word. The fact that natural words can take many different parts of speech greatly increases the complexity of any grammar checker. A grammar checker will find each sentence in a text, look up each word in the dictionary, and then attempt to parse the sentence into a form that matches a grammar. Using various rules, the program can then detect various errors, such as agreement in tense, number, word order, and so on.
It is also possible to detect some stylistic problems with the text. For example, use of the passive voice is criticized by popular style guides such as The Elements of Style. Grammar checkers may attempt to identify passive sentences and suggest an active-voice alternative.
The software elements required for grammar checking are closely related to some of the development issues that need to be addressed for voice recognition software. In voice recognition, parsing can be used to help predict which word is most likely correct based on part of speech and position in the sentence. In grammar checking, the parsing is used to detect words that fail to follow proper grammar usage.
Recently, research has focused on developing algorithms which are capable of recognizing grammar errors based on the context of the surrounding words. Context-based grammar checkers appear in Microsoft Office 2010, Microsoft Office 2007, Google Wave, Ghotit Dyslexia Software, Grammarly, SpellCheckPlus.com, GrammarCheck.net, Ginger Software, and WhiteSmoke .
Grammar checkers are considered as a type of foreign language writing aid which non-native speakers can use to proofread their writings as such programs endeavor to identify syntactical errors. However, as with other computerized writing aids such as spell checkers, popular grammar checkers are often criticized when they fail to spot errors and incorrectly flag correct text as erroneous. The linguist Geoffrey K. Pullum has argued that they are generally so inaccurate as to do more harm than good: "for the most part, accepting the advice of a computer grammar checker on your prose will make it much worse, sometimes hilariously incoherent."
- M. Stutz: Living language. Retrieved May 16, 2009
- A. Walker: The Linux Cookbook
- LanguageTool instance on WikiMedia Labs
- Walt Mossberg (4 January 2007). "Review". Wall Street Journal. Retrieved 24 September 2010.
- "Google Operating System". googlesystem.blogspot.com. Retrieved 25 September 2010. "Google's Context-Sensitive Spell Checker". May 29, 2009.
- Dr. Linda Tauscher (April 21, 2011). "Contextual Spell Checker Evaluation". Assistive Technology And Accessibility. Retrieved 14 April 2012.
- Bustamante, F.R., & León, F.S, (1996). GramCheck: a grammar and style checker. Proceedings of the 16th conference on Computational linguistics, August 05–09, Copenhagen, Denmark. Retrieved 19 March 2012.
- Geoffrey K. Pullum (October 26, 2007). "Monkeys will check your grammar". Language Log. Retrieved 8 March 2010.