What is the difference between AI, Machine Learning, NLP, and Deep Learning?

#artificialintelligence 

Machine learning is concerned with one aspect of this: given some AI problem that can be described in discrete terms (e.g. Typically some outside process is needed to judge whether the action was correct or not. In mathematical terms, it's a function: you feed in some input, and you want it to to produce the right output, so the whole problem is simply to build a model of this mathematical function in some automatic way. To draw a distinction with AI, if I can write a very clever program that has human-like behavior, it can be AI, but unless its parameters are automatically learned from data, it's not machine learning.