1. A method for processing natural language queries comprising: obtaining a natural language query from a user; generating at least one semantic token from the natural language query; identifying data in a knowledge base using the at least one semantic token; interpreting the identified data based on an intention associated with the user, wherein the intention is expressed in a personalized policy, and wherein interpreting the identified data comprises: recognizing an uncertainty in the natural language query, wherein the uncertainty comprises at least one of: a lack of identified data in the knowledge base; the natural language query including a series of dependent commands without information associated with a sequence of the commands; and the identified data including a plurality of conceptually similar elements that relate to a generated semantic token; and resolving the uncertainty based on the user intention, wherein resolving the uncertainty comprises: establishing the personalized policy for the user; applying the personalized policy in conjunction with contextual data obtained from the user to resolve the uncertainty, the contextual data comprising data relating to the user's location and sensor data; receiving feedback from the user relating to the application of the personalized policy; and re-configuring the personalized policy based on the feedback; and actuating the interpreted data.