Chatbot providing a defeating reply
AssigneeOracle International Corporation
InventorBoris Galitsky
Life of this patent
Estimating the term…
Abstract
Techniques are disclosed for generating defeating textual replies. A computer-implemented method generates a first communicative discourse tree from an utterance and as second communicative discourse tree from a candidate answer derived from a search of keywords in the utterance. The method translates the first communicative discourse tree into a first logical formula from and the second communicative discourse tree into a second logical formula. The method determines that the first logical formula is a negation of the second logical formula. The method further provides the candidate answer to a user device responsive to the determining.
Claims20
A method for negating a claim within an utterance, the method comprising:
- accessing a user utterance comprising fragments of text, wherein each fragment is an elementary discourse unit;
- generating, from the user utterance, a first discourse tree that represents rhetorical relationships between the fragments of text of the user utterance, wherein the discourse tree comprises a plurality of nodes, each nonterminal node representing a rhetorical relationship between two of the fragments, each terminal node of the nodes of the discourse tree being associated with one of the fragments;
- constructing, from the discourse tree, a first communicative discourse tree by matching each fragment that has a verb in the discourse tree with a predetermined verb signature;
- translating the first communicative discourse tree into a first logical formula;
- identifying topic keywords from the user utterance;
- providing the topic keywords to a search engine;
- obtaining, from the search engine, a candidate answer comprising fragments of text;
- generating, from the candidate answer, a second discourse tree that represents rhetorical relationships between the fragments of text of the candidate answer;
- constructing, from the second discourse tree, a second communicative discourse tree;
- translating the second communicative discourse tree into a second logical formula;
- determining that the first logical formula is a negation of the second logical formula;
- and
- providing the candidate answer to a user device responsive to the determining.
A non-transitory computer-readable storage medium storing computer-executable program instructions, wherein when executed by a processing device, the program instructions cause the processing device to perform operations comprising:
- accessing a user utterance comprising fragments of text, wherein each fragment is an elementary discourse unit;
- generating, from the user utterance, a first discourse tree that represents rhetorical relationships between the fragments of text of the user utterance, wherein the discourse tree comprises a plurality of nodes, each nonterminal node representing a rhetorical relationship between two of the fragments, each terminal node of the nodes of the discourse tree being associated with one of the fragments;
- constructing, from the discourse tree, a first communicative discourse tree by matching each fragment that has a verb in the discourse tree with a predetermined verb signature;
- translating the first communicative discourse tree into a first logical formula;
- identifying topic keywords from the user utterance;
- providing the topic keywords to a search engine;
- obtaining, from the search engine, a candidate answer comprising fragments of text;
- generating, from the candidate answer, a second discourse tree that represents rhetorical relationships between the fragments of text of the candidate answer;
- constructing, from the second discourse tree, a second communicative discourse tree;
- translating the second communicative discourse tree into a second logical formula;
- determining that the first logical formula is a negation of the second logical formula;
- and
- providing the candidate answer to a user device responsive to the determining.
A system comprising:
- a non-transitory computer-readable medium storing computer-executable program instructions;
- and
- a processing device communicatively coupled to the non-transitory computer-readable medium for executing the computer-executable program instructions, wherein executing the computer-executable program instructions configures the processing device to perform operations comprising:
- accessing a user utterance comprising fragments of text, wherein each fragment is an elementary discourse unit;
- generating, from the user utterance, a first discourse tree that represents rhetorical relationships between the fragments of text of the user utterance, wherein the discourse tree comprises a plurality of nodes, each nonterminal node representing a rhetorical relationship between two of the fragments, each terminal node of the nodes of the discourse tree being associated with one of the fragments;
- constructing, from the discourse tree, a first communicative discourse tree by matching each fragment that has a verb in the discourse tree with a predetermined verb signature;
- translating the first communicative discourse tree into a first logical formula;
- identifying topic keywords from the user utterance;
- providing the topic keywords to a search engine;
- obtaining, from the search engine, a candidate answer comprising fragments of text;
- generating, from the candidate answer, a second discourse tree that represents rhetorical relationships between the fragments of text of the candidate answer;
- constructing, from the second discourse tree, a second communicative discourse tree;
- translating the second communicative discourse tree into a second logical formula;
- determining that the first logical formula is a negation of the second logical formula;
- and
- providing the candidate answer to a user device responsive to the determining.
Dependencies are inferred from the claim text.