A computer program product comprising a non-transitory computer readable medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to implement an algorithm utilization controller for utilizing algorithm components based on categories in a question answering system, wherein the computer readable program causes the computing device to:
- capture, by a question answering engine executing within the question answering system, a history of performance and correctness metrics for identifying efficiency of respective algorithms for finding answers to a plurality of training questions in respective question categories in the question answering system, wherein the algorithms comprise specialized software components that perform portions of analysis performed by the question answering engine;
- determine, by the algorithm utilization controller, sets of algorithms to use for respective question categories according to efficiency and correctness analysis, wherein the algorithm utilization controller comprises a logical grouping component, a learning analyzer component, a machine learning component, and an algorithm execution broker component working together to dynamically adjust algorithms to answer questions while minimizing resources, wherein determining the sets of algorithms comprises classifying each given training question into a question category by the logical grouping component, profiling resources to produce a performance profile for the question category for output value contributions to produce a final answer by the learning analyzer component, utilizing the performance profile for the question category as training data by the machine learning component considering confidence of answers as a weighting, and generating a machine learning model for classifying questions and adjusting algorithms dynamically by the algorithm execution broker according to a criteria adjusted for resource availability and answer correctness criteria;
- for a given input question, determine, by the algorithm utilization controller, a question category of the given input question using the machine learning model;
- determining, by the algorithm utilization controller, a set of algorithms corresponding to the question category of the given input question that meet an efficiency threshold to contribute to finding a correct answer for the given input question using the machine learning model;
- and
- execute, by the question answering engine, the set of algorithms corresponding to the question category of the given input question to find an answer to the given input question.