9. A method for using a trained natural language understanding system, the method comprising: receiving a natural language input from a client device; sending the natural language input to a plurality of feature extractors, wherein the plurality of feature extractors are each located on different feature servers, receiving potential features for the natural language input from the plurality of feature extractors; evaluating the potential features utilizing a trained language understanding model to determine input features for the natural language input; and generating a response to the natural language input based on the input features.
9. A method for using a trained natural language understanding system, the method comprising: receiving a natural language input from a client device; sending the natural language input to a plurality of feature extractors, wherein the plurality of feature extractors are each located on different feature servers, receiving potential features for the natural language input from the plurality of feature extractors; evaluating the potential features utilizing a trained language understanding model to determine input features for the natural language input; and generating a response to the natural language input based on the input features. 18. The method of claim 9 , wherein the trained language understanding model is trained for a specific application, wherein the specific application is at least one of: a digital assistant application; a voice recognition application; an email application; a social networking application; a collaboration application; an enterprise management application; a messaging application; a word processing application; a spreadsheet application; a database application; a presentation application; a contacts application; a gaming application; an e-commerce application; an e-business application; a transactional application; an exchange application; and a calendaring application.