Understanding Bots: Chatbot Advanced Concepts and Features