A chatbot that learns using backward-chaining predicate reasoning