English Language Spelling Correction as an Information Retrieval Task Using Wikipedia Search Statistics
Paper · 2022 · Kyle Goslin and Markus Hofmann
Summary
Conventional spell checkers depend on fixed dictionaries, which often lack acronyms, new terms and inflected forms, while learned correctors need costly annotated training data. Goslin and Hofmann present WikiSpell, which treats correction as an information retrieval problem and uses the Wikipedia Search API as its only knowledge source. For each query token, the system:
- sends wildcard variants of the token to the API;
- builds a small local corpus from the returned article titles and snippets;
- uses the API's total-hit counts to decide whether a single word, or a sequence of words, is attested and therefore probably correct;
- picks replacements by combining these frequency signals with Levenshtein distance over a short candidate list.
The authors tested it on queries from the TREC 2009 Million Query Track with randomly inserted letters and compared it against Hunspell. WikiSpell performed comparably and worked best on short, context-dependent sequences. This matters because it needs no training and its vocabulary grows as Wikipedia grows.
Key points
- Evaluation data: TREC 2009 Million Query Track, queries 20001–22001 (2,000 queries, mostly 1–3 tokens long), giving 4,951 tokens to analyse.
- Synthetic noise: 1,050 single-letter and 1,911 two-letter insertions of random A–Z characters, averaging 1.67 errors per query. Insertions were capped at two because more could destroy the token's identity.
- API settings: srlimit=100 caps results at 100, and srinfo=totalhits returns article counts. Titles plus snippets of roughly 25 terms form the local corpus. Tokens are submitted separately to broaden retrieval.
- Metrics: precision, recall and accuracy. Making a suggestion for a correctly spelled word counts as a false positive. Hunspell served as the baseline, and the code and data are on GitHub.
- Final selection uses a fixed shortlist of n=5 candidates. The authors suggest making this size adaptive in future work.
Interesting ideas
- I1. An external corpus's hit count for a word or word sequence can serve as a single cheap signal for both "is this spelled correctly?" and "do these words fit together?", without any trained model.
- I2. Wildcard queries around a suspect token pull in its morphological relatives as well as spelling neighbours, so the candidate set covers inflected forms a static dictionary would miss.
- I3. Candidates are shortlisted by frequency and context first, and only then ranked by edit distance on that small set, which keeps the expensive comparison cheap and stops rare look-alikes from winning.
- I4. The test set is built by injecting controlled random character insertions into clean text, so every noisy item has a known original to score against.
- I5. The scoring counts a suggestion on an already-correct word as an error, which explicitly penalises over-correction rather than rewarding aggressive changes.
For Mova
How these ideas could serve Mova, our small open language model — its files, stages and tests:
- I1 (tokens): Out-of-vocabulary tokens could be checked against attested frequencies in a large corpus before tagging, with the hit counts logged as an explainable reason for flagging or normalising a token.
- I2 (tokens): Lemma and morphology lookup for unknown forms could generate wildcard patterns over a lexicon to propose a lemma plus features, rather than leaving the token unanalysed.
- I3 (tokens): Repairing typos before parsing could use the same two-stage filter, keeping each correction traceable to a frequency step and a distance step.
- I4 (learn): The same noise injection could act as a robustness and negative-control check, measuring how much LAS or downstream answers degrade at one versus two inserted characters.
- I5 (learn): Evaluations of self-induced repair rules should likewise count edits made to already-correct input as failures, so the rules do not learn to "fix" valid text.
Institutions
Fields, topics and concepts
📚 Shelves 5The field of science this work belongs to (OpenAlex fields).Computer Science · 18,614 worksArtificial Intelligence · 17,965 worksArts and Humanities · 17,450 worksLanguage and Linguistics · 17,296 worksInformation Systems · 1,730 works
🧭 Topics 3Research subjects and languages the work is about.English · 2,379 worksInformation retrieval & search · 552 worksGrammatical error correction & learner language · 162 works
Cite
Cite as Kyle Goslin and Markus Hofmann. 2022. English Language Spelling Correction as an Information Retrieval Task Using Wikipedia Search Statistics. Proceedings of the Thirteenth Language Resources and Evaluation Conference.
@inproceedings{goslin2022english,
title = {{English Language Spelling Correction as an Information Retrieval Task Using Wikipedia Search Statistics}},
author = {Kyle Goslin and Markus Hofmann},
booktitle = {Proceedings of the Thirteenth Language Resources and Evaluation Conference},
year = {2022},
doi = {10.63317/4o6byujewowg},
url = {https://doi.org/10.63317/4o6byujewowg}
}References
- Hládek, D., Staš, J. and Pleva, M. (2020) Survey of Automatic Spelling Correction. Electronics. 9(10): 1670. https://doi.org/10.3390/electronics9101670. ↗
- Hagen, M., Potthast, M., Gohsen, M., Rathgeber, A., & Stein, B. (2017) A large-scale query spelling correction corpus. In Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 1261–1264. find
- Brill, E. and Moore, R.C. (2000) An improved error model for noisy channel spelling correction. In Proceedings of the 38th annual meeting of the association for computational linguistics, pp. 286-293.
- Gong, H., Li, Y., Bhat, S. and Viswanath, P. (2019) Context-sensitive malicious spelling error correction. In: The World Wide Web Conference Proceedings, pp. 2771-2777. find
- Lagunes-García, G., Rodríguez-González, A., Prieto-Santamaría, L., del Valle, E.P.G., Zanin, M. and Menasalvas-Ruiz, E. (2020) How Wikipedia disease information evolve over time? An analysis of disease-based articles changes. Information Processing & Management. 57(3): 102225. find
- Goslin, K. and Hofmann, M. (2018) A Wikipedia powered state-based approach to automatic search query enhancement. Information Processing & Management. 54(4):726-739. ↗
- Cheon, J. and Ko, Y. (2021) Parallel sentence extraction to improve cross-language information retrieval from Wikipedia. Journal of Information Science, 47(2): 281-293. ↗
- Chen, D., Fisch, A., Weston, J. and Bordes, A. (2017) Reading Wikipedia to answer open-domain questions. Computing Research Repository.
- Gupta, J., Qin, Z., Bendersky, M. and Metzler, D. (2019) Personalized online spell correction for personal search. In The World Wide Web Conference, pp. 2785-2791. find
- Mays, E., Damerau, F.J. and Mercer, R.L. (1999) Context based spelling correction. Information Processing & Management, 27(5):517-522. find
- O’Neill, E., Young, R., Thiaville, E., MacCarthy, M., Carson-Berndsen, J. and Ventresque, A. (2020) S-Capade: Spelling Correction Aimed at Particularly Deviant Errors. In International Conference on Statistical Language and Speech Processing. pp. 85-96. find
- Etoori, P., Chinnakotla, M. and Mamidi, R. (2018) Automatic spelling correction for resource-scarce languages using deep learning. In Proceedings of ACL Conference 2018. Student Research Workshop, pp. 146-152. find
- Beeksma, M., Van Gompel, M., Kunneman, F., Onrust, L., Regnerus, B., Vinke, D., Brito, E., Bauckhage, C. and Sifa, R. (2018) Detecting and correcting spelling errors in high-quality Dutch Wikipedia text. Computational Linguistics in the Netherlands Journal. 8:122-137. find
- Grundkiewicz, R. and Junczys-Dowmunt, M. (2014) The wiked error corpus: A corpus of corrective Wikipedia edits and its application to grammatical error correction. In International Conference on Natural Language Processing, pp. 478-490. find
- Pirinen, T.A. and Lindén, K. (2014) State-of-the-art in weighted finite-state spell-checking. In Proceedings of the International Conference on Intelligent Text Processing and Computational Linguistics, Berlin, Heidelberg. find
- Park, C., Kim, K., Yang, Y., Kang, M. and Lim, H. (2020) Neural spelling correction: translating incorrect sentences to correct sentences for multimedia. Multimedia Tools and Applications, pp.1-18. ↗
- Li, X., Liu, H. and Huang, L. (2020) Context-aware Standalone Neural Spelling Correction. In arXiv preprint. find
- Hládek, D., Staš, J. and Pleva, M. (2020) Survey of Automatic Spelling Correction. Electronics. 9(10), 1670. https://doi.org/10.3390/electronics9101670. ↗
- Vardi, E., Muchnik, L., Conway, A. and Breakstone, M. (2021) WikiShark: An Online Tool for Analyzing Wikipedia Traffic and Trends. In Companion Proceedings of the Web Conference. find
- De Toni, G., Consonni, C. and Montresor, A. (2021) A general method for estimating the prevalence of influenza-like-symptoms with Wikipedia data. PloS. 16(8). ↗
- Boyd, A. (2018) Using Wikipedia edits in low resource grammatical error correction. In Proceedings of the 2018 EMNLP Workshop W-NUT: The 4th Workshop on Noisy User-generated Text. find
- Karve, S., Shende, V. and Hople, S. (2019) Semantic Relatedness Measurement from Wikipedia and WordNet Using Modified Normalized Google Distance. In Data Analytics and Learning. ↗
- Lewoniewski, W., Węcel, K. and Abramowicz, W. (2019) Multilingual ranking of Wikipedia articles with quality and popularity assessment in different topics. Computers. 8(3):60. ↗
- Hussain, M.J., Wasti, S.H., Huang, G., Wei, L., Jiang, Y. and Tang, Y. (2020) An approach for measuring semantic similarity between Wikipedia concepts using multiple inheritances. Information Processing & Management. 57(3): 102188. ↗
Updated
This page in Markdown → https://md.research.elamur.ai/free/en/papers/goslin-2022-english-language-spelling-correction-as/