How does Natural Language Processing (NLP) enable chatbots and virtual assistants to understand and respond to human language? What are the key NLP techniques used in building these systems? How do chatbots interpret user intent and context in conversations? What role does machine learning play in improving chatbot responses over time? What are the main challenges faced in developing intelligent virtual assistants using NLP?