DETAILED ACTION
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 .
Status of Claims
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR
1.17(e), was filed in this application after final rejection. Since this application is eligible for continued
examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the
finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 07/15/2025 has been entered.
Claims 1, 2, 4, 14, 15, 19, and 20 are amended. No claim has been cancelled, and there are no new claims.
Claims 1–20 are pending for examination.
Response to Arguments
In reference to 35 USC § 101
Applicant’s arguments, filed on 07/15/2025, with respect to the § 101 rejections have been fully considered but are not persuasive. Applicant argues, beginning on Pg. 10 in the Remarks, that “one skilled in the art would not confuse a person looking at a screen and crunching data with the presently presented claims, which now recite model explainability functions that are included in query statements, and further include scores that are generated based on these model explainability functions.”
First, Examiner notes the BRI of “model explainability functions” is any clarification on how an AI or machine learning model arrives at a specific prediction or decision. Second, the claim includes a mental process given the BRI of “identify one or more parameters” and “generate … the feature attributions” is merely identifying parameters that associate features with attributes to clarify a model output. Thus, Examiner respectfully disagrees (see detailed analysis of the newly amended claims in § 101 below). See also MPEP 2106.04(a)(2)(III)(C):
Claims can recite a mental process even if they are claimed as being performed on a computer. The Supreme Court recognized this in Benson, determining that a mathematical algorithm for converting binary coded decimal to pure binary within a computer’s shift register was an abstract idea. The Court concluded that the algorithm could be performed purely mentally even though the claimed procedures "can be carried out in existing computers long in use, no new machinery being necessary." 409 U.S at 67, 175 USPQ at 675. See also Mortgage Grader, 811 F.3d at 1324, 117 USPQ2d at 1699 (concluding that concept of "anonymous loan shopping" recited in a computer system claim is an abstract idea because it could be "performed by humans without a computer").
The additional limitations do not integrate the abstract ideas into practical application nor do they provide significantly more. See MPEP 2106.04(d)(1) and MPEP 2106.05(a) which respectively state:
if the specification explicitly sets forth an improvement but in a conclusory manner (i.e., a bare assertion of an improvement without the detail necessary to be apparent to a person of ordinary skill in the art), the examiner should not determine the claim improves technology. Second, if the specification sets forth an improvement in technology, the claim must be evaluated to ensure that the claim itself reflects the disclosed improvement. That is, the claim includes the components or steps of the invention that provide the improvement described in the specification. The claim itself does not need to explicitly recite the improvement described in the specification (e.g., "thereby increasing the bandwidth of the channel").
An indication that the claimed invention provides an improvement can include a discussion in the specification that identifies a technical problem and explains the details of an unconventional technical solution expressed in the claim, or identifies technical improvements realized by the claim over the prior art. For example, in McRO, the court relied on the specification’s explanation of how the particular rules recited in the claim enabled the automation of specific animation tasks that previously could only be performed subjectively by humans, when determining that the claims were directed to improvements in computer animation instead of an abstract idea. McRO, 837 F.3d at 1313-14, 120 USPQ2d at 1100-01. In contrast, the court in Affinity Labs of Tex. v. DirecTV, LLC relied on the specification’s failure to provide details regarding the manner in which the invention accomplished the alleged improvement when holding the claimed methods of delivering broadcast content to cellphones ineligible. 838 F.3d 1253, 1263-64, 120 USPQ2d 1201, 1207-08 (Fed. Cir. 2016).
See detailed analysis of the newly amended claims in § 101 below. Thus, examiner maintains the § 101 rejections.
In reference to 35 USC § 103
Applicant’s arguments filed on 07/15/2025, with respect to the newly amended limitations have been fully considered but are not persuasive.
Applicant argues, beginning on Pg. 8 in the Remarks, that Szeto does not disclose the features of amended claim 1. Specifically, Applicant argues that “the ‘one or more parameters’ recited in amended claim 1 are ‘included in the one or more query statements’ and further each parameter is ‘specifying a respective model explainability function.’ Therefore, at least this feature of amended claim 1 is not addressed in the rejection of claim 1 in the Final Office Action.” Examiner respectfully disagrees. Examiner contends that Szeto indeed teaches the aforementioned limitations including the newly amended portions. See § 103 below for a detailed analysis. For example and to clarify, Szeto teaches the application interfaces with the database to receive types of available data (i.e., input data) to process for model instructions, selected based on the researcher’s query (i.e., using one or more query statements), found in at least paragraph 0063 reproduced below:
the application may interface with a database to query the types of available data, or alternatively, the database may be configured to send a report reflecting the types of data available, to the global modeling server 130. Once a description of the metadata (reflecting the private data) is available, model instructions can then be configured to make reference to the private data, thereby providing instructions regarding selection of inputs to the machine learning systems.
Szeto goes on to describe metadata is used to configure instructions that makes reference to, based on the attribute space (i.e., attributes associated with feature values), the private data in at least paragraphs 0063–0064, partially reproduced below:
Once a description of the metadata (reflecting the private data) is available, model instructions can then be configured to make reference to the private data, thereby providing instructions regarding selection of inputs to the machine learning systems. In cases in which a query by a researcher is ongoing and continuously updated, e.g., at periodic intervals, the system can be configured to recognize the metadata, determine whether key parameters are present, and then cause generation and transmission of model instructions corresponding to the query set up by the researcher. In other cases, for novel queries, a researcher may generate the model instructions in a manual or semi-automated manner. For new queries, the system may be configured to provide recommendations regarding types of data to analyze in order to generate model instructions for such new queries … Metadata from each private data server can be provided to the global model server. The metadata returns the attribute space (and not raw or private data).
Finally, Szeto teaches the model engine is configured to determine whether key parameters are present (i.e., identify one or more parameters) from recognizing the metadata that is selected based on the researchers query (i.e., using one or more query statements) to generate model instructions (i.e., specify respective model explainability functions) in at least paragraphs 0062–0064, partially reproduced below:
In cases in which a query by a researcher is ongoing and continuously updated, e.g., at periodic intervals, the system can be configured to recognize the metadata, determine whether key parameters are present, and then cause generation and transmission of model instructions corresponding to the query set up by the researcher … the metadata returns the attribute space (and not raw or private data). Based on this information, the researcher generating the machine learning task(s) can configure model instructions for a particular private data server to analyze a particular set of private data.
Thus, Szeto teaches the limitations argued by applicant.
With respect to the Remarks, the remaining arguments have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Thus, examiner maintains the § 103 rejections.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title
Claims 1–20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Regarding Claim 1:
Step 1 — Is the claim to a process, machine, manufacture, or composition of matter?
Yes, claim 1 is directed to a system i.e., a machine.
Step 2A — Prong 1 Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes, the claim recites an abstract idea.
“generate, using at least the model output and model explainability functions of the one or more parameters, a plurality of feature attributions for the input data, wherein each feature attribution is associated with a respective corresponding feature value of the plurality of feature values, and wherein each respective feature attribution is a score indicating how much of an impact the corresponding feature value has on the model output of the machine learning model”
“identify one or more parameters included in the one or more query statements, each parameter of the one or more parameters specifying a respective model explainability function”
These limitations, under their broadest reasonable interpretation, cover mental processes, concepts performed in the human mind (including an observation, evaluation, judgment, opinion). See MPEP 2106.04(a)(2). In particular, with the aid of pen and paper, a human can generate attributions using query statements and the output of the model, and a human, with the aid of pen and paper, can identify parameters in query statements.
Step 2A — Prong 2 — Does the claim recite additional elements that integrate the judicial exception into a practical application?
No, there are no additional elements that integrate the judicial exception into a practical application. The additional elements:
“one or more memory devices, and one or more processors configured to” — This limitation is reciting generic computer components at a high-level of generality (i.e., as a generic computer component performing a generic computer function) such that it amounts no more than mere instructions to apply the exception using a generic computer component. See MPEP 2106.05(f).
“receive input data selected using one or more query statements, wherein each data item of the input data is associated with a plurality of feature values” — This limitation is directed to the activity of data gathering and outputting which is not an inventive concept because it is insignificant extra-solution activity of mere data gathering. See Mayo, 566 U.S. at 79, 101 USPQ2d at 1968; OIP Techs., Inc. v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1092-93 (Fed. Cir. 2015); MPEP 2106.05(g)(3). This limitation is well-understood, routine, and conventional because it involves transmitting information over a network. MPEP 2106.05(d)(II).
“process the input data through the machine learning model to generate the model output” — This limitation amounts to no more than mere instructions to apply the exception and is the equivalent to mere instruction to implement the abstract idea on a computer. See MPEP 2106.05(f). Processing data with a models merely invokes computers or other machinery as a tool to perform an existing process.
Step 2B — Does the claim recite additional elements that amount to significantly more than the judicial exception?
No, there are no additional elements that amount to significantly more than the judicial exception.
“receive input data selected using one or more query statements, wherein each data item of the input data is associated with a plurality of feature values” — This limitation is directed to the activity of data gathering and outputting which is not an inventive concept because it is insignificant extra-solution activity of mere data gathering. See Mayo, 566 U.S. at 79, 101 USPQ2d at 1968; OIP Techs., Inc. v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1092-93 (Fed. Cir. 2015); MPEP 2106.05(g)(3). This limitation is well-understood, routine, and conventional because it involves transmitting information over a network. MPEP 2106.05(d)(II).
Regarding Claim 2:
The claim is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim is dependent on claim 1 which included an abstract idea (see rejection for claim 1 above). This claim merely recites a further limitation on the generating limitation which is directed to an abstract idea that covers mathematical concepts. The additional limitation:
“wherein a feature attribution for a respective feature value of the input data corresponds to a value measuring the degree of importance the respective feature value has in generating the model output” — These limitations are merely a continuation of the abstract idea in claim 1. Under their broadest reasonable interpretation, they cover mathematical concepts (including mathematical relationships, mathematical formulas or equations, mathematical calculations). See MPEP 2106.04(a)(2). In particular, the generate limitation includes mathematical concepts, claimed in a generic manner, that merely utilize known mathematical formulas, equations, and calculations. See present disclosure in at least paragraphs 0041–0054.
Thus, the judicial exception is not integrated into a practical application (see MPEP 2106.04(d)I.), failing Step 2A Prong 2. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception under step 2B.
Regarding Claim 3:
Step 1 — Is the claim to a process, machine, manufacture, or composition of matter?
Yes, claim 3 depends from claim 1 (see analysis of claim 1 above) which is directed to an system i.e., a machine.
Step 2A — Prong 1 Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes, the claim recites an abstract idea.
“generate the feature attributions [using the local server]”
These limitations, under their broadest reasonable interpretation, cover mathematical concepts (including mathematical relationships, mathematical formulas or equations, mathematical calculations). See MPEP 2106.04(a)(2). In particular, the above generate limitation includes mathematical concepts (e.g., weight, gain, and cover), claimed in a generic manner, that merely utilize known mathematical formulas, equations, and calculations (e.g., calculate the total cover by multiplying the feature weight with the cover value). See present disclosure in at least paragraphs 0041–0054.
Step 2A — Prong 2 — Does the claim recite additional elements that integrate the judicial exception into a practical application?
No, there are no additional elements that integrate the judicial exception into a practical application. The additional limitation:
“wherein the one or more processors are part of a network of distributed devices, and wherein in generating the feature attributions, the one or more processors are further configured to” — This limitation is reciting generic computer components at a high-level of generality (i.e., as a generic computer component performing a generic computer function) such that it amounts no more than mere instructions to apply the exception using a generic computer component. See MPEP 2106.05(f).
“using the local server” — This limitation amounts to no more than mere instructions to apply the exception and is the equivalent to mere instruction to implement the abstract idea on a computer. See MPEP 2106.05(f). Using servers to process data merely invokes computers or other machinery as a tool to perform an existing process.
“launch a local server on a distributed device of the network” — This limitation amounts to no more than mere instructions to apply the exception and is the equivalent to mere instruction to implement the abstract idea on a computer. See MPEP 2106.05(f). Launching processes, including servers, merely invokes computers or other machinery as a tool to perform an existing process.
Step 2B — Does the claim recite additional elements that amount to significantly more than the judicial exception?
No, there are no additional elements that amount to significantly more than the judicial exception.
Regarding Claim 4:
Step 1 — Is the claim to a process, machine, manufacture, or composition of matter?
Yes, claim 4 depends from claim 3 (see analysis of claim 3 above) which is directed to an system i.e., a machine.
Step 2A — Prong 1 Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes, the claim recites an abstract idea.
“process respective portions of the input data using each of the one or more model explainability functions to generate the feature attributions”
These limitations, under their broadest reasonable interpretation, cover mathematical concepts (including mathematical relationships, mathematical formulas or equations, mathematical calculations). See MPEP 2106.04(a)(2). In particular, the above process and generate limitations include mathematical concepts (e.g., weight, gain, and cover), claimed in a generic manner, that merely utilize known mathematical formulas, equations, and calculations (e.g., calculate the total cover by multiplying the feature weight with the cover value). See present disclosure in at least paragraphs 0041–0054.
Step 2A — Prong 2 — Does the claim recite additional elements that integrate the judicial exception into a practical application?
No, there are no additional elements that integrate the judicial exception into a practical application. The additional limitation:
“wherein in generating the feature attributions using the local server, the one or more processors are further configured to” — This limitation is reciting generic computer components at a high-level of generality (i.e., as a generic computer component performing a generic computer function) such that it amounts no more than mere instructions to apply the exception using a generic computer component. See MPEP 2106.05(f).
Step 2B — Does the claim recite additional elements that amount to significantly more than the judicial exception?
No, there are no additional elements that amount to significantly more than the judicial exception.
Regarding Claim 5:
Step 1 — Is the claim to a process, machine, manufacture, or composition of matter?
Yes, claim 5 depends from claim 3 (see analysis of claim 3 above) which is directed to an system i.e., a machine.
Step 2A — Prong 1 Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes, the claim recites an abstract idea.
“generate the feature attributions”
These limitations, under their broadest reasonable interpretation, cover mathematical concepts (including mathematical relationships, mathematical formulas or equations, mathematical calculations). See MPEP 2106.04(a)(2). In particular, the above generate limitation includes mathematical concepts (e.g., weight, gain, and cover), claimed in a generic manner, that merely utilize known mathematical formulas, equations, and calculations (e.g., calculate the total cover by multiplying the feature weight with the cover value). See present disclosure in at least paragraphs 0041–0054.
Step 2A — Prong 2 — Does the claim recite additional elements that integrate the judicial exception into a practical application?
No, there are no additional elements that integrate the judicial exception into a practical application. The additional limitation:
“wherein in processing the input data through the machine learning model, the one or more processors initialize a first process” — This limitation is insignificant extra-solution activity and is merely pre-solution activity of establishing inputs. See MPEP 2106.05(g)(1).
“wherein the one or more processors are further configured to launch a sub-process from the first process to launch the local server” — This limitation amounts to no more than mere instructions to apply the exception and is the equivalent to mere instruction to implement the abstract idea on a computer. See MPEP 2106.05(f). Launching processes, including sub-processes, merely invokes computers or other machinery as a tool to perform an existing process.
Step 2B — Does the claim recite additional elements that amount to significantly more than the judicial exception?
No, there are no additional elements that amount to significantly more than the judicial exception.
“wherein in processing the input data through the machine learning model, the one or more processors initialize a first process” — This limitation is directed to the activity of insignificant extra-solution activity and is merely pre-solution activity of establishing inputs. See MPEP 2106.05(g)(1); See Bilski v. Kappos, 561 U.S. 593, 611-12, 95 USPQ2d 1001, 1010 (2010). This limitation is well-understood, routine, and conventional because it involves retrieving information from a stored list to initialize parameters. See MPEP 2106.05(d)(II); See Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015).
Regarding Claim 6:
Step 1 — Is the claim to a process, machine, manufacture, or composition of matter?
Yes, claim 6 depends from claim 5 (see analysis of claim 5 above) which is directed to an system i.e., a machine.
Step 2A — Prong 1 Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes, the claim recites an abstract idea.
“generate the second feature attributions in response to the determination that the one or more second query statements comprise the one or more second parameters for generating the second feature attributions”
These limitations, under their broadest reasonable interpretation, cover mathematical concepts (including mathematical relationships, mathematical formulas or equations, mathematical calculations). See MPEP 2106.04(a)(2). In particular, the above generate limitation includes mathematical concepts (e.g., weight, gain, and cover), claimed in a generic manner, that merely utilize known mathematical formulas, equations, and calculations (e.g., calculate the total cover by multiplying the feature weight with the cover value). See present disclosure in at least paragraphs 0041–0054.
Step 2A — Prong 2 — Does the claim recite additional elements that integrate the judicial exception into a practical application?
No, there are no additional elements that integrate the judicial exception into a practical application. The additional limitation:
“wherein the one or more query statements are one or more first query statements and the feature attributions are first feature attributions” — This limitation is insignificant extra-solution activity and is merely data gathering. See MPEP 2106.05(g). This limitation is merely expands the receiving limitation in claim 1.
“wherein the one or more processors are further configured to” — This limitation is reciting generic computer components at a high-level of generality (i.e., as a generic computer component performing a generic computer function) such that it amounts no more than mere instructions to apply the exception using a generic computer component. See MPEP 2106.05(f).
“receive one or more second query statements; determine, from the one or more second query statements, that the one or more second query statements comprise one or more second parameters for generating second feature attributions” — This limitation is insignificant extra-solution activity and is merely data gathering. See MPEP 2106.05(g).
“launch the sub-process from the first process to launch the local server” — This limitation amounts to no more than mere instructions to apply the exception and is the equivalent to mere instruction to implement the abstract idea on a computer. See MPEP 2106.05(f). Launching processes, including sub-processes, merely invokes computers or other machinery as a tool to perform an existing process.
Step 2B — Does the claim recite additional elements that amount to significantly more than the judicial exception?
No, there are no additional elements that amount to significantly more than the judicial exception.
“wherein the one or more query statements are one or more first query statements and the feature attributions are first feature attributions” — This limitation is directed to the activity of data gathering and outputting which is not an inventive concept because it is insignificant extra-solution activity of mere data gathering. See Mayo, 566 U.S. at 79, 101 USPQ2d at 1968; OIP Techs., Inc. v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1092-93 (Fed. Cir. 2015); MPEP 2106.05(g)(3). This limitation is well-understood, routine, and conventional because it involves transmitting information over a network. MPEP 2106.05(d)(II).
“receive one or more second query statements; determine, from the one or more second query statements, that the one or more second query statements comprise one or more second parameters for generating second feature attributions” — This limitation is directed to the activity of data gathering and outputting which is not an inventive concept because it is insignificant extra-solution activity of mere data gathering. See Mayo, 566 U.S. at 79, 101 USPQ2d at 1968; OIP Techs., Inc. v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1092-93 (Fed. Cir. 2015); MPEP 2106.05(g)(3). This limitation is well-understood, routine, and conventional because it involves transmitting information over a network. MPEP 2106.05(d)(II).
Regarding claim 7:
The claim is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim is dependent on claim 1 which included an abstract idea (see rejection for claim 1 above). This claim merely recites a further limitation on the receiving limitation which is directed to mere data gathering. The additional limitation:
“wherein the input data comprises one or more inputs, each input corresponding to a row of a database stored on the one or more memory devices selected using the one or more query statements” — This limitation is insignificant extra-solution activity and is merely data gathering. See MPEP 2106.05(g).
Thus, the judicial exception is not integrated into a practical application (see MPEP 2106.04(d)I.), failing Step 2A Prong 2.
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception under step 2B.
“wherein the input data comprises one or more inputs, each input corresponding to a row of a database stored on the one or more memory devices selected using the one or more query statements” — This limitation is directed to the activity of data gathering and outputting which is not an inventive concept because it is insignificant extra-solution activity of mere data gathering. See Mayo, 566 U.S. at 79, 101 USPQ2d at 1968; OIP Techs., Inc. v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1092-93 (Fed. Cir. 2015); MPEP 2106.05(g)(3). This limitation is well-understood, routine, and conventional because it involves transmitting information over a network. MPEP 2106.05(d)(II).
Thus, the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception (see MPEP 2106.05(I.), failing step 2B.
Regarding claim 8:
The claim is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim is dependent on claim 1 which included an abstract idea (see rejection for claim 1 above). This claim merely recites a further limitation on the receiving limitation which is directed to mere data gathering. The additional limitation:
“wherein the input data is training data or validation data used to train the machine learning model” — This limitation is insignificant extra-solution activity and is merely data gathering. See MPEP 2106.05(g).
Thus, the judicial exception is not integrated into a practical application (see MPEP 2106.04(d)I.), failing Step 2A Prong 2.
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception under step 2B.
“wherein the input data is training data or validation data used to train the machine learning model” — This limitation is directed to the activity of data gathering and outputting which is not an inventive concept because it is insignificant extra-solution activity of mere data gathering. See Mayo, 566 U.S. at 79, 101 USPQ2d at 1968; OIP Techs., Inc. v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1092-93 (Fed. Cir. 2015); MPEP 2106.05(g)(3). This limitation is well-understood, routine, and conventional because it involves transmitting information over a network. MPEP 2106.05(d)(II).
Thus, the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception (see MPEP 2106.05(I.), failing step 2B.
Regarding claim 9:
The claim is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim is dependent on claim 1 which included an abstract idea (see rejection for claim 1 above). This claim merely recites a further limitation on the one or more processors limitation which is directed to mere instructions to apply the abstract ideas. The additional limitations:
“wherein the one or more processors are further configured to train the machine learning model” — This limitation amounts to no more than mere instructions to apply the exception and is the equivalent to mere instruction to implement the abstract idea on a computer. See MPEP 2106.05(f). Training machine learning models merely invokes computers or other machinery as a tool to perform an existing process.
“wherein the one or more query statements select data for processing through the trained machine learning model to generate one or more model predictions” — This limitation amounts to no more than mere instructions to apply the exception and is the equivalent to mere instruction to implement the abstract idea on a computer. See MPEP 2106.05(f). Processing data with a machine learning model to generate predictions merely invokes computers or other machinery as a tool to perform an existing process.
Thus, the judicial exception is not integrated into a practical application (see MPEP 2106.04(d)I.), failing Step 2A Prong 2. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception under step 2B.
Regarding Claim 10:
Step 1 — Is the claim to a process, machine, manufacture, or composition of matter?
Yes, claim 10 depends from claim 1 (see analysis of claim 1 above) which is directed to an system i.e., a machine.
Step 2A — Prong 1 Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes, the claim recites an abstract idea.
“wherein the feature attributions are first feature attributions”
“generate second feature attributions for training data used to train the machine learning model”
“generate global feature attributions for the trained model”
These limitations, under their broadest reasonable interpretation, cover mathematical concepts (including mathematical relationships, mathematical formulas or equations, mathematical calculations). See MPEP 2106.04(a)(2). In particular, the above generate limitations include mathematical concepts (e.g., weight, gain, and cover), claimed in a generic manner, that merely utilize known mathematical formulas, equations, and calculations (e.g., calculate the total cover by multiplying the feature weight with the cover value). See present disclosure in at least paragraphs 0041–0054. Examiner notes that the “wherein the feature attributions are first feature attributions” limitation is merely a continuation of the generate limitation in claim 1.
Step 2A — Prong 2 — Does the claim recite additional elements that integrate the judicial exception into a practical application?
No, there are no additional elements that integrate the judicial exception into a practical application. The additional limitation:
“wherein the one or more processors are further configured to” — This limitation is reciting generic computer components at a high-level of generality (i.e., as a generic computer component performing a generic computer function) such that it amounts no more than mere instructions to apply the exception using a generic computer component. See MPEP 2106.05(f).
“wherein in generating the global feature attributions the one or more processors are configured to” — This limitation is reciting generic computer components at a high-level of generality (i.e., as a generic computer component performing a generic computer function) such that it amounts no more than mere instructions to apply the exception using a generic computer component. See MPEP 2106.05(f).
“aggregate the second feature attributions” — This limitation amounts to no more than mere instructions to apply the exception and is the equivalent to mere instruction to implement the abstract idea on a computer. See MPEP 2106.05(f). Aggregating data merely invokes computers or other machinery as a tool to perform an existing process.
“store, in the one or more memory devices, the global feature attributions” — This limitation is insignificant extra-solution activity and is merely data storing. See MPEP 2106.05(g).
Step 2B — Does the claim recite additional elements that amount to significantly more than the judicial exception?
No, there are no additional elements that amount to significantly more than the judicial exception.
“store, in the one or more memory devices, the global feature attributions” — This limitation is directed to the activity of storing data which is not an inventive concept because it is insignificant extra-solution activity of mere data storing. See Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-93; MPEP 2106.05(g)(3). This limitation is well-understood, routine, and conventional because it involves storing information in memory. MPEP 2106.05(d)(II).
Regarding claim 11:
The claim is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim is dependent on claim 10 which included an abstract idea (see rejection for claim 10 above). This claim merely recites a further limitation on the one or more processors limitation which is directed to mere instructions to apply the abstract idea. The additional limitations:
“wherein in generating the first feature attributions, the one or more processors are configured to” — This limitation is reciting generic computer components at a high-level of generality (i.e., as a generic computer component performing a generic computer function) such that it amounts no more than mere instructions to apply the exception using a generic computer component. See MPEP 2106.05(f).
“receive at least a portion of the stored global feature attributions” — This limitation is insignificant extra-solution activity and is merely data gathering. See MPEP 2106.05(g).
Thus, the judicial exception is not integrated into a practical application (see MPEP 2106.04(d)I.), failing Step 2A Prong 2.
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception under step 2B.
“receive at least a portion of the stored global feature attributions” — This limitation is directed to the activity of data gathering and outputting which is not an inventive concept because it is insignificant extra-solution activity of mere data gathering. See Mayo, 566 U.S. at 79, 101 USPQ2d at 1968; OIP Techs., Inc. v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1092-93 (Fed. Cir. 2015); MPEP 2106.05(g)(3). This limitation is well-understood, routine, and conventional because it involves transmitting information over a network. MPEP 2106.05(d)(II).
Thus, the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception (see MPEP 2106.05(I.), failing step 2B.
Regarding claim 12:
The claim is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim is dependent on claim 1 which included an abstract idea (see rejection for claim 1 above). This claim merely recites a further limitation on the one or more processors limitation which is directed to mere instructions to apply the abstract idea. The additional limitations:
“wherein the one or more processors are further configured to” — This limitation is reciting generic computer components at a high-level of generality (i.e., as a generic computer component performing a generic computer function) such that it amounts no more than mere instructions to apply the exception using a generic computer component. See MPEP 2106.05(f).
“output the feature attributions for display on a display device coupled to the one or more processors” — This limitation is insignificant extra-solution activity and is merely data outputting. See MPEP 2106.05(g).
Thus, the judicial exception is not integrated into a practical application (see MPEP 2106.04(d)I.), failing Step 2A Prong 2.
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception under step 2B.
“output the feature attributions for display on a display device coupled to the one or more processors” — This limitation is directed to the activity of data outputting which is not an inventive concept because it is insignificant extra-solution activity of mere data outputting. See Mayo, 566 U.S. at 79, 101 USPQ2d at 1968; OIP Techs., Inc. v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1092-93 (Fed. Cir. 2015); MPEP 2106.05(g)(3). This limitation is well-understood, routine, and conventional because it involves presenting data based on results. MPEP 2106.05(d)(II).
Thus, the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception (see MPEP 2106.05(I.), failing step 2B.
Regarding claim 13:
The claim is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim is dependent on claim 1 which included an abstract idea (see rejection for claim 1 above). This claim merely recites a further limitation on the receiving limitation which is directed to mere data gathering. The additional limitation:
“wherein the one or more query statements are one or more Structured Query Language (SQL) statements” — This limitation is directed to the field of use (see MPEP 2106.05(h)) as it merely limiting the fields of the data to Structured Query Language statements.
Thus, the judicial exception is not integrated into a practical application (see MPEP 2106.04(d)I.), failing Step 2A Prong 2. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception under step 2B.
Regarding claims 14 and 19, although varying in scope, the limitations of claims 14 and 19 are substantially the same as the limitations of claim 1. Thus, claims 14 and 19 are rejected using the same reasoning and analysis as claim 1 above.
Regarding claims 15–18, although varying in scope, the limitations of claims 15–18 are substantially the same as the limitations of claims 2, and 9–11, respectively. Thus, claims 15–18 are rejected using the same reasoning and analysis as claims 2, and 9–11 above, respectively.
Regarding claim 20, although varying in scope, the limitations of claim 20 are substantially the same as the limitations of claim 2. Thus, claim 20 is rejected using the same reasoning and analysis as claim 2 above.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1–6 and 8–20 are rejected under 35 U.S.C. 103 as being unpatentable over Szeto et al., (US 20180018590 A1), hereinafter “Szeto”, in view of Chan et al., (US 20190325335 A1), hereinafter “Chan”.
Regarding claim 1, Szeto teaches:
a system comprising (Szeto ¶0034: “Thus, in this example, a machine learning model is generated based upon internal data relative to system 100, and can be used to classify external data relative to system 100”]):
one or more memory devices, and one or more processors configured to (Szeto ¶0053: “Private data server 224 can be embodied as a computer having one or more processors 297 that are configured to execute software instructions 293 stored in memory 290”):
receive input data selected using one or more query statements (Szeto ¶0063: “the application may interface with a database to query the types of available data, or alternatively, the database may be configured to send a report reflecting the types of data available, to the global modeling server 130. Once a description of the metadata (reflecting the private data) is available, model instructions can then be configured to make reference to the private data, thereby providing instructions regarding selection of inputs to the machine learning systems”—[wherein the application interfaces with the database to receive types of available data (i.e., input data) to process for model instructions, selected based on the researcher’s query (i.e., using one or more query statements)]),
wherein each data item of the input data is associated with a plurality of feature values (Szeto ¶¶0063–0064: “Once a description of the metadata (reflecting the private data) is available, model instructions can then be configured to make reference to the private data, thereby providing instructions regarding selection of inputs to the machine learning systems. In cases in which a query by a researcher is ongoing and continuously updated, e.g., at periodic intervals, the system can be configured to recognize the metadata, determine whether key parameters are present, and then cause generation and transmission of model instructions corresponding to the query set up by the researcher. In other cases, for novel queries, a researcher may generate the model instructions in a manual or semi-automated manner. For new queries, the system may be configured to provide recommendations regarding types of data to analyze in order to generate model instructions for such new queries … Metadata from each private data server can be provided to the global model server. The metadata returns the attribute space (and not raw or private data)”—[(emphasis added) wherein metadata is used to configure instructions that makes reference to, based on the attribute space (i.e., attributes associated with feature values), the private data]),
identify one or more parameters included in the one or more query statements each parameter of the one or more parameters specifying a respective model explainability function (Szeto ¶0062–0064: “In cases in which a query by a researcher is ongoing and continuously updated, e.g., at periodic intervals, the system can be configured to recognize the metadata, determine whether key parameters are present, and then cause generation and transmission of model instructions corresponding to the query set up by the researcher … the metadata returns the attribute space (and not raw or private data). Based on this information, the researcher generating the machine learning task(s) can configure model instructions for a particular private data server to analyze a particular set of private data”—[(emphasis added) wherein the BRI of “model explainability functions” is any clarification on how an AI or machine learning model arrives at a specific prediction or decision, and wherein the model engine is configured to determine whether key parameters are present (i.e., identify one or more parameters) from recognizing the metadata that is selected based on the researchers query (i.e., using one or more query statements) to generate model instructions (i.e., specify respective model explainability functions)]);
process the input data through a machine learning model to generate a model output (Szeto ¶0067: “It should be appreciated that the results set does not require a pre-processing de-identification step to sanitize the data, as the machine learning algorithm operates on local private data”; see also Szeto ¶0040: “Machine learning models predict an output (e.g., using classification or regression) based upon inputs (without a known output or answer)”—[(emphasis added)]); and
generate, using at least the model output and the model explainability functions of the one or more parameters, a plurality of feature attributions for the input data (Szeto ¶¶0064, 0069, 0071: “The metadata returns the attribute space (and not raw or private data). Based on this information, the researcher generating the machine learning task(s) can configure model instructions for a particular private data server to analyze a particular set of private data” and “Trained actual model 240 comprises multiple points of interest. First, although not shown, trained actual model 240 can include metadata as discussed previously that describes the nature of the trained model. Second, trained actual model 240 comprises a number of parameters as represented by actual model parameters 245. Actual model parameters 245 are the specific values that are used by trained actual model 240 for prediction purposes when operating on live data. Thus, actual model parameters 245 can be considered an abstract representation of the knowledge gained from creating trained actual model 240 from private data 222”—[wherein the trained model uses the metadata, attribute space parameters, and instructions, (i.e., the model output and explainability functions) to generate predictions (i.e., a plurality of feature attributions for the input data) using the knowledge gained from the private data]); and
wherein each feature attribution is associated with a respective corresponding feature value of the plurality of feature values (Szeto ¶¶0069, 0073: “An active model represents a model that is dynamic and can be updated based on various circumstances. In some embodiments, the trained actual model 240 is updated in real-time, on a daily, weekly, bimonthly, monthly, quarterly, or annual basis. As new information is made available (e.g., to update model instructions 230, shifts in time, new or corrected private data 222, etc.), an active model will be further updated. In such cases, the active model carries metadata that describes the state of the model with respect to its updates. The metadata can include attributes describing one or more of the following: a version number, date updated, amount of new data used for the update, shifts in model parameters, convergence requirements, or other information. Such information provides for managing large collections of models over time, where each active model can be treated as a distinct manageable object” and “In the example shown, modeling engine 226 analyzes the training data set used to create trained actual model 240 in order to generate an understanding of the nature of the training data set as represented by private data distributions 250. Thus, modeling engine 226 is further configurable to generate a plurality of private data distributions 250 that represent the local private data in aggregate used as a training set to create trained actual model 240. In some embodiments, modeling engine 226 can automatically execute many different algorithms (e.g., regressions, clustering, etc.) on the training data sets in an attempt to discover, possibly in an unsupervised manner, relationships within the data that can be represented via private data distributions 250. Private data distributions 250 describe the overall nature of the private data training set”—[wherein each metadata parameter (i.e., corresponding feature value) is managed to describe the state of the model (i.e., associated feature attribution) based on the input data]).
Szeto does not appear to explicitly teach:
wherein each respective feature attribution is a score indicating how much of an impact the corresponding feature value has on the model output of the machine learning model.
However, Chan teaches:
wherein each respective feature attribution is a score indicating how much of an impact the corresponding feature value has on the model output of the machine learning model (Chan ¶0042: “Global feature importance measures the overall impact of an input feature on the model predictions while taking nonlinearity and interactions into considerations”).
The methods of Szeto, the teachings of Chan, and the instant application are analogous art because they pertain to using machine learning models to generate data for explaining model features.
It would be obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the methods of Szeto with the teachings of Chan to provide for feature attributions that are scores representing the impact each parameter has on the output of the model. One would be motivated to do so to improve predictions for specific characteristics of input data, increasing model efficiency (Chan ¶0024: “This is an improvement to the field of machine learning because a machine learning model that implements a complex function to make one or more predictions based on a set of inputs may be accurately approximated using a combination of a linear surrogate model and the one or more non-linear surrogate models. The combination of a linear surrogate model and the one or more non-linear surrogate models may reduce the number of computations and time needed by a computer to make a prediction when compared to the number of computations and time needed by a computer implementing the machine learning model to make the prediction”).
Regarding claim 2, Szeto in view of Chan teaches all the limitations of claim 1.
Szeto teaches:
wherein a feature attribution for a respective feature value of the input data corresponds to a value measuring the degree of importance the respective feature value has in generating the model output (Szeto ¶0095: “Similarity score 490 can be calculated through various techniques and according to the goals of a researcher as outlined in the corresponding model instructions. In some embodiments, similarity score 490 can be calculated based on the differences among the model parameters (e.g., parameters differences 480) … In cases where the parameters can have widely different definitions, the values can be normalized or weighted so that each difference contributes equally or according to their importance”—[(emphasis added)]).
Regarding claim 3, Szeto in view of Chan teaches all the limitations of claim 1.
Szeto teaches:
wherein the one or more processors are part of a network of distributed devices (Szeto ¶0018: “One aspect of the inventive subject matter includes a distributed machine learning system. In some embodiments, the distributed machine learning system has a plurality of private data servers, possibly operating as peers in a distributed computing environment”), and
wherein in generating the feature attributions, the one or more processors are further configured to: launch a local server on a distributed device of the network (Szeto ¶0071: “When actual model parameters 245 are packaged and transmitted to remote non-private computing devices or to peer private data servers, the remote non-private or peer computing devices can accurately reconstruct trained actual model 240 via instantiating a new instance of trained actual model 240 from the parameters locally at the remote computing device without requiring access to private data 222”—[(emphasis added)]); and
generate the feature attributions using the local server (Szeto ¶0071: “Actual model parameters 245 are the specific values that are used by trained actual model 240 for prediction purposes when operating on live data. Thus, actual model parameters 245 can be considered an abstract representation of the knowledge gained from creating trained actual model 240 from private data 222. When actual model parameters 245 are packaged and transmitted to remote non-private computing devices or to peer private data servers, the remote non-private or peer computing devices can accurately reconstruct trained actual model 240 via instantiating a new instance of trained actual model 240 from the parameters locally at the remote computing device without requiring access to private data 222, thus eliminating the need for de-identification. Actual model parameters 245 depend on the nature of the trained actual model 240 and its underlying implementation of machine learning algorithm 295 as well as the quality of the private data 222 used to generate actual model 240. Examples of actual model parameters 245 include weights, kernels, layers, number of nodes, sensitivities, accuracies, accuracy gains, hyper-parameters, or other information that can be leveraged to re-instantiate trained actual model 240.”—[(emphasis added)]).
Regarding claim 4, Szeto in view of Chan teaches all the limitations of claim 3.
Chan teaches:
wherein in generating the feature attributions using the local server, the one or more processors are further configured to: process respective portions of the input data using each of the one or more model explainability functions to generate the feature attributions (Chan ¶0037: “One or more reason codes and corresponding values may be generated from K-LIME. A reason code corresponds to an input feature. The reason code value may provide a feature's approximate local, linear contribution to g(x(l)). Reason codes are powerful tools for accountability and fairness because they provide an explanation for each g (x(l), enabling a user to understand the approximate magnitude and direction of an input feature's local contribution for g (x(l). In K-LIME, reason code values may be calculated by determining each coefficient-feature product. Reason codes may also be written into automatically generated reason codes”—[wherein the surrogate (i.e., local server) processes input data corresponding to input features to determine the input feature’s local contributions to produce the reason code (i.e., feature attribution)]).
The methods of Szeto the teachings of Chan, and the instant application are analogous art because they pertain to using machine learning models to generate data for explaining model features.
It would be obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the methods of Szeto with the teachings of Chan to provide explanations for the varying contributions of features and functions to the model. One would be motivated to do so to create simpler models to explain more complicated functions and phenomena (Chan ¶0033: “Surrogate model server 112 is configured to implement one or more surrogate models. A surrogate model is a data mining and engineering technique in which a generally simpler model is used to explain another usually more complex model or phenomenon. Surrogate model 112 may receive, from complex model server 102 via network 105, training data 106, model prediction data 107, and actual outcome data 108 and store as training data 116, model prediction data 117, and actual outcome data 118, respectively. Using training data 116, model prediction data 117, and actual outcome data 118, surrogate model server 122 may train one or more surrogate models to make one or more predictions. The one or more surrogate models are surrogates of machine learning model 104”).
Regarding claim 5, Szeto in view Chan teaches all the limitations of claim 3.
Szeto teaches:
wherein in processing the input data through the machine learning model, the one or more processors initialize a first process (Szeto ¶0068: “Modeling engine 226 creates trained actual model 240 as a function of the results set representing at least some of private data 222. This is achieved by modeling engine 226 training the desired implementation of machine learning algorithm 295 on the private data 222 results set. In view that the desired machine learning algorithm 295 could include a wide variety of possible algorithms, model instructions 230 can include instructions that define the condition under which training occurs. For example, the conditions could include a number of iterations or epochs to execute on the training data, learning rates, convergence requirements, time limits for training, initial conditions, sensitivity, specificity or other types of conditions that are required or optional. Convergence requirements can include first order derivatives such as “rates of change”, second order derivatives such as “acceleration”, or higher order time derivatives or even higher order derivatives of other dimensions in the attribute space of the data, etc.”—[(emphasis added)]); and
wherein the one or more processors are further configured to launch a sub-process from the first process to launch the local server (Szeto ¶0071: “When actual model parameters 245 are packaged and transmitted to remote non-private computing devices or to peer private data servers, the remote non-private or peer computing devices can accurately reconstruct trained actual model 240 via instantiating a new instance of trained actual model 240 from the parameters locally at the remote computing device without requiring access to private data 222”—[(emphasis added) wherein the first process (i.e., trained actual model) packages and transmits (i.e., launches a sub-process) to the remote server to instantiate a new instance of the model (i.e., launch the local server)]) and
generate the feature attributions (Szeto ¶0071: “When actual model parameters 245 are packaged and transmitted to remote non-private computing devices or to peer private data servers, the remote non-private or peer computing devices can accurately reconstruct trained actual model 240 via instantiating a new instance of trained actual model 240 from the parameters locally at the remote computing device without requiring access to private data 222”—[(emphasis added)]).
Regarding claim 6, Szeto in view Chan teaches all the limitations of claim 5.
Szeto teaches:
wherein the one or more query statements are one or more first query statements (Szeto ¶0062–0063: “Modeling engine 226 receives model instructions to create a trained actual model 240 from at least some local private data 222 and according to an implementation of machine learning algorithm 295 ... In cases in which a query by a researcher is ongoing and continuously updated, e.g., at periodic intervals, the system can be configured to recognize the metadata, determine whether key parameters are present, and then cause generation and transmission of model instructions corresponding to the query set up by the researcher”—[(emphasis added) wherein the model engine receives the model instructions (i.e., input data) selected based on the researchers query (i.e., using one or more first query statements)]) and
the feature attributions are first feature attributions (Szeto ¶0062–0064: “Modeling engine 226 receives model instructions to create a trained actual model 240 from at least some local private data 222 and according to an implementation of machine learning algorithm 295 ... In cases in which a query by a researcher is ongoing and continuously updated, e.g., at periodic intervals, the system can be configured to recognize the metadata, determine whether key parameters are present, and then cause generation and transmission of model instructions corresponding to the query set up by the researcher … the metadata returns the attribute space (and not raw or private data). Based on this information, the researcher generating the machine learning task(s) can configure model instructions for a particular private data server to analyze a particular set of private data”—[(emphasis added) wherein the model engine is configured to generate model instructions for a particular server based on the attribute (i.e., first attributes corresponding to one or more first feature values e.g., private data server)]); and
wherein the one or more processors are further configured to: receive one or more second query statements (Szeto ¶0063: “Once a description of the metadata (reflecting the private data) is available, model instructions can then be configured to make reference to the private data, thereby providing instructions regarding selection of inputs to the machine learning systems. In cases in which a query by a researcher is ongoing and continuously updated, e.g., at periodic intervals, the system can be configured to recognize the metadata, determine whether key parameters are present, and then cause generation and transmission of model instructions corresponding to the query set up by the researcher. In other cases, for novel queries, a researcher may generate the model instructions in a manual or semi-automated manner. For new queries, the system may be configured to provide recommendations regarding types of data to analyze in order to generate model instructions for such new queries”—[(emphasis added) wherein the system is configured (i.e., one or more processors are configured) to receive additional queries (i.e., second query statements) e.g., novel queries, new queries]);
determine, from the one or more second query statements, that the one or more second query statements comprise one or more second parameters for generating second feature attributions (Szeto ¶0063: “Once a description of the metadata (reflecting the private data) is available, model instructions can then be configured to make reference to the private data, thereby providing instructions regarding selection of inputs to the machine learning systems. In cases in which a query by a researcher is ongoing and continuously updated, e.g., at periodic intervals, the system can be configured to recognize the metadata, determine whether key parameters are present, and then cause generation and transmission of model instructions corresponding to the query set up by the researcher. In other cases, for novel queries, a researcher may generate the model instructions in a manual or semi-automated manner. For new queries, the system may be configured to provide recommendations regarding types of data to analyze in order to generate model instructions for such new queries”—[(emphasis added)]); and
launch the sub-process from the first process to launch the local server and generate the second feature attributions in response to the determination that the one or more second query statements comprise the one or more second parameters for generating the second feature attributions (Szeto ¶0071: “When actual model parameters 245 are packaged and transmitted to remote non-private computing devices or to peer private data servers, the remote non-private or peer computing devices can accurately reconstruct trained actual model 240 via instantiating a new instance of trained actual model 240 from the parameters locally at the remote computing device without requiring access to private data 222”—[(emphasis added) wherein the first process (i.e., trained actual model) packages and transmits (i.e., launches a sub-process) to the remote server to instantiate a new instance of the model (i.e., launch the local server) to analyze the second query to generate the second features]).
Regarding claim 8, Szeto in view of Chan teaches all the limitations of claim 1.
Szeto teaches:
wherein the input data is training data or validation data used to train the machine learning model (Szeto ¶0037: “Machine learning algorithms create models that form conclusions based upon observed data. For supervised learning, a training dataset is fed into a machine learning algorithm. Here, by providing inputs and known outputs as training data, a machine learning system can create a model based upon this training data. Thus the machine learning algorithm generates a mapping function that maps inputs to an output”—[(emphasis added)]).
Regarding claim 9, Szeto in view of Chan teaches all the limitations of claim 1.
Szeto teaches:
wherein the one or more processors are further configured to train the machine learning model (Szeto ¶0042: “FIG. 1 is an illustration of an example distributed machine learning system 100. System 100 is configured as a computer-based research tool allowing multiple researchers or data analysts to create trained machine learning models from many private or secured data sources, to which the researchers would not normally have permission or authority to access”—[wherein the system (i.e., one or more processors, see claim 1 above) is configured to train the machine learning model]), and
wherein the one or more query statements select data for processing through the trained machine learning model to generate one or more model predictions (Szeto ¶0063: “In cases in which a query by a researcher is ongoing and continuously updated, e.g., at periodic intervals, the system can be configured to recognize the metadata, determine whether key parameters are present, and then cause generation and transmission of model instructions corresponding to the query set up by the researcher. In other cases, for novel queries, a researcher may generate the model instructions in a manual or semi-automated manner. For new queries, the system may be configured to provide recommendations regarding types of data to analyze in order to generate model instructions for such new queries”; see also Szeto ¶0104: “If the accuracy of the predictions from the trained proxy model on the actual private data training set is sufficiently high (e.g., within 10%, 5%, 1%, or closer), then the trained proxy model could be considered similar to the trained actual model. Further, if the similarity score fails to satisfy similarity criteria (e.g., falls below a threshold, etc.), then the modeling engine can repeat operations 540 through 560”—[(emphasis added)]).
Regarding claim 10, Szeto in view of Chan teaches all the limitations of claim 1.
Szeto teaches:
wherein the feature attributions are first feature attributions (Szeto ¶0062–0064: “Modeling engine 226 receives model instructions to create a trained actual model 240 from at least some local private data 222 and according to an implementation of machine learning algorithm 295 ... In cases in which a query by a researcher is ongoing and continuously updated, e.g., at periodic intervals, the system can be configured to recognize the metadata, determine whether key parameters are present, and then cause generation and transmission of model instructions corresponding to the query set up by the researcher … the metadata returns the attribute space (and not raw or private data). Based on this information, the researcher generating the machine learning task(s) can configure model instructions for a particular private data server to analyze a particular set of private data”—[(emphasis added) wherein the model engine is configured to generate model instructions for a particular server based on the attribute (i.e., first attributes corresponding to one or more first feature values e.g., private data server)])); and
wherein the one or more processors are further configured to: generate second feature attributions for training data used to train the machine learning model (Szeto ¶0063: “Once a description of the metadata (reflecting the private data) is available, model instructions can then be configured to make reference to the private data, thereby providing instructions regarding selection of inputs to the machine learning systems. In cases in which a query by a researcher is ongoing and continuously updated, e.g., at periodic intervals, the system can be configured to recognize the metadata, determine whether key parameters are present, and then cause generation and transmission of model instructions corresponding to the query set up by the researcher. In other cases, for novel queries, a researcher may generate the model instructions in a manual or semi-automated manner. For new queries, the system may be configured to provide recommendations regarding types of data to analyze in order to generate model instructions for such new queries”—[(emphasis added) wherein the system is continuously updated (i.e., trained with second feature attributions)]);
generate global feature attributions for the trained model (Szeto ¶0019: “Once the salient features are available, the machine learning engine transmits the salient private data features over a network to a non-private computing device; a central server or global modeling engine, for example, that can integrate the salient private data features with other data sets to create an aggregated model. Thus, multiple private peers are able to share their learned knowledge without exposing their private data”—[(emphasis added) wherein the integrated data forms an aggregated model (i.e., global model)]),
wherein in generating the global feature attributions the one or more processors are configured to aggregate the second feature attributions (Szeto ¶0019: “Once the salient features are available, the machine learning engine transmits the salient private data features over a network to a non-private computing device; a central server or global modeling engine, for example, that can integrate the salient private data features with other data sets to create an aggregated model. Thus, multiple private peers are able to share their learned knowledge without exposing their private data.”—[(emphasis added)]); and
store, in the one or more memory devices, the global feature attribution (Szeto ¶0050: “Parameters associated with various machine learning model versions may be stored so that earlier machine learning models may be later retrieved, if needed”).
Regarding claim 11, Szeto in view of Chan teaches all the limitations of claim 10.
Szeto teaches:
wherein in generating the first feature attributions, the one or more processors are configured to receive at least a portion of the stored global feature attributions (Szeto ¶0065: “In some embodiments, the private data server may recognize that model accuracy is low, and may request additional updates from the global model server. The global model server using the global modeling engine aggregates data from different locations into a global model. For example, if an improved cancer survival model is requested, and data of the same type is not available, data from different tissue types may be combined to improve predictive accuracy of the cancer survival model”—[wherein the global model requests and receives aggregated data from the global model server]).
Regarding claim 12, Szeto in view of Chan teaches all the limitations of claim 1.
Chan teaches:
wherein the one or more processors are further configured to output the feature attributions for display on a display device coupled to the one or more processors (Chan ¶0047: “A decision tree model htree may be generated to approximate the learned function g (e.g., machine learning model 104). htree is used to increase the transparency of g by displaying an approximate flow chart of the decision making process of g. htree also shows the likely important features and the most important interactions of g. htree may be used for visualizing, validating, debugging g by comparing the displayed decision-process, important features, and important interactions to known standards, domain knowledge, and reasonable expectations”—[(emphasis added)]).
The methods of Szeto, the teachings of Chan, and the instant application are analogous art because they pertain to using machine learning models to generate data for explaining model features.
It would be obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the methods of Szeto with the teachings of Chan to provide a display for visualization of the features. One would be motivated to do so to increase the transparency in the model decision making process (Chan ¶0047: “A decision tree model htree may be generated to approximate the learned function g (e.g., machine learning model 104). htree is used to increase the transparency of g by displaying an approximate flow chart of the decision making process of g. htree also shows the likely important features and the most important interactions of g. htree may be used for visualizing, validating, debugging g by comparing the displayed decision-process, important features, and important interactions to known standards, domain knowledge, and reasonable expectations”).
Regarding claim 13, Szeto in view of Chan teaches all the limitations of claim 1.
Szeto teaches:
wherein the one or more query statements are one or more Structured Query Language (SQL) statements (Szeto ¶0067: “For example, the query could include a SQL query properly formatted from the requirements in model instructions 230 to access or retrieve the attributes or tables stored in private data 222”).
Regarding claim 14, Szeto teaches:
a computer-implemented method comprising (Szeto ¶0019: “Another aspect of the inventive subject matter includes computer implemented methods of distributed machine learning that respect private data”).
With respect to the remaining limitations in claim 14, although varying in scope, the remaining limitations of claim 14 are substantially the same as the limitations of claim 1, respectively. Thus, claim 14 is rejected using the same reasoning and analysis as claim 1 above.
Regarding claims 15–18, although varying in scope, the limitations of claims 15–18 are substantially the same as the limitations of claims 2 and 9–11, respectively. Thus, claims 15–18 are rejected using the same reasoning and analysis as claims 2 and 9–11 above, respectively.
Regarding claim 19, Szeto teaches:
one or more non-transitory computer-readable storage media encoded with instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: (Szeto ¶0027: “Further, the disclosed technologies can be embodied as a computer program product that includes a tangible, non-transitory computer readable medium storing the software instructions executable by a processor to perform the disclosed steps or operations associated with implementations of computer-based algorithms, processes, methods, or other instructions”).
With respect to the remaining limitations in claim 19, although varying in scope, the remaining limitations of claim 19 are substantially the same as the limitations of claim 1, respectively. Thus, claim 19 is rejected using the same reasoning and analysis as claim 1 above.
Regarding claim 20, although varying in scope, the limitations of claim 20 are substantially the same as the limitations of claim 2. Thus, claim 20 is rejected using the same reasoning and analysis as claim 2 above.
Claim 7 is rejected under 35 U.S.C. 103 as being unpatentable over Szeto in view of Chan, and further in view of Januschowski et al., (US-11120361-B1), hereinafter “Januschowski”.
Regarding claim 7, Szeto in view of Chan teaches all the limitations of claim 1.
Szeto in view of Chan does not appear to explicitly teach:
wherein the input data comprises one or more inputs, each input corresponding to a row of a database stored on the one or more memory devices selected using the one or more query statements.
However, Januschowski teaches:
wherein the input data comprises one or more inputs, each input corresponding to a row of a database stored on the one or more memory devices selected using the one or more query statements (Januschowski Col. 8, line 63 – Col. 9 line 5: “The data integration components 140 of the scalable pipeline layer 135 may comprise, for example, multi-data-source tools 148 to combine data from a variety of data sources, raw data pre-processing tools 146, data-cleansing tools 142 as well as tools for performing distributed joins among observation data records as needed in the depicted embodiment. Such joins may be used, for example, to construct distributed de-normalized tables in which each row comprises all the available data for a given item of an inventory or catalog”—[(emphasis added)]).
The methods of Szeto, the teachings of Januschowski, and the instant application are analogous art because they pertain to using machine learning to tailor data based on provided queries and databases.
It would be obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the methods of Szeto with the teachings of Januschowski to provide for data that corresponds to database rows used to store data for analysis. One would be motivated to do so to tailor models to make predictions for specific characteristics of input data (Januschowski Col. 7, line 59 – Col. 8, line 13: “In some embodiments, respective subsets of an input data set may be used to train different learning algorithms to be used for predicting time series values at the machine learning service. For example, some models may be tailored towards specific groups of items that share characteristics such as seasonality, or towards groups of items within a particular price range. In at least one embodiment, the machine learning service may allow clients to provide training specifications which include routing directives for selecting respective subsets of the input observations and associated feature metadata for training different learning algorithms. In some embodiments, the machine learning service may allow clients to provide prediction aggregation specifications indicating how samples of results obtained from multiple trained learning algorithms should be combined to generate output probabilistic forecasts for various items”).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to NICHOLAS SHINE whose telephone number is (571)272-2512. The examiner can normally be reached M-F, 9a-5p ET.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, David Yi can be reached on (571) 270-7519. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/N.B.S./Examiner, Art Unit 2126
/VAN C MANG/Primary Examiner, Art Unit 2126