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 .
DETAILED ACTION
The Action is responsive to the Amendments and Remarks filed on 1/26/2026. Claims 1-7 and 9-21 are pending claims. Claims 1, 7, and 14 are written in independent form. Claim 8 has been cancelled. Claim 21 is newly added.
Claim Interpretation
Claim 15 recites the phrase “to cause…to determine” which are being understood as the intent to determine, but is not actively performing any determining step/limitation. Examiner suggests to amend the claim limitations to recite all of the steps in a positive manner.
Claim 15 recites the limitation “Providing the first response to a query parser to cause the query parser to determine if the first repaired query language query is valid.” which is being interpreted to have a scope of “Providing the first response to a query parser”. However, for the purpose of compact prosecution, the limitation is being addressed herein as if all of the steps are recited in a positive manner.
Claims 1, 3, 7, and 9 recite the phrase “to cause…to generate” or “to generate” which are being understood as the intent to generate, but is not actively performing any generating step/limitation. Examiner suggests to amend the claim limitations to recite all of the steps in a positive manner.
Claims 1 and 7 recite the limitation “provides a prompt to the LLM to cause the LLM to generate a query language query” which is being interpreted to have a scope of “provides a prompt to the LLM”. However, for the purpose of compact prosecution, the limitation is being addressed herein as if all of the steps are recited in a positive manner.
Claims 3 and 9 recite the limitation “provides the descriptions of the tables to an embedding model configured to generate embeddings based on input data” which is being interpreted to have a scope of “provides the descriptions of the tables to an embedding model”. However, for the purpose of compact prosecution, the limitation is being addressed herein as if all of the steps are recited in a positive manner.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim(s) 14-20 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Shah et al. (U.S. Pre-Grant Publication No. 2025/0013635, hereinafter referred to as Shah).
Regarding Claim 14:
Shah teaches a computer-implemented method for correcting large language model (LLM) output, the computer-implemented method comprising:
Receiving a first alert indicating a first variable of a query language query generated by an LLM is undefined,
Shah teaches an alert indicating a portion of the query language query is undefined, or needs repairing, by teaching “if no match was found, the correction decision may include making no change to the subject SQL statement. If a match is found in which the original SQL statement and final SQL statement are the same, the correction decision may include making no change to the subject SQL statement. If a match is found that includes one or more corrections, the correction decision may include changing one or more parts of the subject SQL statement according to changes indicated in the matching entry 1000. For example, a correction indicated by the final SQL statement 1006 may be made to the subject SQL statement. Where the matching entry 1000 includes multiple corrections, some or all of the corrections may be implemented, e.g., those for which the original text is found in the subject SQL statement. Implementing a correction may include making a partial correction: text matching an original text of a correction may be replaced with the final text of the correction where some of the subject SQL statement is not part of the original text.” (Para. [0108]).
the query language query corresponding to a prompt previously provided to the LLM;
Shah teaches “the original SQL statement 1002 may be obtained from an LLM by inputting the natural language statement 1004 into an LLM with a prompt to generate a corresponding SQL statement” (Para. [0101]) where “The output natural language statement may facilitate an assessment by the user as to whether the output SQL statement expresses the intent of the user expressed in the subject natural language statement.” (Para. [0111]).
Obtaining a first query embedding associated with the query language query and corresponding to the undefined first variable;
Shah teaches “If a match is found that includes one or more corrections, the correction decision may include changing one or more parts of the subject SQL statement according to changes indicated in the matching entry 1000. For example, a correction indicated by the final SQL statement 1006 may be made to the subject SQL statement. Where the matching entry 1000 includes multiple corrections, some or all of the corrections may be implemented, e.g., those for which the original text is found in the subject SQL statement. Implementing a correction may include making a partial correction: text matching an original text of a correction may be replaced with the final text of the correction where some of the subject SQL statement is not part of the original text.” (Para. [0108]).
Determining a first candidate variable by comparing the first query embedding to a set of database embeddings, the first candidate variable corresponding to a first database embedding of the set of database embeddings, a similarity between the first query embedding and the first database embedding satisfying similarity criteria;
Shah teaches “The repair stage 906 may further output a confidence score 912. The confidence score 912 may estimate the likelihood that the SQL statement is correct.” (Para. [0099]) where “searching 1206 for one or more matches for the subject natural language statement among the natural language statements 1004 of the entries 1000 in the correction database 908” and “The result of step 1206 may be a set of ranked results or a highest-ranked result according to the metric of textual similarity. Each result may be the natural language statement 1004 of an entry 1000 from the correction database 908 determined to be relevant to the subject natural language statement. The result of step 1206 may include the confidence score 912. For example, the metric of textual similarity for each result may be used as the confidence score 912 for the result. Alternatively, a value may be assigned by the search algorithm to indicate the relevance of a result and that value may be used as the confidence score 912.” (Para. [0107]).
Substituting in the first candidate variable for the undefined first variable in the query language query to generate a first repaired query language query; and
Shah teaches “The repair stage 906 may process the SQL statement 904 and output an SQL statement 910 that may be modified relative to the SQL statement 904” (Para. [0099]) and “making 1208 a correction decision according to the correction database 908 and implementing the correction decision in the cast that correction is needed” where “If a match is found that includes one or more corrections, the correction decision may include changing one or more parts of the subject SQL statement according to changes indicated in the matching entry 1000” (Para. [0108]).
Shah further teaches “replacing, by the computer system, a first portion of the first database language statement with a correction in the entry in the correction database to obtain the second database language statement” (Claim 4).
Generating a first response comprising the first repaired query language query.
Shah teaches, after repairing the SQL statement, “the [repaired] SQL statement 910 may then be executed with respect to a database, e.g., as a database query to obtain a result” (Para. [0100]).
Regarding Claim 15:
Shah further teaches:
Providing the first response to a query parser to cause the query parser to determine if the first repaired query language query is valid.
Shah teaches “The final SQL statement 1006 may be the result of review by a human operator or by comparison to a human-generated SQL statement” (Para. [0102]). Shah further teaches “Where the output SQL statement is transmitted to a user device, the confidence score 912 from step 1206 may be output along with the output SQL statement.” (Para. [0109]).
Regarding Claim 16:
Shah further teaches:
Receiving, from the query parser, a second alert indicating a second variable of the first repaired query language query is undefined;
Shah teaches an alert indicating a portion of the query language query is undefined, or needs repairing, by teaching “if no match was found, the correction decision may include making no change to the subject SQL statement. If a match is found in which the original SQL statement and final SQL statement are the same, the correction decision may include making no change to the subject SQL statement. If a match is found that includes one or more corrections, the correction decision may include changing one or more parts of the subject SQL statement according to changes indicated in the matching entry 1000. For example, a correction indicated by the final SQL statement 1006 may be made to the subject SQL statement. Where the matching entry 1000 includes multiple corrections, some or all of the corrections may be implemented, e.g., those for which the original text is found in the subject SQL statement. Implementing a correction may include making a partial correction: text matching an original text of a correction may be replaced with the final text of the correction where some of the subject SQL statement is not part of the original text.” (Para. [0108]).
Determining a second candidate variable by comparing a second query embedding associated with the query language query and corresponding to the undefined second variable to the set of database embeddings, the second candidate variable corresponding to a second database embedding of the set of database embeddings, a similarity between the second query embedding and the second database embedding satisfying the similarity criteria;
Shah teaches “The repair stage 906 may further output a confidence score 912. The confidence score 912 may estimate the likelihood that the SQL statement is correct.” (Para. [0099]) where “searching 1206 for one or more matches for the subject natural language statement among the natural language statements 1004 of the entries 1000 in the correction database 908” and “The result of step 1206 may be a set of ranked results or a highest-ranked result according to the metric of textual similarity. Each result may be the natural language statement 1004 of an entry 1000 from the correction database 908 determined to be relevant to the subject natural language statement. The result of step 1206 may include the confidence score 912. For example, the metric of textual similarity for each result may be used as the confidence score 912 for the result. Alternatively, a value may be assigned by the search algorithm to indicate the relevance of a result and that value may be used as the confidence score 912.” (Para. [0107]).
Substituting in the second candidate variable for the undefined second variable in the first repaired query language query to generate a second repaired query language query; and
Shah teaches “The repair stage 906 may process the SQL statement 904 and output an SQL statement 910 that may be modified relative to the SQL statement 904” (Para. [0099]) and “making 1208 a correction decision according to the correction database 908 and implementing the correction decision in the cast that correction is needed” where “If a match is found that includes one or more corrections, the correction decision may include changing one or more parts of the subject SQL statement according to changes indicated in the matching entry 1000” (Para. [0108]).Shah further teaches repeating the repairing process by teaching “If the user makes changes to the KGL statement 814, the revised KGL statement may be processed in various ways. In a first approach, the revised KGL statement is treated as a new natural language statement and processing repeats by inputting the revised KGL statement to the LLM 804” (Para. [0091]).
Generating a second response comprising the second repaired query language query.
Shah teaches “ Once a KGL statement 814 is approved by a user, the KGL statement 814 may be passed to a KGL interpreter 818. The KGL interpreter 818 interprets the KGL statement 814 to generate a database query 820.” (Para. [0092]) and “The database query 820 may be submitted to the server system 102, processed by the server system 102, and a result of the query returned to the source of the natural language statement 802, such as the user computing device 116.” (Para. [0093])
Regarding Claim 17:
Shah further teaches:
Receiving, from the query parser, a second alert indicating a second variable of the first repaired query language query is undefined;
Shah teaches an alert indicating a portion of the query language query is undefined, or needs repairing, by teaching “if no match was found, the correction decision may include making no change to the subject SQL statement. If a match is found in which the original SQL statement and final SQL statement are the same, the correction decision may include making no change to the subject SQL statement. If a match is found that includes one or more corrections, the correction decision may include changing one or more parts of the subject SQL statement according to changes indicated in the matching entry 1000. For example, a correction indicated by the final SQL statement 1006 may be made to the subject SQL statement. Where the matching entry 1000 includes multiple corrections, some or all of the corrections may be implemented, e.g., those for which the original text is found in the subject SQL statement. Implementing a correction may include making a partial correction: text matching an original text of a correction may be replaced with the final text of the correction where some of the subject SQL statement is not part of the original text.” (Para. [0108]).
Determining exit criteria is met based on failure to repair the first repaired query language query; and
Shah teaches “The method 1200 may include making 1208 a correction decision according to the correction database 908 and implementing the correction decision in the cast that correction is needed. For example, if no match was found, the correction decision may include making no change to the subject SQL statement. If a match is found in which the original SQL statement and final SQL statement are the same, the correction decision may include making no change to the subject SQL statement.” (Para. [0108]). Shah further teaches “Shah teaches “the method may end at step 1208. The subject SQL statement including any modification made at step 1208 (“the output SQL statement”) may then be further processed.” (Para. [0109]).
Returning a second response comprising the query language query generated by the LLM as a response of the LLM.
Shah teaches “the method may end at step 1208. The subject SQL statement including any modification made at step 1208 (“the output SQL statement”) may then be further processed. For example, the output SQL statement may be processed with respect to a database, transmitted to a user device 116 from which the subject natural language statement was received at step 1202, or stored for later use. Where the output SQL statement is transmitted to a user device, the confidence score 912 from step 1206 may be output along with the output SQL statement.” (Para. [0109])
Regarding Claim 18:
Shah further teaches:
Wherein said determining the exit criteria has been met comprises at least one of:
Determining similarities between a second query embedding corresponding to the undefined second variable and database embeddings of the set of database embeddings fail to satisfy the similarity criteria;
Shah teaches “The method 1200 may include making 1208 a correction decision according to the correction database 908 and implementing the correction decision in the cast that correction is needed. For example, if no match was found, the correction decision may include making no change to the subject SQL statement. If a match is found in which the original SQL statement and final SQL statement are the same, the correction decision may include making no change to the subject SQL statement.” (Para. [0108]). Shah further teaches “Shah teaches “the method may end at step 1208. The subject SQL statement including any modification made at step 1208 (“the output SQL statement”) may then be further processed.” (Para. [0109]).
Determining a number of undefinable variables in the query language query or repaired query language query satisfies undefined variable criteria; or
Determining a number of attempts to repair the query language query satisfies repair attempt criteria.
Regarding Claim 19:
Shah further teaches:
Wherein the query language query comprises a defined second variable, and
Shah teaches “If a match is found that includes one or more corrections, the correction decision may include changing one or more parts of the subject SQL statement according to changes indicated in the matching entry 1000. For example, a correction indicated by the final SQL statement 1006 may be made to the subject SQL statement. Where the matching entry 1000 includes multiple corrections, some or all of the corrections may be implemented,” (Para. [0108]). Therefore, Shah teaches the query language query having at least some defined variables.
Wherein said method further comprises:
Receiving a second query embedding associated with the query language query and corresponding to the defined second variable; and
Shah teaches “If a match is found that includes one or more corrections, the correction decision may include changing one or more parts of the subject SQL statement according to changes indicated in the matching entry 1000. For example, a correction indicated by the final SQL statement 1006 may be made to the subject SQL statement. Where the matching entry 1000 includes multiple corrections, some or all of the corrections may be implemented, e.g., those for which the original text is found in the subject SQL statement. Implementing a correction may include making a partial correction: text matching an original text of a correction may be replaced with the final text of the correction where some of the subject SQL statement is not part of the original text.” (Para. [0108]).
Wherein said determining the a first candidate variable comprises:
Identifying a table of the database based on the second query embedding, the identified table comprising a third variable associated with a second database embedding and a fourth variable associated with the first database embedding, a similarity between the second query embedding and the second database embedding satisfying similarity criteria, and
Shah teaches “The repair stage 906 may further output a confidence score 912. The confidence score 912 may estimate the likelihood that the SQL statement is correct.” (Para. [0099]) where “searching 1206 for one or more matches for the subject natural language statement among the natural language statements 1004 of the entries 1000 in the correction database 908” and “The result of step 1206 may be a set of ranked results or a highest-ranked result according to the metric of textual similarity. Each result may be the natural language statement 1004 of an entry 1000 from the correction database 908 determined to be relevant to the subject natural language statement. The result of step 1206 may include the confidence score 912. For example, the metric of textual similarity for each result may be used as the confidence score 912 for the result. Alternatively, a value may be assigned by the search algorithm to indicate the relevance of a result and that value may be used as the confidence score 912.” (Para. [0107]).
Shah further teaches a table by teaching “a set of entries 1000 including different natural language (NL) statements 1004a, 1004b, 1004c, respectively. Each of the entries 1000 in the set may include a correction 1100a, 1100b, 1100c, respectively.” (Para. [0104] & Fig. 10).
Determining the fourth variable as the first candidate variable by comparing the first query embedding to the first database embedding.
Shah teaches “Shah teaches “If a match is found that includes one or more corrections, the correction decision may include changing one or more parts of the subject SQL statement according to changes indicated in the matching entry 1000.” (Para. [0108]) and “The repair stage 906 may further output a confidence score 912. The confidence score 912 may estimate the likelihood that the SQL statement is correct.” (Para. [0099]) where “searching 1206 for one or more matches for the subject natural language statement among the natural language statements 1004 of the entries 1000 in the correction database 908” and “The result of step 1206 may be a set of ranked results or a highest-ranked result according to the metric of textual similarity. Each result may be the natural language statement 1004 of an entry 1000 from the correction database 908 determined to be relevant to the subject natural language statement. The result of step 1206 may include the confidence score 912. For example, the metric of textual similarity for each result may be used as the confidence score 912 for the result. Alternatively, a value may be assigned by the search algorithm to indicate the relevance of a result and that value may be used as the confidence score 912.” (Para. [0107]).
Regarding Claim 20:
Shah further teaches:
Wherein the undefined variable corresponds to:
A name of a table of the database;
A name of a column of data of the database; or
A value stored in the database.
Shah teaches “Each correction 1100a, 1100b, 1100c may be a change between the original SQL statement 1002 and the final SQL statement 1004 of the corresponding entry 1000. A correction 1100a, 1100b, 1100c may include changing a variable name, changing an SQL command, changing ordering of arguments, or any other change.” (Para. [0104]).
Claim(s) 7 and 9-13 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Kuan (U.S. Pre-Grant Publication No. 2024/0362409).
Regarding Claim 7:
Kuan teaches a computer-implemented method for prompting a large language model (LLM), the method comprising:
Receiving a request associated with querying a database;
Kuan teaches “The user input, for example, may include a text query indicating a request or asking a question” (Para. [0029]).
Determining a request embedding based on the request;
Kuan teaches “The insight descriptions may be converted into a vector embedding format, and groupings of similar insight descriptions (e.g., insight descriptions that pertain to a similar topic) may be located in a vector embedding space” (Para. [0031]).
Comparing the request embedding to a first layer embedding of a deep data map;
Kuan teaches “The user input 406, for instance, may include a prompt, and thus the prompt generation engine 402 is capable of using a prompt (e.g., the user input 406) to generate a different prompt (e.g., the generated prompt 404). The template selection module 408 selects a prompt template 410 from among multiple curated prompt templates 412, such as by searching the curated prompt templates 412 for a template that is best suited for the user input 406.” (Para. [0056])Kuan further teaches multiple layer embeddings of a deep data map by teaching “the model training system 302 may generate the prompt generation engine 304 using any suitable machine learning techniques. According to various implementations, the model training system 302 uses generative machine learning, an encoder-decoder architecture, supervised learning, unsupervised learning, reinforcement learning, and so forth. For example, the model training system 302 can include, but is not limited to… artificial neural networks (e.g., fully-connected neural networks, deep convolutional neural networks, or recurrent neural networks), deep learning, etc. In any case, the model training system 302 uses machine learning techniques to continually train and update the prompt generator 314 to produce accurate prompts given a subsequent input.” (Para. [0053]).It is noted that layers of a neural network, such as “a generative pre-trained transformer, which uses a deep neural network architecture composed of multiple layers” (Para. [0066]), are understood to compare embeddings and determines similarity between the input and the layer to satisfy a criteria.
Determining, based on said comparing the request embedding to the first layer embedding, a similarity between the request embedding and the first layer embedding satisfies first similarity criteria;
Kuan teaches “The user input 406, for instance, may include a prompt, and thus the prompt generation engine 402 is capable of using a prompt (e.g., the user input 406) to generate a different prompt (e.g., the generated prompt 404). The template selection module 408 selects a prompt template 410 from among multiple curated prompt templates 412, such as by searching the curated prompt templates 412 for a template that is best suited for the user input 406.” (Para. [0056])Kuan further teaches multiple layer embeddings of a deep data map by teaching “the model training system 302 may generate the prompt generation engine 304 using any suitable machine learning techniques. According to various implementations, the model training system 302 uses generative machine learning, an encoder-decoder architecture, supervised learning, unsupervised learning, reinforcement learning, and so forth. For example, the model training system 302 can include, but is not limited to… artificial neural networks (e.g., fully-connected neural networks, deep convolutional neural networks, or recurrent neural networks), deep learning, etc. In any case, the model training system 302 uses machine learning techniques to continually train and update the prompt generator 314 to produce accurate prompts given a subsequent input.” (Para. [0053]).It is noted that layers of a neural network, such as “a generative pre-trained transformer, which uses a deep neural network architecture composed of multiple layers” (Para. [0066]), are understood to compare embeddings and determines similarity between the input and the layer to satisfy a criteria.
Comparing the request embedding to a second layer embedding of the deep data map, the second layer embedding dependent on the first layer embedding and describing a value within a database;
Kuan teaches “The user input 406, for instance, may include a prompt, and thus the prompt generation engine 402 is capable of using a prompt (e.g., the user input 406) to generate a different prompt (e.g., the generated prompt 404). The template selection module 408 selects a prompt template 410 from among multiple curated prompt templates 412, such as by searching the curated prompt templates 412 for a template that is best suited for the user input 406.” (Para. [0056])Kuan further teaches multiple layer embeddings of a deep data map by teaching “the model training system 302 may generate the prompt generation engine 304 using any suitable machine learning techniques. According to various implementations, the model training system 302 uses generative machine learning, an encoder-decoder architecture, supervised learning, unsupervised learning, reinforcement learning, and so forth. For example, the model training system 302 can include, but is not limited to… artificial neural networks (e.g., fully-connected neural networks, deep convolutional neural networks, or recurrent neural networks), deep learning, etc. In any case, the model training system 302 uses machine learning techniques to continually train and update the prompt generator 314 to produce accurate prompts given a subsequent input.” (Para. [0053]).It is noted that layers of a neural network, such as “a generative pre-trained transformer, which uses a deep neural network architecture composed of multiple layers” (Para. [0066]), are understood to compare embeddings and determines similarity between the input and the layer to satisfy a criteria, and are further understood to have sequentially dependent layers.
It is also noted that describing “a value in a database” where the value is not subsequently recited as being used in any meaningful way is merely understood as reciting that any value described by the layer embedding is stored somewhere in any database, including the database used to store the information relevant to the embedding layer.
Determining, based on said comparing the request embedding to the second layer embedding, a similarity between the request embedding and the second layer embedding satisfies second similarity criteria;
Kuan teaches “The user input 406, for instance, may include a prompt, and thus the prompt generation engine 402 is capable of using a prompt (e.g., the user input 406) to generate a different prompt (e.g., the generated prompt 404). The template selection module 408 selects a prompt template 410 from among multiple curated prompt templates 412, such as by searching the curated prompt templates 412 for a template that is best suited for the user input 406.” (Para. [0056])Kuan further teaches multiple layer embeddings of a deep data map by teaching “the model training system 302 may generate the prompt generation engine 304 using any suitable machine learning techniques. According to various implementations, the model training system 302 uses generative machine learning, an encoder-decoder architecture, supervised learning, unsupervised learning, reinforcement learning, and so forth. For example, the model training system 302 can include, but is not limited to… artificial neural networks (e.g., fully-connected neural networks, deep convolutional neural networks, or recurrent neural networks), deep learning, etc. In any case, the model training system 302 uses machine learning techniques to continually train and update the prompt generator 314 to produce accurate prompts given a subsequent input.” (Para. [0053]).It is noted that layers of a neural network, such as “a generative pre-trained transformer, which uses a deep neural network architecture composed of multiple layers” (Para. [0066]), are understood to compare embeddings and determines similarity between the input and the layer to satisfy a criteria of the layer.
Determining a ranked item based on the second layer embedding;
Kuan teaches “The template selection module 408 selects a prompt template 410 from among multiple curated prompt templates 412, such as by searching the curated prompt templates 412 for a template that is best suited for the user input 406.” (Para. [0056]) where “the prompt template 410 is processed by an interim prompt generation module 414 to generate an interim prompt 416 based on the prompt template 410. The interim prompt generation module 414 populates the prompt template 410 with the user input 406. In implementations, the interim prompt generation module 414 may additional populate the prompt template 410 with additional information 418. The additional information 418, for example, includes database semantic information, metadata, and so forth.” (Para. [0057]).Kuan also teaches “Although described above as utilizing a generative adversarial network, the model training system 302 may generate the prompt generation engine 304 using any suitable machine learning techniques. According to various implementations, the model training system 302 uses generative machine learning, an encoder-decoder architecture, supervised learning, unsupervised learning, reinforcement learning, and so forth” (Para. [0053]) thereby teaching using multiple layers for the neural networks related to prompt generation.It is noted that the claims to not recite how the second layer embedding influences the determination of the ranked item, just that the determining of the ranked item is loosely “based on” the second layer embedding.
Including a description of the ranked item in a prompt; and
Kuan teaches “The template selection module 408 selects a prompt template 410 from among multiple curated prompt templates 412, such as by searching the curated prompt templates 412 for a template that is best suited for the user input 406.” (Para. [0056]) where “the prompt template 410 is processed by an interim prompt generation module 414 to generate an interim prompt 416 based on the prompt template 410.” (Para. [0057]).
Kuan further teaches “The interim prompt 416 is input into a prompt LLM 420. The prompt LLM 420 is a trained machine learning model configured to receive an input prompt (e.g., the interim prompt 416) and generate another prompt for output (e.g., the generated prompt 404),” (Para. [0058]) thereby teaching the interim prompt including the template best suited for the user input 406.
Providing the prompt to the LLM to cause the LLM to generate a query language query.
Kuan teaches “The interim prompt 416 is input into a prompt LLM 420. The prompt LLM 420 is a trained machine learning model configured to receive an input prompt (e.g., the interim prompt 416) and generate another prompt for output (e.g., the generated prompt 404),” (Para. [0058]) where “The large language model may utilize the text prompt to generate code (e.g., SQL code, Python code, and so forth) used to extract a relevant dataset from within the database and to analyze or format the extracted dataset.” (Para. [0030]).
Regarding Claim 9:
Kuan further teaches:
Receiving descriptions of tables of the database;
Kuan teaches “the data explorer system 1402 provides a user interface to organize and explore the various connected databases, and provides functionality to initiate operations by the auto dashboard system 1404, the smart pivot system 1406, or the insight presentation system 116 upon a selected database, grouping of databases, table within a database, grouping of tables within a database, and so forth.” (Para. [0100]).
Providing the descriptions of the tables to an embedding model configured to generate embeddings based on input data; and
Kuan teaches “ the dataset 108 may be generated from various sources, such as by compiling data from multiple databases, by compiling data from multiple data storages 102 or computing devices 106, and so forth.” (Para. [0036]). Kuan further teaches “the vector generation module 906 may be configured in a variety of ways, examples of which include a Global Vectors for word representation model, a Word2Vec model, or any other suitable word embedding model able to create vector representations of words,” (Para. [0085]).
Receiving layer embeddings of the deep data map from the embedding model, the layer embeddings comprising the first layer embedding and the second layer embedding.
Kuan teaches “a deep neural network architecture composed of multiple layers that can learn to represent the contextual relationships between words, and is trained to predict a next word or sequence of words in text.” (Para. [0073]).
Kuan further teaches layer embeddings of a deep data map by teaching “the model training system 302 may generate the prompt generation engine 304 using any suitable machine learning techniques. According to various implementations, the model training system 302 uses generative machine learning, an encoder-decoder architecture, supervised learning, unsupervised learning, reinforcement learning, and so forth. For example, the model training system 302 can include, but is not limited to, decision trees, support vector machines, linear regression, logistic regression, Bayesian networks, random forest learning, dimensionality reduction algorithms, boosting algorithms, artificial neural networks (e.g., fully-connected neural networks, deep convolutional neural networks, or recurrent neural networks), deep learning, etc. In any case, the model training system 302 uses machine learning techniques to continually train and update the prompt generator 314 to produce accurate prompts given a subsequent input.” (Para. [0053]).
Regarding Claim 10:
Kuan further teaches:
Determining a first portion of the database has been updated; and
Kuan teaches “the model training system 302 uses machine learning techniques to continually train and update the prompt generator 314 to produce accurate prompts given a subsequent input.” (Para. [0053]) and “The example user interface 1500 further includes a snapshot window 1506 that displays brief metrics and information pertaining to a selected database (or table within a database), such as the name and owner of the database, a data store hosting the database, creation and update dates for the database, a number of rows in the database, a number of columns in the database, and so forth” (Para. [0101]).
Utilizing the embedding model to generate updated layer embeddings associated with the first portion without generating new layer embeddings for a second portion of the database.
Kuan teaches “the model training system 302 uses machine learning techniques to continually train and update the prompt generator 314 to produce accurate prompts given a subsequent input.” (Para. [0053]).
Regarding Claim 11:
Kuan further teaches:
Prior to said providing the descriptions of the tables to the embedding model, pre-processing the descriptions based on descriptions of columns in the tables.
Kuan teaches “The example user interface 1500 displays connected databases 1502 and a button 1504 to initiate connecting an additional database. The example user interface 1500 further includes a snapshot window 1506 that displays brief metrics and information pertaining to a selected database (or table within a database), such as the name and owner of the database, a data store hosting the database, creation and update dates for the database, a number of rows in the database, a number of columns in the database, and so forth. The example user interface 1500 provides buttons to initiate various functionalities with respect to the selected database, including a button 1508 to access the smart pivot system 1406 of FIG. 14, a button 1510 to access the auto dashboard system 1404 of FIG. 14, and a button 1512 to generate a topic page for the selected table with the insight presentation system 116 as described above.” (Para. [0101]). Therefore, Kuan teaches pre-processing the descriptions based on columns in the tables.
Regarding Claim 12:
Kuan further teaches:
Wherein the request embedding corresponds to a column of the database where values of the column are from a predefined list.
Kuan teaches “The insight descriptions may be converted into a vector embedding format, and groupings of similar insight descriptions (e.g., insight descriptions that pertain to a similar topic) may be located in a vector embedding space” where “the insight descriptions and corresponding insight charts may be segmented and grouped according to their topic” (Para. [0031]) and “The template selection module 408 processes the text query in the user input 406 to select a prompt template 410 that includes: “Given business question and database semantic information, reframe the question as precise and relevant instructions to write code to pull data. Database semantic/metadata information: [insert table names, column names, types, metadata such as description of columns].” (Para. [0059]).
Regarding Claim 13:
Kuan further teaches:
Wherein the request comprises a natural language query.
Kuan teaches “The user input, for example, may include a text query indicating a request or asking a question” (Para. [0029]).
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.
Claim(s) 21 is rejected under 35 U.S.C. 103 as being unpatentable over Kuan (U.S. Pre-Grant Publication No. 2024/0362409) and further in view of Shah et al. (U.S. Pre-Grant Publication No. 2025/0013635, hereinafter referred to as Shah).
Regarding Claim 21:
Kuan explicitly teaches all of the elements of the claimed invention as recited above except:
Receiving a first alert indicating a first variable of the query language query is undefined;
Obtaining a query embedding associated with the query language query;
Determining a candidate variable by comparing the query embedding to the layer embeddings, the candidate variable corresponding to a third layer embedding of the layer embeddings, a similarity between the query embedding and the third layer embedding satisfying a third similarity criterion;
Generating a repaired query language query by substituting the candidate variable for the undefined first variable in the query language query; and
Causing the repaired query language query to be executed by a database engine.
However, in the related field of endeavor of repairing LLM results, Shah teaches:
Receiving a first alert indicating a first variable of the query language query is undefined;
Shah teaches an alert indicating a portion of the query language query is undefined, or needs repairing, by teaching “if no match was found, the correction decision may include making no change to the subject SQL statement. If a match is found in which the original SQL statement and final SQL statement are the same, the correction decision may include making no change to the subject SQL statement. If a match is found that includes one or more corrections, the correction decision may include changing one or more parts of the subject SQL statement according to changes indicated in the matching entry 1000. For example, a correction indicated by the final SQL statement 1006 may be made to the subject SQL statement. Where the matching entry 1000 includes multiple corrections, some or all of the corrections may be implemented, e.g., those for which the original text is found in the subject SQL statement. Implementing a correction may include making a partial correction: text matching an original text of a correction may be replaced with the final text of the correction where some of the subject SQL statement is not part of the original text.” (Para. [0108]).
Obtaining a query embedding associated with the query language query;
Shah teaches “If a match is found that includes one or more corrections, the correction decision may include changing one or more parts of the subject SQL statement according to changes indicated in the matching entry 1000. For example, a correction indicated by the final SQL statement 1006 may be made to the subject SQL statement. Where the matching entry 1000 includes multiple corrections, some or all of the corrections may be implemented, e.g., those for which the original text is found in the subject SQL statement. Implementing a correction may include making a partial correction: text matching an original text of a correction may be replaced with the final text of the correction where some of the subject SQL statement is not part of the original text.” (Para. [0108]).
Determining a candidate variable by comparing the query embedding to the layer embeddings, the candidate variable corresponding to a third layer embedding of the layer embeddings, a similarity between the query embedding and the third layer embedding satisfying a third similarity criterion;
Shah teaches “The repair stage 906 may further output a confidence score 912. The confidence score 912 may estimate the likelihood that the SQL statement is correct.” (Para. [0099]) where “searching 1206 for one or more matches for the subject natural language statement among the natural language statements 1004 of the entries 1000 in the correction database 908” and “The result of step 1206 may be a set of ranked results or a highest-ranked result according to the metric of textual similarity. Each result may be the natural language statement 1004 of an entry 1000 from the correction database 908 determined to be relevant to the subject natural language statement. The result of step 1206 may include the confidence score 912. For example, the metric of textual similarity for each result may be used as the confidence score 912 for the result. Alternatively, a value may be assigned by the search algorithm to indicate the relevance of a result and that value may be used as the confidence score 912.” (Para. [0107]).
Generating a repaired query language query by substituting the candidate variable for the undefined first variable in the query language query; and
Shah teaches “The repair stage 906 may process the SQL statement 904 and output an SQL statement 910 that may be modified relative to the SQL statement 904” (Para. [0099]) and “making 1208 a correction decision according to the correction database 908 and implementing the correction decision in the cast that correction is needed” where “If a match is found that includes one or more corrections, the correction decision may include changing one or more parts of the subject SQL statement according to changes indicated in the matching entry 1000” (Para. [0108]).
Causing the repaired query language query to be executed by a database engine.
Shah teaches “The repair stage 906 may process the SQL statement 904 and output an SQL statement 910 that may be modified relative to the SQL statement 904.” (Para. [0099]) and “The SQL statement 910 may then be executed with respect to a database, e.g., as a database query to obtain a result. The result may be returned to a source of the natural language statement 902, such as to a user device 116 from which the natural language statement 902 was received.” (Para. [0100]).
Thus, it would have been obvious to one of ordinary skill in the art, having the teachings of Shah and Kuan at the time that the claimed invention was effectively filed, to have modified the systems and techniques for processing datasets and user queries for data insights, as taught by Kuan, with the LLM output repairing, as taught by Shah.
One would have been motivated to make such combination because Shah teaches “LLM may often provide results that have the appearance of a correct result but are factually or otherwise in correct. Although further training may eliminate some errors, incorrect results may still appear.” (Para. [0003]) and “The SQL statement 904 may be processed using a repair stage 906. The repair stage 906 may operate in conjunction with a correction database 908. The operation of the repair stage 906 is described in detail below with respect to FIGS. 10-12. The repair stage 906 may process the SQL statement 904 and output an SQL statement 910 that may be modified relative to the SQL statement 904. The repair stage 906 may further output a confidence score 912. The confidence score 912 may estimate the likelihood that the SQL statement is correct.” (Para. [0099]). It would have been obvious to a person having ordinary skill in the art to use the LLM repair state taught by Shah on the LLMs taught by Kuan to identify and correct any incorrect results, even if they appear correct.
Claim(s) 1-6 are rejected under 35 U.S.C. 103 as being unpatentable over Shah et al. (U.S. Pre-Grant Publication No. 2025/0013635, hereinafter referred to as Shah) and further in view of Kuan (U.S. Pre-Grant Publication No. 2024/0362409).
Regarding Claim 1:
Shah teaches a system for generating a query language query utilizing a large language model (LLM), comprising:
A processor circuit (Shah – Para. [0125]); and
A memory device that stores program code to be executed by the processor circuit (Shah – Para. [0125]).
A pre-processor that:
Receives a request associated with querying a database,
Shah teaches “the system 800 may receive a natural language statement 802 from a user, such as from an interface executing on the user computing device 116.” (Para. [0085]).
A prompter that:
Provides a prompt to the LLM to cause the LLM to generate a query language query, the prompt comprising a description of the ranked item; and
Shah teaches “the original SQL statement 1002 may be obtained from an LLM by inputting the natural language statement 1004 into an LLM with a prompt to generate a corresponding SQL statement” (Para. [0101]) where “The output natural language statement may facilitate an assessment by the user as to whether the output SQL statement expresses the intent of the user expressed in the subject natural language statement.” (Para. [0111]).
A post-processor that:
Receives a first alert indicating a first variable of the query language query generated by the LLM is undefined,
Shah teaches an alert indicating a portion of the query language query is undefined, or needs repairing, by teaching “if no match was found, the correction decision may include making no change to the subject SQL statement. If a match is found in which the original SQL statement and final SQL statement are the same, the correction decision may include making no change to the subject SQL statement. If a match is found that includes one or more corrections, the correction decision may include changing one or more parts of the subject SQL statement according to changes indicated in the matching entry 1000. For example, a correction indicated by the final SQL statement 1006 may be made to the subject SQL statement. Where the matching entry 1000 includes multiple corrections, some or all of the corrections may be implemented, e.g., those for which the original text is found in the subject SQL statement. Implementing a correction may include making a partial correction: text matching an original text of a correction may be replaced with the final text of the correction where some of the subject SQL statement is not part of the original text.” (Para. [0108]).
Obtains a first query embedding associated with the query language query and corresponding to the undefined first variable,
Shah teaches “If a match is found that includes one or more corrections, the correction decision may include changing one or more parts of the subject SQL statement according to changes indicated in the matching entry 1000. For example, a correction indicated by the final SQL statement 1006 may be made to the subject SQL statement. Where the matching entry 1000 includes multiple corrections, some or all of the corrections may be implemented, e.g., those for which the original text is found in the subject SQL statement. Implementing a correction may include making a partial correction: text matching an original text of a correction may be replaced with the final text of the correction where some of the subject SQL statement is not part of the original text.” (Para. [0108]).
Determine a first candidate variable by comparing the first query embedding to the layer embeddings, the first candidate variable corresponding to a second layer embedding of the layer embeddings, a similarity between the first query embedding and the second layer embedding satisfying second similarity criteria,
Shah teaches “The repair stage 906 may further output a confidence score 912. The confidence score 912 may estimate the likelihood that the SQL statement is correct.” (Para. [0099]) where “searching 1206 for one or more matches for the subject natural language statement among the natural language statements 1004 of the entries 1000 in the correction database 908” and “The result of step 1206 may be a set of ranked results or a highest-ranked result according to the metric of textual similarity. Each result may be the natural language statement 1004 of an entry 1000 from the correction database 908 determined to be relevant to the subject natural language statement. The result of step 1206 may include the confidence score 912. For example, the metric of textual similarity for each result may be used as the confidence score 912 for the result. Alternatively, a value may be assigned by the search algorithm to indicate the relevance of a result and that value may be used as the confidence score 912.” (Para. [0107]).
Substitutes in the first candidate variable for the undefined first variable in the query language query to generate a first repaired query language query, and
Shah teaches “The repair stage 906 may process the SQL statement 904 and output an SQL statement 910 that may be modified relative to the SQL statement 904” (Para. [0099]) and “making 1208 a correction decision according to the correction database 908 and implementing the correction decision in the cast that correction is needed” where “If a match is found that includes one or more corrections, the correction decision may include changing one or more parts of the subject SQL statement according to changes indicated in the matching entry 1000” (Para. [0108]).
Shah further teaches “replacing, by the computer system, a first portion of the first database language statement with a correction in the entry in the correction database to obtain the second database language statement” (Claim 4).
Generates a first response comprising the first repaired query language query.
Shah teaches, after repairing the SQL statement, “the [repaired] SQL statement 910 may then be executed with respect to a database, e.g., as a database query to obtain a result” (Para. [0100]).
Shah explicitly teaches all of the elements of the claimed invention as recited above except:
Determines a request embedding based on the request,
Compares the request embedding to a first layer embedding of layer embeddings of a deep data map, the first layer embedding describing a value within a database,
Determines, based on the comparison of the request embedding and the first layer embedding, a similarity between the request embedding and the first layer embedding satisfies first similarity criteria, and
Determines a ranked item based on the first layer embedding;
However, in the related field of endeavor of prompting an LLM to generate SQL code, Kuan teaches:
Determines a request embedding based on the request,
Kuan teaches “The insight descriptions may be converted into a vector embedding format, and groupings of similar insight descriptions (e.g., insight descriptions that pertain to a similar topic) may be located in a vector embedding space” (Para. [0031]).
Compares the request embedding to a first layer embedding of layer embeddings of a deep data map, the first layer embedding describing a value within a database,
Kuan teaches “The user input 406, for instance, may include a prompt, and thus the prompt generation engine 402 is capable of using a prompt (e.g., the user input 406) to generate a different prompt (e.g., the generated prompt 404). The template selection module 408 selects a prompt template 410 from among multiple curated prompt templates 412, such as by searching the curated prompt templates 412 for a template that is best suited for the user input 406.” (Para. [0056])Kuan further teaches multiple layer embeddings of a deep data map by teaching “the model training system 302 may generate the prompt generation engine 304 using any suitable machine learning techniques. According to various implementations, the model training system 302 uses generative machine learning, an encoder-decoder architecture, supervised learning, unsupervised learning, reinforcement learning, and so forth. For example, the model training system 302 can include, but is not limited to… artificial neural networks (e.g., fully-connected neural networks, deep convolutional neural networks, or recurrent neural networks), deep learning, etc. In any case, the model training system 302 uses machine learning techniques to continually train and update the prompt generator 314 to produce accurate prompts given a subsequent input.” (Para. [0053]).It is noted that layers of a neural network, such as “a generative pre-trained transformer, which uses a deep neural network architecture composed of multiple layers” (Para. [0066]), are understood to compare embeddings and determines similarity between the input and the layer to satisfy a criteria.
It is also noted that describing “a value within a database” where the value is not subsequently recited as being used in any meaningful way is merely understood as reciting that any value described by the layer embedding is stored somewhere in any database, including the database used to store the information relevant to the embedding layer.
Determines, based on the comparison of the request embedding and the first layer embedding, a similarity between the request embedding and the first layer embedding satisfies first similarity criteria, and
Kuan teaches “The user input 406, for instance, may include a prompt, and thus the prompt generation engine 402 is capable of using a prompt (e.g., the user input 406) to generate a different prompt (e.g., the generated prompt 404). The template selection module 408 selects a prompt template 410 from among multiple curated prompt templates 412, such as by searching the curated prompt templates 412 for a template that is best suited for the user input 406.” (Para. [0056])Kuan further teaches multiple layer embeddings of a deep data map by teaching “the model training system 302 may generate the prompt generation engine 304 using any suitable machine learning techniques. According to various implementations, the model training system 302 uses generative machine learning, an encoder-decoder architecture, supervised learning, unsupervised learning, reinforcement learning, and so forth. For example, the model training system 302 can include, but is not limited to… artificial neural networks (e.g., fully-connected neural networks, deep convolutional neural networks, or recurrent neural networks), deep learning, etc. In any case, the model training system 302 uses machine learning techniques to continually train and update the prompt generator 314 to produce accurate prompts given a subsequent input.” (Para. [0053]).It is noted that layers of a neural network, such as “a generative pre-trained transformer, which uses a deep neural network architecture composed of multiple layers” (Para. [0066]), are understood to compare embeddings and determines similarity between the input and the layer to satisfy a criteria.
Determines a ranked item based on the first layer embedding;
Kuan teaches “The template selection module 408 selects a prompt template 410 from among multiple curated prompt templates 412, such as by searching the curated prompt templates 412 for a template that is best suited for the user input 406.” (Para. [0056]) where “the prompt template 410 is processed by an interim prompt generation module 414 to generate an interim prompt 416 based on the prompt template 410. The interim prompt generation module 414 populates the prompt template 410 with the user input 406. In implementations, the interim prompt generation module 414 may additional populate the prompt template 410 with additional information 418. The additional information 418, for example, includes database semantic information, metadata, and so forth.” (Para. [0057]).
Thus, it would have been obvious to one of ordinary skill in the art, having the teachings of Kuan and Shah at the time that the claimed invention was effectively filed, to have modified the systems and methods for generating and repairing SQL statements from NL statements, as taught by Shah, with the interim prompt generation, as taught by Kuan.
One would have been motivated to make such combination because Kuan teaches removing “irrelevant information from the user input 204, adds additional contextual or semantic information, and so forth to create the classifier prompt 210” (Para. [0048]) and it would have been obvious to a person having ordinary skill in the art that removing irrelevant information from the user input, adding additional contextual or semantic information to create a prompt for the LLM would improve the prompt to the LLM.
Regarding Claim 2:
All of the limitations herein are similar to some or all of the limitations as recited in Claim 7.
Regarding Claim 3:
All of the limitations herein are similar to some or all of the limitations as recited in Claim 9.
Regarding Claim 4:
All of the limitations herein are similar to some or all of the limitations as recited in Claim 16.
Regarding Claim 5:
All of the limitations herein are similar to some or all of the limitations as recited in Claim 17.
Regarding Claim 6:
Kuan and Shah further teach:
Wherein the first layer embedding comprises at least one of:
A table embedding describing a context of a table of the database;
A column embedding describing a context of a column of the table; or
A value embedding describing a context of the value.
Kuan teaches “an insight vector 908 may be a numerical representation of text as a vector with one thousand or more dimensions, thereby capable of including significantly more information than is included in raw ASCII values of text features. The vector generation module 906 may be configured in a variety of ways, examples of which include a Global Vectors for word representation model, a Word2Vec model, or any other suitable word embedding model able to create vector representations of words, such as a model that incorporates a recurrent neural network such as a Long Short-Term Memory (LSTM) recurrent neural network.” (Para. [0085]).
Response to Amendment
Applicant’s Amendments, filed on 1/26/2026, are acknowledged and accepted.
Response to Arguments
On pages 10-12 of the Remarks filed on 1/26/2026, Applicant argues that “Shah fails to teach or suggest the combined [amended] claim 14 features” because “Shah fails to teach or suggest the database language statements having "undefined variables" (emphasis added). Accordingly, Applicant respectfully asserts that Shah fails to teach or suggest at least the claim 14 feature of "receiving a first alert indicating a first variable of a query language query generated by an LLM is undefined, the query language query corresponding to a prompt previously provided to the LLM."” and “As mentioned above, Shah fails to teach or suggest undefined variables, let alone undefined variables within a query language query generated by an LLM. Furthermore, Shah describes a process of searching for matching natural language statements within a correction database. See, e.g., paras. [0099] and [0107] of Shah. However, this process of Shah fails to teach or suggest the particular obtaining, determining, and substituting steps of claim 14.”Applicant’s argument is not convincing because the broadest reasonable interpretation of the term “undefined” is being given and thus Shah is still understood to teach the limitation(s) being argued. As was noted during the interview on 1/23/2026 and restated for convenience herein, it is recommended to further clarify what constitutes the query language query as being "undefined" and to better define what a second layer embedding is, how it is associated with the first candidate variable, and why the association is relevant/used.
On pages 12-15 of the Remarks filed on 1/26/2026, Applicant argues that “Kuan fails to teach or suggest the combined [amended] claim 7 features” because “The aforementioned features of presently amended claim 7 describe a process of locating layer embeddings to use in improving query language query generation by locating first layer embeddings that are semantically similar to a request and further locating second layer embeddings dependent from the first layer embeddings that are further semantically similar to the request. This multi-tiered process provides additional context to a request that, when included in a prompt to a generative artificial intelligence model, improves the quality and accuracy of a query language query generated by the model.” and “Kuan does not describe a deep data map that has multiple tiers of layer embeddings, where the tiers of layer embeddings are semantically searched to locate ranked items to include in a prompt to an LLM, as in claim 7.”.Applicant’s argument is not convincing because at least the claims to not appear to reflect the scope being argued of “locating” layer embeddings. The claims merely recite comparing the request embedding to different layer embeddings for similarity to a request embedding and loosely “determining a ranked item based on” a layer embedding.It is further noted that the claims recite that the layer embeddings are “of a deep data map” but does not provide any further limiting context of what the layer embeddings or deep data map represent.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Kundel et al. (U.S. Pre-Grant Publication No. 2024/0354321) teaches automated identification and retrieval of contextual information for quick and accurate processing of user queries by artificial intelligence generative models. The techniques include receiving a natural language (NL) query associated with a user identifier (ID) and obtaining, using a first NL generative model, contextual data that is pertinent to the NL query and is associated with the user ID. The techniques further include generating an augmented NL query that is based on the NL query and the contextual data. The techniques include communicating the augmented NL query to a recipient that includes the first NL generative model, a second NL generative model, or a user session associated with the user ID.
Siebel et al. (U.S. Pre-Grant Publication No. 2024/0202225) teaches managing, by an orchestrator, a plurality of agents to generate a response to an input. The orchestrator employs one or more multimodal models such as a large language models to process or deconstruct the prompt into a series of instructions for different agents. Each agent employs one or more machine-learning models to process disparate inputs or different portions of an input associated with the prompt. The system generates, by the orchestrator, a natural language summary of the structured and unstructured data records. The system formulates output and transmits the natural language summary of the data records.
Gottlob et al. (U.S. Pre-Grant Publication No. 2025/0173314) teaches a method for database constraint generation, executed by at least one processor on a computing device accessing one or more large language models (LLMs), comprising retrieving data and/or metadata from a database; generating prompts by parameterizing inputs with concrete values; interacting with LLMs through these prompts to obtain and analyze responses; and performing data intelligence processing to derive natural-language descriptions of structural database elements. The method enables generating database constraints from defined classes, such as attribute-domain restrictions, intra-relational, and inter-relational constraints. Constraints include semantic, syntactic, and dependency-based types. Orchestration of constraint learning involves predefined or dynamic workflows incorporating tasks like database sampling, constraint testing, and refinement. It employs LLM-based techniques to generate candidate rules and optimize constraints through iterative testing and scoring. The method further supports counterexample identification, score aggregation, and rule evaluation to ensure robust constraint generation and refinement.
Trilla Rodriguez et al. (U.S. Pre-Grant Publication No.2025/0077836) teaches techniques are provided for memory address prediction. In one embodiment, the techniques involve receiving feature data, mapping the feature data to an input of a shift register, mapping an output of the shift register to a multiplexer, generating, via control of a selection line of the multiplexer, formatted feature data, segmenting the formatted feature data into bit groups, mapping the bit groups to corresponding embedding layers, and generating a vector based on the embedding layers.
Galvin (U.S. Patent No. 12,271,696) teaches an optimized approach for training and operating Large Language Models (LLMs) using codewords. By converting traditional token-based LLMs to codeword-based systems, the method achieves significant efficiency gains. The process involves tokenizing training data and assigning codewords to tokens. LLMs are then trained and operated using these compact codewords instead of conventional tokens. During operation, prompts are converted to codewords, processed by the LLM, and the outputs are converted back to text. This approach reduces the overall cost of training and operating LLMs by approximately, offering a more efficient solution for large-scale language processing tasks.The reference further teaches “ the assigned codewords are then passed through a plurality of embedding layers. Unlike traditional transformer architectures that use a single embedding layer, this modified LCM architecture employs multiple embedding layers, each configured to receive a different kind of input. Each embedding layer learns a dense vector representation specific to its corresponding input modality. For example, there can be separate embedding layers for text, images, audio, and other input types. The embedding layers capture the semantic and structural information of the input codewords in a continuous vector space.” (Col. 30 Line 63 – Col. 31 Line 6).
Rainwater (U.S. Pre-Grant Publication No. 2018/0060727) teaches “Deep learning is a type of machine learning that attempts to model high-level abstractions in data by using multiple processing layers or multiple non-linear transformations. Deep learning uses representations of data, typically in vector format, where each datum corresponds to an observation with a known outcome” (Para. [0002]).
Walters et al. (U.S. Pre-Grant Publication No. 2020/0012886) teaches a system may include one or more memory units storing instructions and one or more processors configured to execute the instructions to perform operations. The operations may include receiving data from a client device and generating preliminary clustered data based on the received data, using a plurality of embedding network layers. The operations may include generating a data map based on the preliminary clustered data using a meta-clustering model. The operations may include determining a number of clusters based on the data map using the meta-clustering model and generating final clustered data based on the number of clusters using the meta-clustering model. The operations may include and transmitting the final clustered data to the client device.The reference further teaches “an embedding layer may convert a data sample into a latent space, and a data map may include a visual representation of a data conversion into a latent space. A data map may be based on weights of an embedding layer.” (Para. [0050]) and “generating final data clusters 310 may include updating one or more embedding network layers by training the embedding network layers based on a number of clusters (e.g., a number of clusters determined based on a data map).” (Para. [0054]).
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ROBERT F MAY whose telephone number is (571)272-3195. The examiner can normally be reached Monday-Friday 9:30am to 6pm.
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, Boris Gorney can be reached on 571-270-5626. 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.
/ROBERT F MAY/Examiner, Art Unit 2154 5/29/2026
/BORIS GORNEY/Supervisory Patent Examiner, Art Unit 2154