IP Library Granted Patent US 11,599,731
Granted Patent B2
US 11,599,731 · App. 17/021,835 · Granted Mar 7, 2023

Generating recommendations by using communicative discourse trees of conversations

Inventor: Boris Galitsky (San Jose, CA)
Assignee: Oracle International Corporation
G06F40/35G06F16/242G06F40/253G06F40/295G06N5/04G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,599,731
App. No.
17/021,835
Granted
Mar 7, 2023
Kind
B2
Abstract

Techniques are disclosed for improved autonomous agents that can provide a recommendation in a non-intrusive, conversational manner. In an aspect, a method determines a first sentiment score for a first utterance and a second sentiment score for a second utterance, each sentiment score indicating an emotion indicated by the respective utterance. The method further identifies that a difference between the first sentiment score and the second sentiment score is greater than a threshold. The method further extracts a noun phrase from the second utterance. The method identifies a text fragment that includes an entity that corresponds to the noun phrase. The method identifies that the text fragment addresses a claim of the second utterance. The method forms a third utterance that includes the a recommendation related to the second utterance and adds the third utterance to the sequence of utterances after the second utterance.

Claims (109)

1. A method for providing a recommendation in conversational form, the method comprising:

determining a first sentiment score for a first utterance and a second sentiment score for a second utterance, wherein each sentiment score indicates an emotion indicated by the respective utterance;

identifying that a difference between the first sentiment score and the second sentiment score is greater than a threshold;

extracting a noun phrase from the second utterance;

identifying, in an entity database, a text fragment that comprises an entity that corresponds to the noun phrase;

verifying that the text fragment addresses a claim of the second utterance, the verifying comprising:

generating a first discourse tree from the text fragment and a second discourse tree from the second utterance;

translating the first discourse tree into a first reason-conclusion logical formula and the second discourse tree into a second reason-conclusion logical formula, wherein the translating comprises:

identifying, from an elementary discourse unit in the respective discourse tree, logical atoms that correspond to text of the elementary discourse unit;

identifying, from the respective discourse tree, a rhetorical relation that corresponds to a nucleus elementary discourse unit and a satellite elementary discourse unit;

identifying that the first reason-conclusion logical formula supports the second reason-conclusion logical formula;

forming a third utterance that comprises the text fragment;

and outputting the third utterance to a user device.

2. The method of claim 1 , wherein determining the sentiment score for each utterance comprises:

identifying a plurality of keywords from the utterance;

determining a keyword sentiment score for each keyword of the plurality of keywords, wherein the keyword sentiment score indicates whether the keyword signifies positive or negative sentiment;

determining an average keyword sentiment score of the plurality of keywords; and identifying the average keyword sentiment score as the sentiment score.

3. The method of claim 1 , wherein determining the sentiment score for each utterance comprises:

creating a communicative discourse tree from text comprising the utterance;

providing the communicative discourse tree to a machine-learning model, the machine-learning model being trained to identify emotions based on input communicative discourse trees for which emotion associations are known; and

receiving the sentiment score from the machine-learning model.

4. The method of claim 3 , wherein generating the communicative discourse tree comprises:

generating, from the text, a discourse tree that represents rhetorical relationships between elementary discourse units and comprises a plurality of nodes, each nonterminal node representing a rhetorical relationship between two of the elementary discourse units, each terminal node of the nodes of the discourse tree is associated with one of the elementary discourse units; and

matching each elementary discourse unit that has a verb to a verb signature by:

accessing a plurality of verb signatures, wherein each verb signature comprises the verb of the elementary discourse units and a sequence of thematic roles, wherein thematic roles describe a relationship between the verb and related words;

determining, for each verb signature of the plurality of verb signatures, a plurality of thematic roles of the respective signature that match a role of a word in the elementary discourse unit;

selecting a particular verb signature from the plurality of verb signatures based on the particular verb signature comprising a highest number of matches; and

