  In this paper, we explore the artificial generation of typographical errors
based on real-world statistics. We first draw on a small set of annotated data
to compute spelling error statistics. These are then invoked to introduce
errors into substantially larger corpora. The generation methodology allows us
to generate particularly challenging errors that require context-aware error
detection. We use it to create a set of English language error detection and
correction datasets. Finally, we examine the effectiveness of machine learning
models for detecting and correcting errors based on this data. The datasets are
available at http://typo.nlproc.org
