We have all been there, sitting in class thinking to ourselves, “I will never use this in real life.” However, life has a way of proving us wrong.

Enter Noam Chomsky

As a computer science graduate, I took quite a bit of math and computing classes. One name that I heard over and over was Noam Chomsky. In class, he seemed to be this vague, academic figure that created some structures to define a language, aka the hierarchy of languages and theories of automata.

Now that I’ve had some time away from school, and have spent a little more time in the real world of software development, I’ve developed an appreciation for Noam Chomsky as a person, what he accomplished, and his contributions to modern computing.

Who is Noam Chomsky
In 1956, Chomsky developed a way to quantify language into a simplified rule, a universal grammar that underlies all languages. He went a step further and broke language down into categories based on the number of constraints placed on it.

According to Chomsky’s rule, all languages can fit into one of 4 categories:

  • Recursively enumerable
  • Context-sensitive
  • Context-free
  • Regular
While we just explored Anomaly Detection as one of the uses of this model, look for its other applications such as Dimensionality Reduction, Information Retrieval, and Machine Translation, etc.chomsky blog