Understanding natural language isn't easy: it takes us more than 12 years and hundreds of examples to understand the 20,000 most common words. Imagine how hard it must be for computers! To train the NLP engine, we need huge amounts of data. Luckily, we rely on pre-trained models that have a lot of smarts built in. Our NLP engine will take care of spelling mistakes, synonyms, slang, varying word order, etc ...