1. A method for using user preferences to customize answer output comprising the steps of: extracting, by a computer using natural language processing, from a first question, one or more user preferences for a first user and one or more sentiment levels for a first user; performing, by a computer, a first semantic search on the first question; receiving, by a computer, a plurality of candidate answers from the first semantic search; responsive to determining, by a computer that the first question contains multiple-parts or multiple-steps, retrieving, by a computer, supplemental information regarding at least one of the candidate answers; selecting, by a computer, one or more of the received candidate answers according to the one or more sentiment levels, or according to the one or more user preferences, or both, and adjusting for the retrieved supplemental information; and producing, by a computer, an output including the selected one or more candidate answers.