Context-aware human-to-computer dialog
First Claim
1. A computer-implemented method, comprising:
- receiving natural language input from a user as part of an ongoing human-to-computer dialog between the user and an automated assistant operated by one or more processors, wherein one or more topics raised previously during the ongoing human-to-computer dialog are stored in memory as part of a contextual data structure associated with the ongoing human-to-computer dialog;
selecting, from a plurality of grammars associated with a plurality of respective topics, one or more grammars to parse the natural language input, wherein the selecting is based on one or more respective measures of relevance of the previously-raised one or more topics to the ongoing human-to-computer dialog, wherein the measure of relevance associated with each given topic of the one or more topics is determined based at least in part on a count of turns of the ongoing human-to-computer dialog since the given topic was last raised, wherein the count of turns since the given topic was last raised is inversely related to relevance of the given topic to the ongoing human-to-computer dialog;
parsing the natural language input based on the selected one or more grammars to generate one or more parses;
generating, based on one or more of the parses, a natural language response;
outputting the natural language response to the user using one or more output devices;
identifying one or more topics raised by one or more of the parses or the natural language response; and
adding the identified one or more topics to the contextual data structure.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatus, and computer readable media are described related to utilizing a context of an ongoing human-to-computer dialog to enhance the ability of an automated assistant to interpret and respond when a user abruptly transitions between different domains (subjects). In various implementations, natural language input may be received from a user during an ongoing human-to-computer dialog with an automated assistant. Grammar(s) may be selected to parse the natural language input. The selecting may be based on topic(s) stored as part of a contextual data structure associated with the ongoing human-to-computer dialog. The natural language input may be parsed based on the selected grammar(s) to generate parse(s). Based on the parse(s), a natural language response may be generated and output to the user using an output device. Any topic(s) raised by the parse(s) or the natural language response may be identified and added to the contextual data structure.
-
Citations
14 Claims
-
1. A computer-implemented method, comprising:
-
receiving natural language input from a user as part of an ongoing human-to-computer dialog between the user and an automated assistant operated by one or more processors, wherein one or more topics raised previously during the ongoing human-to-computer dialog are stored in memory as part of a contextual data structure associated with the ongoing human-to-computer dialog; selecting, from a plurality of grammars associated with a plurality of respective topics, one or more grammars to parse the natural language input, wherein the selecting is based on one or more respective measures of relevance of the previously-raised one or more topics to the ongoing human-to-computer dialog, wherein the measure of relevance associated with each given topic of the one or more topics is determined based at least in part on a count of turns of the ongoing human-to-computer dialog since the given topic was last raised, wherein the count of turns since the given topic was last raised is inversely related to relevance of the given topic to the ongoing human-to-computer dialog; parsing the natural language input based on the selected one or more grammars to generate one or more parses; generating, based on one or more of the parses, a natural language response; outputting the natural language response to the user using one or more output devices; identifying one or more topics raised by one or more of the parses or the natural language response; and adding the identified one or more topics to the contextual data structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising one or more processors and memory operably coupled with the one or more processors, wherein the memory stores instructions that, in response to execution of the instructions by one or more processors, cause the one or more processors to:
-
receive natural language input from a user as part of an ongoing human-to-computer dialog between the user and an automated assistant operated by one or more processors, wherein one or more topics raised previously during the ongoing human-to-computer dialog are stored in memory as part of a contextual data structure associated with the ongoing human-to-computer dialog; select, from a plurality of grammars associated with a plurality of respective topics, one or more grammars to parse the natural language input, wherein the selecting is based on one or more respective measures of relevance of the previously-raised one or more topics to the ongoing human-to-computer dialog, wherein the measure of relevance associated with each given topic of the one or more topics is determined based at least in part on a count of turns of the ongoing human-to-computer dialog since the given topic was last raised, wherein the count of turns since the given topic was last raised is inversely related to relevance of the given topic to the ongoing human-to-computer dialog; parse the natural language input based on the selected one or more grammars to generate one or more parses; generate, based on one or more of the parses, a natural language response; output the natural language response to the user using one or more output devices; identify one or more topics raised by one or more of the parses or the natural language response; and add the identified one or more topics to the contextual data structure. - View Dependent Claims (10, 11, 12, 13)
-
-
14. At least one non-transitory computer-readable medium comprising instructions that, in response to execution of the instructions by one or more processors, cause the one or more processors to perform the following operations:
-
receiving natural language input from a user as part of an ongoing human-to-computer dialog between the user and an automated assistant operated by one or more processors, wherein one or more topics raised previously during the ongoing human-to-computer dialog are stored in memory as part of a contextual data structure associated with the ongoing human-to-computer dialog; selecting, from a plurality of grammars associated with a plurality of respective topics, one or more grammars to parse the natural language input, wherein the selecting is based on one or more respective measures of relevance of the previously-raised one or more topics to the ongoing human-to-computer dialog, wherein the measure of relevance associated with each given topic of the one or more topics is determined based at least in part on a count of turns of the ongoing human-to-computer dialog since the given topic was last raised, wherein the count of turns since the given topic was last raised is inversely related to relevance of the given topic to the ongoing human-to-computer dialog; parsing the natural language input based on the selected one or more grammars to generate one or more parses; generating, based on one or more of the parses, a natural language response; outputting the natural language response to the user using one or more output devices; identifying one or more topics raised by one or more of the parses or the natural language response; and adding the identified one or more topics to the contextual data structure.
-
Specification