The Natural Language Processing Group in Microsoft Research is pleased to announce that its ESL Assistant is now available on the World Wide Web via a link at http://www.eslassistant.com.  A prototype writing assistance service designed for people who have learned English as a second or foreign language, the ESL Assistant uses statistical models to suggest corrections for a number of common learner error patterns that are not currently supported by the proofing tools in Microsoft Office products. The service also tries to help users judge the whether a suggestion truly represents an improvement by showing real-life examples returned by a web search. We hope that both learners of English and TEFL/TESL professionals will experiment with this service and find it useful.  

It is our hope that this prototype will begin to fill a long-standing gap in Microsoft's English language proofing tools. Every day, throughout the world, millions of non-native speakers write English at school or work, on blogs, or in personal e-mail, both to communicate with their counterparts from English-speaking countries, and as often as not, to communicate with each other. Writing errors made by learners are often different from those made by individuals who have grown up speaking the language, and can be complex and subtly contextual in ways that are not easily addressed by syntactic or lexical rules. For these reasons, ESL errors were not supported by Microsoft Office’s proofing tools when they were originally developed over a decade ago. Today, however, we are better positioned to address the challenge of providing writing assistance to this fast-growing segment of Microsoft customers. Modern statistical models and tools now allow solutions that were once impossible. In particular, our group's Machine Translation effort has generated valuable spinoffs in the form of huge language models, fast statistical taggers and other tools that we have reused for this proofing work, and we are now beginning to bring these to bear on the task of grammar checking.

Some features of the ESL Assistant service include:

  • Corrections for common ESL error types found in non-native English writing but not supported in by the Office grammar checker. More information about the specific kinds of error patterns that are supported can be found in the ESL Assistant Help (FAQ) page and on the team website
  • Implementation as a web service, which permits the deployment of huge statistical models to identify possible error locations.
  • Automatically generated searches to assist users by retrieving real-world contextual examples from the web.
  • A downloadable add-in for Outlook 2007, allowing mail text to besent to the ESL Assistant web site for checking.
  • An inline thesaurus feature that proposes alternative words appropriate to the context. 
  • An initial pass though Microsoft Office grammar and spell checking, that can be turned on by a checkbox, to ensure more comprehensive error coverage.
  • Localized pages for users in the Chinese, Japanese, Korean, and Russian markets (or if you set your default language in IE to one of these).

In its present form, the service is unapologetically experimental ("pre-alpha", despite the beta label).  The range of error types that it corrects is still small, it does not capture everything, and it sometimes gets things wrong.  Work to improve error detection accuracy and coverage is ongoing;  we expect to roll out new modules and updates as the service matures. The present interface certainly does not represent what one would expect to see if this service were some day fully integrated into a shipping product.  With the current prototype, we will be gathering data about where the service succeeds and where it does not, to help inform future directions of development. 

Some known issues that may affect the user experience include:

  • Owing to architecture differences, the Office speller/grammar checker is not fully integrated into the current version. The speller/grammar checker can occasionally obscure suggestions that are available in the ESL component. Toggling this feature on or off may be helpful.
  • Tokenization occasionally inserts white spaces before punctuation if a preceding word is replaced. We are working on this.

As prototypes go, however, the ESL Assistant is state-of-the-art in ESL error correction. It represents, we believe, the beginning of a new paradigm of automated editorial assistance services that deploy very large statistical resources.

Members of our team will be reporting on the project from time to time in this blog. We look forward to your feedback.