DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Xu et al., US 12,332,896 B1 (hereinafter “Xu”) in view of Zhuang et al., US 11,615,143 B2 (hereinafter “Zhuang”).
Claim 1: Xu teaches a computer-implemented method for retrieving and processing structured data in response to a natural language query, the method comprising:
constructing, by a language model executing a relationship graph construction prompt, a relationship graph representing entity relationships among a set of tables in a database based on a plurality of schema definitions (Xu, [Col. 32 Lines 8-13] note a large language model (LLM)-based graph construction method is used. The LLM-based graph construction method processes raw documents to derive the document structure from the document or from a set of documents. An example of a prompt that can be used for LLM-based graph construction, [Col. 23 Table 2] note root node schema, [Col. 23 Table 3] note non-root node schema);
generating, by the language model executing a query construction prompt, a structured query based on the natural language query and the plurality of schema definitions (Xu, [Fig. 1A] note 106, 128, [Col. 8 Lines 19-21] note As used herein, dialog, chat, or conversation may refer to one or more conversational threads involving a user of a computing device and an application, [Col. 9 Lines 33-4] note the user 102 inputs a query 106, [Col. 11 Lines 22-25] note Graph query generation and path extraction component 126 receives as input and processes the query intent 116, the entity 118, the first node 121, and the subgraph 122 to generate a graph query 128);
determining, by the language model executing an action planning prompt, a traversal path across the relationship graph (Xu, [Col. 11 Lines 43-48] note execute the graph query on the graph 120 to identify the second node 129 and extract the path 130, and then the graph query generation and path extraction component 126 receives the second node 129 and the path 130 from the generative artificial intelligence model);
executing a set of entity-specific queries using the traversal path to retrieve records from the database (Xu, [Fig. 1A] note 134, [Col. 11 Lines 49-52] note Response generation component 132 converts the path 130 to a response 134, [Col. 11 Lines 5-14] note Embedding-based retrieval component 124 matches an embedding of the first node 121 with the embedding of the entity 118. Match as used herein refers to a computed degree of similarity that satisfies (e.g., meets or exceeds) a threshold level of similarity, where the threshold level of similarity is established based on the requirements of a particular design or implementation. For example, the threshold level of similarity may be set lower or higher for different information retrieval domains); and
generating, by the language model executing an output prompt, a response based on the retrieved records, the response comprising one or more of a textual summary and a visualization based on the output prompt (Xu, [Fig. 1A] note 134, [Col. 11 Lines 49-52] note Response generation component 132 converts the path 130 to a response 134. The response 134 is configured for output to the device 104, e.g., for display to the user 102 via the app 105, [Fig. 1C] note 170, 172, 176, [Col. 17 Lines 9-13] note In response to the query 168, the illustrated embodiment of the generative graph-enhanced information retrieval system generates and presents elements 170, 172, 176 via a window mechanism 169).
deconstructing the structured query to extract a source table of the set of tables, a target table of the set of tables, a query condition, and an aggregation operator; based on the source table and the target table; using the query condition; and based on the aggregation operator.
However, Zhuang teaches this (Zhuang, [Col. 1 Line 67] note a method for querying a graph model, [Col. 10 Lines 58-62] note in order to load data into the graph model 100 (shown in FIG. 1), a loading job 200 can specify mappings from source data 220 to the graph model 100. The source data 220 and the graph model 100 can have a source schema and a target schema, respectively, [Col. 38 Lines 28-29] note query block 540 can include a conditional filter 546, [Col. 40 Lines 8-15] note An exemplary runtime attribute can include an accumulator… An exemplary accumulator can support various aggregation operations).
It would have been obvious to one of ordinary skill in the art at the effective filing date of the application to combine the graph query generation of Xu with the method for querying a graph model of Zhuang according to known methods (i.e. querying a graph model based on mappings including source data and target data). Motivation for doing so is that this provides methods and systems for managing graph data with high performance that overcome disadvantages of existing methods and systems (Zhuang, [Col. 1 Lines 60-62]).
Claim 2: Xu and Zhuang teach the method of claim 1, further comprising embedding the plurality of schema definitions and relationship graph in a vector database prior to constructing the relationship graph (Xu, [Col. 4 Lines 38-45] note Embedding as used herein may refer to a numerical representation of a piece of content. The embedding may encode information about the content relative to an embedding space. Embeddings and embedding spaces can be generated by artificial intelligence (AI) models. An embedding can be expressed as a vector, where each dimension of the vector includes a numerical value that can be an integer or a real number).
Claim 3: Xu and Zhuang teach the method of claim 1, further comprising retrieving a subset of relevant schema definitions in the plurality of schema definitions from a vector database using a retriever module prior to generating the structured query (Xu, [Col. 11 Lines 5-14] note Embedding-based retrieval component 124 matches an embedding of the first node 121 with the embedding of the entity 118. Match as used herein refers to a computed degree of similarity that satisfies (e.g., meets or exceeds) a threshold level of similarity, where the threshold level of similarity is established based on the requirements of a particular design or implementation. For example, the threshold level of similarity may be set lower or higher for different information retrieval domains).
Claim 4: Xu and Zhuang teach the method of claim 1, further comprising identifying, by the language model, a conversational context from prior user queries and incorporating the conversational context into the structured query (Xu, [Fig. 1C] note 168, [Fig. 1D] note 182, [Col. 18 Lines 28-29] note The second query 182 relates to the query 168 and includes a follow-up question).
Claim 5: Xu and Zhuang teach the method of claim 1, further comprising validating the traversal path by the language model based on domain-specific constraints derived from the plurality of schema definitions (Xu, [Col. 11 Lines 5-14] note Embedding-based retrieval component 124 matches an embedding of the first node 121 with the embedding of the entity 118. Match as used herein refers to a computed degree of similarity that satisfies (e.g., meets or exceeds) a threshold level of similarity, where the threshold level of similarity is established based on the requirements of a particular design or implementation. For example, the threshold level of similarity may be set lower or higher for different information retrieval domains).
Claim 6: Xu and Zhuang teach the method of claim 1, further comprising generating, by the language model, a sequence of subqueries corresponding to the set of entity-specific queries (Xu, [Fig. 1A] note 118], [Col. 11 Lines 53-65] note Entity extraction component 114 reads the query 106 and identifies a second query portion 112 of the query 106 as corresponding to a canonical entity label. Entity extraction component 114 interprets or translates the second query portion 112 into an entity 118. The entity 118 is a structured representation of the second query portion 112 that includes the second query portion 112 and an entity label of ISSUE DESCRIPTION. As described in more detail below, some embodiments of entity extraction component 114 pass or otherwise communicate the query 106 to a large language model along with a graph template and an instruction to identify and extract the entity 118, and receive entity 118 from the large language model).
Claim 7: Xu and Zhuang teach the method of claim 1, further comprising transforming the structured query into a format compatible with a non-relational search engine (Xu, [Col. 37 Lines 19-26] note Data stores can be implemented using databases, such as key-value stores, relational databases, and/or graph databases. Data can be written to and read from data stores using query technologies, e.g., SQL or NoSQL. A key-value database, or key-value store, is a nonrelational database that organizes and stores data records as key-value pairs).
Claim 8: Xu and Zhuang teach the method of claim 1, further comprising generating, by the language model, executable code that performs a data transformation operation on the retrieved records, the data transformation operation comprising one or more of filtering, grouping, aggregating, and smoothing (Zhuang, [Col. 2 Lines 41-42] note the method further includes filtering edges and/or vertices, [Col. 2 Lines 61-63] note calculating includes calculating one or more groupby accumulators, [Col. 3 Lines 3-5] note each groupby accumulator being configured to aggregate over each group of the groups to calculate one or more accumulators specified in the expression list).
Claim 9: Xu and Zhuang teach the method of claim 1, further comprising generating, by the language model, a viewer selection instruction based on a type of table from which the retrieved records originated (Xu, [Fig. 1C], [Fig. 1D]).
Claim 10: Xu and Zhuang teach the method of claim 1, further comprising presenting a plot of the retrieved records, wherein the plot is generated from visualization code produced by the language model executing a visualization prompt included in the output prompt (Xu, [Fig. 1C], [Fig. 1D]).
Claim 11: Xu teaches a system comprising: at least one computer processor; and an application that, when executing on the at least one computer processor, performs operations comprising:
constructing, by a language model executing a relationship graph construction prompt, a relationship graph representing entity relationships among a set of tables in a database based on a plurality of schema definitions (Xu, [Col. 32 Lines 8-13] note a large language model (LLM)-based graph construction method is used. The LLM-based graph construction method processes raw documents to derive the document structure from the document or from a set of documents. An example of a prompt that can be used for LLM-based graph construction, [Col. 23 Table 2] note root node schema, [Col. 23 Table 3] note non-root node schema),
generating, by the language model executing a query construction prompt, a structured query based on the natural language query and the plurality of schema definitions (Xu, [Fig. 1A] note 106, 128, [Col. 8 Lines 19-21] note As used herein, dialog, chat, or conversation may refer to one or more conversational threads involving a user of a computing device and an application, [Col. 9 Lines 33-4] note the user 102 inputs a query 106, [Col. 11 Lines 22-25] note Graph query generation and path extraction component 126 receives as input and processes the query intent 116, the entity 118, the first node 121, and the subgraph 122 to generate a graph query 128),
determining, by the language model executing an action planning prompt, a traversal path across the relationship graph (Xu, [Col. 11 Lines 43-48] note execute the graph query on the graph 120 to identify the second node 129 and extract the path 130, and then the graph query generation and path extraction component 126 receives the second node 129 and the path 130 from the generative artificial intelligence model),
executing a set of entity-specific queries using the traversal path to retrieve records from the database (Xu, [Fig. 1A] note 134, [Col. 11 Lines 49-52] note Response generation component 132 converts the path 130 to a response 134, [Col. 11 Lines 5-14] note Embedding-based retrieval component 124 matches an embedding of the first node 121 with the embedding of the entity 118. Match as used herein refers to a computed degree of similarity that satisfies (e.g., meets or exceeds) a threshold level of similarity, where the threshold level of similarity is established based on the requirements of a particular design or implementation. For example, the threshold level of similarity may be set lower or higher for different information retrieval domains), and
generating, by the language model executing an output prompt, a response based on the retrieved records, the response comprising one or more of a textual summary and a visualization based on the output prompt (Xu, [Fig. 1A] note 134, [Col. 11 Lines 49-52] note Response generation component 132 converts the path 130 to a response 134. The response 134 is configured for output to the device 104, e.g., for display to the user 102 via the app 105, [Fig. 1C] note 170, 172, 176, [Col. 17 Lines 9-13] note In response to the query 168, the illustrated embodiment of the generative graph-enhanced information retrieval system generates and presents elements 170, 172, 176 via a window mechanism 169).
deconstructing the structured query to extract a source table of the set of tables, a target table of the set of tables, a query condition, and an aggregation operator; based on the source table and the target table; using the query condition; and based on the aggregation operator.
However, Zhuang teaches this (Zhuang, [Col. 1 Line 67] note a method for querying a graph model, [Col. 10 Lines 58-62] note in order to load data into the graph model 100 (shown in FIG. 1), a loading job 200 can specify mappings from source data 220 to the graph model 100. The source data 220 and the graph model 100 can have a source schema and a target schema, respectively, [Col. 38 Lines 28-29] note query block 540 can include a conditional filter 546, [Col. 40 Lines 8-15] note An exemplary runtime attribute can include an accumulator… An exemplary accumulator can support various aggregation operations).
It would have been obvious to one of ordinary skill in the art at the effective filing date of the application to combine the graph query generation of Xu with the method for querying a graph model of Zhuang according to known methods (i.e. querying a graph model based on mappings including source data and target data). Motivation for doing so is that this provides methods and systems for managing graph data with high performance that overcome disadvantages of existing methods and systems (Zhuang, [Col. 1 Lines 60-62]).
Claim 12: Xu and Zhuang teach the system of claim 11, wherein the application performs operations further comprising embedding the plurality of schema definitions and relationship graph in a vector database prior to constructing the relationship graph (Xu, [Col. 4 Lines 38-45] note Embedding as used herein may refer to a numerical representation of a piece of content. The embedding may encode information about the content relative to an embedding space. Embeddings and embedding spaces can be generated by artificial intelligence (AI) models. An embedding can be expressed as a vector, where each dimension of the vector includes a numerical value that can be an integer or a real number).
Claim 13: Xu and Zhuang teach the system of claim 11, wherein the application performs operations further comprising retrieving a subset of relevant schema definitions in the plurality of schema definitions from a vector database using a retriever module prior to generating the structured query (Xu, [Col. 11 Lines 5-14] note Embedding-based retrieval component 124 matches an embedding of the first node 121 with the embedding of the entity 118. Match as used herein refers to a computed degree of similarity that satisfies (e.g., meets or exceeds) a threshold level of similarity, where the threshold level of similarity is established based on the requirements of a particular design or implementation. For example, the threshold level of similarity may be set lower or higher for different information retrieval domains).
Claim 14: Xu and Zhuang teach the system of claim 11, wherein the application performs operations further comprising identifying, by the language model, a conversational context from prior user queries and incorporating the conversational context into the structured query (Xu, [Fig. 1C] note 168, [Fig. 1D] note 182, [Col. 18 Lines 28-29] note The second query 182 relates to the query 168 and includes a follow-up question).
Claim 15: Xu and Zhuang teach the system of claim 11, wherein the application performs operations further comprising validating the traversal path by the language model based on domain-specific constraints derived from the plurality of schema definitions (Xu, [Col. 11 Lines 5-14] note Embedding-based retrieval component 124 matches an embedding of the first node 121 with the embedding of the entity 118. Match as used herein refers to a computed degree of similarity that satisfies (e.g., meets or exceeds) a threshold level of similarity, where the threshold level of similarity is established based on the requirements of a particular design or implementation. For example, the threshold level of similarity may be set lower or higher for different information retrieval domains).
Claim 16: Xu and Zhuang teach the system of claim 11, wherein the application performs operations further comprising generating, by the language model, a sequence of subqueries corresponding to the set of entity-specific queries (Xu, [Fig. 1A] note 118], [Col. 11 Lines 53-65] note Entity extraction component 114 reads the query 106 and identifies a second query portion 112 of the query 106 as corresponding to a canonical entity label. Entity extraction component 114 interprets or translates the second query portion 112 into an entity 118. The entity 118 is a structured representation of the second query portion 112 that includes the second query portion 112 and an entity label of ISSUE DESCRIPTION. As described in more detail below, some embodiments of entity extraction component 114 pass or otherwise communicate the query 106 to a large language model along with a graph template and an instruction to identify and extract the entity 118, and receive entity 118 from the large language model).
Claim 17: Xu and Zhuang teach the system of claim 11, wherein the application performs operations further comprising transforming the structured query into a format compatible with a non-relational search engine (Xu, [Col. 37 Lines 19-26] note Data stores can be implemented using databases, such as key-value stores, relational databases, and/or graph databases. Data can be written to and read from data stores using query technologies, e.g., SQL or NoSQL. A key-value database, or key-value store, is a nonrelational database that organizes and stores data records as key-value pairs).
Claim 18: Xu and Zhuang teach the system of claim 11, wherein the application performs operations further comprising generating, by the language model, executable code that performs a data transformation operation on the retrieved records, the data transformation operation comprising one or more of filtering, grouping, aggregating, and smoothing (Zhuang, [Col. 2 Lines 41-42] note the method further includes filtering edges and/or vertices, [Col. 2 Lines 61-63] note calculating includes calculating one or more groupby accumulators, [Col. 3 Lines 3-5] note each groupby accumulator being configured to aggregate over each group of the groups to calculate one or more accumulators specified in the expression list).
Claim 19: Xu and Zhuang teach the system of claim 11, wherein the application performs operations further comprising generating, by the language model, a viewer selection instruction based on a type of table from which the retrieved records originated (Xu, [Fig. 1C], [Fig. 1D]).
Claim 20: Xu teaches a non-transitory computer readable medium comprising instructions executable by at least one computer processor to perform:
constructing, by a language model executing a relationship graph construction prompt, a relationship graph representing entity relationships among a set of tables in a database based on a plurality of schema definitions (Xu, [Col. 32 Lines 8-13] note a large language model (LLM)-based graph construction method is used. The LLM-based graph construction method processes raw documents to derive the document structure from the document or from a set of documents. An example of a prompt that can be used for LLM-based graph construction, [Col. 23 Table 2] note root node schema, [Col. 23 Table 3] note non-root node schema);
generating, by the language model executing a query construction prompt, a structured query based on the natural language query and the plurality of schema definitions (Xu, [Fig. 1A] note 106, 128, [Col. 8 Lines 19-21] note As used herein, dialog, chat, or conversation may refer to one or more conversational threads involving a user of a computing device and an application, [Col. 9 Lines 33-4] note the user 102 inputs a query 106, [Col. 11 Lines 22-25] note Graph query generation and path extraction component 126 receives as input and processes the query intent 116, the entity 118, the first node 121, and the subgraph 122 to generate a graph query 128);
determining, by the language model executing an action planning prompt, a traversal path across the relationship graph (Xu, [Col. 11 Lines 43-48] note execute the graph query on the graph 120 to identify the second node 129 and extract the path 130, and then the graph query generation and path extraction component 126 receives the second node 129 and the path 130 from the generative artificial intelligence model);
executing a set of entity-specific queries using the traversal path to retrieve records from the database (Xu, [Fig. 1A] note 134, [Col. 11 Lines 49-52] note Response generation component 132 converts the path 130 to a response 134, [Col. 11 Lines 5-14] note Embedding-based retrieval component 124 matches an embedding of the first node 121 with the embedding of the entity 118. Match as used herein refers to a computed degree of similarity that satisfies (e.g., meets or exceeds) a threshold level of similarity, where the threshold level of similarity is established based on the requirements of a particular design or implementation. For example, the threshold level of similarity may be set lower or higher for different information retrieval domains); and
generating, by the language model executing an output prompt, a response based on the retrieved records, the response comprising one or more of a textual summary and a visualization based on the output prompt (Xu, [Fig. 1A] note 134, [Col. 11 Lines 49-52] note Response generation component 132 converts the path 130 to a response 134. The response 134 is configured for output to the device 104, e.g., for display to the user 102 via the app 105, [Fig. 1C] note 170, 172, 176, [Col. 17 Lines 9-13] note In response to the query 168, the illustrated embodiment of the generative graph-enhanced information retrieval system generates and presents elements 170, 172, 176 via a window mechanism 169).
deconstructing the structured query to extract a source table of the set of tables, a target table of the set of tables, a query condition, and an aggregation operator; based on the source table and the target table; using the query condition; and based on the aggregation operator.
However, Zhuang teaches this (Zhuang, [Col. 1 Line 67] note a method for querying a graph model, [Col. 10 Lines 58-62] note in order to load data into the graph model 100 (shown in FIG. 1), a loading job 200 can specify mappings from source data 220 to the graph model 100. The source data 220 and the graph model 100 can have a source schema and a target schema, respectively, [Col. 38 Lines 28-29] note query block 540 can include a conditional filter 546, [Col. 40 Lines 8-15] note An exemplary runtime attribute can include an accumulator… An exemplary accumulator can support various aggregation operations).
It would have been obvious to one of ordinary skill in the art at the effective filing date of the application to combine the graph query generation of Xu with the method for querying a graph model of Zhuang according to known methods (i.e. querying a graph model based on mappings including source data and target data). Motivation for doing so is that this provides methods and systems for managing graph data with high performance that overcome disadvantages of existing methods and systems (Zhuang, [Col. 1 Lines 60-62]).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
LARSON et al., US 20250131289 A1 – obtaining aggregated summaries and a related knowledge graph. The example can enable local, community, and global retrieval augmented generation utilizing the aggregated summaries and the knowledge graph.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Giuseppi Giuliani whose telephone number is (571)270-7128. The examiner can normally be reached Monday-Friday.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Kavita Stanley can be reached at (571)272-8352. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/GIUSEPPI GIULIANI/Primary Examiner, Art Unit 2153