IP Library Granted Patent US 12694021
Granted Patent B2
US 12694021 · App. 18/903,419 · Granted Jul 28, 2026

Techniques for generating responses to search queries by interacting with multiple domains

Inventors: Jason K. Tong (San Francisco, CA); Kelly Shen (San Francisco, CA)
Assignee: Apple Inc.
G06F16/24522G06F16/243G06F16/248
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 12694021
App. No.
18/903,419
Granted
Jul 28, 2026
Kind
B2
Abstract

Disclosed herein are techniques for managing search queries that require interactions with multiple domains. For example, a method implemented by a server computing device can include the steps of (1) receiving an unstructured query from a client computing device, (2) identifying one or more domains to which the unstructured query should be routed, (3) for each domain of the one or more domains: generating, based on (i) at least one respective model of the domain, and (ii) the unstructured query, a respective structured query, and providing the respective structured query to one or more knowledge sources to generate respective results, (4) aggregating the results to produce aggregated results, (5) filtering the aggregated results to produce filtered results, and (6) causing the client computing device to display at least a portion of the filtered results.

Claims (73)

1 . A method, comprising, by at least one server computing device: receiving an unstructured query from a client computing device;

identifying a plurality of domains to which the unstructured query should be routed, wherein the plurality of domains includes a first domain and a second domain different from the first domain;

sending, to a first knowledge source corresponding to the first domain, a first structured query, wherein the first structured query is based on the unstructured query;

receiving, from the first knowledge source corresponding to the first domain, a first response;

generating, based on (i) the first response and (ii) the unstructured query, a second structured query different from the first structured query;

sending, to a second knowledge source corresponding to the second domain, the second structured query, wherein the second knowledge source is different from the first knowledge source;

receiving, from the second knowledge source corresponding to the second domain, results;

filtering the results to produce filtered results; and

causing the client computing device to display at least a portion of the filtered results.

2 . The method of claim 1 , further comprising:

prior to identifying the plurality of domains to which the unstructured query should be routed, providing the unstructured query to at least one model that indicates whether the unstructured query should be processed using model-based approaches or rule-based approaches, wherein the at least one model indicates that the unstructured query should be processed using model-based approaches.

3 . The method of claim 1 , wherein identifying the plurality of domains to which the unstructured query should be routed includes providing the unstructured query to at least one model that outputs identifying information for the plurality of domains.

4 . The method of claim 1 , wherein the first structured query is generated independently from the second structured query.

5 . The method of claim 1 , wherein the first knowledge source includes:

at least one web search engine;

at least one question and answer (Q&A) knowledge source;

at least one knowledge graph;

at least one approximate nearest-neighbor (ANN) index;

at least one other LLM; or

some combination thereof.

6 . The method of claim 1 , wherein the first structured query includes one or more sub-questions that require respective answers to be obtained prior to generating the respective results for the first structured query, the method further comprises:

for each sub-question of the one or more sub-questions:

identifying a plurality of sub-domains to which the sub-question should be routed;

for each sub-domain of the plurality of sub-domains:

generating, based on (i) a knowledge source corresponding to a sub-domain of the plurality of sub-domains and (ii) the sub-question, a third structured query, and

providing the third structured query to the knowledge source corresponding to the sub-domain of the plurality of sub-domains to generate sub-results;

aggregating the sub-results to produce aggregated sub-results;

filtering the aggregated sub-results to produce filtered sub-results; and

answering the sub-question utilizing the filtered sub-results.

7 . The method of claim 6 , wherein the second structured query does not include any sub-questions.

8 . The method of claim 6 , wherein utilizing the filtered sub-results to answer a given sub-question includes utilizing at least one model to generate, based on the filtered sub-results, an output that supplants the sub-question and that is compatible with the domain associated with the first structured query.

9 . The method of claim 6 , wherein filtering the results to produce the filtered results includes providing (i) the unstructured query, and (ii) at least a portion of the filtered results, to at least one model to produce the filtered results, and wherein filtering the aggregated sub-results to produce the filtered sub-results includes providing (i) the first structured query, and (ii) at least a portion of the filtered sub-results, to at least one model to produce the filtered sub-results.

