IP Library › Granted Patent US 11,551,676
Granted Patent B2
US 11,551,676 · App. 17/003,250 · Granted Jan 10, 2023

Techniques for dialog processing using contextual data

Inventor: Mark Edward Johnson (Sydney, AU)
Assignee: Oracle International Corporation
G10L15/19G06F16/90332G10L15/22G10L2015/227
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,551,676
App. No.
17/003,250
Granted
Jan 10, 2023
Kind
B2
Abstract

Techniques are described for using data stored for a user in association with context levels to improve the efficiency and accuracy of dialog processing tasks. A dialog system stores historical dialog data in association with a plurality of configured context levels. The dialog system receives an utterance and identifies a term for disambiguation from the utterance. Based on a determined context level, the dialog system identifies relevant historical data stored to a database. The historical data may be used to perform tasks such as resolving an ambiguity based on user preferences, disambiguating named entities based on a prior dialog, and identifying previously generated answers to queries. Based on the context level, the dialog system can efficiently identify the relevant information and use the identified information to provide a response.

Claims (65)

1. A method comprising:

receiving, by a dialog system from a user, a spoken utterance;

processing, by the dialog system, the spoken utterance to identify a term for disambiguation;

determining, by the dialog system, a context level, of a plurality of predefined context levels, for the term for disambiguation;

based on the determined context level, identifying, by the dialog system, a value for the term using a database storing a plurality of values for the user in association with the context level, wherein identifying the value includes:

based on the determined context level, selecting the database for the context level, of a plurality of context-level-based databases, and

querying the selected database with an identifier of the user and the term to identify the value; and

disambiguating, by the dialog system, the term using the identified value.

2. The method of claim 1 , further comprising:

generating, by the dialog system, a logical form for the spoken utterance based on the disambiguated term;

generating, by the dialog system, a response based on the logical form; and

outputting, by the dialog system, the response to the user.

3. The method of claim 2 , further comprising:

identifying, by the dialog system from the database based on the logical form, a stored execution result,

wherein the response is further generated based on the execution result.

4. The method of claim 2 , further comprising:

storing, by the dialog system, a representation of the spoken utterance, the logical form, and the response to the database.

5. The method of claim 1 , further comprising:

identifying, by the dialog system from the database, stored data for a plurality of prior dialogs with the user; and

analyzing the identified data to compute the value.

6. The method of claim 1 , wherein the plurality of predefined context levels include an immediate context, a short-term context, a medium-term context, and a long-term context.

7. A non-transitory computer-readable memory storing a plurality of instructions executable by one or more processors, the plurality of instructions comprising instructions that when executed by the one or more processors cause the one or more processors to perform processing comprising:

receiving a spoken utterance from a user;

processing the spoken utterance to identify a term for disambiguation;

determining a context level, of a plurality of predefined context levels, for the term for disambiguation;

based on the determined context level, identifying a value for the term using a database storing a plurality of values for the user in association with the context level, wherein identifying the value includes:

based on the determined context level, selecting the database for the context level, of a plurality of context-level-based databases, and

querying the selected database with an identifier of the user and the term to identify the value; and

disambiguating the term using the identified value.

8. The non-transitory computer-readable memory of claim 7 , the processing further comprising:

generating a logical form for the spoken utterance based on the disambiguated term;

preparing a response based on the logical form; and

outputting the response to the user.

9. The non-transitory computer-readable memory of claim 8 , the processing further comprising:

identifying, from the database based on the logical form, a stored execution result,

wherein the response is further generated based on the execution result.

10. The non-transitory computer-readable memory of claim 8 , the processing further comprising:

storing a representation of the spoken utterance, the logical form, and the response to the database.

11. The non-transitory computer-readable memory of claim 7 , the processing further comprising:

identifying, from the database, stored data for a plurality of prior dialogs with the user; and

analyzing the identified data to compute the value.

12. The non-transitory computer-readable memory of claim 7 , wherein the plurality of predefined context levels include an immediate context, a short-term context, a medium-term context, and a long-term context.

13. A system comprising:

one or more processors;

a memory coupled to the one or more processors, the memory storing a plurality of instructions executable by the one or more processors, the plurality of instructions comprising instructions that when executed by the one or more processors cause the one or more processors to perform processing comprising:

receiving a spoken utterance from a user;

processing the spoken utterance to identify a term for disambiguation;

determining a context level, of a plurality of predefined context levels, for the term for disambiguation;

based on the determined context level, identifying a value for the term using a database storing a plurality of values for the user in association with the context level, wherein identifying the value includes:

based on the determined context level, selecting the database for the context level, of a plurality of context-level-based databases, and

querying the selected database with an identifier of the user and the term to identify the value; and

disambiguating the term using the identified value.

14. The system of claim 13 , the processing further comprising:

generating a logical form for the spoken utterance based on the disambiguated term;

preparing a response based on the logical form; and

outputting the response to the user.

15. The system of claim 14 , the processing further comprising:

identifying, from the database based on the logical form, a stored execution result,

wherein the response is further generated based on the execution result.

16. The system of claim 14 , the processing further comprising:

storing a representation of the spoken utterance, the logical form, and the response to the database.

17. The system of claim 13 , the processing further comprising:

identifying, from the database, stored data for a plurality of prior dialogs with the user; and

analyzing the identified data to compute the value.

18. The system of claim 13 , wherein the plurality of predefined context levels include an immediate context, a short-term context, a medium-term context, and a long-term context.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2020
From: JOHNSON, MARK EDWARD
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 053606/0219 →
Continuity (2)
Provisional Application 62899649 · Sep 12, 2019
Related Publication 20210082414A1 · Mar 18, 2021