1. A method for utilizing a dialectical model for providing an answer to a user query comprising: receiving, by a system, a natural language query from a user; applying, by the system, natural language processing (NLP) to the query to generate a first set of NLP structures; generating, by the system, a contrary set of NLP structures which represent an opposite polarity query to the user query; evaluating, by the system, the first set of NLP structures to identify a first set of evidence for candidate answers; evaluating, by the system, the contrary set of NLP structures to identify a second set of evidence for candidate answers; evaluating, by the system, a first set of hypotheses from the first set of NLP structures based on the first set of evidence for candidate answers, and a contrary set of hypotheses from the contrary set of NLP structures based on the second set of evidence for candidate answers, to determine a set of answers to the user query; converting, by the system, the set of answers to natural language; and providing the converted set of answers to the user.