System and methods for a virtual assistant to manage and use context in a natural language dialog
First Claim
1. A method of disambiguating interpretations, the method comprising:
- receiving from a client a natural language query and an associated dialog history, the natural language query having an incomplete interpretation, the incomplete interpretation having at least one slot name whose value is ambiguous, the associated dialog history including one or more entries for history items, each history item including a previous interpretation and being associated with a named slot from the set comprising WHO, WHAT, WHEN, WHERE and HOW MANY, and each history item entry being associated with a slot value, saliency weight and sequence number;
selecting, from the associated dialog history, a history item including a previous interpretation, the history item being selected, from the associated dialog history, based on the slot name of the history item, the number sequence of the history item and the saliency weight of the history item, such that the selected history item matches the natural language query having the incomplete interpretation for purposes of completing the at least one slot name whose value is ambiguous;
merging the previous interpretation of the selected history item with the incomplete interpretation to form a merged interpretation;
creating an updated dialog history by adding, to the associated dialog history, a new dialog history layer comprising the merged interpretation and at least one additional history item having a slot name, a slot value, a saliency weight, and a new sequence number; and
sending the updated dialog history to the client.
11 Assignments
0 Petitions
Accused Products
Abstract
A dialog with a conversational virtual assistant includes a sequence of user queries and systems responses. Queries are received and interpreted by a natural language understanding system. Dialog context information gathered from user queries and system responses is stored in a layered context data structure. Incomplete queries, which do not have sufficient information to result in an actionable interpretation, become actionable with use of context data. The system recognizes the need to access context data, and retrieves from context layers information required to transform the query into an executable one. The system may then act on the query and provide an appropriate response to the user. Context data buffers forget information, perhaps selectively, with the passage of time, and after a sufficient number and type of intervening queries.
-
Citations
12 Claims
-
1. A method of disambiguating interpretations, the method comprising:
-
receiving from a client a natural language query and an associated dialog history, the natural language query having an incomplete interpretation, the incomplete interpretation having at least one slot name whose value is ambiguous, the associated dialog history including one or more entries for history items, each history item including a previous interpretation and being associated with a named slot from the set comprising WHO, WHAT, WHEN, WHERE and HOW MANY, and each history item entry being associated with a slot value, saliency weight and sequence number; selecting, from the associated dialog history, a history item including a previous interpretation, the history item being selected, from the associated dialog history, based on the slot name of the history item, the number sequence of the history item and the saliency weight of the history item, such that the selected history item matches the natural language query having the incomplete interpretation for purposes of completing the at least one slot name whose value is ambiguous; merging the previous interpretation of the selected history item with the incomplete interpretation to form a merged interpretation; creating an updated dialog history by adding, to the associated dialog history, a new dialog history layer comprising the merged interpretation and at least one additional history item having a slot name, a slot value, a saliency weight, and a new sequence number; and sending the updated dialog history to the client. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable recording medium having computer program instructions recorded thereon, the computer program instructions, when executed on a computer processor, causing the computer processor to perform a method of disambiguating interpretations, the method comprising:
-
receiving from a client a natural language query and an associated dialog history, the natural language query having an incomplete interpretation, the incomplete interpretation having at least one slot name whose value is ambiguous, the associated dialog history including one or more entries for history items, each history item including a previous interpretation and being associated with a named slot from the set comprising WHO, WHAT, WHEN, WHERE and HOW MANY, and each history item entry being associated with a slot value, saliency weight and sequence number; selecting, from the associated dialog history, a history item including a previous interpretation, the history item being selected, from the associated dialog history, based on the slot name of the history item, the number sequence of the history item and the saliency weight of the history item, such that the selected history item matches the natural language query having the incomplete interpretation for purposes of completing the at least one slot name whose value is ambiguous; merging the previous interpretation of the selected history item with the incomplete interpretation to form a merged interpretation; creating an updated dialog history by adding, to the associated dialog history, a new dialog history layer comprising the merged interpretation and at least one additional history item having a slot name, a slot value, a saliency weight, and a new sequence number; and sending the updated dialog history to the client. - View Dependent Claims (8, 9)
-
-
10. A system including one or more processors coupled to memory, the memory loaded with computer program instructions for disambiguating interpretations, the computer program instructions, when executed on the processors, implement actions comprising
receiving from a client a natural language query and an associated dialog history, the natural language query having an incomplete interpretation, the incomplete interpretation having at least one slot name whose value is ambiguous, the associated dialog history including one or more entries for history items, each history item including a previous interpretation and being associated with a named slot from the set comprising WHO, WHAT, WHEN, WHERE and HOW MANY, and each history item entry being associated with a slot value, saliency weight and sequence number; -
selecting, from the associated dialog history, a history item including a previous interpretation, the history item being selected, from the associated dialog history, based on the slot name of the history item, the number sequence of the history item and the saliency weight of the history item, such that the selected history item matches the natural language query having the incomplete interpretation for purposes of completing the at least one slot name whose value is ambiguous; merging the previous interpretation of the selected history item with the incomplete interpretation to form a merged interpretation; creating an updated dialog history by adding, to the associated dialog history, a new dialog history layer comprising the merged interpretation and at least one additional history item having a slot name, a slot value, a saliency weight, and a new sequence number; and sending the updated dialog history to the client. - View Dependent Claims (11, 12)
-
Specification