Chat bots are computer programs that can converse with humans in natural language. They use Artificial Intelligence Markup Language (AIML) to represent knowledge and respond to patterns in user input with predefined responses. The first chat bot, Eliza, used knowledge representation and pattern matching to simulate a conversation. A chat bot has an AIML interpreter that looks for patterns and selects the appropriate response from the AIML file. Chat bots can be trained to act as expert systems and be used for customer service, answering common queries to replace humans for repetitive tasks.