DYNAMIC CHOICE OF DATA SOURCES IN NATURAL LANGUAGE QUERY PROCESSING
First Claim
1. A method of processing interpretations of natural language queries, the method comprising:
- determining, by a computer system, a hypothesized interpretation of a natural language query, the answer to which depends on a value of particular data;
determining, by the computer system, a plurality of data sources that might be able to provide the value;
estimating, by the computer system, for at least one data source of the plurality of data sources, a cost for getting the value; and
identifying, by the computer system, a lowest cost data source of the plurality of data sources.
11 Assignments
0 Petitions
Accused Products
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.
-
Citations
26 Claims
-
1. A method of processing interpretations of natural language queries, the method comprising:
-
determining, by a computer system, a hypothesized interpretation of a natural language query, the answer to which depends on a value of particular data; determining, by the computer system, a plurality of data sources that might be able to provide the value; estimating, by the computer system, for at least one data source of the plurality of data sources, a cost for getting the value; and identifying, by the computer system, a lowest cost data source of the plurality of data sources. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. At least one non-transitory computer readable medium comprising code that, if executed by at least one computer processor, would cause the at least one computer processor to:
-
determine a multiplicity of hypothesized interpretations of a natural language query, the answers to each of which depend on at least one data value; determine that at least two of the hypothesized interpretations depend on one particular value; estimate, for at least one data source of a plurality of data sources that can provide the particular value, a cost for getting the particular value; and generate only one request for the particular data value to each of the plurality of data sources, wherein the data sources in the plurality of data sources are selected according to a cost function based on the cost. - View Dependent Claims (26)
-
Specification