IP Library Granted Patent US 10,585,891
Granted Patent B2
US 10,585,891 · App. 15/342,970 · Granted Mar 10, 2020

Dynamic choice of data sources in natural language query processing

Inventor: Scott Halstvedt (Santa Clara, CA)
Assignee: SOUNDHOUND, INC.
G06F16/24545G06F16/3344
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,585,891
App. No.
15/342,970
Granted
Mar 10, 2020
Kind
B2
Abstract

A virtual assistant receives natural language interpretation hypotheses for user queries, determines entities and attributes from the interpretations, and requests data from appropriate data sources. A cost function estimates the cost of each data source request. Cost functions include factors such as contract pricing, access latency, and data quality. Based on the estimated cost, the virtual assistant sends requests to a plurality of data sources, each of which might be able to provide data necessary to answer the user query. By including user credits in the cost function, the virtual assistant provides better quality of results and answer latency for paying users. The virtual assistant minimizes latency by answering using data from the first responding data source or provides a latency guarantee by answering with the most accurate data received by a deadline. The virtual assistant measures data source response latency and caches responses for expensive requests.

Claims (29)

1. A method of processing interpretations of natural language queries, the method comprising:

determining, by a computer system, a plurality of hypothesized interpretations of a natural language query, each interpretation of the plurality of hypothesized interpretations including one or more entities and one or more attributes and including a likelihood score indicating a likelihood that the each interpretation is correct;

(a) determining, by the computer system, a plurality of data sources that might be able to provide values based on the one or more entities and one or more attributes in the plurality of hypothesized interpretations;

(b) identify a first interpretation of the plurality of hypothesized interpretations for which a cost of one or more first data sources of the plurality of data sources meets a threshold condition by, for each data source of the one or more first data sources, calculating the cost as a weighted sum of an access price and a latency for the each data source with the weighted sum multiplied by the likelihood score of the first interpretation;

request the values based on the one or more entities and one or more attributes in the first interpretation.

2. The method of claim 1 , wherein (a) comprises determining the plurality of data sources as a function of a type of the entities and attributes.

3. The method of claim 1 , wherein (a) comprises determining the plurality of data sources as a function of dynamic availability of the plurality of data sources.

4. The method of claim 1 , wherein (a) comprises determining the plurality of data sources as a function of the domains of discourse of the plurality of hypothesized interpretations.

5. The method of claim 1 wherein (a) comprises determining the plurality of data sources as a function of a history of recent queries.

6. The method of claim 1 , further comprising estimating, for at least one data source of the plurality of data sources, the access price according to contracted monetary consideration for accessing the at least one data source.

7. The method of claim 1 , wherein (b) further comprises calculating the cost of the each data source of the one or more first data sources further as a function of a quality of the each data source.

8. The method of claim 1 , wherein (b) further comprises calculating the cost of the each data source of the one or more first data sources by executing a cost function.

9. The method of claim 8 , wherein the cost function of the each data source of the one or more first data sources depends on an attribute of a different data source of the plurality of data sources.

10. The method of claim 8 , further comprising receiving feedback, from a user, regarding a previous answer, wherein (b) further comprises calculating the cost of the each data source of the one or more first data sources based on the feedback.

11. The method of claim 8 further comprising recording the availability of the each data source of the plurality of data sources;

wherein (b) further comprises calculating the cost of the each data source of the one or more first data sources further as a function of the availability of the each data source.

12. The method of claim 1 further comprising:

providing the values based on the one or more entities and the one or more first data sources of the first interpretation as a response to the natural language query.

13. The method of claim 1 further comprising:

identifying a second interpretation for which one or more second data sources of the plurality of data sources are likely to provide the values based on the one or more entities and the one or more attributes in the second interpretation and for which the cost of the one or more second data sources meet the threshold condition, the cost of the one or more second data sources being a function of the access price of the one or more second data sources and the likelihood score of the second interpretation; and

wherein the method further comprises returning the values based on the one or more entities and the one or more attributes of only one interpretation of the first interpretation and the second interpretation as a response to the natural language query.

14. The method of claim 13 , further comprising validating the values based on the one or more entities and the one or more attributes of the first interpretation and the second interpretation performing and selecting the only one interpretation based on the validating.

15. The method of claim 13 further comprising comparing the values based on the one or more entities and the one or more attributes of the first interpretation and the second interpretation and selecting the only one interpretation according to the comparing.

16. The method of claim 1 further comprising:

storing the values based on the one or more entities and the one or more attributes of the first interpretation in a cache; and

using the values based on the one or more entities and the one or more attributes of the first interpretation from the cache in an answer to a future query.

17. The method of claim 1 wherein the method is performed on a many-core chip optimized for the minimum power consumption needed for artificial intelligence processing tasks.

18. The method of claim 1 further comprising:

refining the first interpretation based on the values based on the one or more entities and one or more attributes of the first interpretation from the one or more first data sources.

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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INVENTOR'S SIGNATURE INSIDE THE ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED AT REEL: 040360 FRAME: 0024. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 8, 2017
From: HALSTVEDT, SCOTT
To: SOUNDHOUND, INC.
Reel/Frame 041664/0023 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2016
From: HALSTVEDT, SCOTT
To: SOUNDHOUND, INC.
Reel/Frame 040360/0024 →
Continuity (1)
Related Publication 20180121508A1 · May 3, 2018