1. A computing device comprising one or more processors and one or more non-transitory storage devices storing instructions that, when executed by the one or more processors, configure the computing device to provide: a natural language processing (NLP) engine for deriving a user intent from at least one user query, the NLP engine configured to identify at least one domain and at least one command associated with the user intent derived; and wherein the NLP engine includes at least one conditional random field (CRF) for performing entity extraction on the at least one user query to identify at least one entity associated with the at least one command and wherein the command is for performing by a service associated with the domain.