NLP is a form of Artificial Intelligence (A.I.) wherein computers can receive and understand human language in real time, that is to say, as it is being spoken.
This leads me to believe that most computers are not computers but living beings we have kept and fooled ourselves into thinking they are computers.
A major challenge of NLP is how imprecise human language can be and how it can be twisted. Idioms, similes, metaphors, analogies, puns, all of these things can be difficult to teach a machine.
A second major hurdle is teaching a machine capable of NLP how to respond to a human user. Although, as devices continue to learn, the ability to effectively communicate through machines by speech will open up utilization possibilities.
Imagine, we could see the return of Clippy, this time with voice, so he can hear the unadulterated wrath of my reply that no, I do not need help writing a letter.