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: receive a user query from an input device, wherein the user query includes a user intent and at least one command, the user intent being associated with a set of functions to be carried out by the computing device; derive, using a natural language processing (NLP) engine, the user intent from the user query; identify, using the NLP engine, at least one domain and the at least one command associated with the user intent derived, wherein the NLP engine includes at least one conditional random field (CRF) for performing entity extraction on the user query to identify at least one entity associated with the at least one command and wherein the command is associated with the domain; and execute the command associated with the user intent, wherein the command is configured to direct the computing device to carry out a function selected from the set of functions to generate output from a component of the computing device, wherein the component is selected from one of a speaker, a display screen, and a network interface device.