DETAILED ACTION
This action is in response to the original filing dated 07 March 2024. Claims 1-20 are pending and have been considered below.
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 .
Information Disclosure Statement
The information disclosure statements (IDS) submitted on 03 July 2025 and 23 October 2025 have been received, entered into the record, and considered. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statements are being considered by the examiner.
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-20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
The terms “similar” and “dis-similar” in claims 1, 8-15, 19 and 20 are relative terms which renders the claim indefinite. These terms are not defined by the claim, the specification does not provide a standard for ascertaining the requisite degree, and one of ordinary skill in the art would not be reasonably apprised of the scope of the invention.
The terms “common” and “uncommon” in claim 3 are relative terms which renders the claim indefinite. These terms are not defined by the claim, the specification does not provide a standard for ascertaining the requisite degree, and one of ordinary skill in the art would not be reasonably apprised of the scope of the invention.
The term “large” in claim 4 is a relative term which renders the claim indefinite. The term is not defined by the claim, the specification does not provide a standard for ascertaining the requisite degree, and one of ordinary skill in the art would not be reasonably apprised of the scope of the invention.
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.
Independent claims 1 and 15 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. Claims 1 and 15 are directed to the abstract idea of identifying similar spreadsheets and spreadsheet regions, as explained in detail below. The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional computer elements, which are recited at a high level of generality, provide conventional computer functions that do not add meaningful limits to practicing the abstract idea.
Claims 1 and 15 recite, in part, “generating … training data with positive examples of similar spreadsheets and negative examples of dis-similar spreadsheets … determine whether a pair of spreadsheets are similar … identify similar spreadsheet regions between the pair of spreadsheets … identifying … a reference sheet similar to the target sheet … identifying … a similar region in the reference sheet that is similar to the target cell … identifying … a reference formula … generating … a predicted formula” These steps describe the concept identifying similar spreadsheets and spreadsheet regions which, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. Nothing in the claim precludes the step from practically being performed in the mind. For example, but for the “machine learning model” language, “generating, determining, and identifying” in the context of these claims encompasses the user comparing spreadsheets. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. As such, the description in claims 1 and 15 of identifying similar spreadsheets and spreadsheet regions is an abstract idea.
This judicial exception is not integrated into a practical application. In particular, the claim recites an additional element – using a machine learning model to perform the steps. The machine learning model in the steps is recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. Thus, these claims are directed to an abstract idea.
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception because the additional elements when considered both individually and as an ordered combination do not amount to significantly more than the abstract idea. The claims recite the additional limitations of “machine learning model,” and “providing output.” Generic computer components recited as performing generic computer functions that are well-understood, routine and conventional activities (e.g. see references cited) amount to no more than implementing the abstract idea with a computerized system. There is no indication that the combination of elements improves the functioning of a computer or improves any other technology. Thus, taken alone or in combination, the additional elements do not amount to significantly more than the above-identified judicial exception.
Further, the additional elements found in dependent claims 4, 9, 10, 11-14, 16, 17 and 20, considered both individually and as an ordered combination along their dependency trees with their respective independent claims, also do not appear to be drawn to a practical application or amount to significantly more than the abstract idea. Therefore, dependent claims 4, 9, 10, 11-14, 16, 17 and 20 are similarly rejected under 35 U.S.C. 101.
Claim Rejections - 35 USC § 103
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
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-9 are rejected under 35 U.S.C. 103 as being unpatentable over Danna et al. (US 2025/0272352 A1) in view of Guillame-Bert et al. (US 2024/0193418 A1, hereinafter: G-B).
As for independent claim 1, Danna teaches a method comprising:
automatically generating, by a machine learning model, training data with positive examples of similar spreadsheets and negative examples of dis-similar spreadsheets [(e.g. see Danna paragraphs 0022, 023) ”the dynamic submission automation system 220 may, in response to determining one or more suggested associations, send to the user device 302 the one or more suggested associations for the fields on the webpage … the dynamic submission automation system 220 may receive from the user device 302, accepted suggested associations for the fields on the webpage. In some embodiments, the dynamic submission automation system 220 may also receive from the user device 302, one or more alternative associations for the fields on the webpage. If the user denies a suggested association for a field on the webpage, the user may provide an alternative association between an extracted column data and the field on the webpage. The dynamic submission automation system 220 may retrain the first machine learning model and the second machine learning model using the accepted suggested associations. The dynamic submission automation system 220 can confirm if the data type of the suggested association for a field on the webpage matches the data type of the alternative association for the field on the webpage. If the data type of the suggested association for the field on the webpage does not match the data type of the alternative association, the dynamic submission automation system 220 may retrain the first machine learning model so that future suggested associations may be more accurate”].
using the training data, by a first machine learning model, to determine whether a pair of spreadsheets are similar [(e.g. see Danna paragraphs 0019, 0020, 0045) ”the dynamic submission automation system 220 may extract column data from the tabular data. In some embodiments, each row of the tabular data may be related to one submission for the webpage. A column of the tabular data may be associated with a field on the webpage. The dynamic submission automation system 220 needs associations between column data and the fields on the webpage to ensure that correct information is submitted for each submission for each field on the webpage. In some examples, the dynamic submission automation system 220 can receive a plurality of spreadsheets or tabular data, extract a plurality of column data from the plurality of spreadsheets, and track the tabular data or spreadsheet source for each of the plurality of column data … the dynamic submission automation system 220 may determine, using a first machine learning model, one or more suggested associations for the fields on the webpage based on data types for the fields and the extracted column data. In some embodiments, the dynamic automation submission system 220 extracts fields from the webpage, and then uses the first machine learning model to determine the one or more suggested associations for the fields on the webpage. If the dynamic submission automation system 220 determines there are one or more suggested associations for the fields on the webpage based on data types for the fields and the extracted column data, then the dynamic submission automation system 220 moves to optional block 108. Otherwise, the dynamic submission automation system 220 moves to optional block 112. The one or more suggested associations may include associations between the entries in the extracted column data and fields on the webpage. The dynamic submission automation system 220 uses the first machine model to determine the one or more suggested associations by determining a required data type for a field and then determining whether one or more columns of the extracted column data includes the required data type. A column of entries in the extracted column data may be the same data type … The dynamic submission automation system 220 may be configured to classify a dataset. Classifying a dataset may include determining whether a dataset is related to another datasets. Classifying a dataset may include clustering datasets and generating information indicating whether a dataset belongs to a cluster of datasets”].
using the training data, by second machine learning model [(e.g. see Danna paragraph 0021) ”The dynamic submission automation system 220 may use the second machine learning model to determine the one or more suggested associations”].
providing a first output indicating the pair of spreadsheets are similar or dis-similar [(e.g. see Danna paragraphs 0014, 0024) ”outputs a result of suggested associations between the column data and fields on the webpage … the dynamic submission automation system 220 may transmit, via an API, one or more submissions for each of the rows in the tabular data using the one or more associations and the accepted suggested associations. In this example, the one or more associations may include the one or more alternative associations received by the user device in block 112. By transmitting the one or more submission for each of the rows in the tabular data, the dynamic submission automation system 220 may save the user time and resources that would have been required if the one or more submissions would have been manually submitted”]. Due to the conditional nature of this claim limitation present within a method claim, part of this limitation carries no patentable weight while giving the claim its broadest reasonable interpretation, as the claimed invention can be practiced without the first condition occurring (i.e. the limitation requires only one of similar or dis-similar). The broadest reasonable interpretation of a method (or process) claim having contingent limitations requires only those steps that must be performed and does not include steps that are not required to be performed because the condition(s) precedent are not met. See MPEP 2111.04(II) – Contingent Limitations.
Danna does not specifically teach [using the training data, by a second machine learning model], to identify similar spreadsheet regions between the pair of spreadsheets or providing a second output indicating whether the spreadsheets regions are similar or dis-similar between the pair of spreadsheets. However, in the same field of invention, G-B teaches:
using the training data, by a second machine learning model, to identify similar spreadsheet regions between the pair of spreadsheets [(e.g. see G-B paragraph 0111) ”The system can determine which cells in the interactive spreadsheet the trained machine learning model is trained to predict. For example, if the interactive spreadsheet is a second, different interactive spreadsheet, the system can determine if the second interactive spreadsheet is organized in the same way as the first interactive spreadsheet, e.g., by the same rows or columns. For example, if the trained machine learning model was trained to predict column “H” in a first interactive spreadsheet and the second interactive spreadsheet has columns arranged in the same way as the first interactive spreadsheet, the system can determine that the trained machine learning model is trained to predict column “H” in the second interactive spreadsheet”].
providing a second output indicating whether the spreadsheets regions are similar or dis-similar between the pair of spreadsheets [(e.g. see G-B paragraphs 0123, 0141, 0142) ”The system can determine scores for the cells to be validated based on a difference between each predicted value and the existing value for the cell, also referred to as a prediction residual, and the accuracy for the machine learning model that generated the predicted value. For example, if the machine learning model is a classifier, the score for a cell can be based on the difference between the highest probability assigned to any of the possible output values by the model and the probability assigned to the existing value by the model … the predicted values 412 can be displayed in the original identified cells themselves. For example, the predicted values 412 that are displayed in FIG. 4B in column “I” can be displayed in the identified cells 406 in column “H.” In some implementations, the predicted values 412 can be displayed in a dialog box of the interactive spreadsheet … predicted confidence values that specify how confident the machine learning model is in its predictions can also be displayed, for example, in a new column on the spreadsheet as shown in the column “pred:Conf.species” in FIG. 4B, or in a dialog box of the interactive spreadsheet. For example, the model can be a classifier model that outputs a prediction for a class that has the highest probability. In some examples, the system can obtain the probability for the predicted class and use the probability as the confidence value”]. Due to the conditional nature of this claim limitation present within a method claim, part of this limitation carries no patentable weight while giving the claim its broadest reasonable interpretation, as the claimed invention can be practiced without the first condition occurring (i.e. the limitation requires only one of similar or dis-similar). The broadest reasonable interpretation of a method (or process) claim having contingent limitations requires only those steps that must be performed and does not include steps that are not required to be performed because the condition(s) precedent are not met. See MPEP 2111.04(II) – Contingent Limitations.
Therefore, considering the teachings of Danna and G-B, it would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to add [using the training data, by a second machine learning model], to identify similar spreadsheet regions between the pair of spreadsheets or providing a second output indicating whether the spreadsheets regions are similar or dis-similar between the pair of spreadsheets, as taught by G-B, to the teachings of Danna because providing output on the interactive spreadsheet allows the predictions and confidence to be displayed directly without need to transition away (e.g. see G-B paragraph 0096).
As for dependent claim 2, Danna and G-B teach the method as described in claim 1 and Danna further teaches:
wherein the machine learning model uses a weak supervision hypothesis test to compare sheet names of pairs of spreadsheets in the training data and outputs a positive example in response to the sheet names matching and outputs a negative example in response to the sheet names having different names [(e.g. see Danna paragraphs 0023, 0039) ”The dynamic submission automation system 220 may be configured to adjust model parameters during training. Model parameters may include weights, coefficients, offsets, or the like. Training may be supervised or unsupervised … The dynamic submission automation system 220 may retrain the first machine learning model and the second machine learning model using the accepted suggested associations. The dynamic submission automation system 220 can confirm if the data type of the suggested association for a field on the webpage matches the data type of the alternative association for the field on the webpage. If the data type of the suggested association for the field on the webpage does not match the data type of the alternative association, the dynamic submission automation system 220 may retrain the first machine learning model so that future suggested associations may be more accurate”]. Due to the conditional nature of this claim limitation present within a method claim, part of this limitation carries no patentable weight while giving the claim its broadest reasonable interpretation, as the claimed invention can be practiced without the first condition occurring (i.e. the limitation requires only one of matching or different). The broadest reasonable interpretation of a method (or process) claim having contingent limitations requires only those steps that must be performed and does not include steps that are not required to be performed because the condition(s) precedent are not met. See MPEP 2111.04(II) – Contingent Limitations.
As for dependent claim 3, Danna and G-B teach the method as described in claim 2, but Danna does not specifically teach the following limitation. However, G-B teaches:
wherein the machine learning model further uses a probability of finding the sheet names in the training data and outputs the positive example in response to determining the probability of the sheet names is uncommon in the training data and outputs the negative example in response to determining the probability of the sheet names is common in the training data [(e.g. see G-B paragraphs 0123, 0141, 0142) ”The system can determine scores for the cells to be validated based on a difference between each predicted value and the existing value for the cell, also referred to as a prediction residual, and the accuracy for the machine learning model that generated the predicted value. For example, if the machine learning model is a classifier, the score for a cell can be based on the difference between the highest probability assigned to any of the possible output values by the model and the probability assigned to the existing value by the model … the predicted values 412 can be displayed in the original identified cells themselves. For example, the predicted values 412 that are displayed in FIG. 4B in column “I” can be displayed in the identified cells 406 in column “H.” In some implementations, the predicted values 412 can be displayed in a dialog box of the interactive spreadsheet … predicted confidence values that specify how confident the machine learning model is in its predictions can also be displayed, for example, in a new column on the spreadsheet as shown in the column “pred:Conf.species” in FIG. 4B, or in a dialog box of the interactive spreadsheet. For example, the model can be a classifier model that outputs a prediction for a class that has the highest probability. In some examples, the system can obtain the probability for the predicted class and use the probability as the confidence value”]. Due to the conditional nature of this claim limitation present within a method claim, part of this limitation carries no patentable weight while giving the claim its broadest reasonable interpretation, as the claimed invention can be practiced without the first condition occurring (i.e. the limitation requires only one of common or uncommon). The broadest reasonable interpretation of a method (or process) claim having contingent limitations requires only those steps that must be performed and does not include steps that are not required to be performed because the condition(s) precedent are not met. See MPEP 2111.04(II) – Contingent Limitations.
The motivation to combine is the same as that used for claim 1.
As for dependent claim 4, Danna and G-B teach the method as described in claim 1 and Danna further teaches:
wherein the machine learning model accesses a large number of spreadsheets to automatically generate the training data [(e.g. see Danna paragraphs 0005, 0014, 0018) ”The system may receive, from a database, tabular data for one or more submissions … The tabular data may be saved in a cloud or locally in a system. The tabular data may also be saved on a database, or in other words, the spreadsheet, tabular data, or CSV file can be retrieved from a database or other source … may involve using column data extracted from tabular data and a machine learning model, applied and trained to analyze the field names and data types required for a webpage along with the available data types of the column data and column names of the column data”].
As for dependent claim 5, Danna and G-B teach the method as described in claim 1 and Danna further teaches:
wherein the training data is represented as a plurality of feature vectors with embeddings for each cell of the spreadsheets [(e.g. see Danna paragraphs 0021, 0045) ”classifying a dataset may include generating graphical data, such as anode diagram, a tree diagram, or a vector diagram of datasets … the dynamic submission automation system 220 can use Word2vec for vector word embedding as a part of the cosine similarity check as outlined above”].
As for dependent claim 6, Danna and G-B teach the method as described in claim 5 and Danna further teaches:
wherein the plurality of feature vectors include a semantic feature vector, a syntactic feature vector, and a style feature vector [(e.g. see Danna paragraph 0021) ”the dynamic submission automation system 220 can use Word2vec for vector word embedding as a part of the cosine similarity check as outlined above … within a predetermined contextual range of the field names. In some embodiments, the predetermined contextual range of the field names can cover a percentage of available contextual language, can be tailored to jargon, can be tailored to jargon in addition to natural language”].
As for dependent claim 7, Danna and G-B teach the method as described in claim 5 and Danna further teaches:
wherein the plurality of feature vectors are aggregated together into an input vector [(e.g. see Danna paragraph 0044) ”The dynamic submission automation system 220 may be configured to generate a similarity metric based on data model output, including data model output representing a property of the data model. For example, dynamic submission automation system 220 may be configured to generate a similarity metric based on … embedding layer structure”].
Danna does not specifically teach the following limitation. However, G-B teaches:
for each cell of the spreadsheets that represents a region around each cell of the spreadsheet [(e.g. see G-B paragraph 0086) ”The system generates, for each row that has a value in the cell in the column with identified cells, a respective training example that includes (i) the values in the row other than the one in the column with identified cells as input features and (ii) the value in the row in the column with identified cells as the target output for the input features. In the example interactive spreadsheet described in FIG. 4A below, the system can generate, for each row that has a value in the cell in column “H,” a respective training example that includes (i) the values in the row in columns “B” through “G” as input features and (ii) the value in the row in column “H” as the target output for the input features”].
The motivation to combine is the same as that used for claim 1.
As for dependent claim 8, Danna and G-B teach the method as described in claim 7, but Danna does not specifically teach the following limitation. However, G-B teaches:
wherein the first machine learning model using the input vector for each cell to determine whether the pair of spreadsheets are similar and the second machine learning model uses the input vector for each cell to identify the similar spreadsheet regions between the pair of spreadsheets [(e.g. see G-B paragraph 0111) ”The system can determine which cells in the interactive spreadsheet the trained machine learning model is trained to predict. For example, if the interactive spreadsheet is a second, different interactive spreadsheet, the system can determine if the second interactive spreadsheet is organized in the same way as the first interactive spreadsheet, e.g., by the same rows or columns. For example, if the trained machine learning model was trained to predict column “H” in a first interactive spreadsheet and the second interactive spreadsheet has columns arranged in the same way as the first interactive spreadsheet, the system can determine that the trained machine learning model is trained to predict column “H” in the second interactive spreadsheet”].
The motivation to combine is the same as that used for claim 1.
As for dependent claim 9, Danna and G-B teach the method as described in claim 1 and Danna further teaches:
further comprising: building an index of similar spreadsheets using the first output indicating the pair of spreadsheets are similar and the second output indicating regions of the pair of spreadsheets are similar [(e.g. see Danna paragraph 0045) ”The dynamic submission automation system 220 may be configured to classify a dataset. Classifying a dataset may include determining whether a dataset is related to another datasets. Classifying a dataset may include clustering datasets and generating information indicating whether a dataset belongs to a cluster of datasets. In some embodiments, classifying a dataset may include generating data describing the dataset (e.g., a dataset index), including metadata, an indicator of whether data element includes actual data and/or synthetic data, a data schema, a statistical profile, a relationship between the test dataset and one or more reference datasets”].
Claims 10 and 15-20 are rejected under 35 U.S.C. 103 as being unpatentable over Danna et al. (US 2025/0272352 A1) in view of Guillame-Bert et al. (US 2024/0193418 A1, hereinafter: G-B), as applied to claim 9 above, and further in view of Gaunt et al. (US 2019/0042210 A1).
As for dependent claim 10, Danna and G-B teach the method as described in claim 9 and Danna further teaches:
identifying, using the index, a reference sheet that is similar to the target sheet [(e.g. see Danna paragraph 0045) ”the dynamic submission automation system 220 may extract column data from the tabular data. In some embodiments, each row of the tabular data may be related to one submission for the webpage. A column of the tabular data may be associated with a field on the webpage. The dynamic submission automation system 220 needs associations between column data and the fields on the webpage to ensure that correct information is submitted for each submission for each field on the webpage. In some examples, the dynamic submission automation system 220 can receive a plurality of spreadsheets or tabular data, extract a plurality of column data from the plurality of spreadsheets, and track the tabular data or spreadsheet source for each of the plurality of column data … the dynamic submission automation system 220 may determine, using a first machine learning model, one or more suggested associations for the fields on the webpage based on data types for the fields and the extracted column data. In some embodiments, the dynamic automation submission system 220 extracts fields from the webpage, and then uses the first machine learning model to determine the one or more suggested associations for the fields on the webpage. If the dynamic submission automation system 220 determines there are one or more suggested associations for the fields on the webpage based on data types for the fields and the extracted column data, then the dynamic submission automation system 220 moves to optional block 108. Otherwise, the dynamic submission automation system 220 moves to optional block 112. The one or more suggested associations may include associations between the entries in the extracted column data and fields on the webpage. The dynamic submission automation system 220 uses the first machine model to determine the one or more suggested associations by determining a required data type for a field and then determining whether one or more columns of the extracted column data includes the required data type. A column of entries in the extracted column data may be the same data type … The dynamic submission automation system 220 may be configured to classify a dataset. Classifying a dataset may include determining whether a dataset is related to another datasets. Classifying a dataset may include clustering datasets and generating information indicating whether a dataset belongs to a cluster of datasets. In some embodiments, classifying a dataset may include generating data describing the dataset (e.g., a dataset index), including metadata, an indicator of whether data element includes actual data and/or synthetic data, a data schema, a statistical profile, a relationship between the test dataset and one or more reference datasets”].
Danna does not specifically teach receiving a target sheet with a target cell, identifying, using the second machine learning model, a similar region in the reference sheet to the target cell or providing an output in the target cell with the predicted [formula]. However, G-B teaches:
receiving a target sheet with a target cell [(e.g. see G-B paragraph 0129) ”allows a user to identify one or more cells, identified cells 406, in the interactive spreadsheet”].
identifying, using the second machine learning model, a similar region in the reference sheet to the target cell [(e.g. see G-B paragraph 0111) ”The system can determine which cells in the interactive spreadsheet the trained machine learning model is trained to predict. For example, if the interactive spreadsheet is a second, different interactive spreadsheet, the system can determine if the second interactive spreadsheet is organized in the same way as the first interactive spreadsheet, e.g., by the same rows or columns. For example, if the trained machine learning model was trained to predict column “H” in a first interactive spreadsheet and the second interactive spreadsheet has columns arranged in the same way as the first interactive spreadsheet, the system can determine that the trained machine learning model is trained to predict column “H” in the second interactive spreadsheet”].
and providing an output in the target cell with the predicted [formula] [(e.g. see G-B paragraphs 0140, 0141) ”After a trained machine learning model generates a predicted value for each of the identified cells in identified cells 406, the interactive spreadsheet 106 can be updated to display the predicted values 412 … the predicted values 412 can be displayed in the original identified cells themselves”].
The motivation to combine is the same as that used for claim 1.
Danna and G-B do not specifically teach in response to receiving an indication that a formula is being creating in the target cell, identifying, using the second machine learning model, a reference formula in the similar region in the reference sheet, or automatically modifying, using the second machine learning model, the reference formula with parameters from the target sheet to generate a predicted formula for the target cell. However, in the same field of invention, Gaunt teaches:
in response to receiving an indication that a formula is being creating in the target cell [(e.g. see Gaunt paragraph 0045) ”an observed system comprising a spreadsheet 400 and showing a formula fill facility 404 provided to a user. A user has a dataset and wishes to perform an aggregation function on each row or column of the data. The user manually works out the aggregation for the first two rows and asks the program predictor to provide a spreadsheet formula which fits the manually provided examples”].
identifying, using the second machine learning model, a reference formula in the similar region in the reference sheet [(e.g. see Gaunt paragraph 0027, 0030) ”The computer program predictor is able to learn from past experience by training the program attribute predictor … The program predictor is able to predict programs in the form of spreadsheet formulae and offer these to assist a user in manipulating data in the spreadsheet and/or to fill in cells of the spreadsheet”].
automatically modifying, using the second machine learning model, the reference formula with parameters from the target sheet to generate a predicted formula for the target cell [(e.g. see Gaunt paragraph 0046) ”The program predictor is able to infer this intention and predict a program which generalizes from these examples. The first input-output pair comprises the numerical values in the first row of the spreadsheet 400 as the input data, and the numerical value in cell 410 as the output data. The second input-output pair comprises the numerical values in the second row of the spreadsheet 400 as the input data and the numerical value in cell 412 as the output data. The user selects the range of cells where the desired aggregation result is to be displayed as indicated by rectangle 406 and an option 404 to fill the range with a formula is presented to the user. The program predictor predicts a suitable formula which is entered into all cells in the range of cells 406 to fill in the remaining values”].
Therefore, considering the teachings of Danna, G-B and Gaunt, it would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to add in response to receiving an indication that a formula is being creating in the target cell, identifying, using the second machine learning model, a reference formula in the similar region in the reference sheet, and automatically modifying, using the second machine learning model, the reference formula with parameters from the target sheet to generate a predicted formula for the target cell, as taught by Gaunt, to the teachings of Danna and G-B because it assists a user in manipulating data in the spreadsheet (e.g. see Gaunt paragraph 0030).
As for independent claim 15, Danna teaches a method comprising:
identifying, using a first machine learning model, a reference sheet similar to the target sheet [(e.g. see Danna paragraphs 0019, 0020, 0045) ”the dynamic submission automation system 220 may extract column data from the tabular data. In some embodiments, each row of the tabular data may be related to one submission for the webpage. A column of the tabular data may be associated with a field on the webpage. The dynamic submission automation system 220 needs associations between column data and the fields on the webpage to ensure that correct information is submitted for each submission for each field on the webpage. In some examples, the dynamic submission automation system 220 can receive a plurality of spreadsheets or tabular data, extract a plurality of column data from the plurality of spreadsheets, and track the tabular data or spreadsheet source for each of the plurality of column data … the dynamic submission automation system 220 may determine, using a first machine learning model, one or more suggested associations for the fields on the webpage based on data types for the fields and the extracted column data. In some embodiments, the dynamic automation submission system 220 extracts fields from the webpage, and then uses the first machine learning model to determine the one or more suggested associations for the fields on the webpage. If the dynamic submission automation system 220 determines there are one or more suggested associations for the fields on the webpage based on data types for the fields and the extracted column data, then the dynamic submission automation system 220 moves to optional block 108. Otherwise, the dynamic submission automation system 220 moves to optional block 112. The one or more suggested associations may include associations between the entries in the extracted column data and fields on the webpage. The dynamic submission automation system 220 uses the first machine model to determine the one or more suggested associations by determining a required data type for a field and then determining whether one or more columns of the extracted column data includes the required data type. A column of entries in the extracted column data may be the same data type … The dynamic submission automation system 220 may be configured to classify a dataset. Classifying a dataset may include determining whether a dataset is related to another datasets. Classifying a dataset may include clustering datasets and generating information indicating whether a dataset belongs to a cluster of datasets”].
Danna does not specifically teach receiving a target sheet with a target cell, identifying, using a second machine learning model, a similar region in the reference sheet that is similar to the target cell, or providing an output in the target cell with the predicted [formula]. However, in the same field of invention, G-B teaches:
receiving a target sheet with a target cell [(e.g. see G-B paragraph 0129) ”allows a user to identify one or more cells, identified cells 406, in the interactive spreadsheet”].
identifying, using a second machine learning model, a similar region in the reference sheet that is similar to the target cell [(e.g. see G-B paragraph 0111) ”The system can determine which cells in the interactive spreadsheet the trained machine learning model is trained to predict. For example, if the interactive spreadsheet is a second, different interactive spreadsheet, the system can determine if the second interactive spreadsheet is organized in the same way as the first interactive spreadsheet, e.g., by the same rows or columns. For example, if the trained machine learning model was trained to predict column “H” in a first interactive spreadsheet and the second interactive spreadsheet has columns arranged in the same way as the first interactive spreadsheet, the system can determine that the trained machine learning model is trained to predict column “H” in the second interactive spreadsheet”].
and providing an output in the target cell with the predicted [formula] [(e.g. see G-B paragraphs 0140, 0141) ”After a trained machine learning model generates a predicted value for each of the identified cells in identified cells 406, the interactive spreadsheet 106 can be updated to display the predicted values 412 … the predicted values 412 can be displayed in the original identified cells themselves”].
Therefore, considering the teachings of Danna and G-B, it would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to add receiving a target sheet with a target cell, identifying, using a second machine learning model, a similar region in the reference sheet that is similar to the target cell, and providing an output in the target cell with the predicted [formula], as taught by G-B, to the teachings of Danna because providing output on the interactive spreadsheet allows the predictions and confidence to be displayed directly without need to transition away (e.g. see G-B paragraph 0096).
Danna and G-B do not specifically teach identifying, using the second machine learning model, a reference formula in the similar region in response to receiving an indication a formula is being created in the target cell, modifying, using the second machine learning model, parameters of the reference formular to a context of the target sheet, or generating, using the second machine learning model, a predicted formula with the modified parameters for the reference formula. However, in the same field of invention, Gaunt teaches:
identifying, using the second machine learning model, a reference formula in the similar region in response to receiving an indication a formula is being created in the target cell [(e.g. see Gaunt paragraphs 0027, 0030, 0045) ”an observed system comprising a spreadsheet 400 and showing a formula fill facility 404 provided to a user. A user has a dataset and wishes to perform an aggregation function on each row or column of the data. The user manually works out the aggregation for the first two rows and asks the program predictor to provide a spreadsheet formula which fits the manually provided examples … The computer program predictor is able to learn from past experience by training the program attribute predictor … The program predictor is able to predict programs in the form of spreadsheet formulae and offer these to assist a user in manipulating data in the spreadsheet and/or to fill in cells of the spreadsheet”].
modifying, using the second machine learning model, parameters of the reference formula to a context of the target sheet and generating, using the second machine learning model, a predicted formula with the modified parameters for the reference formula [(e.g. see Gaunt paragraph 0046) ”The program predictor is able to infer this intention and predict a program which generalizes from these examples. The first input-output pair comprises the numerical values in the first row of the spreadsheet 400 as the input data, and the numerical value in cell 410 as the output data. The second input-output pair comprises the numerical values in the second row of the spreadsheet 400 as the input data and the numerical value in cell 412 as the output data. The user selects the range of cells where the desired aggregation result is to be displayed as indicated by rectangle 406 and an option 404 to fill the range with a formula is presented to the user. The program predictor predicts a suitable formula which is entered into all cells in the range of cells 406 to fill in the remaining values”].
Therefore, considering the teachings of Danna, G-B and Gaunt, it would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to add identifying, using the second machine learning model, a reference formula in the similar region in response to receiving an indication a formula is being created in the target cell, modifying, using the second machine learning model, parameters of the reference formular to a context of the target sheet, and generating, using the second machine learning model, a predicted formula with the modified parameters for the reference formula, as taught by Gaunt, to the teachings of Danna and G-B because it assists a user in manipulating data in the spreadsheet (e.g. see Gaunt paragraph 0030).
As for dependent claim 16, Danna, G-B and Gaunt teach the method as described in claim 15, but Danna and G-B do not specifically teach the following limitation. However, Gaunt teaches:
wherein the output automatically presents the predicted formula in the target cell [(e.g. see Gaunt paragraphs 0045, 0046) ”asks the program predictor to provide a spreadsheet formula which fits the manually provided examples. This formula is then automatically applied to the remaining rows (or columns) … The user selects the range of cells where the desired aggregation result is to be displayed as indicated by rectangle 406 and an option 404 to fill the range with a formula is presented to the user. The program predictor predicts a suitable formula which is entered into all cells in the range of cells 406”].
The motivation to combine is the same as that used for claim 15.
As for dependent claim 17, Danna, G-B and Gaunt teach the method as described in claim 15, but Danna and G-B do not specifically teach the following limitation. However, Gaunt teaches:
wherein the user accepts the predicted formula [(e.g. see Gaunt paragraph 0045) ”The result is both completion of the aggregation task and expose of a spreadsheet formula which can be adapted or debugged by the user”].
The motivation to combine is the same as that used for claim 15.
As for dependent claim 18, Danna, G-B and Gaunt teach the method as described in claim 15, but Danna and G-B do not specifically teach the following limitation. However, Gaunt teaches:
further comprising: receiving additional information for the formula being created in the target cell; and providing an updated predicted formula in the target cell in response to receiving the additional information [(e.g. see Gaunt paragraph 0045) ”The result is both completion of the aggregation task and expose of a spreadsheet formula which can be adapted or debugged by the user”].
The motivation to combine is the same as that used for claim 15.
As for dependent claim 19, Danna, G-B and Gaunt teach the method as described in claim 15 and Danna further teaches:
wherein the first machine learning model is trained to identify whether pairs of spreadsheets are similar or dis-similar using training data generated by a weak supervision hypothesis test that compares sheet names of the pair of spreadsheets in determining whether the pairs of spreadsheets are similar or dis-similar [(e.g. see Danna paragraphs 0023, 0039, 0045) ”The dynamic submission automation system 220 may be configured to adjust model parameters during training. Model parameters may include weights, coefficients, offsets, or the like. Training may be supervised or unsupervised … The dynamic submission automation system 220 may retrain the first machine learning model and the second machine learning model using the accepted suggested associations. The dynamic submission automation system 220 can confirm if the data type of the suggested association for a field on the webpage matches the data type of the alternative association for the field on the webpage. If the data type of the suggested association for the field on the webpage does not match the data type of the alternative association, the dynamic submission automation system 220 may retrain the first machine learning model so that future suggested associations may be more accurate … Classifying a dataset may include determining whether a dataset is related to another datasets. Classifying a dataset may include clustering datasets and generating information indicating whether a dataset belongs to a cluster of datasets”].
As for dependent claim 20, Danna, G-B and Gaunt teach the method as described in claim 15, but Danna does not specifically teach the following limitations. However, G-B teaches:
wherein the second machine learning model is a fully connected network trained to identify whether regions of spreadsheets are similar or dis-similar [(e.g. see G-B paragraphs 0072, 0111) ”The system 100 can use a training system 110 to train a machine learning model on the values in the cells of the interactive spreadsheet 106 to predict values for the one or more identified cells 108, resulting in a trained model 112 … types of machine learning models can include … a neural network model … The system can determine which cells in the interactive spreadsheet the trained machine learning model is trained to predict. For example, if the interactive spreadsheet is a second, different interactive spreadsheet, the system can determine if the second interactive spreadsheet is organized in the same way as the first interactive spreadsheet, e.g., by the same rows or columns. For example, if the trained machine learning model was trained to predict column “H” in a first interactive spreadsheet and the second interactive spreadsheet has columns arranged in the same way as the first interactive spreadsheet, the system can determine that the trained machine learning model is trained to predict column “H” in the second interactive spreadsheet”].
Danna and G-B do not specifically teach and trained to identify formulas. However, Gaunt teaches:
and trained to identify formulas [(e.g. see Gaunt paragraph 0027, 0030) ”The computer program predictor is able to learn from past experience by training the program attribute predictor … The program predictor is able to predict programs in the form of spreadsheet formulae and offer these to assist a user in manipulating data in the spreadsheet and/or to fill in cells of the spreadsheet”].
The motivation to combine is the same as that used for claim 15.
Claims 11-14 are rejected under 35 U.S.C. 103 as being unpatentable over Danna et al. (US 2025/0272352 A1) in view of Guillame-Bert et al. (US 2024/0193418 A1, hereinafter: G-B), as applied to claim 9 above, and further in view of Frei et al. (US 2017/0185592 A1).
As for dependent claim 11, Danna and G-B teach the method as described in claim 9, but do not specifically teach further comprising: using the index to identify a plurality of similar spreadsheets to the target sheet; and automatically performing a task on the plurality of similar spreadsheets. However, in the same field of invention, Frei teaches:
further comprising: using the index to identify a plurality of similar spreadsheets to the target sheet; and automatically performing a task on the plurality of similar spreadsheets [(e.g. see Frei paragraphs 0069, 0074) ”groups of sheets arranged according to the similarity information stored in the sheet vertices … Once the vertices of the collaboration graph have been updated, other resource optimizations may be provided. As one non-limiting example, once sheets are combined into a group, discrepancies between sheets in the group may be detected and automatically addressed. For example, a new sheet may have been created that was placed by the collaboration graph analysis engine 220 into a group with multiple older sheets based on a matching title. The older sheets may all have matching permissions that are not shared by the new sheet. By virtue of being organized into the group, the permissions from the older sheets may be automatically copied to the new sheet by the collaboration graph analysis engine 220 in order maintain consistency within the group”].
Therefore, considering the teachings of Danna, G-B and Frei, it would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to add further comprising: using the index to identify a plurality of similar spreadsheets to the target sheet; and automatically performing a task on the plurality of similar spreadsheets, as taught by Frei, to the teachings of Danna and G-B because automatic provisioning of new sheets can save significant communication costs by reducing the number of network-based interface interactions that would have to be performed to manually apply the permissions to the new sheet (e.g. see Frei paragraph 0069).
As for dependent claim 12, Danna, G-B and Frei teach the method as described in claim 11, but Danna and G-B do not specifically teach the following limitation. However, Frei teaches:
wherein the task is automatically applying a category to the plurality of similar spreadsheets [(e.g. see Frei paragraph 0069) ”once sheets are combined into a group, discrepancies between sheets in the group may be detected and automatically addressed. For example, a new sheet may have been created that was placed by the collaboration graph analysis engine 220 into a group with multiple older sheets based on a matching title. The older sheets may all have matching permissions that are not shared by the new sheet. By virtue of being organized into the group, the permissions from the older sheets may be automatically copied to the new sheet by the collaboration graph analysis engine 220 in order maintain consistency within the group”].
The motivation to combine is the same as that used for claim 11.
As for dependent claim 13, Danna, G-B and Frei teach the method as described in claim 11, but Danna and G-B do not specifically teach the following limitation. However, Frei teaches:
wherein the task is automatically applying a security label to the plurality of similar spreadsheets [(e.g. see Frei paragraph 0069) ”once sheets are combined into a group, discrepancies between sheets in the group may be detected and automatically addressed. For example, a new sheet may have been created that was placed by the collaboration graph analysis engine 220 into a group with multiple older sheets based on a matching title. The older sheets may all have matching permissions that are not shared by the new sheet. By virtue of being organized into the group, the permissions from the older sheets may be automatically copied to the new sheet by the collaboration graph analysis engine 220 in order maintain consistency within the group”].
The motivation to combine is the same as that used for claim 11.
As for dependent claim 14, Danna, G-B and Frei teach the method as described in claim 11, but Danna and G-B do not specifically teach the following limitation. However, Frei teaches:
wherein the task is automatically applying access permissions to the plurality of similar spreadsheets [(e.g. see Frei paragraph 0069) ”once sheets are combined into a group, discrepancies between sheets in the group may be detected and automatically addressed. For example, a new sheet may have been created that was placed by the collaboration graph analysis engine 220 into a group with multiple older sheets based on a matching title. The older sheets may all have matching permissions that are not shared by the new sheet. By virtue of being organized into the group, the permissions from the older sheets may be automatically copied to the new sheet by the collaboration graph analysis engine 220 in order maintain consistency within the group”].
The motivation to combine is the same as that used for claim 11.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
U.S. Patent 10,902,194 B2 issued to Toronto et al. on 26 January 2021. The subject matter disclosed therein is pertinent to that of claims 1-20 (e.g. using machine learning to identify spreadsheet formulas).
U.S. PGPub 2015/0324346 A1 issued to Sankaran et al. on 12 November 2015. The subject matter disclosed therein is pertinent to that of claims 1-20 (e.g. matching and unifying spreadsheet regions).
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHRISTOPHER J FIBBI whose telephone number is (571)-270-3358. The examiner can normally be reached Monday - Thursday (8am-6pm).
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, William Bashore can be reached at (571)-272-4088. 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.
/CHRISTOPHER J FIBBI/Primary Examiner, Art Unit 2174