1. A method for performing a task in a natural language processing (NLP) system, comprising: processing text to obtain a plurality of numerical encodings, wherein the text comprises a plurality of entities, wherein each of the plurality of numerical encodings is associated with one of the plurality of entities, and wherein the text is derived from an utterance; populating a task list with each of the plurality of numerical encodings that have a length less than a pre-determined length; populating a variable list with each of the plurality of numerical encodings that have a length greater than a pre-determined length; selecting a numerical encoding from the task list, wherein the numerical encoding identifies a task in a domain-specific schema; determining that the variable list does not include a variable value required to perform the task; generating a sentence to obtain the variable value associated with a variable, wherein the variable is associated with a second numerical encoding, and wherein the second numerical encoding includes the numerical encoding; transmitting the sentence to a user device; in response to the transmitting, receiving the variable value for the variable in response to the dialogue sentence; and performing the task using the variable value.