1. A method, comprising: receiving a question from a user; building a knowledge session in the context of a knowledge map using a plurality of input; creating at least one goal; presenting at least one question to the user; receiving at least one answer from the user; changing a session state based on the answer; resolving the at least one goal; and presenting feedback to the user.