# Create a spellchecking system

**URL:** <https://discuss.huggingface.co/t/create-a-spellchecking-system/11576>\
**Category:** 🤗 Course Projects\
**Created:** [November 10, 2021, 4:50pm UTC](https://discuss.huggingface.co/t/create-a-spellchecking-system/11576 "2021-11-10T16:50:37Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![lewtun](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/lewtun/32/30995_2.png) [@lewtun](https://discuss.huggingface.co/u/lewtun)\
**Post date:** [November 10, 2021, 4:50pm UTC](https://discuss.huggingface.co/t/create-a-spellchecking-system/11576/1 "2021-11-10T16:50:37Z")

</div>

> 👋 Please read the topic category [description](https://discuss.huggingface.co/t/about-the-course-projects-category/11510) to understand what this is all about

### Description

Nowadays you can find spellchecker everywhere - on your phone, Microsoft Word, and so on. The goal of this project is to train a Transformer model to automatically correct our spelling in a language of your choosing!

### Model(s)

You can frame spellchecking as a sequence-to-sequence task, so a good starting point is to checkout the machine translation example in Chapter 7 of the 🤗 Course. Once you understand that, a T5 or mT5 model is a good start to train your models.

### Datasets

The [GitHub Typo corpus](https://github.com/mhagiwara/github-typo-corpus) is a good place to start. An alternative is to use [back-translation](https://amitness.com/back-translation/) to create your own corpus of noisy labels, since most machine translation systems typically introduce small errors this way.

### Challenges

This is a rather open-ended project, and one that might require some careful data preprocessing / augmentation. A good starting strategy would be to adapt the [example](http://www.realworldnlpbook.com/blog/unreasonable-effectiveness-of-transformer-spell-checker.html) given in the resources below, but using the 🤗 ecosystem instead of the `fairseq` library.

### Desired project outcomes

- Create a Streamlit or Gradio app on [🤗 Spaces](https://huggingface.co/spaces) that [Fill description]
- Don’t forget to push all your models and datasets to the Hub so others can build on them!

### Additional resources

- [http://www.realworldnlpbook.com/blog/unreasonable-effectiveness-of-transformer-spell-checker.html](http://www.realworldnlpbook.com/blog/unreasonable-effectiveness-of-transformer-spell-checker.html)
- [https://github.com/neuspell/neuspell](https://github.com/neuspell/neuspell)
