ML Usefulness to a Dev
- Reduce time spent programming, e.g. manually crafted spellchecker with rules of thumb vs. feeding ML model some examples.
Customize products at scale, e.g. collecting data for 100 most popular languages and feeding it to the ML model of the spellchecker.
Complete seemingly unprogrammable tasks, e.g. facial recognition.
Philosophically, ML moves programming from being a mathematical science (e.g. assertions in code), to a natural science (using statistics to analyze a complex world)
Seems like a good rule of thumb: Is a statistical approach suited for this problem?
How many words are there in English? Is it hard to have a huge set of all the possible words? How do spellcheckers do it?
Hunspell is the most popular OSS , and it was being used by Chromium , but on Chromium for Windows, the Windows Spellcheck is used .
Hunspell generally involves lists of known words. That doesn’t negate the ML approach as having tons of data is a good thing. I don’t think Hunspell generalizes to unseen words.