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
This initial office action is based on the application filed on 02/26/2024, which claims 1-20 have been presented for examination.
Status of Claim
Claims 1-20 are pending in the application and have been examined below, of which, claims 1 and 16 are presented in independent form.
Priority
No priority document has been filed in this application.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 11/06/2023. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Examiner Notes
Examiner cites particular columns and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner.
Claim Objections
Claims 1-20 are objected to because of the following informalities:
Claims 1 and 16 are missing --and-- at the end of lines 8 and 11 respectively.
Claims 2-6, 8-15, and 17-20 depend on the objected claims and inherit the same issues.
Appropriate correction is required.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The analysis specific to Claims 1 and 16 are being presented below.
Claims 1 and 16:
Step 1 Analysis:
Claims 1-15 of the instant application are direct to process.
Claim 16-20 of the instant application are direct to apparatus.
Thus, they are statutory categories.
Step 2 Analysis:
Claims 1 and 16 recites:
(a) receiving text data;
(b) receiving a set of descriptions for editing the text data;
(c) generating a set of functions corresponding to the set of descriptions, wherein the generating comprises, for each description in the set of descriptions generating a computer code representing a function from the set of functions for processing the text data using a machine learning language model;
(d) applying each one of the set of functions to the text data to generate output text data.
Step 2A -- Prong 1:
The claims 1 and 16 recite the limitations of:
(a) receiving text data;
(b) receiving a set of descriptions for editing the text data;
(c) generating a set of functions corresponding to the set of descriptions, wherein the generating comprises, for each description in the set of descriptions generating a computer code representing a function from the set of functions for processing the text data using a machine learning language model;
Limitations (a)-(c) are limitations that, as drafted, are processes that, under its broadest reasonable interpretations, covers performance of the limitation can be done by human with a pen and paper. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “receiving”(collecting) and “generating”/creating can be performed human with pen and paper. As such, these limitations fall within the “Mental Processes” grouping of abstract ideas.
Step 2A -- Prong 2:
The claim 1 recites the additional limitations of “a computer-implemented”. The limitations of “a computer-implemented” is recited at a high level of generality, i.e., merely instructions to implement the abstract idea on a generic computer or merely uses a computer as a tool to perform the abstract idea. The limitation “machine learning language model” is recited as tool to perform the abstract idea. The claim 16 recites the addition limitations of “A computer system”; “one or more processors” and “one or more non-transitory computer-readable storage media…the one or more processors to execute:” A computer system”; “one or more processors” and “one or more non-transitory computer-readable storage media…the one or more processors to execute:” are recited at a high level of generality, i.e., merely instructions to implement the abstract idea on a generic computer or merely uses a computer as a tool to perform the abstract idea. The limitation “machine learning language model” is recited as tool to perform the abstract idea. Additionally, limitation (d) of claims 1 and 16 is merely insignificant extra solution activity of processing data and outputting data. Accordingly, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea.
Step 2B:
As explained with respect to Step 2A Prong Two, the additional elements in the claim are recited at a high level of generality and amount to no more than mere instructions to apply the exception using generic computer components. Accordingly, the additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The same analysis applies here in 2B, i.e., simply adding extra-solution activity or well-understood, routine and conventional activity or generic computer components does not integrate a judicial exception into a practical application at Step 2A or provide an inventive concept in Step 2B --See MPEP 2106.05. The claims do not integrate the judicial exception into a practical application at Step 2A Prong 2 or recite additional elements that amount to significantly more than the judicial exception at Step 2B. Therefore, claims are ineligible.
Dependent claims
Additionally, claims 2 and 17 recite “wherein the set of descriptions is ordered; further comprising applying each one of the set of functions in an order of the set of descriptions” is merely insignificant extra solution activity of processing data. Accordingly, these limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. As such, these claims fail both Step 2A prong 2 and Step 2B. Therefore, claims 2 and 17 are ineligible.
Additionally, claims 3 and 18 recite “receiving ordering instructions for applying each one of the set of functions” which performs as well-understood, routine and conventional activity. The limitation “applying each one of the set of functions in an order described in the ordering instructions” is merely insignificant extra solution activity of processing data. Accordingly, these limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. As such, these claims fail both Step 2A prong 2 and Step 2B. Therefore, claims 3 and 18 are ineligible.
Additionally, claims 4 and 19 recite “wherein each one of the set of functions includes a function name, and wherein the ordering instructions is an ordered list of function names” are merely insignificant extra solution activity of defining data. Accordingly, these limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. As such, these claims fail both Step 2A prong 2 and Step 2B. Therefore, claims 4 and 19 are ineligible.
Additionally, claims 5 and 20 recite “further comprising serializing each function of the set of functions by isolating a code of the function, combining the code with a wrapper code resulting in a combined code” are merely insignificant extra solution activity of gathering data. Claims 5 and 20 further recite “storing the combined code and a name associated with the function in a persistent memory” which perform as well-understood, routine and conventional activity. Accordingly, these limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. As such, these claims fail both Step 2A prong 2 and Step 2B. Therefore, claims 5 and 20 are ineligible.
Additionally, claim 6 recites “wherein a function in the set of functions includes input parameters; further comprising applying the function by determining input parameter values corresponding to the input parameters and applying the function on the text data, having the input parameter values as the input parameters” are merely insignificant extra solution activity of defining and processing data. Accordingly, these limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. As such, these claims fail both Step 2A prong 2 and Step 2B. Therefore, claim 6 is ineligible.
Additionally, claim 7 recites “wherein the set of functions includes at least a first function and a second function, the first function including at least output parameters, and the second function includes at least input parameters; further comprising applying the first function at least in part by executing the first function on the text data, thereby obtaining the output parameters, using at least one of the output parameters of the first function as one of the input parameters of the second function” is merely insignificant extra solution activity of defining and processing data. Accordingly, these limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. As such, these claims fail both Step 2A prong 2 and Step 2B. Therefore, claim 7 is ineligible.
Additionally, claim 8 recites “wherein the applying of the second function is not performed based on a value of the at least one of the output parameters of the first function” is merely insignificant extra solution activity of processing data. Accordingly, these limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. As such, these claims fail both Step 2A prong 2 and Step 2B. Therefore, claim 8 is ineligible.
Additionally, claim 9 recites “receiving programming instructions describing a process of applying the set of functions; wherein applying the set of functions includes executing the programming instructions” which perform as well-understood, routine and conventional activity. Accordingly, these limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. As such, these claims fail both Step 2A prong 2 and Step 2B. Therefore, claim 9 is ineligible.
Additionally, claim 10 recites “wherein the programming instructions have one of a Python code, a Ruby code, a Perl Script, a JavaScript code, a Java code, a PHP code, a C code, or a C++ code” is merely insignificant extra solution activity of defining data. Accordingly, these limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. As such, these claims fail both Step 2A prong 2 and Step 2B. Therefore, claim 10 is ineligible.
Additionally, claim 11 recites “further comprising applying a function from the set of functions to the text data at least in part by using the machine learning language model” is merely insignificant extra solution activity of processing data. Claim 11 further recites “obtaining one or more inputs for the function based on context data of the text data, and providing the one or more inputs to the function, when using the function to process the text data” as drafted, is a process that, under its broadest reasonable interpretations, covers performance of the limitation in the mind. As such, this limitation falls within the “Mental Processes” grouping of abstract idea. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “obtaining” and “providing” can be performed in the human mind through observation, evaluation, judgment, opinion with the aid of pen and paper. These limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. As such, these claims fail both Step 2A prong 2 and Step 2B. Therefore, claim 11 is ineligible.
Additionally, claim 12 recites “further comprising applying the set of functions to the text data by: providing a set of natural language instructions for the machine learning language model on how to execute the set of functions, the set of natural language instructions including a set of function names associated with the set of descriptions; based on the set of natural language instructions, and the set of function names, generating programming instructions describing a process of applying the set of functions; executing the programming instructions” as drafted, is a process that, under its broadest reasonable interpretations, covers performance of the limitation in the mind. As such, this limitation falls within the “Mental Processes” grouping of abstract idea. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “providing” and “generating” can be performed in the human mind through observation, evaluation, judgment, opinion with the aid of pen and paper. The limitation “executing the programming instruction” can be performed in the human mind through opinion with the aid of pen and paper. As such, this limitation falls within the “Mental Processes” grouping of abstract idea. These limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. As such, these claims fail both Step 2A prong 2 and Step 2B. Therefore, claim 12 is ineligible.
Additionally, claim 13 recites “further comprising generating the programming instructions at least in part by determining based on a context of the text data whether a function from the set of functions should be applied to the text data” as drafted, is a process that, under its broadest reasonable interpretations, covers performance of the limitation in the mind. As such, this limitation falls within the “Mental Processes” grouping of abstract idea. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “generating” and “determining/whether” can be performed in the human mind through observation, evaluation, judgment, opinion with the aid of pen and paper. As such, this limitation falls within the “Mental Processes” grouping of abstract idea. These limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. As such, these claims fail both Step 2A prong 2 and Step 2B. Therefore, claim 13 is ineligible.
Additionally, claim 14 recites “further comprising generating the programming instructions at least in part by determining values for input parameters for a function from the set of functions” as drafted, is a process that, under its broadest reasonable interpretations, covers performance of the limitation in the mind. As such, this limitation falls within the “Mental Processes” grouping of abstract idea. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “generating” and “determining/whether” can be performed in the human mind through observation, evaluation, judgment, opinion with the aid of pen and paper. As such, this limitation falls within the “Mental Processes” grouping of abstract idea. These limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. As such, these claims fail both Step 2A prong 2 and Step 2B. Therefore, claim 14 is ineligible.
Additionally, claim 15 recites “wherein the programming instructions specify applying at least a first function and conditionally applying a second function to the text data, the first function and the second function being from the set of functions; further comprising conditionally applying the second function to output text data being output by the first function after processing the text data” is merely insignificant extra solution activity of defining and processing data. The limitation “determining whether to apply the second function based on at least some output parameters from the first function” as drafted, is a process that, under its broadest reasonable interpretations, covers performance of the limitation in the mind. As such, this limitation falls within the “Mental Processes” grouping of abstract idea. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “determining/whether” can be performed in the human mind through observation, evaluation, judgment, opinion with the aid of pen and paper. As such, this limitation falls within the “Mental Processes” grouping of abstract idea. These limitations do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea or provide an inventive concept and thus do not amount to significantly more that the abstract idea. As such, these claims fail both Step 2A prong 2 and Step 2B. Therefore, claim 15 is ineligible.
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-3, 6, 9-10, 16-18 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Buckley et al. (US Pub. No. 2025/0021769 A1 – herein after Buckley) in view of Puri et al. (US Patent No. 11983488 B1 – herein after Puri).
Regarding claim 1.
Buckley discloses
A computer-implemented method for processing text data (Documentation about such API functions, their use, and example programs calling the API functions are typically publicly available and can be part of text data that the language model has been trained on – See paragraph [0035] and Fig. 1G), the computer-implemented method comprising:
receiving text data (receiving, via an interface, a natural language query about a request for a user device to perform a computer task – Abstract. Documentation about such API functions… can be part of text data that the language model has been trained on – See paragraph [0035]);
receiving a set of descriptions for editing the text data (A natural language query 130 about a request to perform a computer task 122 involving a split screen display state (or a virtual desktop) may include textual descriptions – See paragraph [0054]. The interface 128 is an interface that enables the user to submit a natural language query 130 about a computer task 122, and, in some examples, includes one or more UI controls (e.g., an edit) that enables the user to edit the computer task 122. In some examples, after a computer task 122 has been saved (e.g., stored in the command database 124), the user may edit the saved computer task 122. For example, in response to a selection of an edit UI control, the user may edit/change the computer task 122 with natural language requests. If the user requested “close all my tabs about tools”, they could follow up with “make it so that it also closes tabs about home renovation.” – See paragraph [0059]);
generating a set of functions corresponding to the set of descriptions (The prompt 114-1 may include a list of functions 140 that may be used to perform the computer task 122. In other words, the prompt 114-1 may include a textual description that indicates to generate source code 118 using the natural language query 130 with a list of functions 140 – See paragraphs [0064-0065]. One or more of the functions 140 provided in the prompt 114-1… where the prompt 114-1 may include information that indicates that the previous source code 118 was not validated, and, in some examples, a description on why the source code 118 was not validated – See paragraphs [0066-0067] and Fig. 9 shows functions 940 and prompts 914 ), wherein the generating comprises, for each description in the set of descriptions (each prompt/description in the set of prompts/descriptions 940 – Fig. 9) generating a computer code representing a function from the set of functions for processing the text data using a machine learning language model (In response to the prompt 114-1, the language model 152 may generate source code 118 to perform the computer task 122. The source code 118 uses one or more of the functions 140 provided in the prompt 114-1 – See paragraphs [0066-0068]. The language model 152 may receive text input 171. The text input 171 includes the prompt 114 (e.g., the prompt 114-1, the prompt 114-2, the prompt 114-3). The language model 152 includes a pre-processing engine 173 configured to pre-process the text input 171. Pre-processing may include converting the text input 171 to individual tokens (e.g., words, phrases, or characters) – See paragraphs [0092-0093]. Examiner respectfully notes that language model is as machine learning model);
Buckley discloses a response from the language model, the response including machine-readable instructions executable by the user device to perform the computer task, the machine-readable instructions using a first function and a second function from the list of function – See paragraph [0005]. Buckley does not discloses
applying each one of the set of functions to the text data to generate output text data.
Puri discloses
applying each one of the set of functions to the text data to generate output text data (language model access engine 106 may execute (e.g., perform) access of the language model based on a set of demonstration data. In some embodiments, language model access engine 106 may use the demonstration data as validation data to determine quality scores or other metrics of model output, to train a language model to generate improved digital text outputs – See col. 6, lines 2-8. Apply function A and function B – See col. 10, lines 45-67 and col. 11, lines 1-33. Edit JavaScript Object Notation (JSON) code by removing, adding, refactoring, or translating code within a JSON file. In some embodiments, the text generation and text editing is performed using the selected language model as in step 807 and the output from context analysis (e.g., performed at step 809) – See col. 15, lines 43-54. Examiner respectfully notes that each function of the set of functions is as removing, adding, refactoring or translating).
It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Puri’s teaching into Buckley’s invention because incorporating Puri’s teaching would enhance Buckley to enable to apply each functions to files/texts to generate improved text outputs as suggested by Puri (See col. 15, lines 43-54).
Regarding claim 2, the computer-implemented method of Claim 1:
Buckley discloses
wherein the set of descriptions is ordered (a computer task 1222 may include a sequence of multiple operations – See paragraphs [0129-0130]. The task assistant 1210 may transmit a sequence of prompts 1214, thereby receiving a sequence of instructions 1218 that implement the computer task 1222 in a step by step manner – See paragraph [0148-0149]);
further comprising applying each one of the set of functions in an order of the set of descriptions (each function of the set of functions in an order of the prompts – See Fig. 9, block 914-1).
Regarding claim 3, the computer-implemented method of Claim 1 further comprising:
Buckley discloses
receiving ordering instructions for applying each one of the set of functions (a prompt including the natural language query and a list of functions; transmitting, by the operating system, the prompt to a language model; receiving, by the operating system, a response from the language model, the response including machine-readable instructions executable by the user device to perform the computer task, the machine-readable instructions using at least one function from the list of functions; and executing, by the operating system, the machine-readable instructions to perform the computer task – See paragraphs [0003-0004]);
applying each one of the set of functions in an order described in the ordering instructions (executing a first portion of the machine-readable instructions including executing the first function; and executing a second portion of the machine-readable instructions, including: transmitting a second prompt to the language model, the second prompt including a first execution result of the first function, the second prompt requesting the language model to execute the second function using the first execution result, and receiving a second response from the language model, the second response including a second execution result of the second function – See paragraphs [0152-0155]).
Regarding claim 6, the computer-implemented method of Claim 1:
Buckley discloses
wherein a function in the set of functions includes input parameters (he resource locator information 131 may include query parameter(s) 133 – See paragraph [0085]);
further comprising applying the function by determining input parameter values corresponding to the input parameters (The RL parameters 135 may include an address (e.g., a web address), a domain name, path information, and other information that can identify a resource on a server computer or the user device 102. The query parameter(s) 133 may include additional information about the resource such as filtering or sorting options. The metadata 137 may include a wide variety of information such as the title of the resource, a description (e.g., description 139), keywords, an author, a language of the resource, a viewport of the resource (e.g., dimensions and scaling of a webpage) – See paragraph [0085]) and applying the function on the text data (the functions include application programming interface (API) functions calls to interact with (e.g., retrieve from, transmit data to, or perform a specific action on) an application (e.g., a browser application, another application, or the operating system itself). Documentation about such API functions, their use, and example programs calling the API functions are typically publicly available and can be part of text data that the language model has been trained on – See paragraphs [0034-0036]), having the input parameter values as the input parameters (A setting 1264 may be defined by a name or title and a Boolean data value, a data string, an integer, and/or a list or array, or a custom data type – See paragraph [0137]).
Regarding claim 9, the computer-implemented method of Claim 6 further comprising:
Buckley discloses
receiving programming instructions describing a process of applying the set of functions (in response to a natural language query about a request to perform a computer task, the task assistant may transmit a prompt requesting that the language model generate JavaScript expression(s) from the natural language query and the list of functions and then parse the JavaScript expression(s) into executable instructions (e.g., a sequence of stack operations) – See paragraph [0039-0040]);
wherein applying the set of functions includes executing the programming instructions (the machine-readable instructions may include a first code portion that uses a first function from the list of functions in a first step. The machine-readable instructions may include a second code portion that uses a second function from the list of functions in a second step. In some examples, the number of steps is determined based on the number of functions that are used to accomplish the computer task – See paragraphs [0039-0040]).
Regarding claim 10, the computer-implemented method of Claim 9,
Buckley discloses
wherein the programming instructions have one of a Python code, a Ruby code, a Perl Script, a JavaScript code, a Java code, a PHP code, a C code, or a C++ code (the machine-readable instructions include source code (e.g., JavaScript code) – See paragraph [0036]).
Regarding claim 16.
A computer system comprising:
one or more processors;
one or more non-transitory computer-readable storage media coupled to the one or more processors and storing one or more sequences of instructions which, when executed using the one or more processors, cause the one or more processors to execute:
Regarding claim 16, recites the same limitations as rejected claim 1 above.
Regarding claim 17, recites the same limitations as rejected claim 2 above.
Regarding claim 18, recites the same limitations as rejected claim 3 above.
Regarding claim 20, recites the same limitations as rejected claim 5 above.
Claim(s) 4, 7-8, 11-15 and 19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Bukley and Puri as applied to claims 1, 3, 16, and 18 above, and further in view of Baldua et al. (US Pub. No. 2025/0110957 A1 – herein after Baldua).
Regarding claim 4, the computer-implemented method of Claim 3,
Puri discloses
wherein each one of the set of functions includes a function name (Function A and Function B– See paragraph [0093]), and
It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Puri’s teaching into Buckley’s invention because incorporating Puri’s teaching would enhance Buckley to enable to perform a particular function as suggested by Puri -- See col. 24, lines 24-33).
Puri does not disclose
wherein the ordering instructions is an ordered list of function names.
Baldua discloses
wherein the ordering instructions is an ordered list of function names (The large language model 116 outputs a plan 124 that includes a set of functions arranged in an order of execution, as needed, such that the output of one function can be used as an input to another function if needed. For example, to resolve the intent of Candidate_Search(Amelia), the executor 126 executes a set of functions to determine the user identifier associated with Amelia – See paragraph [0071]).
It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Baldua’s teaching into Buckley’s and Puri’s inventions because incorporating Baldua’s teaching would enhance Buckley and Puri to enable to include a set of functions arranged in an order of execution, as needed, such that the output of one function can be used as an input to another function if needed as suggested by Baldua -- See paragraphs [0078-0080].
Regarding claim 7, the computer-implemented method of Claim 1:
Baldua discloses
wherein the set of functions includes at least a first function and a second function (a function dependency is a relationship between the input of one function and the output of another function; for instance, an input to one function can be or include the output of a different function – See paragraphs [0097-0100]), the first function including at least output parameters (a set of parameter values that constrain the operations of the GAI model during the processing of the prompt and generating and outputting a response to the prompt – See paragraphs [0047-0048]. Obtain function dependency data component 314 formulates a function dependency query 316 including the possible functions 312 as parameters. The function dependency query 316 is executed against the function dependency graph 318 – See paragraphs [0100]), and the second function includes at least input parameters (a function dependency is a relationship between the input of one function and the output of another function; for instance, an input to one function can be or include the output of a different function – See paragraphs [0094-0098]. A function dependency query 316 including the possible functions 312 as parameters – See paragraphs [0100-0102]);
further comprising applying the first function at least in part by executing the first function on the text data (Select function set prompt section 406 includes one or more instructions that cause the large language model 404 to select a set of functions from the possible functions 408, for inclusion in the query execution plan 422 – See paragraphs [0109-0110]), thereby obtaining the output parameters, using at least one of the output parameters of the first function as one of the input parameters of the second function (the large language model 404 to map parameter values from the input to the corresponding function parameters, in order to, in the plan 422, configure the set of functions for execution by the executor 126. For example, determine function parameters 410 may include one or more examples of the types of parameter values that are applicable to certain functions along with an instruction to cause the large language model 404 to determine the function parameters 410 based on the examples provided in the determine function parameters 410 portion of the prompt 402 – See paragraph [0110]).
It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Baldua’s teaching into Buckley’s and Puri’s inventions because incorporating Baldua’s teaching would enhance Buckley and Puri to enable to apply the types of parameter values to certain functions along with an instruction to cause the large language model to determine the function parameters as suggested by Baldua (paragraph [0110]).
Regarding claim 8, the computer-implemented method of Claim 7,
Baldua discloses
wherein the applying of the second function is not performed based on a value of the at least one of the output parameters of the first function (the large language model 404 to map parameter values from the input to the corresponding function parameters, in order to, in the plan 422, configure the set of functions for execution by the executor 126. For example, determine function parameters 410 may include one or more examples of the types of parameter values that are applicable to certain functions along with an instruction to cause the large language model 404 to determine the function parameters 410 based on the examples provided in the determine function parameters 410 portion of the prompt 402 – See paragraphs [0109-0110]).
It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Baldua’s teaching into Buckley’s and Puri’s inventions because incorporating Baldua’s teaching would enhance Buckley and Puri to enable to map parameter values from the input to the corresponding function parameters as suggested by Baldua (paragraphs [0109-0110]).
Regarding claim 11, the computer-implemented method of Claim 1,
Baldua discloses
further comprising applying a function from the set of functions to the text data at least in part by using the machine learning language model (automatically select functions, such as functions for determining filters and facets, to be included in a plan for executing a search query based on the user's natural language input – See paragraph [0022]), obtaining one or more inputs for the function based on context data of the text data (a query execution plan includes a set of functions which can be executed by executor 126 to create a modified version of the user input (e.g., a modified version of first query 106). For example, a query execution plan can include a set of functions that retrieve data from multiple different data resources 134 and incorporate at least some of that retrieved data into the modified version of the user input – See paragraph [0054]), and providing the one or more inputs to the function, when using the function to process the text data (the large language model 116 outputs a plan 124 that includes a set of functions arranged in an order of execution, as needed, such that the output of one function can be used as an input to another function if needed – See paragraph [0071]).
It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Baldua’s teaching into Buckley’s and Puri’s inventions because incorporating Baldua’s teaching would enhance Buckley and Puri to enable to include a set of functions arranged in an order of execution as suggested by Baldua (paragraph [0071]).
Regarding claim 12, the computer-implemented method of Claim 1,
Baldua discloses
further comprising applying the set of functions to the text data by (includes a set of functions arranged in an order of execution, as needed – See paragraph [0071]):
providing a set of natural language instructions for the machine learning language model on how to execute the set of functions (the large language model 116 outputs a plan 124 that includes a set of functions arranged in an order of execution, as needed, such that the output of one function can be used as an input to another function if needed – See paragraph [0071]), the set of natural language instructions including a set of function names associated with the set of descriptions (the executor 126 executes a set of functions to determine the user identifier associated with Amelia, obtain Amelia's profile page, extract relevant information such as job title and skills from Amelia's profile page, generate a job description based on one or more of the extracted skills (possibly using the large language model 116 to generate the job description text based on the information extracted from Amelia's profile page), and then search for job candidates that match Amelia's job title, skills, and/or the generated job description – See paragraph [0071]);
based on the set of natural language instructions, and the set of function names , generating programming instructions describing a process of applying the set of functions (the executor 126 executes a set of functions to determine the user identifier associated with Amelia – See paragraph [0071]. To resolve the intent of Job_Search(“west coast fortune 500 software engineers”), the executor 126 executes a set of functions to disambiguate “west coast,” disambiguate “fortune 500,” find the intersection of the set of west coast companies – See paragraph [0079]);
executing the programming instructions (execute the plan 174 can be selected and included in the plan 174 by the large language model 116 based on the input classification 168 and/or other factors, such as performance metrics or availability of the data resources. The data resources 176 used to process and execute the first query 164 can be different from the data resources 134 used to process and execute the first query 106 of the example of FIG. 1A – See paragraphs [0079-0080]).
It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Baldua’s teaching into Buckley’s and Puri’s inventions because incorporating Baldua’s teaching would enhance Buckley and Puri to enable to provide a function dependency is a relationship between the input of one function and the output of another function, an input to one function can be or include the output of a different function as suggested by Baldua (paragraph [0097]).
Regarding claim 13, the computer-implemented method of Claim 12,
Baldua discloses
further comprising generating the programming instructions at least in part by determining based on a context of the text data whether a function from the set of functions should be applied to the text data (the large language model 116 translates the user input (e.g., first query 106 received via user interface mechanism 104 of application 102) and/or associated context data (e.g., context data 108) into a corresponding intent and outputs the intent – See paragraphs [0047-0048]. The large language model 116 outputs a plan 124 that includes a set of functions arranged in an order of execution, as needed, such that the output of one function can be used as an input to another function if needed – See paragraph [0071]).
It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Baldua’s teaching into Buckley’s and Puri’s inventions because incorporating Baldua’s teaching would enhance Buckley and Puri to enable map portions of the user input and/or context data to corresponding portions of the pre-created prompt or prompt template (e.g., as parameters or arguments) or apply one or more rules to one or more portions of the user input and/or context data as suggested by Baldua (paragraphs [0170-0171]).
Regarding claim 14, the computer-implemented method of Claim 12,
Baldua discloses
further comprising generating the programming instructions at least in part by determining values for input parameters for a function from the set of functions (The input can be specified explicitly in the prompt or as a reference that is processed at execution time. The instructions can include one or more statements, questions, conditions, constraints, or examples. The examples can include examples of the types of output to be produced by the GAI model and/or examples of the types of processing steps the large language model is to perform in order to generate output. The parameter values contained in the prompt can be specified by the GAI model and may be adjustable in accordance with the requirements of a particular design or implementation. Examples of parameter values include the maximum length or size of the prompt and the temperature, or degree to which the model produces deterministic output versus random output – See paragraphs [0046-0048]).
It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Baldua’s teaching into Buckley’s and Puri’s inventions because incorporating Baldua’s teaching would enhance Buckley and Puri to enable adjust parameter value in accordance with the requirements of a particular design or implementation as suggested by Baldua (paragraphs [0046-0048]).
Regarding claim 15, the computer-implemented method of Claim 12:
Baldua discloses
wherein the programming instructions specify applying at least a first function and conditionally applying a second function to the text data, the first function and the second function being from the set of functions (The large language model 116 outputs a plan 124 that includes a set of functions arranged in an order of execution, as needed, such that the output of one function can be used as an input to another function if needed – See paragraph [0071]);
further comprising conditionally applying the second function to output text data being output by the first function after processing the text data (determine order of operation 416 may include one or more conditions or constraints to be applied to the function dependency data, along with an instruction to cause the large language model 404 to arrange the selected set of functions in the plan 422 based on the conditions or constraints provided in the determine order of operation 416 portion of the prompt 402 – See paragraph [0112]);
determining whether to apply the second function based on at least some output parameters from the first function (configuring the at least one prompt includes configuring at least one instruction to cause the large language model to (i) determine an order of execution for the set of functions based on at least one of a structured representation of the first query or function dependency data included in the at least one third instruction, and (ii) include the order of execution in the plan. For example, the order of execution can include using the output of one function as an input to another function – See paragraphs [0195-0196]).
It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Baldua’s teaching into Buckley’s and Puri’s inventions because incorporating Baldua’s teaching would enhance Buckley and Puri to enable determine an order of execution for the set of functions based on at least one of a structured representation of the first query or function dependency data as suggested by Baldua (paragraphs [0195-0196]).
Regarding claim 19, recites the same limitations as rejected claim 4 above.
Claim 5 is rejected under 35 U.S.C. 103 as being unpatentable over Bukley and Puri as applied to claim 1 above, and further in view of Chen et al. (US Pub. No. 2024/0402999 A1 – herein after Chen).
Regarding claim 5, the computer-implemented method of Claim 1,
Chen discloses
further comprising serializing each function of the set of functions by isolating a code of the function (a software test or check where an individual component (e.g., computer code sample or a portion thereof) may be tested in isolation to ensure proper function – See paragraph [0063]), combining the code with a wrapper code resulting in a combined code (the docstring generation model may be trained using concatenated strings, each concatenated string comprising at least two of a function signature, a reference solution, or a docstring. A concatenated string, as used herein, may refer to a sequence of strings combined, merged, joined, or associated together to create a unified or cohesive data entity – See paragraphs [0092-0093]), and storing the combined code and a name associated with the function in a persistent memory (software repositories (e.g., open source repositories or projects utilizing continuous integration). For example, such sources may provide problem statements, function signatures, and solutions, which may be collected and used as training data, using the problem description as the docstring – See paragraph [0053]).
It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Chen’s teaching into Buckley’s and Puri’s inventions because incorporating Chen’s teaching would enhance Buckley and Puri to enable to output a definition of a function, method, class, or module associated with the outputted at least one identified computer code sample as suggested by Chen -- See paragraphs [0074-0075].
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Licato et al. (US Pub. No. 2024/0311619 A) discloses receiving a text string; generating, by a first machine learning model, a feature values for the text string, where the feature values correspond to attributes of the text string; inputting the text string and the plurality of feature values into a second machine learning model; and generating, by the second machine learning model, a formal representation of the text string – See Abstract and specification for more details.
Li et al. (US Pub. No. 20250005277 A1) discloses the initial output text or intermediate output text, wherein the programmer encodes domain task-specific knowledge and the interpreter facilitates domain generalization, iteratively improving a quality of the initial output text or the intermediate output text in low-resource cross-domain text generation tasks by exploiting encoding of domain task-specific knowledge by the interpreter and facilitation of domain generalization by the interpreter, and outputting, by the text generation system, output text based on the initial output text and the intermediate output text – See Abstract and specification for more details.
Plotkin (US Pub. No. 2024/0211686 A1) discloses executes an optimization process to minimize an objective function, the objective function including: a first sub-objective function and a second sub-objective function, the executing the optimization process comprising: (D)(1) generating a plurality of interpretations of the patent claim, (D)(2) for each particular interpretation in the plurality of interpretations of the patent claim: (D)(2)(a) using a first language model to evaluate the first sub-objective function with the product data and the particular interpretation as inputs to the first sub-objective function, (D)(2)(b) using a second language model to evaluate the second sub-objective function with the prior art data and the particular interpretation as inputs to the second sub-objective function – See Abstract and specification for more details.
Hu et al. (US Pub. No. 2025/0094138 A1) discloses automated fine-tuning of software code generation by large language models are described herein. In one embodiment, a method accesses a collection of software code samples that intermix sample code and human language description – See Abstract and specification for more details.
Sharma et al. (US Pub. No. 2025/0111164 A1) discloses a machine learning model is prompted to generate a final plan from the culled list and the user request. In some configurations, the final plan is converted to code by prompting a machine learning model to extrapolate from the code of similar plans – See Abstract and specification for more details.
Mischenko et al. (US Pub. No. 2024/0427571 A1) discloses receiving a first input at the natural language model user interface, determining the first input includes a request to integrate the particular external application programming interface (API) with the natural language model user interface, identifying the particular external API based on the received input, integrating the particular external API with the natural language model user interface – See Abstract and specification for more details.
Tran (US Pub. No. 2023/0252224 A1) discloses generate a document with a transformer by prompt-engineering the transformer with a title and a summary to generate a description of the document; displaying a set of claims and allowing user editing of the set of claims; receiving one or more figures; receiving a part list with a plurality of element names for each figure; generating an expanded description of each element name through prompt engineering based on prior text in the document; selecting one or more boilerplate texts for major sections of the document; and organizing the document with the title, a background, the summary, a brief description of the drawings, and a detailed description – See Abstract and specification for more details.
Chandramohan et al. (US Pub. No. 2025/0130780 A1) discloses a set of initial layers, an embedding layer, and an output layer. The method further includes performing an output layer modification of the output layer to replace the output vector with the embedding vector. The method further includes freezing the set of initial layers to generate a set of frozen layers of the pretrained language model that do not update during training. The method further includes training the pretrained language model using the language token, the output layer modification, and the set of frozen layers to form a fine-tuned model from the pretrained language model – See Abstract and specification for more details.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MONGBAO NGUYEN whose telephone number is (571)270-7180. The examiner can normally be reached Monday-Friday 8am-5pm.
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, Hyung S. Sough can be reached at 571-272-6799. 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.
/MONGBAO NGUYEN/ Examiner, Art Unit 2192