1. A method of processing a query in a dialog system comprising: identifying one or more constraints in the query; assigning the one or more constraints to a constraint-type of one or more constraint types; defining one or more strategies for each constraint type of the one or more constraint types; processing the query to produce an initial result, the initial result comprising a number of answers responsive to the query; applying a strategy of the one or more strategies to a constraint in the query to generate a refined query, if the number of answers is not within a predetermined range; processing the refined query to produce a refined result, the refined result comprising answers responsive to the refined query.