10 . The method of claim 1 , wherein the unstructured query is paired with at least one conversation history that is associated and received from the client computing device, and wherein the at least one conversation history influences a manner in which (i) the first knowledge source corresponding to the first domain generates the first response, (ii) the second knowledge source corresponding to the second domain generates the results, or some combination thereof.

11 . A non-transitory computer readable storage medium configured to store instructions that, when executed by at least one processor included in a server computing device, cause the server computing device to carry out steps that include:

receiving an unstructured query from a client computing device;

identifying a plurality of domains to which the unstructured query should be routed, wherein the plurality of domains includes a first domain and a second domain different from the first domain;

sending, to a first knowledge source corresponding to the first domain, a first structured query, wherein the first structured query is based on the unstructured query:

receiving, from the first knowledge source corresponding to the first domain, a first response;

generating, based on (i) the first response and (ii) the unstructured query, a second structured query different from the first structured query;

sending, to a second knowledge source corresponding to the second domain, the second structured query, wherein the second knowledge source is different from the first knowledge source;

filtering the results to produce filtered results; and

causing the client computing device to display at least a portion of the filtered results.

12 . The non-transitory computer readable storage medium of claim 11 , wherein the steps further include, prior to identifying the plurality of domains to which the unstructured query should be routed, providing the unstructured query to at least one model that indicates whether the unstructured query should be processed using model-based approaches or rule-based approaches, and wherein the at least one model indicates that the unstructured query should be processed using model-based approaches.

13 . The non-transitory computer readable storage medium of claim 11 , wherein identifying the plurality of domains to which the unstructured query should be routed includes providing the unstructured query to at least one model that outputs identifying information for the plurality of domains.

14 . The non-transitory computer readable storage medium of claim 11 , wherein the first structured query is generated independently from the second structured query.

15 . A server computing device, comprising:

at least one processor; and

at least one memory storing instructions that, when executed by the at least one processor, cause the server computing device to carry out steps that include:

receiving an unstructured query from a client computing device;

identifying a plurality of domains to which the unstructured query should be routed, wherein the plurality of domains includes a first domain and a second domain different from the first domain;

sending, to a first knowledge source corresponding to the first domain, a first structured query, wherein the first structured query is based on the unstructured query;

receiving, from the first knowledge source corresponding to the first domain, a first response;

generating, based on (i) the first response and (ii) the unstructured query, a second structured query different from the first structured query;

sending, to a second knowledge source corresponding to the second domain, the second structured query, wherein the second knowledge source is different from the first knowledge source;

receiving, from the second knowledge source corresponding to the second domain, results;

filtering the results to produce filtered results; and

causing the client computing device to display at least a portion of the filtered results.

16 . The server computing device of claim 15 , wherein the steps further include, prior to identifying the plurality of domains to which the unstructured query should be routed, providing the unstructured query to at least one model that indicates whether the unstructured query should be processed using model-based approaches or rule-based approaches, and wherein the at least one model indicates that the unstructured query should be processed using model-based approaches.

17 . The server computing device of claim 15 , wherein identifying the plurality of domains to which the unstructured query should be routed includes providing the unstructured query to at least one model that outputs identifying information for plurality of domains.

18 . The server computing device of claim 15 , wherein the first structured query is generated independently from the second structured query.

19 . A method, comprising, by an application executing on a client computing device:

obtaining an unstructured query from a user of the client computing device;

in response to obtaining the unstructured query, providing the unstructured query to an operating system (OS) executing on the client computing device;

in response to providing the unstructured query to the OS, receiving filtered results associated with the unstructured query, wherein:

(1) a plurality of domains to which the unstructured query should be routed are identified, wherein the plurality of domains includes a first domain and a second domain different from the first domain,

(2) a first structured query that is based on the unstructured query is sent to a first knowledge source corresponding to the first domain,

(3) a first response is received from the first knowledge source corresponding to the first domain,

(4) a structured query different from the first structured query is generated based on (i) the first response and (ii) the unstructured query, and

(5) the structured query is sent to a second knowledge source corresponding to the second domain, wherein the second knowledge source is different from the first knowledge source,

(6) results are received from the second knowledge source corresponding to the second domain,

(7) the results are filtered to generate the filtered results; and

in response to receiving the filtered results, performing at least one action associated with the filtered results.

20 . The method of claim 19 , wherein the at least one action comprises displaying at least one user interface that includes at least one affordance associated with at least one result included in the filtered results.