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 .
Claims 1-20 are presented for examination.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more.
Claim 1 recites a system that, under its broadest reasonable interpretation, covers steps that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. That is, the limitations “expand the single non-terminal symbol … into an output sequence comprising terminal symbols,” “determine a position of a select non-terminal symbol to expand for a given sequence of terminal and non-terminal symbols,” and “determine a production rule to expand the select non-terminal symbol”, as drafted, recite a process that, under its broadest reasonable interpretation, recite the abstract idea of mental processes. These limitations encompass a human mind carrying out these functions through observation, evaluation, judgment and/or opinion, or even with the aid of pen and paper, a person can mentally apply the production rules of a grammar to expand a placeholder symbol into a sequence of symbols, just as a student mentally derives a sentence from a grammar. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
This judicial exception is not integrated into a practical application. The claim recites the following additional elements “a processor,” “a memory that stores a program,” “a grammar-guided code insertion engine,” “a selector neural network model,” and “an expansion neural network model,” which are merely instructions to implement the abstract idea on a computer, or merely using a generic computer or computer components as a tool to perform the abstract idea. See MPEP 2106.05(f). The claim further recites the additional elements “receive an insertion point in a source code program …,” “extract a context surrounding the insertion point, the context including a prefix and a suffix,” “form an input sequence,” and “upon user input, incorporate the one or more source code statements into the source code program at the insertion point,” which do nothing more than add insignificant extra-solution activity to the judicial exception, such as data gathering and outputting the results of the abstract idea, to perform a task. See MPEP 2106.05(g). Accordingly, the additional elements recited in the claim do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea, thus fail to integrate the abstract idea into a practical application.
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements “a processor,” “a memory,” “a … code insertion engine,” “a selector neural network model,” and “an expansion neural network model” are generic computer components and instructions used as the tools to perform the abstract idea. See MPEP 2106.05(f). As to the additional elements “receive an insertion point …,” “extract a context …,” and “incorporate the one or more source code statements …,” the courts have identified receiving or transmitting data over a network and storing and retrieving information in memory as well-understood, routine, conventional activity. See MPEP 2106.05(d). Accordingly, the additional elements recited in the claim cannot provide an inventive concept. Thus, the claim is not patent eligible.
Claim 9 recites a computer-implemented method that, under its broadest reasonable interpretation, covers steps that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. That is, the limitations “obtain at least one non-terminal symbol of the code insertion state to expand,” “determine the production rule to expand the at least one non-terminal symbol into a new code insertion state,” and “continuously generating additional code insertion states by … selecting a new non-terminal symbol to expand … and … determining a new production rule to perform the expansion”, recite the abstract idea of mental processes, encompassing a human mind carrying out these functions through observation, evaluation, judgment and/or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
This judicial exception is not integrated into a practical application. The claim recites the additional elements “a selector neural model” and “an expansion neural model,” which are merely instructions to implement the abstract idea on a computer (MPEP 2106.05(f)), and the additional elements “receiving a code insertion state …” and “upon user input, input the code insertion state into the source code program,” which add insignificant extra-solution activity such as data gathering and outputting the results of the abstract idea (MPEP 2106.05(g)). The claim does not include additional elements sufficient to amount to significantly more than the judicial exception; the generic computer components merely apply the abstract idea (MPEP 2106.05(f)) and the data gathering/outputting is well-understood, routine, and conventional (MPEP 2106.05(d)). Thus, the claim is not patent eligible.
Claim 16 recites a hardware storage device that, under its broadest reasonable interpretation, covers steps that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. That is, the limitations “select … a position of a non-terminal symbol in the code insertion state to expand,” “determine … a select one of the production rules … to expand the non-terminal symbol … wherein the expansion generates a new code state,” and “generate additional new code states …”, recite the abstract idea of mental processes, as a person can mentally select which placeholder to expand and which rule to apply. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas.
This judicial exception is not integrated into a practical application. The claim recites the additional elements “a hardware storage device having stored thereon computer executable instructions,” “a processor of a computing device,” “an expansion neural model,” and “a selector neural model,” which merely implement the abstract idea on a generic computer (MPEP 2106.05(f)), and the additional elements “obtain a location in a source code program …,” “construct a code insertion state …,” and “output a select one of the additional new code states into the source code program,” which add insignificant extra-solution activity (MPEP 2106.05(g)). The additional elements, alone or in combination, do not amount to significantly more than the judicial exception (MPEP 2106.05(d), (f)). Thus, the claim is not patent eligible.
Claims 2-3, 10-12 and 17-19 further define the iterative expansion/termination functions set forth in the claims from which they depend (e.g., “iteratively expand the single non-terminal symbol … into one or more code states until a stop expansion condition exists,” “the stop expansion condition comprises a stop expansion non-terminal symbol or a maximum length …,” “the termination condition is met when … comprising terminal symbols,” “… when length … exceeds a threshold,” and “… when … matches the suffix”), and are also considered to recite a mental process that can be reasonably carried out through observation, evaluation, judgment and/or opinion, or even with the aid of pen and paper. The claims do not recite any additional elements that integrate the abstract idea into a practical application or amount to significantly more, for the same reasons set forth above. Thus, the claims are not patent eligible.
Claims 4-8 and 13-15 further define the training and prediction functions of the neural models (e.g., “pre-trained with training samples comprising a code insertion state, a position of a non-terminal symbol … to expand, and a true expansion,” “generate an expansion index,” “generate a first reward that represents quality of the insertion candidate relative to a true terminal sequence,” “update weights … based on the first reward,” and “generates output probabilities from which the production rule is selected”), which recite mathematical concepts and mental processes of evaluating and scoring candidate expansions. The additional elements “an encoder output,” “the selector/expansion neural model(s)” are generic computer components applying the abstract idea (MPEP 2106.05(f)), and the recited training-data gathering and outputting of an “insertion candidate” is insignificant extra-solution activity (MPEP 2106.05(g)). Accordingly, these claims do not integrate the abstract idea into a practical application nor amount to significantly more, and are not patent eligible.
Claim 20 recites that the selector neural model and the expansion neural model each “comprise a neural transformer model with attention,” which merely recites generic computer components used as a tool to perform the abstract idea (MPEP 2106.05(f)) and therefore cannot integrate the judicial exception into a practical application, nor amount to significantly more. Thus, the claim is not patent eligible.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-8, 11-15 and 18-19 are rejected under 35 U.S.C. 112(b) as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor regards as the invention.
Regarding Claims 1 and 2, the limitation “expand the single non-terminal symbol representing the statement” (claim 1) lacks proper antecedent basis because no “a statement” was previously recited in the claim; claim 2 recites the same “the statement” and inherits the deficiency.
Dependent claims 3-8 are also rejected under 35 U.S.C. 112(b) as being indefinite for failing to cure the deficiencies of their independent claims.
Regarding Claims 11 and 12, the limitation “the at least one of the additional code states” (claim 11) and “at least one of the additional code states” (claim 12) lack proper antecedent basis because parent claim 9 recites “additional code insertion states,” not “additional code states.” It is unclear whether “the additional code states” refers to the “additional code insertion states” of claim 9.
Regarding Claim 13, the limitation “receiving, by the neural expansion model, the code insertion state” lacks proper antecedent basis because parent claim 9 recites “an expansion neural model,” not “a neural expansion model.” It is unclear whether “the neural expansion model” is the same as, or different from, the previously-recited “expansion neural model.”
Dependent claims 14-15 are also rejected under 35 U.S.C. 112(b) as being indefinite for failing to cure the deficiencies of their independent claims.
Regarding Claims 18 and 19, the limitation “the select one of the additional code states” (claims 18 and 19) lacks proper antecedent basis because parent claim 16 recites “additional new code states” and “a select one of the additional new code states,” not “the additional code states.”
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-5 are rejected under 35 U.S.C. 103 as being unpatentable over Svyatkovskiy (US 2021/0034335 A1) in view of Zhang (US 11,461,081 B2) and further in view of Mohammad (US 2018/0275967 A1).
Regarding Claim 1, Svyatkovskiy (US 2021/0034335 A1) teaches:
A system comprising: a processor; and a memory that stores a program configured to be executed by the processor, wherein the program comprises instructions to perform acts that
input the input sequence into a grammar-guided code insertion engine to expand the single non-terminal symbol representing the statement into an output sequence comprising terminal symbols representing one or more source code statements to insert at the insertion point (Para [0008], A beam search is used to generate candidate sequences. The beam search uses the top k subtokens/tokens, identified from each iteration of the neural transformer model, to expand a partial candidate sequence of tokens/subtokens likely to complete a line of source code.) Examiner Comments: Svyatkovskiy’s neural transformer iteratively expands a partial sequence of tokens into a candidate sequence of source code, reading on generating an output sequence of source-code-statement tokens.
upon user input, incorporate the one or more source code statements into the source code program at the insertion point (Para [0102], A user may select one of the candidates which is then input into the source code program to complete the line of source code.) Examiner Comments: Svyatkovskiy expressly incorporates the model-generated candidate into the source code program in response to a user selection, reading on the claimed “upon user input, incorporate” limitation.
Svyatkovskiy did not specifically teach:
receive an insertion point in a source code program to insert additional source code in between existing source code segments of the source code program, wherein the source code program is associated with a grammar comprising production rules, wherein a production rule comprises a rule for expanding a non-terminal symbol into one or more non-terminal symbols or one or more terminal symbols
extract a context surrounding the insertion point, the context including a prefix and a suffix of the insertion point;
form an input sequence comprising the prefix, a single non-terminal symbol, and the suffix,
wherein the grammar-guided code insertion engine comprises a selector neural network model that determines a position of a select non-terminal symbol to expand for a given sequence of terminal and non-terminal symbols, and an expansion neural network model that determines a production rule to expand the select non-terminal symbol.
However, Zhang (US 11,461,081 B2) teaches:
receive an insertion point in a source code program to insert additional source code in between existing source code segments (claim 1, inserting the existing source code snippet in raw form into a location between a first portion and second portion of the destination source code to generate a combined source code) Examiner Comments: Zhang inserts additional source code at a location between a first portion and a second portion of existing source code, reading on inserting additional source code in between existing source code segments at an insertion point.
extract a context surrounding the insertion point, the context including a prefix and a suffix of the insertion point (claim 1, the first portion of the destination source code is encoded prior to the existing source code snippet to condition the sequence-to-sequence machine learning model to a context of the destination code) Examiner Comments: Zhang conditions generation on the first portion (prefix) preceding and the second portion (suffix) following the inserted content, reading on extracting a prefix and a suffix context surrounding the insertion point.
form an input sequence comprising the prefix, a single non-terminal symbol, and the suffix (claim 1, inserting the existing source code snippet in raw form into a location between a first portion and second portion of the destination source code to generate a combined source code) Examiner Comments: Zhang’s “combined source code,” formed of the first portion, the inserted content, and the second portion, reads on forming an input sequence comprising the prefix, the inserted symbol, and the suffix.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Zhang’s prefix/suffix code-insertion conditioning with Svyatkovskiy’s neural code-completion system in order to enable the completion engine to predict source code to be inserted in between existing lines of code that is consistent with both the preceding and the following context, as Zhang teaches that conditioning on the surrounding destination code adapts the generated code to the context of the destination (Zhang [Summary]).
Svyatkovskiy and Zhang did not specifically teach:
wherein the source code program is associated with a grammar comprising production rules, wherein a production rule comprises a rule for expanding a non-terminal symbol into one or more non-terminal symbols or one or more terminal symbols; and
wherein the grammar-guided code insertion engine comprises a selector neural network model that determines a position of a select non-terminal symbol to expand for a given sequence of terminal and non-terminal symbols, and an expansion neural network model that determines a production rule to expand the select non-terminal symbol.
However, Mohammad (US 2018/0275967 A1) teaches:
wherein the source code program is associated with a grammar comprising production rules, wherein a production rule comprises a rule for expanding a non-terminal symbol into one or more non-terminal symbols or one or more terminal symbols (Para [0026], A DSL can be considered a context-free grammar with terminal and non-terminal symbols S and production rules R that allow representing programs and partial programs as tree structures.) Examiner Comments: Mohammad’s context-free grammar of terminal/non-terminal symbols and production rules that expand non-terminals is the claimed grammar comprising production rules.
wherein the grammar-guided code insertion engine comprises a selector neural network model that determines a position of a select non-terminal symbol to expand for a given sequence of terminal and non-terminal symbols, and an expansion neural network model that determines a production rule to expand the select non-terminal symbol (Para [0006], selecting a non-terminal leaf node and a production rule based on the computed probability distribution, and expanding the partial program tree by applying the selected production rule to the selected non-terminal leaf node) Examiner Comments: Mohammad’s neural model selects which non-terminal (the position/leaf node) to expand and which production rule to apply, reading on the claimed selector and expansion neural network models.
(further evidencing the two-decision architecture) the … engine determines a position of a select non-terminal symbol to expand for a given sequence of terminal and non-terminal symbols (Para [0030], a valid expansion is specified by two components: the production rule used, and the position of the non-terminal leaf node to which the production rule is applied relative to every other node in the tree) Examiner Comments: Mohammad expressly defines an expansion by two decisions — the position of the non-terminal to expand and the production rule, mapping respectively to the claimed selector model and expansion model.
(the engine is implemented by neural networks) wherein the … code insertion engine comprises … neural network model[s] (Para [0027], the generative model is implemented with a neural network, and is conditioned on input-output examples encoded themselves by a neural network) Examiner Comments: Mohammad implements its grammar-guided generative model with a neural network, reading on the claimed selector/expansion neural network models.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Mohammad’s grammar-guided generation, using a neural model to select a non-terminal to expand and a production rule to expand it, with the code-completion/insertion system of Svyatkovskiy and Zhang in order to guarantee that the inserted source code is syntactically correct, because Mohammad teaches that constructing output by applying the production rules of the grammar until all leaves are terminal symbols yields output that adheres to the grammar of the language (Mohammad [Summary]).
Regarding Claim 2, Svyatkovskiy, Zhang and Mohammad teach the system of claim 1. Mohammad further teaches:
iteratively expand the single non-terminal symbol representing the statement into one or more code states until a stop expansion condition exists, wherein a code state includes an expansion of a selected non-terminal symbol determined by the selector neural network model, wherein the production rule that performs the expansion is determined by the expansion neural network model (Para [0026], A partial program tree can be iteratively expanded by applying production rules (e→e op2 e) to the non-terminal leaf nodes.) Examiner Comments: Mohammad iteratively expands the partial tree by applying production rules to selected non-terminals, reading on iteratively expanding into code states using the selector- and expansion-determined expansions.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Mohammad’s grammar-guided generation, using a neural model to select a non-terminal to expand and a production rule to expand it, with the code-completion/insertion system of Svyatkovskiy and Zhang in order to guarantee that the inserted source code is syntactically correct, because Mohammad teaches that constructing output by applying the production rules of the grammar until all leaves are terminal symbols yields output that adheres to the grammar of the language (Mohammad [Summary]).
Regarding Claim 3, Svyatkovskiy, Zhang and Mohammad teach the system of claim 2. Mohammad further teaches:
the stop expansion condition comprises a stop expansion non-terminal symbol or a maximum length of a code state has been exceeded (Para [0026], Program construction is complete once all leaves of the tree represent terminal symbols (such that the tree cannot be further expanded with production rules)) Examiner Comments: Mohammad stops expansion when no non-terminal remains to be expanded; and Svyatkovskiy’s beam search additionally terminates a candidate based on length (Para [0008]), reading on the recited stop-expansion conditions.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Mohammad’s grammar-guided generation, using a neural model to select a non-terminal to expand and a production rule to expand it, with the code-completion/insertion system of Svyatkovskiy and Zhang in order to guarantee that the inserted source code is syntactically correct, because Mohammad teaches that constructing output by applying the production rules of the grammar until all leaves are terminal symbols yields output that adheres to the grammar of the language (Mohammad [Summary]).
Regarding Claim 4, Svyatkovskiy, Zhang and Mohammad teach the system of claim 1. Mohammad further teaches:
Wherein the expansion neural network model and the selector neural network model are pre-trained with training samples comprising a code insertion state, a position of a non-terminal symbol in the code insertion state to expand, and a true expansion of the code insertion state (Para [0005], generating a program tree representing the target program by iteratively expanding a partial program tree, beginning with a root node and ending when all leaf nodes are terminal, using the neural network of the program-generation model) Examiner Comments: Mohammad trains the neural program-generation model on a plurality of programs using the partial program state, the non-terminal position, and the ground-truth expansion, reading on pre-training with the recited training samples.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Mohammad’s grammar-guided generation, using a neural model to select a non-terminal to expand and a production rule to expand it, with the code-completion/insertion system of Svyatkovskiy and Zhang in order to guarantee that the inserted source code is syntactically correct, because Mohammad teaches that constructing output by applying the production rules of the grammar until all leaves are terminal symbols yields output that adheres to the grammar of the language (Mohammad [Summary]).
Regarding Claim 5, Svyatkovskiy, Zhang and Mohammad teach the system of claim 4. Mohammad further teaches:
output an encoder output by the expansion neural network model given a training sample, wherein the encoder output is input to the selector neural network model to generate an expansion index based on the encoder output (Para [0027], the generative model is implemented with a neural network, and is conditioned on input-output examples encoded themselves by a neural network) Examiner Comments: Mohammad’s encoded representation conditions the generative model that selects the non-terminal position (index) to expand, reading on producing an encoder output that is used to generate the expansion index.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Mohammad’s grammar-guided generation, using a neural model to select a non-terminal to expand and a production rule to expand it, with the code-completion/insertion system of Svyatkovskiy and Zhang in order to guarantee that the inserted source code is syntactically correct, because Mohammad teaches that constructing output by applying the production rules of the grammar until all leaves are terminal symbols yields output that adheres to the grammar of the language (Mohammad [Summary]).
Claims 6-8 are rejected under 35 U.S.C. 103 as being unpatentable over Svyatkovskiy (US 2021/0034335 A1) in view of Zhang (US 11,461,081 B2), Mohammad (US 2018/0275967 A1), and further in view of Paulus (US 2019/0311002 A1).
Regarding Claim 6, Svyatkovskiy, Zhang and Mohammad teach the system of claim 5.
Mohammad teaches output by the expansion neural network model given the expansion index, an insertion candidate (Para [0006], selecting a non-terminal leaf node and a production rule based on the computed probability distribution, and expanding the partial program tree by applying the selected production rule to the selected non-terminal leaf node).
Svyatkovskiy, Zhang and Mohammad did not specifically teach
generating a first reward that represents quality of the insertion candidate relative to a true terminal sequence.
However, Paulus (US 2019/0311002 A1) teaches:
generate a first reward that represents quality of the insertion candidate relative to a true terminal sequence (Para [0068], reinforcement learning that evaluates the decoder summary output against baseline output and feeds back a reward or penalty) Examiner Comments: Paulus generates a reward representing the quality of the model-generated output by comparing it to a ground-truth (“comparing decoder summary output to a ground-truth”), reading on a first reward representing quality of the insertion candidate relative to a true sequence.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Paulus’s reinforcement-learning reward with the neural code-generation system of Svyatkovskiy, Zhang and Mohammad in order to train the model to directly optimize the quality of the generated sequence relative to a ground-truth sequence, as Paulus teaches that doing so improves the model beyond word-level supervised training (Paulus [abstract/summary]).
Regarding Claim 7, Svyatkovskiy, Zhang, Mohammad and Paulus teach the system of claim 6.
Paulus further teaches:
update weights of the selector neural network model based on the first reward (Para [0068], reinforcement learning that evaluates the decoder summary output against baseline output and feeds back a reward or penalty) Examiner Comments: Paulus updates the model parameters (weights) based on the fed-back reward, reading on updating weights of the model based on the first reward.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Paulus’s reinforcement-learning reward with the neural code-generation system of Svyatkovskiy, Zhang and Mohammad in order to train the model to directly optimize the quality of the generated sequence relative to a ground-truth sequence, as Paulus teaches that doing so improves the model beyond word-level supervised training (Paulus [abstract/summary]).
Regarding Claim 8, Svyatkovskiy, Zhang, Mohammad and Paulus teach the system of claim 7.
Paulus further teaches:
fine-tune the selector neural network model and the expansion neural network model with a second training dataset, wherein the fine-tuning updates weights of the expansion neural network model and the weights of the selector neural network model based on a second reward (Para [0068], training the abstractive summarization model using a mixed training objective function that mixes supervised machine learning … with reinforcement learning) Examiner Comments: Paulus fine-tunes the model with a mixed objective that combines a further (reinforcement-learning) reward with supervised training, reading on fine-tuning the models with a second training dataset based on a second reward.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Paulus’s reinforcement-learning reward with the neural code-generation system of Svyatkovskiy, Zhang and Mohammad in order to train the model to directly optimize the quality of the generated sequence relative to a ground-truth sequence, as Paulus teaches that doing so improves the model beyond word-level supervised training (Paulus [abstract/summary]).
3. Claims 9-10 and 12-15 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang (US 11,461,081 B2) in view of Mohammad (US 2018/0275967 A1).
Regarding Claim 9, Zhang (US 11,461,081 B2) teaches a computer-implemented method, comprising:
receiving a code insertion state comprising a prefix, a non-terminal symbol, and a suffix, wherein the prefix comprises source code prior to an insertion point, wherein the suffix comprises source code after the insertion point, wherein the insertion point is a location in a source code program to insert additional source code in between the prefix and the suffix (claim 1, inserting the existing source code snippet in raw form into a location between a first portion and second portion of the destination source code to generate a combined source code) Examiner Comments: Zhang receives a code state in which source code is inserted at a location between a first portion (the prefix preceding the insertion point) and a second portion (the suffix following the insertion point) of the destination source code, reading on receiving a code insertion state having a prefix and a suffix surrounding an insertion point.
(further as to the prefix preceding the insertion point) wherein the prefix comprises source code prior to an insertion point (claim 1, the first portion of the destination source code is encoded prior to the existing source code snippet to condition the sequence-to-sequence machine learning model to a context of the destination code) Examiner Comments: Zhang encodes the first portion ahead of the inserted content as the surrounding context, confirming the first portion is the source code prior to the insertion point (the prefix).
upon user input, input the code insertion state into the source code program (claim 1, detecting a command to incorporate an existing source code snippet into destination source code) Examiner Comments: Zhang incorporates the inserted source code into the destination source code program in response to a user-issued command (e.g., a paste or drag-and-drop command), reading on “upon user input, input the code insertion state into the source code program.”
Zhang did not specifically teach:
wherein the source code program is associated with a grammar comprising production rules, wherein a production rule comprises a rule for expanding a non-terminal symbol into one or more non-terminal symbols and/or one or more terminal symbols;
inputting the code insertion state into a selector neural model to obtain at least one non-terminal symbol of the code insertion state to expand;
inputting the at least one non-terminal symbol of the code insertion state to expand into an expansion neural model to determine the production rule to expand the at least one non-terminal symbol into a new code insertion state; and
continuously generating additional code insertion states by invoking the selector neural model to select a new non-terminal symbol to expand and the expansion neural model to determine a new production rule to perform the expansion, until a termination condition is met.
However, Mohammad (US 2018/0275967 A1) teaches:
wherein the source code program is associated with a grammar comprising production rules, wherein a production rule comprises a rule for expanding a non-terminal symbol into one or more non-terminal symbols and/or one or more terminal symbols (Para [0026], A DSL can be considered a context-free grammar with terminal and non-terminal symbols S and production rules R that allow representing programs and partial programs as tree structures.) Examiner Comments: Mohammad’s context-free grammar of terminal and non-terminal symbols and production rules that replace a non-terminal with one or more other symbols reads on the claimed grammar comprising production rules for expanding a non-terminal symbol.
inputting the code insertion state into a selector neural model to obtain at least one non-terminal symbol of the code insertion state to expand (Para [0006], selecting a non-terminal leaf node and a production rule based on the computed probability distribution) Examiner Comments: Mohammad’s selection of the non-terminal leaf node to expand from the encoded state reads on inputting the code insertion state into a selector neural model to obtain a non-terminal symbol to expand.
inputting the at least one non-terminal symbol of the code insertion state to expand into an expansion neural model to determine the production rule to expand the at least one non-terminal symbol into a new code insertion state (Para [0006], expanding the partial program tree by applying the selected production rule to the selected non-terminal leaf node) Examiner Comments: Mohammad applies the selected production rule to the selected non-terminal to expand the partial state into a new partial state, reading on the expansion neural model determining a production rule that expands the non-terminal into a new code insertion state.
continuously generating additional code insertion states by invoking the selector neural model to select a new non-terminal symbol to expand and the expansion neural model to determine a new production rule to perform the expansion, until a termination condition is met (Para [0005], iteratively expanding a partial program tree, beginning with a root node and ending when all leaf nodes are terminal, using the neural network of the program-generation model) Examiner Comments: Mohammad iteratively repeats the select-and-expand operation to generate successive partial states until no non-terminal remains, reading on continuously generating additional code insertion states until a termination condition is met.
(the selector and expansion models are neural models) a selector neural model … [and] an expansion neural model (Para [0027], the generative model is implemented with a neural network, and is conditioned on input-output examples encoded themselves by a neural network) Examiner Comments: Mohammad implements its grammar-guided select-and-expand model with a neural network, reading on the claimed selector neural model and expansion neural model.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Mohammad’s grammar-guided neural selection of a non-terminal and expansion by a production rule with Zhang’s prefix/suffix code-insertion method in order to guarantee that the source code inserted between the prefix and the suffix is syntactically correct, because Mohammad teaches that constructing output by applying the grammar’s production rules until all leaves are terminal symbols yields output that adheres to the grammar of the language (Mohammad [abstract/summary]).
Regarding Claim 10, Zhang and Mohammad teach the method of claim 9.
Mohammad further teaches:
detecting that the termination condition is met when at least one of the additional code insertion states comprising terminal symbols (Para [0026], Program construction is complete once all leaves of the tree represent terminal symbols (such that the tree cannot be further expanded with production rules)) Examiner Comments: Mohammad detects completion (the termination condition) when the state contains only terminal symbols and no non-terminal remains to be expanded, reading on detecting the termination condition when the additional code insertion state comprises terminal symbols.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Mohammad’s grammar-guided neural selection of a non-terminal and expansion by a production rule with Zhang’s prefix/suffix code-insertion method in order to guarantee that the source code inserted between the prefix and the suffix is syntactically correct, because Mohammad teaches that constructing output by applying the grammar’s production rules until all leaves are terminal symbols yields output that adheres to the grammar of the language (Mohammad [abstract/summary]).
Regarding Claim 12, Zhang and Mohammad teach the method of claim 9.
Zhang further teaches:
detecting that the termination condition is met when at least one of the additional code states matches the suffix (claim 1, inserting the existing source code snippet in raw form into a location between a first portion and second portion of the destination source code) Examiner Comments: Zhang bounds the inserted content by the second portion (the suffix) immediately following the insertion location, such that a generated code state that has reached/joined the following suffix is complete, reading on detecting the termination condition when the generated code state matches the suffix.
Regarding Claim 13, Zhang and Mohammad teach the method of claim 9.
Mohammad further teaches:
receiving, by the expansion neural model, the code insertion state; generating, by the expansion neural model, an encoder output (Para [0027], the generative model is implemented with a neural network, and is conditioned on input-output examples encoded themselves by a neural network) Examiner Comments: Mohammad encodes the input state with a neural network to produce an encoded representation (an encoder output) on which generation is conditioned, reading on the expansion neural model receiving the code insertion state and generating an encoder output.
inputting the encoder output into the selector neural model to output an expansion index, wherein the expansion index indicates a position of a non-terminal symbol in the code insertion state to expand (Para [0030], the position of the non-terminal leaf node to which the production rule is applied relative to every other node in the tree) Examiner Comments: Mohammad uses the encoded representation to select the position of the non-terminal leaf node to expand, reading on inputting the encoder output into the selector neural model to output an expansion index indicating a position of a non-terminal symbol to expand.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Mohammad’s grammar-guided neural selection of a non-terminal and expansion by a production rule with Zhang’s prefix/suffix code-insertion method in order to guarantee that the source code inserted between the prefix and the suffix is syntactically correct, because Mohammad teaches that constructing output by applying the grammar’s production rules until all leaves are terminal symbols yields output that adheres to the grammar of the language (Mohammad [abstract/summary]).
Regarding Claim 14, Zhang and Mohammad teach the method of claim 13.
Mohammad further teaches:
generating, by the expansion neural model, a production rule to expand the non-terminal symbol associated with the expansion index, into a new code insertion state (Para [0006], expanding the partial program tree by applying the selected production rule to the selected non-terminal leaf node) Examiner Comments: Mohammad applies the selected production rule to the non-terminal at the selected position (the expansion index) to expand the state into a new partial state, reading on generating a production rule to expand the indexed non-terminal into a new code insertion state.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Mohammad’s grammar-guided neural selection of a non-terminal and expansion by a production rule with Zhang’s prefix/suffix code-insertion method in order to guarantee that the source code inserted between the prefix and the suffix is syntactically correct, because Mohammad teaches that constructing output by applying the grammar’s production rules until all leaves are terminal symbols yields output that adheres to the grammar of the language (Mohammad [abstract/summary]).
Regarding Claim 15, Zhang and Mohammad teach the method of claim 14.
Mohammad further teaches:
wherein the expansion neural model generates output probabilities from which the production rule is selected to expand the non-terminal symbol … into a new code insertion state (Para [0006], computing a probability distribution for a set of valid expansions … selecting a non-terminal leaf node and a production rule based on the computed probability distribution) Examiner Comments: Mohammad computes a probability distribution over the valid expansions and selects the production rule therefrom, reading on the expansion neural model generating output probabilities from which the production rule is selected.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Mohammad’s grammar-guided neural selection of a non-terminal and expansion by a production rule with Zhang’s prefix/suffix code-insertion method in order to guarantee that the source code inserted between the prefix and the suffix is syntactically correct, because Mohammad teaches that constructing output by applying the grammar’s production rules until all leaves are terminal symbols yields output that adheres to the grammar of the language (Mohammad [abstract/summary]).
Claim 11 is rejected under 35 U.S.C. 103 as being unpatentable over Zhang (US 11,461,081 B2) in view of Mohammad (US 2018/0275967 A1) and further in view of Svyatkovskiy (US 2021/0034335 A1).
Regarding Claim 11, Zhang and Mohammad teach the method of claim 9.
Zhang and Mohammad did not specifically teach
detecting that the termination condition is met when length of the additional code state exceeds a threshold.
However, Svyatkovskiy (US 2021/0034335 A1) teaches:
detecting that the termination condition is met when length of the additional code state exceeds a threshold (Para [0008], A beam search is used to generate candidate sequences. The beam search uses the top k subtokens/tokens, identified from each iteration of the neural transformer model, to expand a partial candidate sequence of tokens/subtokens likely to complete a line of source code; Para [0058], where T is the length of the token/subtoken sequence) Examiner Comments: Svyatkovskiy expands each partial candidate sequence within a beam search, the candidate being constrained to the model’s fixed sequence length. Further, Svyatkovskiy bounds each generated sequence to the fixed maximum length T, such that a candidate whose generated length reaches the threshold T terminates, reading on detecting the termination condition when the length of a code state exceeds a threshold.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Svyatkovskiy’s length-bounded beam search with the grammar-guided code-insertion method of Zhang and Mohammad in order to limit each generated insertion candidate to a bounded length and thereby bound the computational cost of the search, as bounding the candidate length to the model’s maximum sequence length is a recognized beam-search practice.
Claims 16-17 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang (US 11,461,081 B2) in view of Mohammad (US 2018/0275967 A1).
Regarding Claim 16, Zhang (US 11,461,081 B2) teaches:
a hardware storage device having stored thereon computer executable instructions that are structured to be executable by a processor of a computing device to thereby cause the computing device to perform actions that (claim 13, At least one non-transitory computer-readable medium comprising instructions that, in response to execution of the instructions by one or more processors, cause the one or more processors to:)
obtain a location in a source code program to insert additional source code that is syntactically and semantically consistent with a surrounding context (claim 1, the first portion of the destination source code is encoded prior to the existing source code snippet to condition the sequence-to-sequence machine learning model to a context of the destination code) Examiner Comments: Zhang obtains a location to insert source code and conditions the generation on the surrounding destination-code context, reading on obtaining a location whose inserted source code is consistent with a surrounding context (with syntactic consistency further provided by the grammar of Mohammad, below).
construct a code insertion state comprising a prefix, a non-terminal symbol of a statement, and a suffix, wherein the prefix comprises source code a source code program positioned immediately before the location, wherein the suffix comprises source code of the source code program positioned immediately after the location (claim 1, inserting the existing source code snippet in raw form into a location between a first portion and second portion of the destination source code to generate a combined source code) Examiner Comments: Zhang constructs a combined state in which content is inserted between a first portion (the prefix immediately before the location) and a second portion (the suffix immediately after the location), reading on constructing a code insertion state comprising a prefix and a suffix surrounding the location.
upon the termination condition being met, output a select one of the additional new code states into the source code program (claim 13, detect a command to incorporate an existing source code snippet into destination source code) Examiner Comments: Zhang incorporates the resulting source code into the destination source code program in response to a user command, reading on outputting a select one of the additional new code states into the source code program.
Zhang did not specifically teach:
wherein the source code program is associated with a grammar comprising a plurality of production rules;
generate, by an expansion neural model, an encoding of a code insertion state;
select, by a selector neural model, a position of a non-terminal symbol in the code insertion state to expand given the encoding of the code insertion state;
determine, by the expansion neural model, a select one of the production rules of the plurality of production rules to expand the non-terminal symbol selected by the selector neural model, wherein the expansion generates a new code state; and
generate additional new code states until a termination condition exists, wherein the selector neural model generates the position of the non-terminal symbol in each additional new code state to expand and the expansion neural model determines the production rule to perform the expansion.
However, Mohammad (US 2018/0275967 A1) teaches:
wherein the source code program is associated with a grammar comprising a plurality of production rules (and, as to syntactic consistency, the inserted source code adheres to the grammar) (Para [0026], A DSL can be considered a context-free grammar with terminal and non-terminal symbols S and production rules R that allow representing programs and partial programs as tree structures.) Examiner Comments: Mohammad’s context-free grammar with production rules reads on the claimed grammar comprising a plurality of production rules, and its grammar-conforming construction supplies the recited syntactic consistency of the inserted source code.
generate, by an expansion neural model, an encoding of a code insertion state (Para [0027], the generative model is implemented with a neural network, and is conditioned on input-output examples encoded themselves by a neural network) Examiner Comments: Mohammad encodes the input state with a neural network to produce an encoding on which generation is conditioned, reading on the expansion neural model generating an encoding of the code insertion state.
select, by a selector neural model, a position of a non-terminal symbol in the code insertion state to expand given the encoding of the code insertion state (Para [0030], the position of the non-terminal leaf node to which the production rule is applied relative to every other node in the tree) Examiner Comments: Mohammad selects the position of the non-terminal leaf node to expand from the encoded state, reading on the selector neural model selecting a position of a non-terminal symbol to expand given the encoding.
determine, by the expansion neural model, a select one of the production rules … to expand the non-terminal symbol selected by the selector neural model, wherein the expansion generates a new code state (Para [0006], selecting a non-terminal leaf node and a production rule based on the computed probability distribution, and expanding the partial program tree by applying the selected production rule to the selected non-terminal leaf node) Examiner Comments: Mohammad applies a selected production rule to the selected non-terminal to expand the state into a new partial state, reading on the expansion neural model determining a production rule that expands the selected non-terminal into a new code state.
generate additional new code states until a termination condition exists, wherein the selector neural model generates the position of the non-terminal symbol in each additional new code state to expand and the expansion neural model determines the production rule to perform the expansion (Para [0005], iteratively expanding a partial program tree, beginning with a root node and ending when all leaf nodes are terminal, using the neural network of the program-generation model) Examiner Comments: Mohammad iteratively repeats the select-position-and-expand operation to generate successive new states until termination, reading on generating additional new code states until a termination condition exists.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Mohammad’s grammar-guided neural selection of a non-terminal position and expansion by a production rule with Zhang’s prefix/suffix code-insertion medium in order to guarantee that the source code inserted between the prefix and the suffix is syntactically correct, because Mohammad teaches that constructing output by applying the grammar’s production rules until all leaves are terminal symbols yields output that adheres to the grammar of the language (Mohammad [abstract/summary]).
Regarding Claim 17, Zhang and Mohammad teach the hardware device of claim 16.
Mohammad further teaches:
detect that the termination condition is met when the select one of the additional new code states comprises terminal symbols (Para [0026], Program construction is complete once all leaves of the tree represent terminal symbols (such that the tree cannot be further expanded with production rules)) Examiner Comments: Mohammad detects completion when the state contains only terminal symbols and no non-terminal remains to be expanded, reading on detecting the termination condition when the select code state comprises terminal symbols.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Mohammad’s grammar-guided neural selection of a non-terminal position and expansion by a production rule with Zhang’s prefix/suffix code-insertion medium in order to guarantee that the source code inserted between the prefix and the suffix is syntactically correct, because Mohammad teaches that constructing output by applying the grammar’s production rules until all leaves are terminal symbols yields output that adheres to the grammar of the language (Mohammad [abstract/summary]).
Regarding Claim 19, Zhang and Mohammad teach the hardware device of claim 16.
Zhang further teaches:
detect that the termination condition is met when the select one of the additional code states matches the suffix (claim 1, inserting the existing source code snippet in raw form into a location between a first portion and second portion of the destination source code) Examiner Comments: Zhang bounds the inserted content by the second portion (the suffix) immediately following the insertion location, such that a generated code state that has reached/joined the following suffix is complete, reading on detecting the termination condition when the select code state matches the suffix.
6. Claims 18 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang (US 11,461,081 B2) in view of Mohammad (US 2018/0275967 A1) and further in view of Svyatkovskiy (US 2021/0034335 A1).
Regarding Claim 18, Zhang and Mohammad teach the hardware device of claim 16.
Zhang and Mohammad did not specifically teach
detecting that the termination condition is met when length of the select code state exceeds a threshold.
However, Svyatkovskiy (US 2021/0034335 A1) teaches:
detecting that the termination condition is met when length of the select code state exceeds a threshold (Para [0008], A beam search is used to generate candidate sequences. The beam search uses the top k subtokens/tokens, identified from each iteration of the neural transformer model, to expand a partial candidate sequence of tokens/subtokens likely to complete a line of source code.; Para [0058], where T is the length of the token/subtoken sequence) Examiner Comments: Svyatkovskiy bounds each generated sequence to the fixed maximum length T, such that a candidate whose generated length reaches the threshold T terminates, reading on detecting the termination condition when the length of a code state exceeds a threshold.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Svyatkovskiy’s length-bounded beam search with the grammar-guided code-insertion device of Zhang and Mohammad in order to limit each generated insertion candidate to a bounded length and thereby bound the computational cost of the search, as bounding the candidate length to the model’s maximum sequence length is a recognized beam-search practice.
Regarding Claim 20, Zhang and Mohammad teach the hardware device of claim 16.
Zhang teaches that the sequence-to-sequence machine learning model comprises a transformer network (claim 12).
Zhang and Mohammad did not specifically teach that the selector neural model and the expansion neural model each comprises a neural transformer model with attention.
However, Svyatkovskiy (US 2021/0034335 A1) teaches:
wherein the selector neural model comprises a neural transformer model with attention, wherein the expansion neural model comprises a neural transformer model with attention (Para [0007], neural transformer model is comprised of multiple decoder blocks. A decoder block includes a multi-head self-attention layer coupled to a multi-layer one-dimensional convolutional neural network.) Examiner Comments: Svyatkovskiy’s neural transformer model employing a multi-head self-attention layer reads on a neural transformer model with attention, and it would have been obvious to implement both the selector neural model and the expansion neural model of the combination as such neural transformer models with attention.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to implement the selector neural model and the expansion neural model of the combination as neural transformer models with attention as taught by Svyatkovskiy in order to obtain the recognized benefit of the attention mechanism in learning the relationships among tokens of the input sequence when modeling source code (KSR — use of a known neural-transformer-with-attention architecture to implement known code-modeling neural models).
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp.
Claims 1-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 12,175,220 B2. Although the claims at issue are not identical, they are not patentably distinct from each other because the referenced patent and the instant application claim common subject matter — the same grammar-guided code insertion engine that uses a non-terminal selector model and a non-terminal expansion model to expand a single statement non-terminal symbol, positioned between a prefix and a suffix, into source code statements inserted at an insertion point. For illustration purposes, the Claim 1 rejection is provided as follows:
Instant Application 18/928,180
U.S. Patent No. 12,175,220 B2 (Claim 1)
1. A system comprising: a processor; and a memory that stores a program configured to be executed by the processor, wherein the program comprises instructions to perform acts that: receive an insertion point in a source code program to insert additional source code in between existing source code segments of the source code program, wherein the source code program is associated with a grammar comprising production rules, wherein a production rule comprises a rule for expanding a non-terminal symbol into one or more non-terminal symbols or one or more terminal symbols; extract a context surrounding the insertion point, the context including a prefix and a suffix of the insertion point; form an input sequence comprising the prefix, a single non-terminal symbol, and the suffix; input the input sequence into a grammar-guided code insertion engine to expand the single non-terminal symbol representing the statement into an output sequence comprising terminal symbols representing one or more source code statements to insert at the insertion point, wherein the grammar-guided code insertion engine comprises a selector neural network model and an expansion neural network model, wherein the selector neural network model determines a position of a select non-terminal symbol to expand for a given sequence of terminal and non-terminal symbols, wherein the expansion neural network model determines a production rule to expand the select non-terminal symbol; and upon user input, incorporate the one or more source code statements into the source code program at the insertion point.
1. A computer-implemented method, comprising: representing a source code program during an edit session as a tree of non-terminal symbols and terminal symbols; accessing a code insertion state of the source code program, wherein the code insertion state includes a prefix, an insertion point and a suffix, wherein the insertion point represents a location in the source code program where one or more source code statements are to be inserted in between the prefix and the suffix, wherein the prefix and the suffix represent existing source code segments of the source code program; representing the code insertion state as a sequence of terminal symbols representing the prefix, a single statement non-terminal symbol representing a statement, and a sequence of terminal symbols representing the suffix; expanding the code insertion state into an insertion candidate representing the one or more source code statements to be inserted at the insertion point, wherein the expansion expands the single statement non-terminal symbol representing a statement iteratively into a series of new code states using production rules of a grammar of a programming language of the source code program until a stop expansion condition exists; utilizing a non-terminal selector model to select a non-terminal symbol of each new code state to expand and a non-terminal expansion model to select a production rule to expand the selected non-terminal symbol; and upon detection of the stop expansion condition, presenting the insertion candidate in the source code program.
Instant claim 1 (a system) and claim 1 of U.S. Patent No. 12,175,220 B2 (a method) recite the same inventive concept and are not patentably distinct. Both claim accessing/forming a code insertion state that includes a prefix, a single statement non-terminal symbol, and a suffix surrounding an insertion point; expanding the single statement non-terminal symbol into source code statements to be inserted at the insertion point using production rules of a grammar; utilizing a non-terminal selector model to select a non-terminal to expand and a non-terminal expansion model to select a production rule to expand it; and presenting/incorporating the resulting source code statements in the source code program. The mere differences in statutory category (system vs. method) and minor differences in claim language do not render the instant claims patentably distinct, as it would have been obvious to a person of ordinary skill in the art to implement the patented method on the recited processor and memory. Instant claims 2-20 are likewise not patentably distinct from claims 1-20 of U.S. Patent No. 12,175,220 B2, which recite the corresponding iterative expansion, termination conditions, reinforcement-learning training/reward, encoder-output selection, and neural-transformer-with-attention limitations.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AMIR SOLTANZADEH whose telephone number is (571)272-3451. The examiner can normally be reached M-F, 9am - 5pm ET.
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, Wei Mui can be reached at (571) 272-3708. 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.
/AMIR SOLTANZADEH/ Examiner, Art Unit 2191
/WEI Y MUI/ Supervisory Patent Examiner, Art Unit 2191