A system and method is provided that processes a training database of human-generated requests in each of a plurality of task categories with a machine learning algorithm to develop a task classifier model that may be applied to subsequent user requests to determine the most likely one of the task categories for the subsequent user request.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A machine-implemented method, comprising: collecting a plurality of human-generated requests for each of a plurality of task categories to create a training database of user requests; extracting a training feature vector from each user request in the training database by assigning a binary value to each different word in the user request to form a training data set having a plurality of training feature vectors for each task category; processing the training feature vectors in the training data set to determine a task classifier model for each task category; receiving an additional request from a user, the additional request being classifiable into one of the task categories; and in the machine, comparing an extracted feature vector from the additional request to the task classifier model to determine a predicted task category for the additional request. 2. The machine-implemented method of claim 1, further comprising: in the machine, comparing words in the additional request to a dictionary of possible values for at least one query class for the predicted task category to identify matching words or phrases in the additional request for the at least one task parameter. 3. The machine-implemented method of claim 2, further comprising: servicing the additional request by using the matching words or phrases. 4. The machine-implemented method of claim 1, further comprising: determining whether the predicted task requires an external contents provider for its completion or whether the predicted task can be performed by a portable device of the user; invoking an application program interface for the external contents provider responsive to a determination that the predicted task requires the external contents provider for its completion; and invoking an application program interface for a program on the portable device responsive to a determination that the predicted task can be performed by the portable device. 5. The machine-implemented method of claim 4, wherein the portable device comprises a cellular telephone. 6. The machine-implemented method of claim 1, wherein the additional request comprises a natural language request, the method further comprising: converting the natural language request into a text input; and extracting the feature vector from the text input. 7. The machine-implemented method of claim 1, wherein processing the training data set to determine a task classifier model comprises applying a machine learning algorithm to the training data set. 8. The machine-implemented method of claim 7, wherein the machine learning algorithm comprise a support vector machine training algorithm. 9. The machine-implemented method of claim 7, wherein the machine learning algorithm comprises a naïve Bayes algorithm. 10. The machine-implemented method of claim 1, wherein the task categories include a restaurant search task category, a call task category, an email task category, and a transportation task category. 11. A system, comprising: a machine learning trainer module configured to extract a feature vector from a plurality of user requests for each of a plurality of task categories by an assignment of a binary value to each different word in each of the user requests, the trainer module being further configured to process the feature vectors to generate a task classifier model for each of the task categories; a task classifier module configured to extract a first feature vector from a first user request corresponding to one of the task categories and to compare the first feature vector to the task classifier model to predict a task category corresponding to the first user request; a query extraction module configured to compare the first user request to a dictionary of possible values for at least one task parameter for the predicted task category to identify matching words or phrases in the first user request for the at least one task parameter; and a task execution module configured to analyze the predicted task category to determine whether the predicted task category requires an external contents provider for its completion or whether the predicted task category can be performed by a portable device of the user; and a task execution module configured to invoke an application programming interface for the external contents provider with the identified words or phrases responsive to a determination that the predicted task category requires the external contents provider for its completion. 12. The system of claim 11, wherein the task execution module is further configured to invoke an application programming interface for the user's portable device with the identified words or phrases responsive to a determination that the predicted task category can be performed by the user's portable device. 13. The system of claim 11, wherein the predicted task categories include a restaurant search task category, a call task category, an email task category, and a transportation task category. 14. The system of claim 11, wherein the machine learning training module is configured to develop the task classifier model using a support vector machine training algorithm. 15. The system of claim 11, wherein the machine learning training module is configured to develop the task classifier model using a naïve Bayes algorithm. 16. The system of claim 11, further comprising a natural language to text converter module configured to convert a natural language input into a text input comprising the first user's request.