1. A method for using user preferences to customize answer output comprising the steps of: for a first user and a first question: extracting by a natural language processor from the question one or more user preferences and one or more sentiment levels; performing by a computer a semantic search on of the first question; receiving by a computer a plurality of candidate answers from the semantic search; selecting by a computer one or more of the received candidate answers, wherein the selection is performed both according to the one or more sentiment levels and according to the one or more user preferences; and producing by a computer a first user output including the selected one or more candidate answers; for a second question and a second user, repeating by a computer the step of extracting preferences from the second question; accumulating by a computer the preferences and sentiments extracted from the second question with the preferences and sentiments extracted from the first question; and for the second question, repeating by a computer the steps of performing a semantic search, receiving candidate answers, selecting candidate answers according to the accumulated preferences and sentiments, and producing a second output.