A chatbot is an automated program that communicates with humans. Abilities can range from canned responses, to neural networks and other learning programs, to responding to commands.