1. A context user engagement system for automatically engaging in a conversation with a user comprising: a context manager that manages, with at least one processor, the context of the conversation with a user, wherein the context manager receives a user utterance, wherein the context manager calls the other modules of the contextual user engagement system to obtain information with respect to the user utterance, wherein the context manager maintains a context object for a conversation with a user, wherein the context manager automatically updates the context object based on an information detected by the other modules of contextual user engagement system; a content knowledge database to store a content knowledge of the contextual user engagement system, wherein the content knowledge comprises a history of interactions with the user; an information extraction engine that extracts information from a specified source based on a set of rules, wherein the information extraction engine extracts attributes and facets from the user utterance based on information extraction rules and patterns, wherein the information extraction engine assigns a probability to each extracted attribute based on a number of occurrences of the attribute, wherein the information extraction engine calculates a confidence value to the attribute, wherein the confidence value is defined as f ⁡ ( I ⁡ ( v i ) ) = 1 log 2 ⁡ (  I ⁡ ( v i )  + I ) ⁢ ∑ v ∈ I ⁡ ( v i ) ⁢ α ⁡ ( v ) ⁢ C ⁡ ( v ) wherein C(v) comprises a confidence in the information-extraction rule that extracted the attribute-value pair from the user utterance, wherein a(v) comprises an indicator function for whether a particular value occurred within a negated context, and wherein I(vi) comprises a collection of occurrences of a value extracted from the user utterance; a contextual topic engine that extracts topics and entities from text provided by a user based on a specified semantic model; a discourse manager that provide an interactive dialog with the user; a natural language generation module that generates an explanation for results and appropriate utterances to be communicated to the user; and an inference engine that infers a facts or a user intent based on at least one of an inference rules, the specified semantic model or a set of information in the context object.