In one exemplary aspect, a contextual user engagement system for automatically engaging in a conversation with a user is provided. A context manager manage, with at least one processor, the context of the conversation with a user. 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. The context manager maintains a context object for a conversation with a user. 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 stores a content knowledge of the contextual user engagement system. The content knowledge includes a history of interactions with the user. An information extraction engine extract information from a specified source based on a set of rules.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A contextual 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; 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. 2. The contextual user engagement system of claim 1, further comprising: a query engine that comprises connectors for at least one of a database 130, an application programming interface engine, an enterprise system connect 134 or an engine for analyzing unstructured data. 3. The contextual user engagement system of claim 1, further comprising: an execution engine that generates a query plan and communicates the query plan to the query engine. 4. The contextual user engagement system of claim 1, wherein a context object update algorithm is utilized to update the context object. 5. The contextual user engagement system of claim 1, wherein the information extraction engine extracts attributes and facets from the user utterance based on information extraction rules and patterns, and wherein the information extraction engine assigns a probability to each extracted attribute based on a number of occurrences of the attribute. 6. The contextual user engagement system of claim 5, wherein the information extraction engine calculates a confidence value to the attribute. 7. The contextual user engagement system of claim 6, wherein the confidence value is defined as f  ( I  ( v i ) ) = 1 log 2  (  I  ( v i )  + 1 )  ∑ 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 α(v) comprises an indicator function for whether a particular value occurred within a negated context, and wherein l(vi) comprises a collection of occurrences of a value extracted from the user utterance. 8. The contextual user engagement system of claim 7, wherein when a value occurs within a negated context, the confidence value is defined as: C N  ( v ) =  ( 1 N - 1 )  C  ( v ) . 9. The contextual user engagement system of claim 6, wherein the information extraction engine receives domain-specific rules and patterns from a user. 10. The contextual user engagement system of claim 9, wherein an information extraction rule is based on the form of a pattern variable and an action variable, wherein the information extraction rule is fired when a target string in the user utterance matches the pattern variable, and wherein the action variable is used to specify a set of facts that are asserted in the context knowledge base when the rule is implemented. 11. The contextual user engagement system of claim 1, wherein the information in the context-knowledge base is represented as at least one semantic model. 12. The contextual user engagement system of claim 11, wherein the contextual topic engine utilizes a semantic similarity between the context object and a candidate topic to determine a most likely topic to extract. 13. A contextual user engagement method for automatically engaging in a conversation with a user comprising: receiving a user utterance with a context manager; communicating, with the context manager, a user text an context identifier to an extraction engine, wherein the user text is obtained from the user utterance; creating, with the context manager, a context object associated with the user utterance; extracting topics and attributes from the user text with the extraction engine; communicating the topics and attributes to the context manager; updating, with the context manager, the context object context manager with topics and attributes; communicating the context object to a semantic engine; updating the context object, with the semantic engine, based on at least one of an inference rule or a semantic model; communicating the context object to a discourse manager; using discourse states and dialogs to determine a system utterance for the user, wherein a system utterance comprises an automatically generated response generated with at least one processor; generating a query plan; sending the updated context object and user intent to execution engine; querying an entity for additional information relevant to the system utterance; converting the additional information from to additional sentence in a user-readable natural language state; adding additional sentences to the system utterance; and communicating the system utterance to at least one of a user device or a user application. 14. The contextual user engagement method of claim 13, wherein the entity queried for additional information relevant to the system utterance comprises at least one of an SQL database, an application programming interface, an enterprise system connector or an engine for analyzing unstructured data. 15. The contextual user engagement method of claim 14, wherein the inference rule comprises one or more functions that obtains a premise, analyzes a syntax of the premise, and returns one or more conclusions. 16. A computerized system comprising: a processor configured to execute instructions; a memory containing instructions when executed on the processor, causes the processor to perform operations that: receive a user utterance with a context manager; communicate, with the context manager, a user text an context identifier to an extraction engine, wherein the user text is obtained from the user utterance; create, with the context manager, a context object associated with the user utterance; extract topics and attributes from the user text with the extraction engine; communicate the topics and attributes to the context manager; update, with the context manager, the context object context manager with topics and attributes; communicate the context object to a semantic engine; update the context object, with the semantic engine, based on at least one of an inference rule or a semantic model; communicate the context object to a discourse manager; use discourse states and dialogs to determine a system utterance for the user, wherein a system utterance comprises an automatically generated response generated with at least one processor; generate a query plan; send the updated context object and user intent to execution engine; query a database for additional information relevant to the system utterance; convert the additional information from to additional sentence in a user-readable natural language state; add additional sentences to the system utterance; and communicate the system utterance to at least one of a user device or a user application.