associating the particular verb signature with the elementary discourse unit.

5. The method of claim 1 , wherein the rhetorical relation includes one or more of: cause, reason, explanation, and consequence.

6. The method of claim 1 , further comprising constructing the entity database by:

determining, from a training text corpus, an additional entity corresponding to the noun phrase wherein the additional entity comprises attributes;

forming a search query comprising the additional entity and the attributes;

submitting the search query to a search engine;

obtaining a result from the search engine; and

adding the result into the entity database.

7. 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:

determining a first sentiment score for a first utterance and a second sentiment score for a second utterance, wherein each sentiment score indicates an emotion indicated by the respective utterance;

identifying that a difference between the first sentiment score and the second sentiment score is greater than a threshold;

extracting a noun phrase from the second utterance;

identifying, in an entity database, a text fragment that comprises an entity that corresponds to the noun phrase;

verifying that the text fragment addresses a claim of the second utterance, the verifying comprising:

generating a first discourse tree from the text fragment and a second discourse tree from the second utterance;

translating the first discourse tree into a first reason-conclusion logical formula and the second discourse tree into a second reason-conclusion logical formula, wherein the translating comprises:

identifying, from an elementary discourse unit in the respective discourse tree, logical atoms that correspond to text of the elementary discourse unit;

identifying, from the respective discourse tree, a rhetorical relation that corresponds to a nucleus elementary discourse unit and a satellite elementary discourse unit;

constructing, from the rhetorical relation, a reason-conclusion logical formula by mapping the nucleus elementary discourse unit to a reason and the satellite elementary discourse unit to a conclusion;

substituting logical atoms associated with the nucleus elementary discourse unit to the reason; and

substituting logical atoms associated with the satellite elementary discourse unit to the conclusion; and

identifying that the first reason-conclusion logical formula supports the second reason-conclusion logical formula;

forming a third utterance that comprises the text fragment;

and

outputting the third utterance to a user device.

8. The non-transitory computer-readable storage medium of claim 7 , wherein determining the sentiment score for each utterance comprises:

identifying a plurality of keywords from the utterance;

determining a keyword sentiment score for each keyword of the plurality of keywords, wherein the keyword sentiment score indicates whether the keyword signifies positive or negative sentiment;

determining an average keyword sentiment score of the plurality of keywords; and identifying the average sentiment keyword score as the sentiment score.

9. The non-transitory computer-readable storage medium of claim 7 , wherein determining the sentiment score for each utterance comprises:

creating a communicative discourse tree from text comprising the utterance;

providing the communicative discourse tree to a machine-learning model, the machine-learning model being trained to identify emotions based on input communicative discourse trees for which emotion associations are known; and

receiving the sentiment score from the machine-learning model.

10. The non-transitory computer-readable storage medium of claim 9 , wherein generating the communicative discourse tree comprises:

generating, from the text, a discourse tree that represents rhetorical relationships between elementary discourse units and comprises a plurality of nodes, each nonterminal node representing a rhetorical relationship between two of the elementary discourse units, each terminal node of the nodes of the discourse tree is associated with one of the elementary discourse units; and

matching each elementary discourse unit that has a verb to a verb signature by:

accessing a plurality of verb signatures, wherein each verb signature comprises the verb of the elementary discourse units and a sequence of thematic roles, wherein thematic roles describe a relationship between the verb and related words;

determining, for each verb signature of the plurality of verb signatures, a plurality of thematic roles of the respective signature that match a role of a word in the elementary discourse unit;

selecting a particular verb signature from the plurality of verb signatures based on the particular verb signature comprising a highest number of matches; and

associating the particular verb signature with the elementary discourse unit.

11. The non-transitory computer-readable storage medium of claim 7 , the operations further comprising constructing the entity database by:

determining, from a training text corpus, an additional entity corresponding to the noun phrase wherein the additional entity comprises attributes;

forming a search query comprising the additional entity and the attributes;

submitting the search query to a search engine;

