1. A method comprising: receiving, from a user, a text input expressing a question asking for recommendation of a product having a first requested characteristic and a second requested characteristic; identifying a product having the first requested characteristic, at least in part by locating in an ontology a node corresponding to the first requested characteristic, and traversing a relationship in the ontology from the node corresponding to the first requested characteristic to a node corresponding to the product; analyzing, using a natural language analysis component implemented via at least one processor, a plurality of product reviews comprising natural language text evaluations of the product identified from the ontology as having the first requested characteristic, including analyzing the natural language in at least one passage of text in at least one product review of the plurality of product reviews to determine whether the natural language in the at least one passage of text has a meaning indicating that the product also has the second requested characteristic; in response to determining via the natural language analysis that the natural language in the at least one passage of text has a meaning indicating that the product also has the second requested characteristic, identifying the at least one passage of text in the at least one product review as providing supporting evidence for the product in answer to the question; generating, in response to the question, an answer that identifies the product having the first and second requested characteristics for recommendation to the user; and presenting to the user, in response to the text input, the answer and the at least one passage in the at least one product review identified as providing supporting evidence for the answer.