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 .
Election/Restrictions
Restriction to one of the following inventions is required under 35 U.S.C. 121:
I. Claims 1-17, 20, and 21, drawn to a method and a system of predicting values of one or more cells in a spreadsheet, classified in G06N3/08.
II. Claims 18-19, drawn to a method of validating existing data in a spreadsheet, classified in G06F40/18.
The inventions are independent or distinct, each from the other because:
Inventions I and II are directed to related processes. The related inventions are distinct if: (1) the inventions as claimed are either not capable of use together or can have a materially different design, mode of operation, function, or effect; (2) the inventions do not overlap in scope, i.e., are mutually exclusive; and (3) the inventions as claimed are not obvious variants. See MPEP § 806.05(j). In the instant case, the inventions as claimed
(1) have different modes of operations and functions (predicting values of one or more cells in a spreadsheet, and validating existing data in a spreadsheet)
(2) do not overlap in scope (each invention in groups I and II contain feature which do not appear in any of the other inventions) and
(3) the inventions of group I and II are not obvious variants of one another
Furthermore, the inventions as claimed do not encompass overlapping subject matter and there is nothing of record to show them to be obvious variants.
Restriction for examination purposes as indicated is proper because all the inventions listed in this action are independent or distinct for the reasons given above and there would be a serious search and/or examination burden if restriction were not required because one or more of the following reasons apply:
Groups I and II are classified by different CPC symbols as indicated above.
Applicant is reminded that upon the cancelation of claims to a non-elected invention, the inventorship must be corrected in compliance with 37 CFR 1.48(a) if one or more of the currently named inventors is no longer an inventor of at least one claim remaining in the application. A request to correct inventorship under 37 CFR 1.48(a) must be accompanied by an application data sheet in accordance with 37 CFR 1.76 that identifies each inventor by his or her legal name and by the processing fee required under 37 CFR 1.17(i).
During a telephone conversation with Jessica Li, Reg. No. 78,504 on 8 June 2026, a provisional election was made without traverse to prosecute the invention of Group I, claims 1-17, 20, and 21. Affirmation of this election must be made by applicant in replying to this Office action. Claims 18-19 are withdrawn from further consideration by the examiner, 37 CFR 1.142(b), as being drawn to a non-elected invention.
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.
Claim 9-12 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.
Claim 9 recites “generating a refined machine learning model based on the machine learning model”. The claim limitation discloses that an improved model is generated based on itself. It is not clear how the refined model is generated. It is not clear what constitutes as the refinement process to generate the refined model. The model may be trained on additional data to generate a refined model or the model may be refined by adjusting the parameter of the model. Examiner interprets the claim limitation as generating a refined model based modifying or updating the parameter or structure of the machine learning model.
Claims 9, 10, 11, and 12 recites “receiving data representing ... from the remote server”. It is not clear what entity receives the data from the remote server. Examiner interprets the claim limitation as the user device receives the data.
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-17, 20, and 21 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Regarding Claim 1:
Subject Matter Eligibility Analysis Step 1:
Claim 1 recites “A method comprising” and is thus a process, one of the four statutory categories of patentable subject matter.
Subject Matter Eligibility Analysis Step 2A Prong 1:
“” (a mental process that can be performed in the human mind, i.e. judgement)
“” (a mental process that can be performed in the human mind with the aid of pen and paper, i.e. evaluation)
“generating a respective predicted value for each of the identified cells ” (a mental process that can be performed in the human mind with the aid of pen and paper, i.e. judgement)
Claim 1 therefore recites an abstract idea.
Subject Matter Eligibility Analysis Step 2A Prong 2:
"displaying an interactive spreadsheet on a display of a user device, wherein the interactive spreadsheet displays values in cells arranged by row and column” (This step is directed to data gathering, which is understood to be insignificant extra solution activity - see MPEP 2106.05(g))
"receiving an input from a user that ” (This step is directed to data gathering, which is understood to be insignificant extra solution activity - see MPEP 2106.05(g))
“in response to receiving the input: training a machine learning model on the values in the cells of the interactive spreadsheet to ” (mere instructions to apply the exception using a generic computer component - see MPEP 2106.05(f))
“” (mere instructions to apply the exception using a generic computer component - see MPEP 2106.05(f))
"displaying the respective predicted values on the user device” (This step is directed to data gathering, which is understood to be insignificant extra solution activity - see MPEP 2106.05(g))
The additional elements as disclosed above alone or in combination do not integrate the judicial exception into practical application as they are mere insignificant extra solution activity in combination of generic computer functions being implemented with generic computer elements in a high level of generality to perform the disclosed abstract idea above. Therefore, Claim 1 is directed to the abstract idea.
Subject Matter Eligibility Analysis Step 2B:
"displaying an interactive spreadsheet on a display of a user device, wherein the interactive spreadsheet displays values in cells arranged by row and column” (This step is directed to transmitting or receiving information, which is understood to be insignificant extra solution activity and well understood, routine and conventional activity of gathering and analyzing information using conventional techniques and displaying the result as identified by the court - see MPEP 2106.05(d))
"receiving an input from a user that ” (This step is directed to transmitting or receiving information, which is understood to be insignificant extra solution activity and well understood, routine and conventional activity of transmitting and receiving data as identified by the court - see MPEP 2106.05(d))
“in response to receiving the input: training a machine learning model on the values in the cells of the interactive spreadsheet to ” (mere instructions to apply the exception using a generic computer component - see MPEP 2106.05(f))
“” (mere instructions to apply the exception using a generic computer component - see MPEP 2106.05(f))
"displaying the respective predicted values on the user device” (This step is directed to transmitting or receiving information, which is understood to be insignificant extra solution activity and well understood, routine and conventional activity of gathering and analyzing information using conventional techniques and displaying the result as identified by the court - see MPEP 2106.05(d))
The additional elements as disclosed above alone or in combination do not recite significantly more than the abstract idea itself as they are mere insignificant extra solution activity in combination of generic computer functions being implemented with generic computer elements in a high level of generality to perform the disclosed abstract idea above. Therefore, Claim 1 is subject-matter ineligible.
Regarding Claim 2:
Subject Matter Eligibility Analysis Step 2A Prong 1: None
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B:
“wherein each respective predicted value is displayed in a respective previously empty cell on the interactive spreadsheet” (This step is directed to transmitting or receiving information, which is understood to be insignificant extra solution activity and well understood, routine and conventional activity of gathering and analyzing information using conventional techniques and displaying the result as identified by the court - see MPEP 2106.05(d))
Regarding Claim 3:
Subject Matter Eligibility Analysis Step 2A Prong 1: None
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B:
“wherein the respective predicted values are displayed on the interactive spreadsheet without transitioning to an intermediate display” (This step is directed to transmitting or receiving information, which is understood to be insignificant extra solution activity and well understood, routine and conventional activity of gathering and analyzing information using conventional techniques and displaying the result as identified by the court - see MPEP 2106.05(d))
Regarding Claim 4:
Subject Matter Eligibility Analysis Step 2A Prong 1: None
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B:
“wherein training the machine learning model, generating a respective predicted value for each of the identified cells using the trained machine learning model, and displaying the respective predicted values are performed on the user device” (mere instructions to apply the exception using a generic computer component - see MPEP 2106.05(f))
Regarding Claim 5:
Subject Matter Eligibility Analysis Step 2A Prong 1: None
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B:
“wherein training the machine learning model, generating a respective predicted value for each of the identified cells using the trained machine learning model, and displaying the respective predicted values are performed without receiving any additional user inputs” (merely specifies a particular technological environment in which the abstract idea is to take place, ie. a field of use, and thus does not integrate the abstract idea into a practical application nor cannot provide significantly more than the abstract idea itself - see MPEP 2106.05(h))
Regarding Claim 6:
Subject Matter Eligibility Analysis Step 2A Prong 1: None
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B:
“wherein training the machine learning model comprises training the machine learning model on the user device without transferring the values in the interactive spreadsheet to other computers” (merely specifies a particular technological environment in which the abstract idea is to take place, ie. a field of use, and thus does not integrate the abstract idea into a practical application nor cannot provide significantly more than the abstract idea itself - see MPEP 2106.05(h))
Regarding Claim 7:
Subject Matter Eligibility Analysis Step 2A Prong 1:
“wherein training the machine learning model comprises determining which cells in the interactive spreadsheet are provided as input features and target outputs for the training of the machine learning model based on the identified cells” (a mental process that can be performed in the human mind, i.e. judgement)
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B: None
Regarding Claim 8:
Subject Matter Eligibility Analysis Step 2A Prong 1:
“wherein training the machine learning model comprises preprocessing the values in the cells using metadata for the corresponding cells” (a mental process that can be performed in the human mind, i.e. judgement)
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B: None
Regarding Claim 9:
Subject Matter Eligibility Analysis Step 2A Prong 1:
“” (a mental process that can be performed in the human mind, i.e. judgement)
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B:
“receiving an input from the user that ” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
“in response to receiving the input: transmitting data representing the values in the cells of the interactive spreadsheet and data representing the machine learning model to a remote server” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
“generating a refined machine learning model based on the machine learning model” (mere instructions to apply the exception using a generic computer component - see MPEP 2106.05(f))
“receiving data representing the refined machine learning model from the remote server” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
Regarding Claim 10:
Subject Matter Eligibility Analysis Step 2A Prong 1:
“” (a mental process that can be performed in the human mind, i.e. judgement)
“” (a mental process that can be performed in the human mind, i.e. judgement)
“generating a respective predicted value for each of the identified cells” (a mental process that can be performed in the human mind, i.e. judgement)
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B:
“receiving an input from the user that ” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
“in response to receiving the input: transmitting data representing the values in the cells of the interactive spreadsheet to a remote server” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
“training a machine learning model on the values in the cells of the interactive spreadsheet to
“receiving data representing the trained machine learning model from the remote server” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
“
“displaying the respective predicted values on the user device” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of gathering and analyzing information using conventional techniques and displaying the result as identified by the court (2106.05(d) in step 2B))
Regarding Claim 11:
Subject Matter Eligibility Analysis Step 2A Prong 1:
“” (a mental process that can be performed in the human mind, i.e. judgement)
“” (a mental process that can be performed in the human mind, i.e. judgement)
“generating a respective predicted value for each of the identified cells” (a mental process that can be performed in the human mind, i.e. judgement)
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B:
“receiving an input from the user that ” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
“in response to receiving the input: transmitting data representing the values in the cells of the interactive spreadsheet to a remote server” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
“training a machine learning model on the values in the cells of the interactive spreadsheet to
“
“receiving data representing the respective predicted values from the remote server” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
“displaying the respective predicted values on the user device” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of gathering and analyzing information using conventional techniques and displaying the result as identified by the court (2106.05(d) in step 2B))
Regarding Claim 12:
Subject Matter Eligibility Analysis Step 2A Prong 1:
“” (a mental process that can be performed in the human mind, i.e. judgement)
“” (a mental process that can be performed in the human mind, i.e. judgement)
“generating a respective predicted value ” (a mental process that can be performed in the human mind, i.e. judgement)
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B:
“receiving an input from the user that ” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
“in response to receiving the input: training a machine learning model on the values in the cells of the interactive spreadsheet to
“transmitting data representing the values in the cells of the interactive spreadsheet and data representing the trained machine learning model to a remote server” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
“
“receiving data representing the respective predicted values from the remote server” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
“displaying the respective predicted values on the user device” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of gathering and analyzing information using conventional techniques and displaying the result as identified by the court (2106.05(d) in step 2B))
Regarding Claim 13:
Subject Matter Eligibility Analysis Step 2A Prong 1:
“in response to receiving the input: determining which cells corresponding to the one or more additional values the trained machine learning model is trained to predict” (a mental process that can be performed in the human mind, i.e. judgement)
“generating a respective predicted value for each cell corresponding to the one or more additional values the trained machine learning model is trained to predict ” (a mental process that can be performed in the human mind, i.e. judgement)
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B:
“receiving an input with one or more additional values in cells in the interactive spreadsheet” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
“
“displaying the respective predicted values on the user device” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of gathering and analyzing information using conventional techniques and displaying the result as identified by the court (2106.05(d) in step 2B))
Regarding Claim 14:
Subject Matter Eligibility Analysis Step 2A Prong 1:
“” (a mental process that can be performed in the human mind, i.e. judgement)
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B:
“receiving an input from the user” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
“in response to receiving the input, saving data representing the trained machine learning model to a remote server or the user device” (This step is directed to storing data in memory, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of storing and retrieving information in memory as identified by the court (2106.05(d) in step 2B))
“displaying the location of the saved data representing the trained machine learning model” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of gathering and analyzing information using conventional techniques and displaying the result as identified by the court (2106.05(d) in step 2B))
Regarding Claim 15:
Subject Matter Eligibility Analysis Step 2A Prong 1:
“model to be evaluated” (a mental process that can be performed in the human mind, i.e. judgement)
“in response to receiving the input, performing an evaluation of the trained machine learning model ” (a mental process that can be performed in the human mind, i.e. judgement)
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B:
“receiving an input from the user that ” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
“” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of gathering and analyzing information using conventional techniques and displaying the result as identified by the court (2106.05(d) in step 2B))
Regarding Claim 16:
Subject Matter Eligibility Analysis Step 2A Prong 1:
“” (a mental process that can be performed in the human mind, i.e. judgement)
“in response to receiving the input, performing calculations of relative importance of input features on predicted outputs of the trained machine learning model ” (a mental process that can be performed in the human mind with the aid of pen and paper, i.e. evaluation)
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B:
“receiving an input from the user that ” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
“” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of gathering and analyzing information using conventional techniques and displaying the result as identified by the court (2106.05(d) in step 2B))
Regarding Claim 17:
Subject Matter Eligibility Analysis Step 2A Prong 1:
“model to be used for prediction” (a mental process that can be performed in the human mind, i.e. judgement)
“in response to receiving the input: determining which cells in the interactive spreadsheet the trained machine learning model is trained to predict” (a mental process that can be performed in the human mind, i.e. judgement)
“generating a respective predicted value for each cell in the spreadsheet the trained machine learning model is trained to predict ” (a mental process that can be performed in the human mind, i.e. judgement)
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B:
“receiving an input from the user” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of transmitting and receiving data as identified by the court (2106.05(d) in step 2B))
“” (mere instructions to apply the exception using a generic computer component - see MPEP 2106.05(f))
“displaying the respective predicted values on the user device” (This step is directed to data gathering, which is understood to be insignificant extra solution activity (2106.05(g) in step 2A prong 2) and well understood, routine and conventional activity of gathering and analyzing information using conventional techniques and displaying the result as identified by the court (2106.05(d) in step 2B))
Regarding Claim 20:
The claim recites a system that performs the method as described in claim 1. Therefore, claim 20 is rejected for the same reasons as disclosed for claim 1. The limitations for additional elements of claim 20 are analyzed below.
Subject Matter Eligibility Analysis Step 2A Prong 1:
Please see Step 2A Prong 1 analysis of claim 1
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B:
“A system comprising one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising” (mere instructions to apply the exception using a generic computer component - see MPEP 2106.05(f))
Regarding Claim 21:
The claim recites an article of manufacture that performs the method as described in claim 1. Therefore, claim 21 is rejected for the same reasons as disclosed for claim 1. The limitations for additional elements of claim 21 are analyzed below.
Subject Matter Eligibility Analysis Step 2A Prong 1:
Please see Step 2A Prong 1 analysis of claim 1
Subject Matter Eligibility Analysis Step 2A Prong 2 & 2B:
“One or more non-transitory computer-readable storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations comprising” (mere instructions to apply the exception using a generic computer component - see MPEP 2106.05(f))
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-8, 13, 15, 17, and 20-21 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Mansour (US20220391719A1).
Regarding claim 1, Mansour teaches:
“A method comprising: displaying an interactive spreadsheet on a display of a user device, wherein the interactive spreadsheet displays values in cells arranged by row and column” ([abstract, 0053, Figure 3 & 4], A process of generating a predictive AI model for automatically generating a tabular data prediction is disclosed by Mansour. A user device can display a spreadsheet with a number of rows and columns. Figure 3 shows the different opportunity ID in each row and the columns can include city and opportunity size to describe each opportunity. Raw data is populated in the cells of the spreadsheet.)
“receiving an input from a user that identifies one or more cells to be filled in with respective predicted values” ([0053-0054; 0057-0059], A plugin allows the user to add one or more new columns to the spreadsheet based on the input provided by the user. The predictive AI model can populate the new column after it has been trained on a subset of the data from the spreadsheet.)
“in response to receiving the input: training a machine learning model on the values in the cells of the interactive spreadsheet to predict respective values for the one or more identified cells” ([0057-0059, Figure 4], User can provide input to add one or more new columns to the spreadsheet. In one embodiment, the model can be trained on data in rows having opportunity ID 1 to 5. After training, the model can be used to generate predictions for opportunity ID 1 to 23.)
“generating a respective predicted value for each of the identified cells using the trained machine learning model” ([0058-0059, Figure 4], After training, the model can be used to generate predictions for opportunity ID 1 to 23 to populate the prediction column. The model can also assign confidence value to each opportunity ID.)
“displaying the respective predicted values on the user device” ([0059, Figure 4], The output of the model is displayed directly on the spreadsheet on the user device as shown in Figure 4.)
Regarding claim 2, Mansour teaches:
“wherein each respective predicted value is displayed in a respective previously empty cell on the interactive spreadsheet” ([0057-0059, Figure 4], When adding a new column, the respective cells are empty. After training, the model can be used to generate predictions for opportunity ID 1 to 23 to populate the prediction column. The model can also assign confidence value to each opportunity ID.)
Regarding claim 3, Mansour teaches:
“wherein the respective predicted values are displayed on the interactive spreadsheet without transitioning to an intermediate display” ([0035; 0057-0059, Figure 1], The computing device contains the model for automatically generating a prediction and displaying it on the user device.)
Regarding claim 4, Mansour teaches:
“wherein training the machine learning model, generating a respective predicted value for each of the identified cells using the trained machine learning model, and displaying the respective predicted values are performed on the user device” ([0035; 0057-0059, Figure 1], Under the broadest reasonable interpretation, a user device can be a computer. Figure 1 discloses a computing environment that includes a user device and a computing device having a processor, a data storage, and a data communication network. It is implied that the computing environment can be a computer, where the user device consists of a keyboard and monitor and the computing device consist of a processor and memory.)
Regarding claim 5, Mansour teaches:
“wherein training the machine learning model, generating a respective predicted value for each of the identified cells using the trained machine learning model, and displaying the respective predicted values are performed without receiving any additional user inputs” ([0042; 0058], The model automatically refreshes in real-time when any changes occur in a user validated label. The input of the user is processed to obtain user-validated labels. After obtaining the user-validated labels, the model automatically trains on the data of the spreadsheet and generate a prediction to populate the cells of the added column.)
Regarding claim 6, Mansour teaches:
“wherein training the machine learning model comprises training the machine learning model on the user device without transferring the values in the interactive spreadsheet to other computers” ([0050; 0058-0059], The computing device can be implemented into the spreadsheet program as a plugin for automatically generating a tabular data prediction. Thus, the training of the model is performed on same computer as the spreadsheet program.)
Regarding claim 7, Mansour teaches:
“wherein training the machine learning model comprises determining which cells in the interactive spreadsheet are provided as input features and target outputs for the training of the machine learning model based on the identified cells” ([0039; 0053-0054; 0057-0059], The training of the model may be selected from the plurality of raw data (input features). The model can be trained on at least some of the plurality of raw data to generate predictions for the cells in the new smart column.)
Regarding claim 8, Mansour teaches:
“wherein training the machine learning model comprises preprocessing the values in the cells using metadata for the corresponding cells” ([0038], The computing device may validate, based on a user input, a first label that corresponds to the first predefined category (metadata) to obtain a first user-validated label.)
Regarding claim 13, Mansour teaches:
“receiving an input with one or more additional values in cells in the interactive spreadsheet” ([0053-0054; 0067], A plugin allows the user to add one or more new columns to the spreadsheet based on the input provided by the user. The plugin may prompt the user to enter one or more desired values into a few of the rows of the new column. The predictive AI model can populate the new column after it has been trained on a subset of the data from the spreadsheet.)
“in response to receiving the input: determining which cells corresponding to the one or more additional values the trained machine learning model is trained to predict” ([0067], User can define a smart column that comprises the tabular prediction and the tabular prediction is generated based on at least some of the plurality of raw data.)
“generating a respective predicted value for each cell corresponding to the one or more additional values the trained machine learning model is trained to predict using the trained machine learning model” ([0058-0059, 0067], After training, the model can be used to generate predictions for opportunity ID 1 to 23 to populate the prediction column. The model can also assign confidence value to each opportunity ID.)
“displaying the respective predicted values on the user device” ([0059, Figure 4], The output of the model is displayed directly on the spreadsheet on the user device as shown in Figure 4.)
Regarding claim 15, Mansour teaches:
“receiving an input from the user that identifies a trained machine learning model to be evaluated” ([0038; 0053-0054; 0067], A plugin allows the user to add one or more new columns to the spreadsheet based on the input provided by the user. The user may select to add a confidence score column. The user may add a confidence score column to evaluate the output generated by the predictive AI model.)
“in response to receiving the input, performing an evaluation of the trained machine learning model and displaying performance metrics from the evaluation on the user device” ([0059], In some embodiment, when the spreadsheet is populated with the smart column of confidence score, the predictive AI model generates confidence values for each row of the spreadsheet.)
Regarding claim 17, Mansour teaches:
“receiving an input from the user that identifies a trained machine learning model to be used for prediction” ([0050; 0053-0054; 0067], A plugin in the spreadsheet program allows the user to execute the computing device to perform tabular prediction using the predictive AI model. When the user executes the plugin, the user intents to use the predictive AI model to perform a task on the spreadsheet data.)
“in response to receiving the input: determining which cells corresponding to the one or more additional values the trained machine learning model is trained to predict” ([0067], User can define a smart column that comprises the tabular prediction and the tabular prediction is generated based on at least some of the plurality of raw data.)
“generating a respective predicted value for each cell in the spreadsheet the trained machine learning model is trained to predict using the trained machine learning model” ([0058-0059, 0067], After training, the model can be used to generate predictions for opportunity ID 1 to 23 to populate the prediction column. The model can also assign confidence value to each opportunity ID.)
“displaying the respective predicted values on the user device” ([0059, Figure 4], The output of the model is displayed directly on the spreadsheet on the user device as shown in Figure 4.)
Regarding claim 20:
Claim 20 recites a system that performs the same process as described in Claim 1. Therefore claim 20 is rejected under the same reasons mention for claim 1. The additional elements of claim 20 is addressed below:
“A system comprising one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to perform operations comprising” ([0071; 0073], A computer having a processor and memory can be used to perform the steps of executing the plugin to run the model for generating predictions for spreadsheet data.)
Regarding claim 21:
Claim 21 recites an article of manufacture that performs the same process as described in Claim 1. Therefore claim 21 is rejected under the same reasons mention for claim 1. The additional elements of claim 21 is addressed below:
“One or more non-transitory computer-readable storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations comprising” ([0071; 0073], A computer having a processor and memory can be used to perform the steps of executing the plugin to run the model for generating predictions for spreadsheet data.)
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 9-12 are rejected under 35 U.S.C. 103 as being unpatentable over Mansour (US20220391719A1) in view of Castaneda-Villagran (US20190121847A1).
Regarding claim 9, Mansour does not explicitly disclose an implementation of “receiving an input from the user that identifies a machine learning model to be refined”, “in response to receiving the input: transmitting data representing the values in the cells of the interactive spreadsheet and data representing the machine learning model to a remote server”, “generating a refined machine learning model based on the machine learning model”, and “receiving data representing the refined machine learning model from the remote server”. However, Castaneda-Villagran discloses in the same field of endeavor:
“receiving an input from the user that identifies a machine learning model to be refined” ([0046, 0050], A formula algorithm may define a data analysis model. A client device sends the spreadsheet file with the formula algorithm to a sever to generate an extrapolated algorithm. The user may wish to refine the extrapolated algorithm once generated.)
“in response to receiving the input: transmitting data representing the values in the cells of the interactive spreadsheet and data representing the machine learning model to a remote server” ([0046, 0050-0051], The user can initiate the transfer of the spreadsheet file and the formula algorithm to a server.)
“generating a refined machine learning model based on the machine learning model” ([0050], A parameter tuning engine can be used to modify the extrapolated algorithm.)
“receiving data representing the refined machine learning model from the remote server” ([0050, 0053], The model server may display the extrapolated algorithm to the user for direct manual modification and the user may continuously adjust the extrapolated algorithm in an iterative process. Thus, the server provides the updated model to the user device for refinement.)
It would be obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of “receiving an input from the user that identifies a machine learning model to be refined”, “in response to receiving the input: transmitting data representing the values in the cells of the interactive spreadsheet and data representing the machine learning model to a remote server”, “generating a refined machine learning model based on the machine learning model”, and “receiving data representing the refined machine learning model from the remote server” from Castaneda-Villagran into the teaching of Mansour. Doing so can improve the performance of data analysis of spreadsheet data by using remote servers to perform the computations for predictions of a dataset (Castaneda-Villagran, abstract).
Regarding claim 10, Mansour teaches:
“receiving an input from the user that identifies one or more cells to be filled in with respective predicted values” ([0053-0054; 0057-0059], A plugin allows the user to add one or more new columns to the spreadsheet based on the input provided by the user. The predictive AI model can populate the new column after it has been trained on a subset of the data from the spreadsheet.)
“training a machine learning model on the values in the cells of the interactive spreadsheet to predict respective values for the one or more identified cells” ([0057-0059, Figure 4], User can provide input to add one or more new columns to the spreadsheet. In one embodiment, the model can be trained on data in rows having opportunity ID 1 to 5. After training, the model can be used to generate predictions for opportunity ID 1 to 23.)
“generating a respective predicted value for each of the identified cells using the trained machine learning model” ([0058-0059, Figure 4], After training, the model can be used to generate predictions for opportunity ID 1 to 23 to populate the prediction column. The model can also assign confidence value to each opportunity ID.)
“displaying the respective predicted values on the user device” ([0059, Figure 4], The output of the model is displayed directly on the spreadsheet on the user device as shown in Figure 4.)
Mansour does not explicitly disclose an implementation of “in response to receiving the input: transmitting data representing the values in the cells of the interactive spreadsheet to a remote server” and “receiving data representing the trained machine learning model from the remote server”. However, Castaneda-Villagran discloses in the same field of endeavor:
“in response to receiving the input: transmitting data representing the values in the cells of the interactive spreadsheet to a remote server” ([0046, 0050-0051], The user can initiate the transfer of the spreadsheet file and the formula algorithm to a server to generate prediction values of one or more prediction metrics.)
“receiving data representing the trained machine learning model from the remote server” ([0050, 0053], The model server may display the extrapolated algorithm to the user for direct manual modification and the user may continuously adjust the extrapolated algorithm in an iterative process. Thus, the server provides the updated model to the user device for refinement.)
It would be obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of “in response to receiving the input: transmitting data representing the values in the cells of the interactive spreadsheet to a remote server” and “receiving data representing the trained machine learning model from the remote server” from Castaneda-Villagran into the teaching of Mansour. Doing so can improve the performance of data analysis of spreadsheet data by using remote servers to perform the computations for predictions of a dataset (Castaneda-Villagran, abstract).
Regarding claim 11, Mansour teaches:
“receiving an input from the user that identifies one or more cells to be filled in with respective predicted values” ([0053-0054; 0057-0059], A plugin allows the user to add one or more new columns to the spreadsheet based on the input provided by the user. The predictive AI model can populate the new column after it has been trained on a subset of the data from the spreadsheet.)
“training a machine learning model on the values in the cells of the interactive spreadsheet to predict respective values for the one or more identified cells” ([0057-0059, Figure 4], User can provide input to add one or more new columns to the spreadsheet. In one embodiment, the model can be trained on data in rows having opportunity ID 1 to 5. After training, the model can be used to generate predictions for opportunity ID 1 to 23.)
“generating a respective predicted value for each of the identified cells using the trained machine learning model” ([0058-0059, Figure 4], After training, the model can be used to generate predictions for opportunity ID 1 to 23 to populate the prediction column. The model can also assign confidence value to each opportunity ID.)
“displaying the respective predicted values on the user device” ([0059, Figure 4], The output of the model is displayed directly on the spreadsheet on the user device as shown in Figure 4.)
Mansour does not explicitly disclose an implementation of “in response to receiving the input: transmitting data representing the values in the cells of the interactive spreadsheet to a remote server” and “receiving data representing the respective predicted values from the remote server”. However, Castaneda-Villagran discloses in the same field of endeavor:
“in response to receiving the input: transmitting data representing the values in the cells of the interactive spreadsheet to a remote server” ([0046, 0050-0051], The user can initiate the transfer of the spreadsheet file and the formula algorithm to a server to generate prediction values of one or more prediction metrics.)
“receiving data representing the respective predicted values from the remote server” ([0052], The output data is provided to the user.)
It would be obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of “in response to receiving the input: transmitting data representing the values in the cells of the interactive spreadsheet to a remote server” and “receiving data representing the respective predicted values from the remote server” from Castaneda-Villagran into the teaching of Mansour. Doing so can improve the performance of data analysis of spreadsheet data by using remote servers to perform the computations for predictions of a dataset (Castaneda-Villagran, abstract).
Regarding claim 12, Mansour teaches:
“receiving an input from the user that identifies one or more cells to be filled in with respective predicted values” ([0053-0054; 0057-0059], A plugin allows the user to add one or more new columns to the spreadsheet based on the input provided by the user. The predictive AI model can populate the new column after it has been trained on a subset of the data from the spreadsheet.)
“in response to receiving the input: training a machine learning model on the values in the cells of the interactive spreadsheet to predict respective values for the one or more identified cells” ([0057-0059, Figure 4], User can provide input to add one or more new columns to the spreadsheet. In one embodiment, the model can be trained on data in rows having opportunity ID 1 to 5. After training, the model can be used to generate predictions for opportunity ID 1 to 23.)
“generating a respective predicted value on the ” ([0058-0059, Figure 4], After training, the model can be used to generate predictions for opportunity ID 1 to 23 to populate the prediction column. The model can also assign confidence value to each opportunity ID.)
“displaying the respective predicted values on the user device” ([0059, Figure 4], The output of the model is displayed directly on the spreadsheet on the user device as shown in Figure 4.)
Mansour does not explicitly disclose an implementation of “transmitting data representing the values in the cells of the interactive spreadsheet and data representing the trained machine learning model to a remote server”, “generating a respective predicted value on the remote server ...” and “receiving data representing the respective predicted values from the remote server”. However, Castaneda-Villagran discloses in the same field of endeavor:
“transmitting data representing the values in the cells of the interactive spreadsheet and data representing the trained machine learning model to a remote server” ([0046, 0052-0053], The user can initiate the transfer of the spreadsheet file and the formula algorithm to a server to generate prediction values of one or more prediction metrics. The refinement of the model can be in an iterative manner to continuous update the model with new data.)
“generating a respective predicted value on the remote server for each of the identified cells using the trained machine learning model” ([0052], The model generates output data that consists of prediction values for the prediction metric for each data entry of the dataset.)
“receiving data representing the respective predicted values from the remote server” ([0052], The output data is provided to the user.)
It would be obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of “transmitting data representing the values in the cells of the interactive spreadsheet and data representing the trained machine learning model to a remote server”, “generating a respective predicted value on the remote server ...” and “receiving data representing the respective predicted values from the remote server” from Castaneda-Villagran into the teaching of Mansour. Doing so can improve the performance of data analysis of spreadsheet data by using remote servers to perform the computations for predictions of a dataset (Castaneda-Villagran, abstract).
Claim 14 is rejected under 35 U.S.C. 103 as being unpatentable over Mansour (US20220391719A1) in view of McKenzie (US20160055140A1).
Regarding claim 14, Mansour teaches:
“receiving an input from the user that identifies a trained machine learning model to be used in another interactive spreadsheet or shared with another user” ([0050; 0053], The spreadsheet program may utilize the computing device as a plugin for generating a tabular data prediction using the predictive AI model. A plugin allows the user to add one or more new columns to the spreadsheet based on the input provided by the user. It is implied that the user can open different spreadsheet files within the spreadsheet program and when the plugin is initiated, the user intents to run the model on the current spreadsheet data.)
Mansour does not explicitly disclose an implementation of “in response to receiving the input, saving data representing the trained machine learning model to a remote server or the user device” and “displaying the location of the saved data representing the trained machine learning model”. However, McKenzie discloses in the same field of endeavor:
“in response to receiving the input, saving data representing the ” ([0074-0075; 0097; 0191], Additionally functionality can be accessed from a spreadsheet program using a plugin. A user can create a model and save it to the intermediary server to be accessed by other users and used with other spreadsheet files. Mansour (par. 50) teaches the model can be a trained predictive AI model.)
“displaying the location of the saved data representing the ” ([0148-0150], A end user client device can log onto the intermediary server to request access to an expert model. Mansour (par. 50) teaches the model can be a trained predictive AI model.)
It would be obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of “in response to receiving the input, saving data representing the trained machine learning model to a remote server or the user device” and “displaying the location of the saved data representing the trained machine learning model” from McKenzie into the teaching of Mansour. Doing so can improve the utilization of a spreadsheet model by allowing the model to be shared with other users and used with the user’s spreadsheet data (McKenzie, abstract).
Claims 16 is rejected under 35 U.S.C. 103 as being unpatentable over Mansour (US20220391719A1) in view of Achin (US20180060738A1).
Regarding claim 16, Mansour teaches:
“receiving an input from the user that identifies a trained machine learning model to be analyzed” ([0038; 0053-0054; 0067], A plugin allows the user to add one or more new columns to the spreadsheet based on the input provided by the user. The user may select to add a confidence score column. The user may add a confidence score column to evaluate the output generated by the predictive AI model. The confidence score provides information for the user to help the user determine the performance of the machine learning model.)
Mansour does not explicitly disclose an implementation of “in response to receiving the input, performing calculations of relative importance of input features on predicted outputs of the trained machine learning model and displaying results from the calculations on the user device”. However, Achin discloses in the same field of endeavor:
“in response to receiving the input, performing calculations of relative importance of input features on predicted outputs of the trained machine learning model and displaying results from the calculations on the user device” ([0303; 0322], A user may request feature importance calculation on demand for one or more models. The system calculates and display the feature importance values for the models.)
It would be obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of “in response to receiving the input, performing calculations of relative importance of input features on predicted outputs of the trained machine learning model and displaying results from the calculations on the user device” from Achin into the teaching of Mansour. Doing so can improve the performance of a ML model by evaluating the performance of the model on feature importance of a dataset (Achin, abstract).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to GARY MAC whose telephone number is (703)756-1517. The examiner can normally be reached Monday - Friday 8:00 AM - 5:00 PM.
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, Abdullah Kawsar can be reached at (571) 270-3169. 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.
/GARY MAC/Examiner, Art Unit 2127
/ABDULLAH AL KAWSAR/Supervisory Patent Examiner, Art Unit 2127