8. A method for generating answers to questions, comprising: receiving an input query; extracting specified information about the input query; obtaining, from an unstructured data source, a plurality of candidate answers to the input query; producing a first score for each of the candidate answers; sending the input query to a model selection module; using the model selection module to use said extracted specified information about the input query to select one of a plurality of scoring models; sending each of the candidate answers to the selected one of the scoring models; using the selected one of the scoring models for weighting the first scores for the candidate answers to determine an answer score for each of the candidate answers; and generating at least one answer to the input query based on the answer scores.
11. The method according to claim 8 , wherein the extracted information identifies a grammatical complexity of the input query.