ML Usefulness to a Dev

Dated Oct 24, 2020; last modified on Sun, 14 Mar 2021

Link to Original Video

ML Usefulness to a Dev

  • Reduce time spent programming, e.g. manually crafted spellchecker with rules of thumb vs. feeding ML model some examples.

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.

  • 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?

References

  1. hunspell/hunspell: The most popular spellchecking library. github.com .
  2. Adaptive spell checking for multilingual users - The Chromium Projects. www.chromium.org .
  3. Introducing an improved spellcheck experience in Microsoft Edge - Microsoft Edge Blog. blogs.windows.com . May 28, 2020.