1. A method for operating an intelligent automated assistant, comprising: at an electronic device comprising a processor and memory storing instructions for execution by the processor: storing a plurality of predefined domains each representing a respective area of service offered by the intelligent automated assistant, wherein each of the predefined domains comprises a respective plurality of concepts and one or more relations relating the respective plurality of concepts, wherein each predefined domain is associated with at least one task flow specifying steps for performing a respective task in the predefined domain, and wherein each of the predefined domains is associated with a respective plurality of words relevant to the predefined domain; obtaining a text string derived from a user request, the text string including at least one or more words derived from a speech input received from a user; from the plurality of predefined domains, identifying a relevant domain for the user request based at least on respective degrees of match between the text string de-rived from the user request and the respective plurality of words associated with each prede-fined domain; and executing a task in accordance with steps specified in a task flow associated with the relevant domain, and in accordance with one or more task parameters derived from the user request.