IP Library Granted Patent US 10,418,032
Granted Patent B1
US 10,418,032 · App. 15/163,485 · Granted Sep 17, 2019

System and methods for a virtual assistant to manage and use context in a natural language dialog

Inventors: Keyvan Mohajer (San Jose, CA); Christopher Wilson (Sunnyvale, CA); Bernard Mont-Reynaud (Sunnyvale, CA); Regina Collecchia (Santa Clara, CA)
Assignee: Soundhound, Inc.
G10L15/22G06F16/24522G06F16/258G10L15/19
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 10,418,032
App. No.
15/163,485
Granted
Sep 17, 2019
Kind
B1
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.

Claims (29)

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.

2. The method of claim 1 wherein at least one of the history items of the associated dialog history stores a variable-length array of values.

3. The method of claim 1 wherein the set is open-ended, the method further comprises creating a new history item within the new dialog history layer, and the new history item has a new slot name.

4. The method of claim 1 wherein:

the natural language query received from the client is a stream of data and the associated dialog history is received at a beginning of the natural language query; and

the updated dialog history sent to the client is part of structured output.

5. The method of claim 1 , wherein the matching history item is selected by (i) comparing the slot name of each history item with the at least one slot name whose value is ambiguous, (ii) considering the saliency weight for each history item, where the saliency weight indicates an importance of each respective history item in the associated dialog history and (iii) considering the sequence number of each history item, where the sequence number indicates a time sequence in which each respective history item has been placed in the associated dialog history.

6. The method of claim 5 , wherein the matching history item is selected by (i) identifying one or more history items, from the associated dialog history, having a slot name that matches the at least one slot name whose value is ambiguous and (ii) selecting, as the selected matching history item, one of the identified one or more history items based on the saliency weights and the sequence numbers of the identified one or more history items.

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.

8. The non-transitory computer-readable recording medium of claim 7 , wherein the matching history item is selected by (i) comparing the slot name of each history item with the at least one slot name whose value is ambiguous, (ii) considering the saliency weight for each history item, where the saliency weight indicates an importance of each respective history item in the associated dialog history and (iii) considering the sequence number of each history item, where the sequence number indicates a time sequence in which each respective history item has been placed in the associated dialog history.

9. The non-transitory computer-readable recording medium of claim 8 , wherein the matching history item is selected by (i) identifying one or more history items, from the associated dialog history, having a slot name that matches the at least one slot name whose value is ambiguous and (ii) selecting, as the selected matching history item, one of the identified one or more history items based on the saliency weights and the sequence numbers of the identified one or more history items.

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.

11. The system of claim 10 , wherein the matching history item is selected by (i) comparing the slot name of each history item with the at least one slot name whose value is ambiguous, (ii) considering the saliency weight for each history item, where the saliency weight indicates an importance of each respective history item in the associated dialog history and (iii) considering the sequence number of each history item, where the sequence number indicates a time sequence in which each respective history item has been placed in the associated dialog history.

12. The system of claim 11 , wherein the matching history item is selected by (i) identifying one or more history items, from the associated dialog history, having a slot name that matches the at least one slot name whose value is ambiguous and (ii) selecting, as the selected matching history item, one of the identified one or more history items based on the saliency weights and the sequence numbers of the identified one or more history items.

Assignments (11)
SECURITY INTEREST Recorded Aug 9, 2024
From: SOUNDHOUND, INC.
To: MONROE CAPITAL MANAGEMENT ADVISORS, LLC, AS COLLATERAL AGENT
Reel/Frame 068526/0413 →
RELEASE OF SECURITY INTEREST Recorded Jun 11, 2024
From: ACP POST OAK CREDIT II LLC, AS COLLATERAL AGENT
To: SOUNDHOUND, INC.; SOUNDHOUND AI IP, LLC
Reel/Frame 067698/0845 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2023
From: SOUNDHOUND AI IP HOLDING, LLC
To: SOUNDHOUND AI IP, LLC
Reel/Frame 064205/0676 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2023
From: SOUNDHOUND, INC.
To: SOUNDHOUND AI IP HOLDING, LLC
Reel/Frame 064083/0484 →
RELEASE OF SECURITY INTEREST Recorded Apr 21, 2023
From: FIRST-CITIZENS BANK & TRUST COMPANY, AS AGENT
To: SOUNDHOUND, INC.
Reel/Frame 063411/0396 →
RELEASE OF SECURITY INTEREST Recorded Apr 19, 2023
From: OCEAN II PLO LLC, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
To: SOUNDHOUND, INC.
Reel/Frame 063380/0625 →
SECURITY INTEREST Recorded Apr 17, 2023
From: SOUNDHOUND, INC.; SOUNDHOUND AI IP, LLC
To: ACP POST OAK CREDIT II LLC
Reel/Frame 063349/0355 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET PREVIOUSLY RECORDED AT REEL: 056627 FRAME: 0772. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Apr 12, 2023
From: SOUNDHOUND, INC.
To: OCEAN II PLO LLC, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 063336/0146 →
SECURITY INTEREST Recorded Jun 18, 2021
From: OCEAN II PLO LLC, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
To: SOUNDHOUND, INC.
Reel/Frame 056627/0772 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2020
From: COLLECCHIA, REGINA; MONT-REYNAUD, BERNARD; MOHAJER, KEYVAN; WILSON, CHRIS
To: SOUNDHOUND, INC.
Reel/Frame 054148/0408 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2017
From: MOHAJER, KEYVAN; WILSON, CHRISTOPHER; MONT-REYNAUD, BERNARD; COLLECCHIA, REGINA
To: SOUNDHOUND, INC.
Reel/Frame 041021/0315 →
Continuity (2)
Continuation 15094937 · Apr 8, 2016
Provisional Application 62146176 · Apr 10, 2015
Cited By (35)
US 12,189,663 US 12,197,817 US 12,198,413 US 12,200,297 US 12,217,000 US 12,236,196 US 12,236,952 US 12,242,810 US 12,271,690 US 12,299,755 US 12,301,635 US 12,315,513 US 12,333,404 US 12,361,943 US 12,367,222 US 12,367,879 US 12,374,097 US 12,379,894 US 12,386,434 US 12,386,491 US 12,400,084 US 12,400,643 US 12,406,316 US 12,423,917 US 12,462,107 US 12,475,698 US 12,477,470 US 12,488,052 US 12,494,193 US 12,499,318 US 12,518,323 US 12,536,382 US 12,574,627 US 12,608,171 US 12,664,185