1. A method of answering questions, comprising: receiving a question; receiving an input; retrieving a set of heuristic rules from memory; answering the question by evaluating an accuracy of each heuristic rule; combining accuracies from the set of heuristic rules to produce a confidence level for the answer to the question.