1. A method, implemented on a machine having at least one processor, storage, and a communication platform connected to a network for providing one or more explanations, comprising the steps of: receiving, via the communication platform, an inquiry about how a set of entities are related; retrieving, by a knowledge retrieval unit, information from a knowledge storage in accordance with the set of entities, wherein the information records a plurality of entities and relationships among the plurality of entities; generating, by an explanation generation unit, one or more explanations for each relationship by which the set of entities are connected based on the retrieved information; and transmitting the one or more explanations as a response to the inquiry.