obtaining a result from the search engine; and adding the result into the entity database.

12. The non-transitory computer-readable storage medium of claim 7 , wherein the rhetorical relation includes one or more of: cause, reason, explanation, and consequence.

13. 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:

determining a first sentiment score for a first utterance and a second sentiment score for a second utterance, wherein each sentiment score indicates an emotion indicated by the respective utterance;

identifying that a difference between the first sentiment score and the second sentiment score is greater than a threshold;

extracting a noun phrase from the second utterance;

identifying, in an entity database, a text fragment that comprises an entity that corresponds to the noun phrase;

verifying that the text fragment addresses a claim of the second utterance, the verifying comprising:

generating a first discourse tree from the text fragment and a second discourse tree from the second utterance;

translating the first discourse tree into a first reason-conclusion logical formula and the second discourse tree into a second reason-conclusion logical formula, wherein the translating comprises:

identifying, from an elementary discourse unit in the respective discourse tree, logical atoms that correspond to text of the elementary discourse unit;

identifying, from the respective discourse tree, a rhetorical relation that corresponds to a nucleus elementary discourse unit and a satellite elementary discourse unit;

constructing, from the rhetorical relation, a reason-conclusion logical formula by mapping the nucleus elementary discourse unit to a reason and the satellite elementary discourse unit to a conclusion;

substituting logical atoms associated with the nucleus elementary discourse unit to the reason; and

substituting logical atoms associated with the satellite elementary discourse unit to the conclusion; and

identifying that the first reason-conclusion logical formula supports the second reason-conclusion logical formula; forming a third utterance that comprises the text fragment;

and

outputting the third utterance to a user device.

14. The system of claim 13 , wherein determining the sentiment score for each utterance comprises:

creating a communicative discourse tree from text comprising the utterance;

providing the communicative discourse tree to a machine-learning model, the machine-learning model being trained to identify emotions based on input communicative discourse trees for which emotion associations are known; and

receiving the sentiment score from the machine-learning model.

15. The system of claim 14 , wherein generating the communicative discourse tree comprises:

generating, from the text, a discourse tree that represents rhetorical relationships between elementary discourse units and comprises a plurality of nodes, each nonterminal node representing a rhetorical relationship between two of the elementary discourse units, each terminal node of the nodes of the discourse tree is associated with one of the elementary discourse units; and

matching each elementary discourse unit that has a verb to a verb signature by:

accessing a plurality of verb signatures, wherein each verb signature comprises the verb of the elementary discourse units and a sequence of thematic roles, wherein thematic roles describe a relationship between the verb and related words;

determining, for each verb signature of the plurality of verb signatures, a plurality of thematic roles of the respective signature that match a role of a word in the elementary discourse unit;

selecting a particular verb signature from the plurality of verb signatures based on the particular verb signature comprising a highest number of matches; and

associating the particular verb signature with the elementary discourse unit.

16. The system of claim 13 , wherein the rhetorical relation includes one or more of: cause, reason, explanation, and consequence.

17. The system of claim 13 , wherein executing the computer-executable program instructions configures the processing device to perform operations comprising constructing the entity database by:

determining, from a training text corpus, an additional entity corresponding to the noun phrase wherein the additional entity comprises attributes;

forming a search query comprising the additional entity and the attributes;

submitting the search query to a search engine;

obtaining a result from the search engine; and

adding the result into the entity database.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE TITLE ON THE EXCUTED ASSIGNMENT BY CORRECTING "CREATING" TO "GENERATING" PREVIOUSLY RECORDED AT REEL: 053784 FRAME: 0029. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 25, 2020
From: GALITSKY, BORIS
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 054237/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2020
From: GALITSKY, BORIS
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 053784/0029 →
Continuity (2)
Provisional Application 62909350 · Oct 2, 2019
Related Publication 20210103703A1 · Apr 8, 2021
Cited By (2)
US 12,347,436 US 12,718,027