Patent Document ID: 8606739
Application ID: 13041076

Base Claim:
1. A method for providing query results in response to a user query, comprising using a computing device to perform steps for: receiving a current user query having multiple search terms; evaluating the current user query to identify one or more subqueries, each subquery comprised of one or more of the search terms of the current user query; evaluating each subquery to select one or more structured data sets from among a plurality of structured data sets from which to retrieve a partial answer corresponding each subquery; for each partial answer retrieved from a selected structured data set, reformulating the current user query to construct a reformulated query by replacing the corresponding subquery of the current user query with the corresponding partial answer; retrieving a set of ranked search results corresponding to reformulated query; iteratively repeating the preceding steps, with the resulting reformulated query being used to replace the current user query in each iteration, until one or more of the ranked search results have a sufficiently high confidence level; and when one or more of the ranked search results have a sufficiently high confidence level, presenting the set of ranked search results on a display device.

---

Claim 3:
3. The method of claim 1 further comprising steps for, prior to presenting the set of ranked search results on a display device, evaluating the ranked search results corresponding to reformulated query to determine a user satisfaction level from one or more historical user metrics relative to a predetermined threshold, and if the user satisfaction level is below the threshold, performing steps for: evaluating the reformulated query to identify one or more subqueries, each subquery comprised of one or more of the search terms of the reformulated query; evaluating each subquery to select one or more structured data sets from among a plurality of structured data sets from which to retrieve a partial answer corresponding each subquery; for each partial answer retrieved from a selected structured data set, reformulating the previously reformulated query to construct a new reformulated query by replacing the corresponding subquery of the previously reformulated query with the corresponding partial answer; and retrieving a set of ranked search results corresponding to the new reformulated query.