DETAILED ACTION
This action is responsive to the application filed on 02/23/2026. Claims 1-6, 9-13, and 15-23 are pending and have been examined. This action is Non-Final.
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 .
Priority
Applicant’s claim for the benefit of a prior-filed application under 35 U.S.C. 119(e) or under 35 U.S.C.
120, 121, 365(c), or 386(c) is acknowledged.
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 02/23/2026 has been entered.
Response to Arguments
Argument 1: The applicant argues that the rejection that claims 1 through 20 are directed to abstract mental steps without “significantly more,” arguing the amended claims are eligible at Step 2A Prong Two. The lead argument (First Basis) is that the claim recites a genuine improvement to computer functioning: seeding “initial context information” with plural dialogue examples annotated with mode-identifying transition cues to induce a domain-agnostic pattern-completion engine to implement a state machine, yielding a more scalable and flexible result than hardcoded transition tables or custom-trained models (citing spec paragraphs 0038 and 0043). The applicant rebuts the Examiner's “mere user-efficiency” characterization by insisting the claims positively recite concrete changes to how the computer operates rather than subjective user states, invoking Enfish, Core Wireless, Data Engine, Eligibility Example 37, and the PTAB decision Ex parte Desjardins (software improvements defined by logical structures, not physical features). As a Second Basis, the applicant argues the engine is integrated into a larger control process that generates and executes program code via a programming interface, analogous to an operating system and to Diamond v. Diehr, so it is a statutory process, not insignificant post-solution activity, and cannot be a “mental process” because the human mind does not execute code. The applicant closes by citing the August 2025 USPTO memo's “more likely than not” standard for close calls and Desjardins' reminder that Sections 102, 103, and 112 (not Section 101) are the proper tools, requesting withdrawal.
Examiner Response to Argument 1: The examiner has fully considered the applicant's arguments but maintains the rejection of claims 1-6, 9-13, and 15-23 under 35 U.S.C. 101. At Step 2A Prong One, the core steps of claim 1, namely adding initial context information, requesting the engine to generate output information, and detecting the presence of mode-identifying information, can be performed by a person using evaluation, observation, and judgment and therefore recite a mental process, and reciting that they are carried out by a machine-trained pattern-completion engine does not remove them from that grouping but merely applies the abstract idea on a generic computer. At Step 2A Prong Two and Step 2B, the additional elements, considered both individually and as an ordered combination, do not integrate the exception into a practical application or supply an inventive concept, because invoking a mode and interacting with the engine to generate program code and instructing an execution platform to execute that code are mere instructions to apply the exception using generic components (MPEP 2106.05(f)), updating the current context information and appending the detected transition cue label is insignificant extra-solution activity (MPEP 2106.05(g)) that is also well-understood, routine, and conventional data storage and retrieval (MPEP 2106.05(d)(II)), and limiting the initial context information to plural dialogue examples annotated with mode-identifying information is a field-of-use limitation (MPEP 2106.05(h)). As to the alleged improvement to computer functioning, the specification frames the asserted benefits as developer and user efficiency rather than as an improvement to the computer itself, see paragraphs [0043] and [0044], and seeding the initial context with annotated dialogue examples is a use of the engine for its ordinary in-context-learning purpose that reflects the content of the information supplied rather than a technical change to how the computer operates, so that Enfish and the non-precedential Ex parte Desjardins are distinguishable as rooted in a specific improved logical data structure and Core Wireless, Data Engine, and Eligibility Example 37 are distinguishable as directed to specific graphical-user-interface or information-display improvements the present claims do not recite. As to the second basis, Diamond v. Diehr is distinguishable because it transformed a physical article whereas these claims manipulate information and invoke generic execution of code without transforming any article, the identified abstract idea resides in the adding, requesting, and detecting steps rather than in the generic post-solution execution, and the August 2025 memorandum does not change the outcome because, taking each claim as a whole, it remains more likely than not that the claims are ineligible, and independent claims 17 and 20 add only nominal generic hardware such as hardware logic circuitry and one or more hardware processors, while new claims 21-23 add only demonstration examples, a repeated mode reset, and a computing-system restatement of the claim 10 and 21 placeholder data handling, none of which supplies an inventive concept, such that the rejection of claims 1-6, 9-13, and 15-23 under 35 U.S.C. 101 is maintained.
Argument 2: The applicant argues that rejections all build on Barve in view of Liu, Van Os, and Lin, with secondary references (Brown, Rastogi, Horst, Hendler, Feng, Svyatkovskiy) added per claim. The applicant amended independent claim 1 to absorb former claims 7, 8, and 14, requiring dialogue examples annotated with mode-identifying information and requiring that “updating” extend the text pattern by appending the detected transition cue label, and argues the combination doesn't reach this. Specifically: Brown discloses few-shot learning generally but not demonstrations annotated with mode-identifying information that induce the engine to detect such information in its own produced tokens. Rastogi's annotated dialogues are used only for benchmarking and testing and are never fed to a model to generate output (its schemas are not annotated dialogue examples), and Barve merely updates a “conversation state” without successively producing tokens to extend the text pattern or adding transition cue labels. For claim 20, the applicant argues that although the references separately show code generation (Van Os/Lin), receiving user input and answering (Barve), and intent detection (Liu), none allocates three distinct command, user, and answer modes each invoked by detecting predetermined transition cue labels in engine output, faulting the Advisory Action's broad reading of “any detectable indicator.” For dependent claim 10, Horst's placeholder substitution is said not to be induced by substitution information in the initial context. The recurring theme is that the Examiner fails to read the claims and references “as a whole,” and the applicant requests withdrawal of all 35 U.S.C. 103 rejections.
Examiner Response to Argument 2: The examiner has fully considered the applicant's arguments but maintains the rejections under 35 U.S.C. 103, which are based on the combined teachings of Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi, with Horst added for the placeholder-substitution claims and Deng added for the auto-regressive transformer-based code-language model, and the applicant's contentions are unpersuasive because they address the references individually where the rejection rests on their combination, and incorporating the subject matter of canceled claims 7, 8, and 14 into claim 1 does not overcome the rejection, because the amended requirements that the engine successively produce tokens, that the mode-identifying information be detected within those successively produced tokens of the engine output, and that updating extend the text pattern by appending the detected transition cue label are taught by Nakano, whose model generates within its own produced token stream one of a set of predetermined command labels and appends the generated command and result back into the conditioning context, which combined with Barve's maintenance and updating of a dialog state and the pattern-completion engine of Van Os and Lin teaches successively producing tokens, detecting the predetermined transition cue label in those produced tokens, and extending the context by appending the detected label. Regarding Brown, the applicant concedes few-shot in-context learning is taught and the claimed mode-identifying information is recited broadly as a predetermined transition cue label, and because Barve teaches mode and state indicators and Rastogi teaches dialogues annotated with active intents, dialogue states, and system actions, the annotated-example limitation reads on the combination rather than on Brown alone, while the contention that Rastogi's annotations serve only a benchmarking purpose is not commensurate with the claim, which requires only that the initial context be initialized to include annotated dialogue examples, and using those annotated examples as context input to the primary combination's engine is at least an obvious use of Rastogi's teachings. With respect to claim 20 the applicant again attacks the references individually, but Van Os and Lin teach a command mode that generates and executes code, Barve teaches receiving user input and answering from context, Liu teaches detecting an indicator of intent, and Nakano teaches that the controlling label is one the model itself emits in its output, so that allocating distinct command, user, and answer modes each invoked by a respective predetermined transition cue label detected in the engine output is a predictable combination of known elements and is not merely any detectable indicator”. With respect to claim 10, Horst teaches replacing a sensitive data string with a placeholder and restoring the value prior to use, and performing that substitution based on substitution information in the initial context is an obvious implementation because the base combination already relies on the initial context to induce the engine's behavior. The Advisory Action's interpretation of the transition cue label and mode-identifying information is maintained because the amended recitation still reads on markers the model derives in its own output as taught by the combination, and new claims 21-23 do not distinguish, as claim 23 recites in computing-system form the subject matter of claims 10 and 21 over the same combination further in view of Horst, claim 21 adds demonstration examples taught or rendered obvious by Brown, and claim 22 adds a mode reset and transfer of control rendered obvious by the iterative operation of the combination, such that the rejections under 35 U.S.C. 103 are maintained.
Claim Rejections - 35 U.S.C. 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-6, 9-13, and 15-23 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Regarding claim 1,
Step 1: The claim is directed to a method which falls under the category of process. The claim satisfies step 1.
Step 2A Prong 1:
“adding initial context information...requesting a machine-trained pattern-completion engine to generate engine output information...wherein the machine-trained pattern-completion engine produces the engine output information by successively producing tokens to extend the pattern of text content; detecting a presence of an instance of mode-identifying information in the successively produced tokens of the engine output information...wherein the initial context information includes plural dialogue examples, each dialogue example of the plural dialogue examples describing interaction that involves two or more of the plural modes...by adding tokens produced by the mode-specific actions to an end of the sequence of tokens in the current context information in the memory” -- The limitation is directed to requesting a machine/adding information (like code) to a computer/engine, producing tokens to extend a pattern of text content, and adding tokens produced by the actions to the token sequences in the memory, as well as detecting a presence of mode-identifying information and using dialogue examples to describe interactions between two or more modes. Requesting a computer to perform/generate an output, and using dialogue examples to describe interactions, are processes that are able to be done in a mental process and are human-capable using evaluation, observation, and judgment.
Step 2A Prong 2 and Step 2B:
“A computer-implemented method for performing a computer-implemented task…comprising: in a memory...generate engine output information based on current context information in the context store, the current context information representing a sequence of tokens in a current state, the current context information being initialized to include the initial context information, wherein the current context information establishes a pattern of text content...invoking the particular mode selected from among plural modes based on the instance of mode-identifying information that has been detected by the detecting, wherein the plural modes have different respective predetermined transition cue labels associated therewith; one of the plural modes being a command mode, and mode-specific actions of the command mode including interacting with the machine-trained pattern-completion engine to generate program code based on the current context information in the context store, and instructing an execution platform, via a programming interface, to execute the program code, the execution platform including one or more computing devices.” -- The limitation recites a method for performing a computer-implemented task on memory, instructions to generate output information based on current data/code, establishing a pattern of text content, invoking modes that are selected based on information and having respective transition cue labels, and instructions for code execution. These mere instructions to apply onto a computer cannot be integrated to a practical application, nor provide significantly more than the judicial exception (see MPEP 2106.05(f)).
“updating the current context information in the context store as a result of the mode-specific actions...the instance of mode-identifying information being a predetermined transition cue label that has been generated by the machine-trained pattern-completion engine that is associated with a particular mode, the machine-trained pattern-completion engine being induced to generate the instance of mode-identifying information by the current context information” -- The limitation recites updating the current context information in stored contexts and mere gathering of the collected data. The limitation is directed to an insignificant, extra-solution activity that cannot be integrated to a practical application (see MPEP 2106.05(g)). Furthermore, under Step 2B, the act of updating data and storing (as well as transmitting) that data over memory is a well-understood, routine, and conventional activity that cannot provide significantly more than the judicial exception (see MPEP 2106.05(d)(II)).
“wherein said each dialogue example of the plural dialogue examples includes dialogue entries annotated with respective instances of mode-identifying information, and wherein the updating also extends the pattern of text content in the initial context information by adding the predetermined transition cue label that has been detected to the current context information.” -- The limitation recites that the dialogue examples will further include dialogue entries with respective instances of mode-identifying information, and that the updating further adds the detected transition cue label to the current context information. The limitation does not amount to no more than merely limiting the plural dialogue examples and the updating step to a field of use/environment, which does not integrate to a practical application, nor does it provide significantly more than the judicial exception (see MPEP 2106.05(h)).
“wherein the machine-trained pattern-completion engine produces the engine output information by successively producing tokens to extend the pattern of text content;” -- The limitation recites that the machine trained completion engine produces engine output information by producing tokens to extend text content patterns. The limitation, alongside being determined as a mental process, amounts to no more than mere instructions to apply onto a computer, and thus the limitation cannot be integrated to a practical application, nor provide significantly more than the judicial exception (see MPEP 2106.05(f)).
Therefore, claim 1 is non-patent eligible. Claims 17 and 20 are analogous to claim 1, aside from claim type and minute differences, and thus the same rejection applies as above.
Regarding claim 2,
Step 1: The claim is directed to a method, which falls under the category of process. The claim satisfies step 1.
There are no elements to be evaluated under Step 2A Prong 1.
Step 2A Prong 2 and Step 2B:
“The computer-implemented method of claim 1, wherein the method further includes repeating said requesting, detecting, invoking, executing, and updating one or more times, and wherein said requesting, detecting, invoking, executing, and updating are performed by a state machine system,” -- The limitation recites the further limitations of the method of claim 1 that will merely be repeating steps that were recited in the first claim, and hence it does not recite a practical application, nor provide significantly more than the judicial exception (see MPEP 2106.05(h)).
“and wherein the predetermined transition cue label that is detected causes the state machine system to transition to the particular mode.” -- The limitation recites the predetermined transition cue label that causes the machine system to execute a certain mode. The limitation is directed to mere instructions to apply onto a computer, and does not provide significantly more than the judicial exception (see MPEP 2106.05(f)).
Therefore, claim 2 is non-patent eligible.
Regarding claim 3,
Step 1: The claim is directed to a method, which falls under the category of process. The claim satisfies step 1.
There are no elements to be evaluated under Step 2A Prong 1.
Step 2A Prong 2 and Step 2B:
“The computer-implemented method of claim 1, wherein the plural modes also include a user mode, and wherein a mode-specific action of the user mode includes receiving input from the user.” -- The limitation recites that the plural modes mentioned in claim 1 would also include a user mode, and that the mode-specific action of the user mode further includes user input. The limitation does not amount to no more than merely limiting the elements of plural mode and mode-specific actions to a field of use/environment, and hence it does not recite a practical application, nor provide significantly more than the judicial exception (see MPEP 2106.05(h)).
Therefore, claim 3 is non-patent eligible. Claim 18 is analogous to claim 3, aside from claim type and minute differences, and thus the same rejection applies as above.
Regarding claim 4,
Step 1: The claim is directed to a method, which falls under the category of process. The claim satisfies step 1.
Step 2A Prong 1:
“to determine an answer based on the current context information.” -- The limitation is directed to determining an answer based on context information, which is a task that can be performed in the human mind using evaluation, observation, and judgment, and hence the limitation is directed to a mental process.
Step 2A Prong 2 and Step 2B:
“The method of claim 1, wherein the plural modes also include an answer mode, and wherein a mode-specific action of the answer mode includes interacting with the machine-trained pattern-completion engine” -- The limitation recites that the plural mode will further include an answer mode, where the mode-specific action would include interacting with the machine-trained pattern-completion engine. The limitation does not amount to no more than merely limiting the elements of plural mode and mode-specific actions to a field of use/environment, and hence it does not recite a practical application, nor provide significantly more than the judicial exception (see MPEP 2106.05(h)).
Therefore, claim 4 is non-patent eligible. Claim 19 is analogous to claim 4, aside from claim type and minute differences, and thus the same rejection applies as above.
Regarding claim 5,
Step 1: The claim is directed to a method, which falls under the category of process. The claim satisfies step 1.
There are no elements to be evaluated under Step 2A Prong 1.
Step 2A Prong 2 and Step 2B:
“The computer-implemented method of claim 1, wherein the machine-trained pattern-completion engine uses an auto-regressive transformer-based code-language model.” -- The limitation recites that the machine-trained pattern-completion engine uses a type of code language model. The limitation amounts to no more than merely instructing that the engine is applying a computer-based language model, and it doesn't amount to a practical application, nor does it provide significantly more than the judicial exception (see MPEP 2106.05(f)).
Therefore, claim 5 is non-patent eligible.
Regarding claim 6,
Step 1: The claim is directed to a method, which falls under the category of process. The claim satisfies step 1.
There are no elements to be evaluated under Step 2A Prong 1.
Step 2A Prong 2 and Step 2B:
“The computer-implemented method of claim 1, wherein the initial context information includes text tokens that describe at least one characteristic of an agent system that performs the method.” -- The limitation recites limiting the initial context information by including text tokens that describe characteristics of an agent system performing the method, which does not integrate to a practical application, nor does it provide significantly more than the judicial exception (see MPEP 2106.05(h)).
Therefore, claim 6 is non-patent eligible.
Regarding claim 9,
Step 1: The claim is directed to a method, which falls under the category of process. The claim satisfies step 1.
Step 2A Prong 1:
“The computer-implemented method of claim 1, wherein said requesting and detecting involve requesting the machine-trained pattern completion engine” -- The limitation is directed to requesting and detecting a computer to perform a task (the machine-trained pattern completion engine), which is directed to a process that can be performed in the human mind, using evaluation, observation, and judgment.
Step 2A Prong 2 and Step 2B:
“generate text tokens of the engine output information until a predetermined token is detected in the engine output information.” -- The limitation recites generating text tokens of the engine to output information until a predetermined token is detected. The limitation is directed to inputting/outputting[ed] information over the network, and it is considered to be an insignificant, extra-solution activity that cannot be integrated to a practical application (see MPEP 2106.05(g)). Furthermore, the act of transmitting the data over a network is a well-understood, routine, and conventional activity (WURC) that cannot provide significantly more than the judicial exception (see MPEP 2106.05(d)(II)).
Therefore, claim 9 is non-patent eligible.
Regarding claim 10,
Step 1: The claim is directed to a method, which falls under the category of process. The claim satisfies step 1.
Step 2A Prong 1:
“the sensitive-information item containing information designated as private,” -- The limitation is directed to information that is designated as private, which is a process that can be done using evaluation, observation, and judgment, and therefore it is directed to a mental process.
Step 2A Prong 2 and Step 2B:
“The computer-implemented method of claim 1, wherein the program code generated by the command mode includes a placeholder item that represents a corresponding sensitive-information item,” -- The limitation is directed to the program code generated from the command mode will further include a placeholder item that will represent a corresponding sensitive-information item. The limitation is directed to limiting the commands generated by the command mode to a field of use/environment, and it does not integrate to a practical application, nor does it provide significantly more than the judicial exception (see MPEP 2106.05(h)).
“wherein the machine-trained pattern-completion engine is induced to use the placeholder item in place of the sensitive-information item based on substitution information provided in the initial context information,” -- The limitation recites that engine is induced (“instructed to apply”) the placeholder item in place of sensitive information based on the information provided in the initial context info. The limitation amounts to no more than mere instructions to apply onto computer, and it does not integrate to a practical application, nor provide significantly more than the judicial exception (see MPEP 2106.05(f)).
“wherein the mode-specific actions of the command mode also include replacing the placeholder item with the sensitive-information item prior to instructing the execution platform to execute the program code” -- The limitation recites that the mode-specific actions of the command mode will further include replacing a placeholder item with sensitive information items prior to instructing execution of the program code, which is directed to merely limiting the command modes to a field of use/environment, and it does not integrate to a practical application, nor does it provide significantly more than the judicial exception (see MPEP 2106.05(h)).
Therefore, claim 10 is non-patent eligible.
Regarding claim 11,
Step 1: The claim is directed to a method, which falls under the category of process. The claim satisfies step 1.
There are no elements to be evaluated under Step 2A Prong 1.
Step 2A Prong 2 and Step 2B:
“The computer-implemented method of claim 1, wherein the mode-specific actions of the command mode also include instructing the execution platform to execute the program code in an isolated execution environment.” -- The limitation recited that the mode-specific actions of the command mode will also include instructions to execute program code in an isolated environment, and it is directed to merely limiting to a field of use/environment, and thus it does not integrate to a practical application, nor provide significantly more than the judicial exception (see MPEP 2106.05(h)).
Therefore, claim 11 is non-patent eligible.
Regarding claim 12,
Step 1: The claim is directed to a method, which falls under the category of process. The claim satisfies step 1.
There are no elements to be evaluated under Step 2A Prong 1.
Step 2A Prong 2 and Step 2B:
“The computer-implemented method of claim 11, wherein the isolated execution environment is also isolated from another isolated execution environment associated with another instance of program code that has been executed.” -- The limitation is directed to an isolated execution environment that is further limited to be isolated further from other execution environments that are associated with executed program code. The limitation is directed to merely limiting to a field of use/environment, and therefore it cannot be integrated to a practical application, nor provide significantly more than the judicial exception (see MPEP 2106.05(h)).
Therefore, claim 12 is non-patent eligible.
Regarding claim 13,
Step 1: The claim is directed to a method, which falls under the category of process. The claim satisfies step 1.
Step 2A Prong 1:
“The computer-implemented method of claim 1, wherein the mode-specific actions of the command mode also include identifying another instance of program code as unsafe based on mode-identifying information…that identifies said another instance of program code as unsafe based on safety information provided in the initial context information.” -- The limitation is directed to the mode-specific actions of the command mode to include identifying another instance of program code as unsafe based on (after evaluation/observing/judging) the mode-identifying information that's generated by the machine-trained pattern-completion engine. The limitation is directed to a mental process.
Step 2A Prong 2 and Step 2B:
“…generated by the machine-trained pattern-completion engine…wherein the machine-trained pattern-completion engine is induced to generate the mode-identifying information” -- The limitation recites that the machine-trained pattern-completion engine will be induced (instructed to) generate mode-identifying information. The limitation amounts to no more than mere instructions to apply the computer to generate information, and thus it cannot be integrated to a practical application, nor provide significantly more than the judicial exception (see MPEP 2106.05(f)).
Therefore, claim 13 is non-patent eligible.
Regarding claim 15,
Step 1: The claim is directed to a method, which falls under the category of process. The claim satisfies step 1.
There are no elements to be evaluated under Step 2A Prong 1.
Step 2A Prong 2 and Step 2B:
“wherein the machine-trained pattern-completion engine uses a code-language model that is generated by a training system based on a corpus of training examples, some of the training examples in the corpus being drawn from natural language samples, and some of the training examples in the corpus being drawn from relations between text items expressed in instances of program code,” -- The limitation recites that the machine-trained pattern-completion engine will use a generated code-language model from a trained system based on training examples, some from natural language samples and/or relations between text items. The limitation is directed to a process that does not amount to no more than merely limiting the pattern-completion engine to a field of use/environment, and it cannot be integrated to a practical application, nor provide significantly more than the judicial exception (see MPEP 2106.05(h)).
“wherein the training system trains the code-language model to reduce occasions in which the code-language model, given part of a particular training example in the corpus, incorrectly completes the particular training example.” -- The limitation recites training a model in effort to reduce incorrect completing of training examples. The limitation recites its training method and the intended use in a high level of generality, and thus it does not integrate to a practical application, nor provide significantly more than the judicial exception (see MPEP 2106.05(f)).
Therefore, claim 15 is non-patent eligible.
Regarding claim 16,
Step 1: The claim is directed to a method, which falls under the category of process. The claim satisfies step 1.
There are no elements to be evaluated under Step 2A Prong 1.
Step 2A Prong 2 and Step 2B:
“The computer-implemented method of claim 15, wherein the code-language model is fine-tuned by a supplemental training system based on a supplemental corpus that includes examples of computer commands, each computer command in the supplemental corpus being given a label that identifies whether the computer command in the supplemental corpus is considered safe or unsafe, and wherein the supplemental training system fine-tunes the code-language model to reduce occasions in which the code-language model, given a particular command from the supplemental corpus that is unsafe, incorrectly identifies the particular command as safe.” -- The limitation recites that the code-language model is “fine-tuned” by a training system based on groups of examples that are labeled as computer-commanded safe or unsafe, and to fine-tune/retrain the model to improve its accuracy in determining safe vs unsafe. The limitation is directed to generically training a model in a high level of generality to improve accuracy, and the additional element does not integrate to a practical application, nor provide significantly more than the judicial exception (see MPEP 2106.05(f)).
Therefore, claim 16 is non-patent eligible.
Regarding claim 21,
Step 1: The claim is directed to a method, which falls under the category of process. The claim satisfies step 1.
There are no elements to be evaluated under Step 2A Prong 1.
Step 2A Prong 2 and Step 2B:
“The computer-implemented method of claim 10, wherein, in addition to the substitution information, the initial context information includes one or more dialogue examples that demonstrate use of the placeholder item in place of the sensitive-information item.” -- The limitation recites that the initial context information will further include one or more dialogue examples that demonstrate use of the placeholder item in place of the sensitive-information item. The limitation is directed to merely limiting the initial context information to a field of use/environment, which does not integrate to a practical application, nor does it provide significantly more than the judicial exception (see MPEP 2106.05(h)).
Therefore, claim 21 is non-patent eligible.
Regarding claim 22,
Step 1: The claim is directed to a method, which falls under the category of process. The claim satisfies step 1.
There are no elements to be evaluated under Step 2A Prong 1.
Step 2A Prong 2 and Step 2B:
“The computer-implemented method of claim 1, wherein, after executing the mode-specific actions in the particular mode, the method performs a mode reset and transfers control to the detecting.” -- The limitation recites that, after executing the mode-specific actions, the method performs a mode reset and transfers control back to the detecting step, which merely repeats steps recited in claim 1 and limits the method to a field of use/environment. It does not recite a practical application, nor provide significantly more than the judicial exception (see MPEP 2106.05(h)).
Therefore, claim 22 is non-patent eligible.
Regarding claim 23,
Step 1: The claim is directed to a computing system, which falls under the category of machine. The claim satisfies step 1.
There are no elements to be evaluated under Step 2A Prong 1.
Step 2A Prong 2 and Step 2B:
“The computing system of claim 17, wherein the program code generated by the command mode includes a placeholder item that represents a corresponding sensitive-information item...wherein the initial context information induces the machine-trained pattern-completion engine to use the placeholder item in place of the sensitive-information item based on: substitution information in the initial context information that indicates that the placeholder item is a valid substitution of the sensitive-information item; one or more dialogue examples in the sensitive information item that demonstrate use of the placeholder item in place of the sensitive-information item, and wherein the mode-specific actions of the command mode also include replacing the placeholder item with the sensitive-information item prior to instructing the execution platform to execute the program code.” -- The limitation is analogous to claims 10 and 21, reciting in system form the placeholder substitution with both substitution information and dialogue examples in the initial context information inducing the engine to use the placeholder. The limitation does not integrate to a practical application and amounts to field-of-use restrictions and data manipulation (see MPEP 2106.05(h)).
Therefore, claim 23 is non-patent eligible.
Claim Rejections - 35 U.S.C. 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-4, 6, 17, 18-20, and 22 are rejected under 35 U.S.C. 103 as being unpatentable over US 8,954,318 B2 by Barve et al. (referred herein as Barve) in view of the NPL reference “Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling” by Liu et al. (referred herein as Liu) in view of the NPL reference “WebGPT: Browser-assisted question-answering with human feedback” by Nakano et al. (referred herein as Nakano) in view of US 10,540,976 B2 by Van Os et al. (referred herein as Van Os) in view of the NPL reference “NL2Bash: A Corpus and Semantic Parser for Natural Language Interface to the Linux Operating System” by Lin et al. (referred herein as Lin) in view of the NPL reference “Language Models are Few-Shot Learners” by Brown et al. (referred herein as Brown) further in view of the NPL reference “Towards Scalable Multi-Domain Conversational Agents: The Schema-Guided Dialogue Dataset” by Rastogi et al. (referred herein as Rastogi).
Regarding claim 1, Barve teaches:
A computer-implemented method for performing a computer-implemented task, comprising: adding initial context information to a context store in a memory; ([Barve, col. 13, lines 27-29] “The text form of the user input is fed to session dialog content module 1003. This module maintains state across a conversation session”, wherein the examiner interprets the session dialog content module that maintains state across a conversation session to be the same as a context store in a memory that holds initial context information because both are directed to persistently storing the conversation's information as state.)
requesting a machine-trained pattern-completion engine to generate engine output information based on current context information in the context store, the current context information representing a sequence of tokens in a current state, the current context information being initialized to include the initial context information; ([Barve, page 23, col. 14, lines 12-14, 16-18] “The query execution coordination 1202 makes use of language analysis 1203 that parses the user input...The parse tree and any relevant dialog state values are passed to modules that perform intent analysis 1204, entity analysis 1205, and attribute analysis 1206”, wherein the examiner interprets Barve's language analysis that parses the user input, together with the relevant dialog state values, and passes them to analyzer modules to be the same as a pattern-completion engine generating engine output information based on current context information representing a sequence of tokens because both are directed to a learned analysis system that consumes a tokenized contextual representation maintained as dialog state to produce engine outputs.)
invoking the particular mode selected from among plural modes based on the instance of mode-identifying information that has been detected by the detecting; ([Barve, page 23, col. 14, lines 16-18, 23-24] “The parse tree and any relevant dialog state values are passed to modules that perform intent analysis 1204, entity analysis 1205, and attribute analysis 1206... multiple passes on the input by the relevant modules”, wherein the examiner interprets Barve's routing of processing to the appropriate analysis module based on mode-identifying information reflected in the parse tree and dialog state to be the same as invoking the particular mode selected from among plural modes based on the detected instance of mode-identifying information because both are directed to selecting which specialized processing path to invoke using mode-identifying information derived from the engine output.)
executing mode-specific actions in the particular mode; and ([Barve, col. 14, lines 25-26] “Once the breakdown and analysis is complete, a response to the user is generated 1207”, wherein the examiner interprets Barve's generating of a response by the selected analysis path to be the same as executing mode-specific actions in the particular mode because both are directed to performing the actions defined by the selected module/mode.)
updating the current context information in the context store as a result of the mode-specific actions by adding tokens produced by the mode-specific actions to an end of the sequence of tokens in the current context information in the memory; ([Barve, col. 14, lines 27-31] “The dialog state is also updated 1208 to reflect the modifications of the current input and return of relevant results. In other words, certain linguistic elements (e.g., spoken/recognized words and/or phrases) are associated with the present conversation session”, wherein the examiner interprets Barve's updating of the dialog state to associate additional linguistic elements from both the current user input and the returned response with the ongoing session to be the same as updating the current context information by adding tokens produced by the mode-specific actions to an end of the sequence of tokens because in both the system maintains and updates a memory of linguistic content over a sequence of operations that is used as context for subsequent processing.)
Barve does not teach detecting a presence of an instance of mode-identifying information in the engine output information, the instance of mode-identifying information being a predetermined transition cue label that is associated with a particular mode…wherein the current context information establishes a pattern of text content, and wherein the machine-trained pattern-completion engine produces the engine output information by successively producing tokens to extend the pattern of text content; that the instance of mode-identifying information is detected in the successively produced tokens of the engine output information, the predetermined transition cue label having been generated by the machine-trained pattern-completion engine, the machine-trained pattern-completion engine being induced to generate the instance of mode-identifying information by the current context information; wherein the plural modes have different respective predetermined transition cue labels associated therewith; and wherein the updating also extends the pattern of text content in the initial context information by adding the predetermined transition cue label that has been detected to the current context information… one of the plural modes being a command mode... and instructing an execution platform, via a programming interface, to execute the program code, the execution platform including one or more computing devices… machine-trained pattern-completion engine to generate program code based on the current context information in the context store…wherein the initial context information includes plural dialogue examples, each dialogue example of the plural dialogue examples describing interaction that involves two or more of the plural modes…mode-specific actions of the command mode including interacting with the machine-trained pattern-completion engine to generate program code based on the current context information in the context store… wherein the initial context information includes plural dialogue examples, each dialogue example of the plural dialogue examples describing interaction that involves two or more of the plural modes…wherein said each dialogue example of the plural dialogue examples includes dialogue entries annotated with respective instances of mode-identifying information…wherein said each dialogue example of the plural dialogue examples includes dialogue entries annotated with respective instances of mode-identifying information.
Liu teaches:
detecting a presence of an instance of mode-identifying information in the engine output information, the instance of mode-identifying information being a predetermined transition cue label that is associated with a particular mode ([Liu, page 1] “we propose an attention-based neural network model for joint intent detection and slot filling... Such attentions provide additional information to the intent classification and slot label prediction”, wherein the examiner interprets Liu's model outputting an intent as a predicted classification label to be the same as detecting a predetermined transition cue label, associated with a particular mode, in the engine output information because both are directed to the engine emitting a discrete classification label that is detected and used to control downstream behavior.)
Barve and Liu do not teach wherein the current context information establishes a pattern of text content, and wherein the machine-trained pattern-completion engine produces the engine output information by successively producing tokens to extend the pattern of text content; that the instance of mode-identifying information is detected in the successively produced tokens of the engine output information, the predetermined transition cue label having been generated by the machine-trained pattern-completion engine, the machine-trained pattern-completion engine being induced to generate the instance of mode-identifying information by the current context information; wherein the plural modes have different respective predetermined transition cue labels associated therewith; and wherein the updating also extends the pattern of text content in the initial context information by adding the predetermined transition cue label that has been detected to the current context information.
Nakano teaches:
wherein the current context information establishes a pattern of text content, and wherein the machine-trained pattern-completion engine produces the engine output information by successively producing tokens to extend the pattern of text content; that the instance of mode-identifying information is detected in the successively produced tokens of the engine output information, the predetermined transition cue label having been generated by the machine-trained pattern-completion engine, the machine-trained pattern-completion engine being induced to generate the instance of mode-identifying information by the current context information; wherein the plural modes have different respective predetermined transition cue labels associated therewith; and wherein the updating also extends the pattern of text content in the initial context information by adding the predetermined transition cue label that has been detected to the current context information ([Nakano, page 3] “the model can take actions from a set of predefined commands... Search <query>, Clicked on link <link ID>, ... Quote, ... [End: Answer] ... If a model generates any other text, it is considered to be an invalid action”, wherein the examiner interprets Nakano's language model generating, within its successively produced token stream and conditioned on the provided context, one of a fixed set of predetermined commands (such as Search, Clicked on link, Quote, and End: Answer), with any other generated text treated as invalid, and appending the generated command and its result back into the context that conditions the next generation cycle, to be the same as the machine-trained pattern-completion engine being induced by the current context information to successively produce tokens that include a predetermined transition cue label associated with a particular mode, where the plural modes have different respective predetermined cue labels and where the updating extends the pattern of text content by adding the detected label to the current context information, because in both the engine emits, within its own generated token sequence, a discrete predetermined label that designates and selects the mode to be invoked, uses a different label for each mode, and feeds the detected label back into the context that conditions subsequent token generation.)
Barve, Liu, and Nakano do not teach one of the plural modes being a command mode... and instructing an execution platform, via a programming interface, to execute the program code, the execution platform including one or more computing devices… machine-trained pattern-completion engine to generate program code based on the current context information in the context store…wherein the initial context information includes plural dialogue examples, each dialogue example of the plural dialogue examples describing interaction that involves two or more of the plural modes.
Van Os teaches one of the plural modes being a command mode... and instructing an execution platform, via a programming interface, to execute the program code, the execution platform including one or more computing devices ([Van Os, col. 3, lines 19-23] “the data processing device can include an Application Programming Interface (API) which allows a contextual voice command module to access libraries and utilities provided by an operating system” AND [Van Os, col. 6, lines 60-61] “Also, the device can enter and exit the listening mode using a combination of voice and physical inputs”, wherein the examiner interprets Van Os's contextual voice command mode that accesses an API to control device operations to be the same as a command mode instructing an execution platform, via a programming interface, to execute program code because both are directed to using a programming interface on a computing device to perform programmatic operations for the command mode.)
Barve, Liu, Nakano, and Van Os do not teach mode-specific actions of the command mode including interacting with the machine-trained pattern-completion engine to generate program code based on the current context information in the context store.
Lin teaches mode-specific actions of the command mode including interacting with the machine-trained pattern-completion engine to generate program code based on the current context information in the context store ([Lin, page 4] “It parses command options using pattern matching and each command can have idiomatic syntax rules” and [Lin, page 2] “commands need to be interpreted in context”, wherein the examiner interprets Lin's mapping of natural language to shell commands that are interpreted in context to be the same as the command mode interacting with the pattern-completion engine to generate program code based on the current context information because both are directed to using a learned language model to output program code conditioned on contextual language.)
Barve, Liu, Nakano, Van Os, and Lin do not teach wherein the initial context information includes plural dialogue examples, each dialogue example of the plural dialogue examples describing interaction that involves two or more of the plural modes…wherein said each dialogue example of the plural dialogue examples includes dialogue entries annotated with respective instances of mode-identifying information.
Brown teaches wherein the initial context information includes plural dialogue examples, each dialogue example of the plural dialogue examples describing interaction that involves two or more of the plural modes ([Brown, page 19, sec. 3.6] “We use a suite of 5 datasets including abstractive, multiple choice, and span based answer formats in both dialog and single question settings... GPT-3 is on par with initial baselines... trained using contextual representations on each respective dataset”, wherein the examiner interprets Brown's contextual representations that include dialog-setting examples spanning multiple answer formats to be the same as plural dialogue examples that each describe interaction involving two or more modes because both provide, as context, examples of dialogue that span more than one mode of interaction.)
Barve, Liu, Nakano, Van Os, Lin, and Brown do not teach wherein said each dialogue example of the plural dialogue examples includes dialogue entries annotated with respective instances of mode-identifying information.
Rastogi teaches wherein said each dialogue example of the plural dialogue examples includes dialogue entries annotated with respective instances of mode-identifying information. ([Rastogi, page 4, sec. 3.4] “The annotations include the active intents and dialogue states for each user utterance and the system actions for every system utterance”, wherein the examiner interprets Rastogi's annotating of each utterance of the schema-guided dialogue with active intents, dialogue states, and system actions to be the same as dialogue entries annotated with respective instances of mode-identifying information because both label individual dialogue entries with information that identifies the operative mode.)
Barve, Liu, Nakano, Van Os, Lin, Brown, Rastogi, and the instant application are analogous art, because they are all directed to natural-language conversational systems in which a machine-trained language model interprets contextual input, is used to select among plural functional modes, and generates and acts upon its own output to carry out a task.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the conversational dialog method disclosed by Barve to include the “joint intent detection and slot filling” model disclosed by Liu. One would be motivated to do so to efficiently detect a predetermined transition cue label in the engine output and use it to select which mode to invoke, as suggested by Liu ([Liu, page 1] “Such attentions provide additional information to the intent classification and slot label prediction.”).
It would have also been obvious to a person of ordinary skill in the art before the effective filing date of the invention to include the “predefined commands” that the model generates within its own produced text and that are fed back into context disclosed by Nakano. One would be motivated to do so to reliably drive mode selection and command execution directly from the engine's own successively produced output and to extend the context with the detected label for subsequent generation, as suggested by Nakano ([Nakano, page 3] “If a model generates any other text, it is considered to be an invalid action.”).
It would have also been obvious to a person of ordinary skill in the art before the effective filing date of the invention to include the “Application Programming Interface (API)” that allows a contextual voice command module to access operating system libraries and utilities disclosed by Van Os. One would be motivated to do so to effectively provide a command mode that instructs an execution platform, via a programming interface, to execute program code on one or more computing devices, as suggested by Van Os ([Van Os, col. 3, lines 19-23] “an Application Programming Interface (API) which allows a contextual voice command module to access libraries and utilities provided by an operating system.”).
It would have also been obvious to a person of ordinary skill in the art before the effective filing date of the invention to include the mapping of natural language to executable Bash commands interpreted in context disclosed by Lin. One would be motivated to do so to efficiently have the command mode interact with the pattern-completion engine to generate program code based on the current context information, as suggested by Lin ([Lin, page 2] “commands need to be interpreted in context.”).
It would have also been obvious to a person of ordinary skill in the art before the effective filing date of the invention to include the “contextual representations” of plural dialog-setting examples disclosed by Brown. One would be motivated to do so to effectively seed the initial context information with plural dialogue examples each describing interaction involving two or more modes so as to induce the desired behavior of the engine, as suggested by Brown ([Brown, page 19, sec. 3.6] “trained using contextual representations on each respective dataset.”).
It would have also been obvious to a person of ordinary skill in the art before the effective filing date of the invention to include the per-utterance “annotations [that] include the active intents and dialogue states” disclosed by Rastogi. One would be motivated to do so to efficiently annotate the dialogue entries of the dialogue examples with respective instances of mode-identifying information, as suggested by Rastogi ([Rastogi, page 4, sec. 3.4] “The annotations include the active intents and dialogue states for each user utterance and the system actions for every system utterance.”).
Claims 17 and 20 are analogous to claim 1, aside from claim type and minute differences, and thus the same rejection applies as above.
Regarding claim 2, Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi teaches The computer-implemented method of claim 1 (see rejection of claim 1).
Barve further teaches:
wherein the method further includes repeating said requesting, detecting, invoking, executing, and updating one or more times ([Barve, col. 14, lines 22-25] “These mutual dependencies can only be resolved by multiple passes on the input by the relevant modules, until the input is completely analyzed.”, wherein the examiner interprets “multiple passes on the input by the relevant modules” to be the same as “repeating said requesting, detecting, invoking, executing, and updating one or more times” because they are both directed to iterating the processing cycle more than once to complete analysis.)
and wherein said requesting, detecting, invoking, executing, and updating are performed by a state machine system; ([Barve, col. 13, lines 28-31, col. 14, lines 4-5] “This module maintains state across a conversation session … the conversation state 1103 is updated to reflect the modifications”, wherein the examiner interprets “maintains state … conversation state … updated” to be the same as “performed by a state machine system” because they are both directed to a system that represents the dialogue as state and advances behavior based on that state. Furthermore, the Query Executive Machine (QEM) and how it’s used to perform [execute] a search [detecting information] and invoke the data to be outputted is the same as what is recited in the claim.)
and wherein the predetermined transition cue label that is detected causes the state machine system to transition to the particular mode. ([Barve, page 18, col. 3, lines 27-29] “Current systems expect user to offer a clear cue that a new conversation is being initiated.”, wherein the examiner interprets “cue that a new conversation is being initiated” to be the same as a predetermined transition to initiate/transition a label to cue a new mode, because they are both directed to cuing a state system to cue into a new mode upon a predetermined request to do so.)
Regarding claim 3, Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi teaches The computer-implemented method of claim 1 (see rejection of claim 1).
Barve further teaches:
wherein the plural modes also include a user mode, ([Barve, page 23, col 13, lines 5-7] “retrieval session is a sequence of operations, each of which has the user first posing a query or instruction and the system the presenting a response to the user”, wherein the examiner interprets the dialogue into operation phases is the same as a plural of modes that will include a user mode.)
and wherein a mode-specific action of the user mode includes receiving input from the user. ([Barve, page 23, col 13, lines 24-25] “User 1001 speaks his or her question that is fed to a speech to text engine 1002.”, wherein the examiner interprets feeding the question (user input) to an engine is the same as a mode-specific action including receiving input from the user.)
Claim 18 is analogous to claim 3 (aside from claim type), and therefore faces the same rejection.
Regarding claim 4, Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi teaches The method of claim 1 (see rejection of claim 1).
Barve further teaches wherein the plural modes also include an answer mode, and wherein a mode-specific action of the answer mode includes interacting with the machine-trained pattern-completion engine to determine an answer based on the current context information ([Barve, col. 14, lines 25-26] “Once the breakdown and analysis is complete, a response to the user is generated 1207” AND ([Barve, page 23, col 13, lines 40-45] “Execution Engine 1004 uses the criteria to perform a search of any available source of information and content to return a result set. A Response Transcoding Engine 1005, dispatches the result set to the user for consumption, e.g., in the device through which user is interacting.” AND [Barve, page 23, col 13-14, lines 27-28, 32-33, 16-18 ] “The text form of the user input is fed to session dialog content module 1003… The session dialog content module 1003, in conjunction with a Language Analyzer 1006… process the user input so as to return criteria to a Query Execution Engine 1004… The parse tree and any relevant dialog state values are passed to modules that perform intent analysis 1204, entity analysis 1205, and attribute analysis 1206”, wherein the examiner interprets query execution engine and the response transcoding engine is the same as the instant app’s “answer mode” for the one of many modes, and the language analyzer as well as the content module as the storage of the current context information and the engine 1004 consulting with the output of the analyzer’s output and the dialog context to generate a result set to be the same as interacting with a pattern-recognition engine to determine an answer based on the current context information.). Furthermore, the examiner interprets Barve's response-generation step that produces an answer conditioned on the accumulated dialog state to be the same as an answer mode whose mode-specific action includes interacting with the pattern-completion engine to determine an answer based on the current context information because both invoke a distinct response-generation path that produces an answer conditioned on the accumulated conversational context.)
Claim 19 is analogous to claim 4, aside from claim type and minute differences, and thus the same rejection applies as above.
Regarding claim 6, Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi teaches The method of claim 1 (see rejection of claim 1).
Brown further teaches wherein the initial context information includes text tokens that describe at least one characteristic of an agent system that performs the method. ([Brown, page 42, sec B] “During training we always train on sequences of the full nctx = 2048 token context window, packing multiple documents into a single sequence when documents are shorter than 2048, in order to increase computational efficiency. Sequences with multiple documents are not masked in any special way but instead documents within a sequence are delimited with a special end of text token, giving the language model the information necessary to infer that context separated by the end of text token is unrelated. This allows for efficient training without need for any special sequence-specific masking.”, wherein the examiner interprets “but instead documents within a sequence are delimited with a special end of text token, giving the language model the information necessary to infer that context” to be the same as the instant app’s initial context application that will include text tokens that characterize/infer data of a method to perform unto a system.)
Barve, Liu, Nakano, Van Os, Lin, Brown, Rastogi, and the instant application are analogous art, because they are all directed to context information including text tokens that describe/infer a characteristic of the performed system.
It would have been obvious to one of ordinary skill in the art before the effective filing date to modify the method of claim 1 disclosed by Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi to include the “but instead documents within a sequence are delimited with a special end of text token, giving the language model the information necessary to infer that context” as disclosed by Brown. One would be motivated to do so to efficiently infer characteristics of text tokens as suggested by Brown ([Brown, page 42, sec B] “During training we always train on sequences of the full nctx = 2048 token context window, packing multiple documents into a single sequence when documents are shorter than 2048, in order to increase computational efficiency. Sequences with multiple documents are not masked in any special way but instead documents within a sequence are delimited with a special end of text token, giving the language model the information necessary to infer that context separated by the end of text token is unrelated. This allows for efficient training without need for any special sequence-specific masking.”)
Regarding claim 22, Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi teaches The computer-implemented method of claim 1 (see rejection of claim 1).
Nakano teaches wherein, after executing the mode-specific actions in the particular mode, the method performs a mode reset and transfers control to the detecting ([Nakano, page 3] “Previous work on question-answering such as REALM [Guu et al., 2020] and RAG [Lewis et al., 2020a] has focused on improving document retrieval for a given query. Instead, we use a familiar existing method for this: a modern search engine (Bing)…In response to this, the model must issue one of the commands given in Table 1, which performs an action such as running a Bing search, clicking on a link, or scrolling around. This process is then repeated with a fresh context (hence, the only memory of previous steps is what is recorded in the summary)…Browsing then continues until either the model issues a command to end browsing, the maximum number of actions has been reached, or the maximum total length of references has been reached.”, wherein the examiner interprets Nakano's returning to the engine-query and command-detection step after each execute-and-append cycle to be the same as performing a mode reset and transferring control to the detecting because both, upon completing the mode-specific actions, reset to a ready-to-detect state for the next mode-identifying signal.)
Barve, Liu, Nakano, Van Os, Lin, Brown, Rastogi, and the instant application are analogous art because they are all directed to iteratively controlling the mode transitions of a machine-trained conversational model.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the combination to perform a mode reset and transfer control to the detecting after executing the mode-specific actions, as taught by Nakano's cyclical query-execute-append loop. One would be motivated to do so to reliably return the system to a ready-to-detect state for the next transition cue label, as suggested by Nakano ([Nakano, page 3] “Previous work on question-answering such as REALM [Guu et al., 2020] and RAG [Lewis et al., 2020a] has focused on improving document retrieval for a given query. Instead, we use a familiar existing method for this: a modern search engine (Bing)…In response to this, the model must issue one of the commands given in Table 1, which performs an action such as running a Bing search, clicking on a link, or scrolling around. This process is then repeated with a fresh context (hence, the only memory of previous steps is what is recorded in the summary)… Browsing then continues until either the model issues a command to end browsing, the maximum number of actions has been reached, or the maximum total length of references has been reached.”).
Claims 5 and 9 are rejected under 35 U.S.C. 103 as being unpatentable over Barve in view of Liu in view of Nakano in view of Van Os in view of Lin in view of Brown in view of Rastogi further in view of NPL reference “INTELLICODE COMPOSE: CODE GENERATION USING TRANSFORMER” by Deng et. al (referred herein as Deng).
Regarding claim 5, Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi teaches The computer-implemented method of claim 1 (see rejection of claim 1).
Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi do not teach wherein the pattern-completion engine uses an auto-regressive transformer-based code-language model.
Deng teaches wherein the pattern-completion engine uses an auto-regressive transformer-based code-language model. ([Deng, page 1-2, sec 1] “To predict a whole line of source code tokens given an existing code context C and vocabulary V , we train a neural model to generate tokens … trained from scratch on a large unsupervised multilingual source code dataset” AND [Deng, page 3, sec 4.1] “With the autoregressive approach, the objective is to maximize the following log-likelihood:”, wherein the examiner interprets “To predict a whole line of source code tokens given an existing code context C and vocabulary V , we train a neural model to generate tokens…With the autoregressive approach, the objective is to maximize the following log-likelihood” to be the same as using an autoregressive-based code language model/method to be implemented to a model.)
Barve, Liu, Nakano, Van Os, Lin, Brown, Rastogi, Deng, and the instant application are analogous art because they are all directed to using an auto-regressive, transformer based code language model.
It would have been obvious to one of ordinary skill in the art before the effective filing date to modify the method of claim 1 disclosed by Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi to include the “To predict a whole line of source code tokens given an existing code context C and vocabulary V , we train a neural model to generate tokens…With the autoregressive approach”, as disclosed by Deng. One would be motivated to use the autoregressive approach and implement it onto a transformer based code language model as suggested by Deng ([Deng, page 1-2, sec 1] “To predict a whole line of source code tokens given an existing code context C and vocabulary V , we train a neural model to generate tokens … trained from scratch on a large unsupervised multilingual source code dataset” AND [Deng, page 3, sec 4.1] “With the autoregressive approach, the objective is to maximize the following log-likelihood:”)
Regarding claim 9, Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi teaches The computer-implemented method of claim 1 (see rejection of claim 1).
Barve further teaches which is associated with the predetermined transition cue label. ([Barve, page 18, col. 3, lines 27-29] “Current systems expect user to offer a clear cue that a new conversation is being initiated.”, wherein the examiner interprets “cue that a new conversation is being initiated” to be the same as a predetermined transition to initiate/transition a label to cue a new mode, because they are both directed to cuing a state system to cue into a new mode upon a predetermined request to do so.)
Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi do not teach wherein said requesting and detecting involve requesting the prediction-completion engine to generate text tokens of the engine output information; until a predetermined token is detected in the engine output information.
Deng teaches:
wherein said requesting and detecting involve requesting the prediction-completion engine to generate text tokens of the engine output information ([Deng, page 1] “IntelliCode Compose - a general-purpose multilingual code completion tool which is capable of predicting sequences of code tokens of arbitrary types, generating up to entire lines of syntactically correct code.” AND [Deng, page 3] “where C = c-k, … c-1 is the context vector of tokens”, wherein the examiner interprets “... code completion tool ... predicting sequences of code tokens” and “context vector of tokens” to be the same as “requesting the prediction-completion engine to generate text tokens of the engine output information” because they are both directed to invoking a trained generator to emit token-level output using the current token context.)
until a predetermined token is detected in the engine output information ([Deng, page 6] “Decoding continues for a preset number of subtokens or until a break token is reached. The set of break tokens includes the (end-of-line) token…”, wherein the examiner interprets “until a break token is reached” and “ (end-of-line) token” to be the same as “until a predetermined token is detected in the engine output information” because they are both directed to halting generation when a predefined sentinel token appears in the output.)
Barve, Liu, Nakano, Van Os, Lin, Brown, Rastogi, Deng, and the instant application are analogous art because they are all directed to controlling a machine-trained model's token generation using a predetermined stopping token.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the method of claim 1 disclosed by Liu, Nakano, Van Os, Lin, Brown, and Rastogi to include the code completion tool disclosed by Deng. One would be motivated to do so to efficiently provide high-quality token-level completions and extended token sequences for user inputs, as suggested by Deng ([Deng, page 1] “IntelliCode Compose - a general-purpose multilingual code completion tool which is capable of predicting sequences of code tokens of arbitrary types...generating up to entire lines of syntactically correct code.”)
Claim 13 is rejected under 35 U.S.C. 103 as being unpatentable over Barve in view of Liu in view of Nakano in view of Van Os in view of Lin in view of Brown in view of Rastogi further in view of NPL reference “Detecting Malicious PowerShell Commands using Deep Neural Networks” by Hendler et. al (referred herein as Hendler).
Regarding claim 13, Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi teaches The computer-implemented method of claim 1 (see rejection of claim 1).
Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi do not teach wherein the mode-specific actions of the command mode also include identifying another instance of program code as unsafe based on mode-identifying information generated by the machine-trained pattern-completion engine that identifies said another instance of program code as unsafe, and wherein the machine-trained pattern-completion engine is induced to generate the mode-identifying information that identifies said another instance of program code as unsafe based on safety information provided in the initial context information.
Hendler teaches w wherein the mode-specific actions of the command mode also include identifying another instance of program code as unsafe based on mode-identifying information generated by the machine-trained pattern-completion engine that identifies said another instance of program code as unsafe, and wherein the machine-trained pattern-completion engine is induced to generate the mode-identifying information that identifies said another instance of program code as unsafe based on safety information provided in the initial context information. ([Hendler, page 15-16, sec 7-8] “Commands classified as malicious would generate alerts that should trigger further investigation. In corporate networks, this type of alerts is typically sent to a security information and event management (SIEM) system… We evaluated our detectors using a large dataset consisting of legitimate PowerShell commands executed by users in Microsoft’s corporate network, c”, wherein the examiner interprets “Commands classified as malicious would generate alerts… typically sent to a security information and event management (SIEM) system… We evaluated our detectors using a large dataset consisting of legitimate PowerShell commands executed by users in Microsoft’s corporate network” to be the same as command modes that will identify/classify malicious (unsafe) data within an engine/system based on initial information. The examiner further interprets “PowerShell commands” to be the same as “program code” because “PowerShell” is a programming language and hence consists of “program code” that could be run on a computing machine.)
Barve, Liu, Nakano, Van Os, Lin, Brown, Rastogi, Hendler, and the instant application are analogous art, because they are all directed to identifying information as malicious (unsafe) generated by an engine/system based on prior information.
It would have been obvious to one of ordinary skill in the art before the effective filing date to modify the method of claim 1 disclosed by Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi to include the “Commands classified as malicious would generate alerts… typically sent to a security information and event management (SIEM) system.. a large dataset consisting of legitimate PowerShell commands executed by users in Microsoft’s corporate network a large dataset consisting of legitimate PowerShell commands executed by users in Microsoft’s corporate network” as disclosed by Hendler. One would be motivated to do so to identify unsafe commands and identify malicious information using detectors and large datasets as suggested by Hendler (see [Hendler, page 15-16, sec 7-8] above.)
Claim 15 is rejected under 35 U.S.C. 103 as being unpatentable over Barve in view of Liu in view of Nakano in view of Van Os in view of Lin in view of Brown in view of Rastogi further in view of NPL reference “CodeBERT: A Pre-Trained Model for Programming and Natural Languages” by Guo et. al (referred herein as Guo).
Regarding claim 15, Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi teaches The computer-implemented method of claim 1 (see rejection of claim 1).
Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi do not teach wherein the machine-trained pattern-completion engine uses a code-language model that is generated by a training system based on a corpus of training examples, some of the training examples in the corpus being drawn from natural language samples, and some of the training examples in the corpus being drawn from relations between text items expressed in instances of program code, wherein the training system trains the code-language model to reduce occasions in which the code-language model, given part of a particular training example in the corpus, incorrectly completes the particular training example.
Guo teaches:
wherein the machine-trained pattern-completion engine uses a code-language model that is generated by a training system based on a corpus of training examples ([Guo, Abstract] “We present CodeBERT, a bimodal pre-trained model for programming language (PL) and natural language (NL)… We develop CodeBERT with Transformer-based neural architecture, and train it with a hybrid objective function”, wherein the examiner interprets the CodeBERT trained model and the “hybrid” objective to be the same as a code-language model that is generated by a training system.)
some of the training examples in the corpus being drawn from natural language samples, and some of the training examples in the corpus being drawn from relations between text items expressed in instances of program code, ([Guo, Abstract] “detect plausible alternatives sampled from generators. This enables us to utilize both “bimodal” data of NL-PL pairs and “unimodal” data, where the former provides input tokens for model training while the latter helps to learn better generators…bimodal datapoints are codes that pair with function-level natural language documentations”, wherein the examiner interprets NL-PL pairs (functional-level code plus documentation) to be the same as “relations between text items expressed in instances of program code” and unimodal natural-language code samples to correspond to separate NL/code-only examples, the corpus contains both the NL and PL samples).
wherein the training system trains the code-language model to reduce occasions in which the code-language model, given part of a particular training example in the corpus, incorrectly completes the particular training example. ([Guo, page 2, sec 1] “Dominant learning objectives are language modeling and its variations…which learns to predict the masked words of a randomly masked word sequence given surrounding contexts. Masked language modeling is also used as one of the two learning objectives for training CodeBERT”, wherein the examiner interprets predicting the masked word from randomly asked sequences to be the same as the claim reciting reducing incorrect completions when the model only sees a part of a training example (context with masked tokens, when training continues, it will reduce prediction error, and will reduce the incorrect completion occurrences).
Barve, Liu, Nakano, Van Os, Lin, Brown, Rastogi, Guo, and the instant application are analogous art because they are all directed to corpus training/training examples from natural language and was to reduce occasions of incorrect completions.
It would have been obvious to one of ordinary skill in the art before the effective filing date to modify the method of claim 1 disclosed by Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi to include the “pre-trained model for programming language (PL) and natural language (NL).. bimodal datapoints are codes that pair with function-level natural language documentations…a randomly masked word sequence given surrounding contexts. Masked language modeling is also used as one of the two learning objectives for training CodeBERT” disclosed by Guo. One would be motivated to do so to efficiently train code-language model using masked language modeling as suggested by Guo ([Guo, Abstract] “detect plausible alternatives sampled from generators. This enables us to utilize both “bimodal” data of NL-PL pairs and “unimodal” data, where the former provides input tokens for model training while the latter helps to learn better generators…bimodal datapoints are codes that pair with function-level natural language documentations” AND [Guo, page 2, sec 1] “Dominant learning objectives are language modeling and its variations…which learns to predict the masked words of a randomly masked word sequence given surrounding contexts. Masked language modeling is also used as one of the two learning objectives for training CodeBERT”.)
Claim 16 is rejected under 35 U.S.C. 103 as being unpatentable over Barve in view of Liu in view of Nakano in view of Van Os in view of Lin in view of Brown in view of Rastogi in view of Guo further in view of Hendler.
Regarding claim 16, Barve, Liu, Nakano, Van Os, Lin, Brown, Rastogi, and Guo teaches The computer-implemented method of claim 1, (see rejection of claim 15).
Barve, Liu, Nakano, Van Os, Lin, Brown, Rastogi, and Guo do not teach wherein the code-language model is fine-tuned by a supplemental training system based on a supplemental corpus that includes examples of program code, each example of program code in the supplemental corpus being given a label that identifies whether the example of program code in the supplemental corpus is considered safe or unsafe, and wherein the supplemental training system fine-tunes the code-language model to reduce occasions in which the code-language model, given a particular command instance of program code from the supplemental corpus that is unsafe, incorrectly identifies the particular instance of program code as safe.
Hendler teaches:
wherein the code-language model is fine-tuned by a supplemental training system based on a supplemental corpus that includes examples of program code, each example of program code in the supplemental corpus ([Hendler, page 7, sec. 3] “consists of 66,388 distinct PowerShell commands” and [Hendler, page 9, sec 4.1.2] “We train our deep-learning based algorithms using minibatch gradient descent, in which each training epoch (a complete pass over the training set)… updated accordingly”, wherein the examiner interprets the “PowerShell commands” that are provided to the “deep-learning based algorithms” as instances of program code, and the training of the deep-learning algorithms as being directed to fine-tuning a code-language-type model on a supplemental corpus of program code examples.)
being given a label that identifies whether the example of program code in the supplemental corpus is considered safe or unsafe, ([Hendler, page 7, sec 3] “Our work is based on a large dataset which, after preprocessing (which we shortly describe), consists of 66,388 distinct PowerShell commands, 6,290 labeled as malicious and 60,098 labelled as clean”, wherein the examiner interprets labeling the commands as “malicious” and “clean” to be the same as labeling examples of program code in the corpus as unsafe and safe, respectively.)
wherein the supplemental training system fine-tunes the code-language model to reduce occasions in which the code-language model, given a particular command instance of program code from the supplemental corpus that is unsafe, incorrectly identifies the particular instance of program code as safe. ([Hendler, page 10, sec 5] “For a detector to be practical, it must not produce many false alarms. As the cyber security domain is often characterized by a very high rate of events requiring classification, even a low false-positive rate (FPR) of (say) 1% may result in too many false alarms. It is therefore important to evaluate the true positive rate (TPR) (a.k.a. recall) provided by detectors when their threshold is set for low FPR levels”, wherein the examiner interprets training and evaluating the detectors so that they achieve high true positive rate for malicious commands at low false positive rate for clean commands to be directed to fine-tuning the model to reduce occasions in which malicious (unsafe) instances of program code from the training corpus are incorrectly identified as clean (safe).)
Barve, Liu, Van Os, Lin, Guo, Hendler, and the instant application are analogous art, because they are all directed to fine-tuning a model to reduce commands that are mis-labeled.
It would have been obvious to one of ordinary skill in the art before the effective filing date to modify the method of claim 15 disclosed by Barve, Liu, Van Os, Lin, and Guo to include the deep-learning algorithms as disclosed by Hendler. One would have been motivated to do so in order to efficiently fine-tune the code-language model of Barve, Herz, and Guo using labeled program code, so as to reduce occasions in which unsafe instances of program code are incorrectly identified as safe, as suggested by Hendler’s focus on improving detection performance while controlling error rates (see Hendler passages above).
Claims 10-12, 21, and 23 are rejected under 35 U.S.C. 103 as being unpatentable over Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi, and further in view of US10929151B2, by Horst et al. (referred herein as Horst).
Regarding claim 10, Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi teaches The computer-implemented method of claim 1 (see rejection of claim 1)
Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi do not teach wherein the program code generated by the command mode includes a placeholder item that represents a corresponding sensitive-information item, the sensitive-information item containing information designated as private, wherein the machine-trained pattern-completion engine is induced to use the placeholder item in place of the sensitive-information item based on substitution information provided in the initial context information, and wherein the mode-specific actions of the command mode also include replacing the placeholder item with the sensitive-information item prior to instructing the execution platform to execute the program code.
Horst teaches:
wherein the program code generated by the command mode includes a placeholder item that represents a corresponding sensitive-information item, the sensitive-information item containing information designated as private, ([Horst, page 12, col 4,7, lines 3, 6-9, 55-58] “…an intercept device… replace unencrypted security-relevant data strings by placeholders in all the data records which contain these data strings…the data string to be replaced is at least one part of an account number or of a card number.”, wherein the examiner interprets replacing security-relevant data strings that contain account/card number information with placeholders in data records to be the same as including in program code a placeholder item that represents a corresponding sensitive-information item that is private.)
wherein the machine-trained pattern-completion engine is induced to use the placeholder item in place of the sensitive-information item based on substitution information provided in the initial context information, and wherein the mode-specific actions of the command mode also include replacing the placeholder item with the sensitive-information item prior to instructing the execution platform to execute the program code. ([Horst, page 10-11, col 3,5, lines 20-23, 21-22] “The configuration data also comprise the secret data which define the algorithm for the replacement of the data string by the placeholder…This calculation step uses a replacement secret conveyed during the initialization”, AND [Horst, page 9, col. 1, lines 15-20] “Systems in which a payment processor uses a network, in particular the Internet, to connect a large number of sales outlets and cash machines on the one hand and a large number of card providers and a large number of payment settlement systems on the other hand, with a central server which manages and controls the individual transactions”, wherein the examiner interprets the “configuration data” and “replacement secret” that define replacement of a data string by a placeholder, and vice versa, as well as the treatment of the cash machine is used for connecting placeholder data containing sensitive information “with a central server which manages and controls the individual transactions” to be the same as substitution information that induces use of a placeholder item in place of sensitive information and supports replacing the placeholder item with the sensitive-information item before execution of the program code.)
Barve, Liu, Nakano, Van Os, Lin, Brown, Rastogi, Horst, and the instant application are analogous art because they are all directed to protecting sensitive information within program code generated by a machine-trained model.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the command mode of the combination to include the “placeholder” substitution of sensitive data disclosed by Horst. One would be motivated to do so to securely prevent sensitive information from appearing in engine-generated program code while still permitting correct execution, as suggested by Horst ([Horst, page 10-11, col 3,5, lines 20-23, 21-22] “The configuration data also comprise the secret data which define the algorithm for the replacement of the data string by the placeholder…This calculation step uses a replacement secret conveyed during the initialization”, AND [Horst, page 9, col. 1, lines 15-20] “Systems in which a payment processor uses a network, in particular the Internet, to connect a large number of sales outlets and cash machines on the one hand and a large number of card providers and a large number of payment settlement systems on the other hand, with a central server which manages and controls the individual transactions”)
Regarding claim 11, Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi teaches The computer-implemented method of claim 1 (see rejection of claim 1).
Horst teaches wherein the mode-specific actions of the command mode also include instructing the execution platform to execute the program code in an isolated execution environment. ([Horst, page 10, col 4, lines 29-33] “In one embodiment of the invention, at least one component of the replacement device, in particular the nodes, the management device, the switching device and/or the monitoring device, is executed in a cloud environment.”, wherein the examiner interprets “the monitoring device, is executed in a cloud environment” to be the same as instructing an execution platform/device to execute a command in an isolated environment (cloud).)
Barve, Liu, Nakano, Van Os, Lin, Brown, Rastogi, Horst, and the instant application are analogous art because they are all directed to executing machine-generated program code within a controlled execution environment.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the command mode of the combination to include the controlled API-mediated execution environment disclosed by Van Os. One would be motivated to do so to securely execute engine-generated program code in an isolated execution environment, preventing erroneous or malicious code from affecting the broader system, as suggested by Van Os ([Van Os, col. 3, lines 19-23] “access libraries and utilities provided by an operating system.”). Claim 12 is similar to claim 11 and does not offer further limitations that differentiate from claim 11, and thus both claims face that same art rejection.
Regarding claim 21, Barve, Liu, Nakano, Van Os, Lin, Brown, Rastogi, and Horst teaches The computer-implemented method of claim 10 (see rejection of claim 10).
Brown further teaches wherein, in addition to the substitution information, the initial context information includes one or more dialogue examples that demonstrate use of the placeholder item in place of the sensitive-information item ([Brown, page 7] “the model is given several examples of the task and then asked to produce the answer”, wherein the examiner interprets Brown's providing of several worked examples in the initial context that demonstrate the correct behavior to be the same as the initial context information including one or more dialogue examples that demonstrate use of the placeholder in place of the sensitive item because both seed the initial context with worked examples that show the engine the correct behavior and induce the engine to replicate it.)
Barve, Liu, Nakano, Van Os, Lin, Brown, Rastogi, Horst, and the instant application are analogous art because they are all directed to inducing a machine-trained model's behavior through examples provided in the initial context information.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the method of claim 10 disclosed by Barve, Liu, Nakano, Van Os, Lin, Brown, Rastogi, and Horst to include the worked demonstration examples disclosed by Brown. One would be motivated to do so to effectively provide stronger induction of the correct placeholder-substitution behavior, as suggested by Brown ([Brown, page 7] “the model is given several examples of the task.”).
Regarding claim 23, Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi teaches The computing system of claim 17 (see rejection of claim 1 as claim 17 is analogous to claim 1).
Brown teaches one or more dialogue examples in the sensitive information item that demonstrate use of the placeholder item in place of the sensitive-information item, ([Brown, page 7] “• Zero-Shot (0S) is the same as one-shot except that no demonstrations are allowed, and the model is only given a natural language instruction describing the task. This method provides maximum convenience, potential for robustness, and avoidance of spurious correlations (unless they occur very broadly across the large corpus of pre-training data), but is also the most challenging setting.”, wherein the examiner interprets Brown's in-context substitution information and demonstration examples to be the same as, in system form, the initial context information inducing the engine to use the placeholder based on both substitution information and one or more dialogue examples and replacing the placeholder with the sensitive item prior to execution.)
Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi do not teach wherein the program code generated by the command mode includes a placeholder item that represents a corresponding sensitive-information item... wherein the initial context information induces the machine-trained pattern-completion engine to use the placeholder item in place of the sensitive-information item based on: substitution information in the initial context information that indicates that the placeholder item is a valid substitution of the sensitive-information item;.
Horst teaches wherein the program code generated by the command mode includes a placeholder item that represents a corresponding sensitive-information item... wherein the initial context information induces the machine-trained pattern-completion engine to use the placeholder item in place of the sensitive-information item based on: substitution information in the initial context information that indicates that the placeholder item is a valid substitution of the sensitive-information item;. ([Horst, page 12, col 4-7, lines 3, 6-9, 55-58] “…an intercept device… replace unencrypted security-relevant data strings by placeholders in all the data records which contain these data strings…the data string to be replaced is at least one part of an account number or of a card number.” AND ([Horst, page 10-11, col 3-5, lines 20-23, 21-22] “The configuration data also comprise the secret data which define the algorithm for the replacement of the data string by the placeholder…This calculation step uses a replacement secret conveyed during the initialization”, AND [Horst, page 9, col. 1, lines 15-20] “Systems in which a payment processor uses a network, in particular the Internet, to connect a large number of sales outlets and cash machines on the one hand and a large number of card providers and a large number of payment settlement systems on the other hand, with a central server which manages and controls the individual transactions”, wherein the examiner interprets replacing security-relevant data strings that contain account/card number information with placeholders in data records to be the same as including in program code a placeholder item that represents a corresponding sensitive-information item that is private. Furthermore, the examiner interprets the “configuration data” and “replacement secret” that define replacement of a data string by a placeholder, and vice versa, as well as the treatment of the cash machine is used for connecting placeholder data containing sensitive information “with a central server which manages and controls the individual transactions” to be the same as substitution information that induces use of a placeholder item in place of sensitive information and supports replacing the placeholder item with the sensitive-information item before execution of the program code.)
Barve, Liu, Nakano, Van Os, Lin, Brown, Rastogi, Horst, and the instant application are analogous art because they are all directed to protecting sensitive information within program code generated by a machine-trained model.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the command mode of the computing system of claim 17 disclosed by Barve, Liu, Nakano, Van Os, Lin, Brown, and Rastogi to include the placeholder substitution disclosed by Horst. One would be motivated to do so to securely prevent sensitive information from appearing in engine-generated program code, as suggested by Horst ([Horst, page 12, col 4-7, lines 3, 6-9, 55-58] “…an intercept device… replace unencrypted security-relevant data strings by placeholders in all the data records which contain these data strings…the data string to be replaced is at least one part of an account number or of a card number.” AND ([Horst, page 10-11, col 3-5, lines 20-23, 21-22] “The configuration data also comprise the secret data which define the algorithm for the replacement of the data string by the placeholder…This calculation step uses a replacement secret conveyed during the initialization” AND [Horst, page 9, col. 1, lines 15-20] “Systems in which a payment processor uses a network, in particular the Internet, to connect a large number of sales outlets and cash machines on the one hand and a large number of card providers and a large number of payment settlement systems on the other hand, with a central server which manages and controls the individual transactions”).
It would have also been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the initial context information of the combination to include the substitution information and demonstration examples disclosed by Brown. One would be motivated to do so to effectively induce the engine to use the placeholder item in place of the sensitive-information item, as suggested by Brown ([Brown, ([Brown, page 7] “• Zero-Shot (0S) is the same as one-shot except that no demonstrations are allowed, and the model is only given a natural language instruction describing the task. This method provides maximum convenience, potential for robustness, and avoidance of spurious correlations (unless they occur very broadly across the large corpus of pre-training data), but is also the most challenging setting.”)
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DEVAN KAPOOR whose telephone number is (703)756-1434. The examiner can normally be reached Monday - Friday: 9:00AM - 5:00 PM EST (times may vary).
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, David Yi can be reached at (571) 270-7519. 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.
/DEVAN KAPOOR/Examiner, Art Unit 2126
/DAVID YI/Supervisory Patent Examiner, Art Unit 2126