A method for context aware human-to computer dialog relates 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 is received from a user during an ongoing human-to-computer dialog with an automated assistant. A grammar(s) is selected to parse the natural language input. The selection is based on topic(s) stored as part of a contextual data structure associated with the ongoing human-to-computer dialog. The natural language input is parsed based on the selected grammar(s) to generate a parse(s). Based on the parse(s), a natural language response is generated and output to the user using an output device. Any topic(s) raised by the parse(s) or the natural language response is identified and added to the contextual data structure. The contextual data structure may be formed as an undirected graph 364 with a plurality of nodes and a plurality of edges connecting the plurality of nodes.
Context-aware human-to-computer dialog