DETAILED ACTION
This action is responsive to the application filed on 08/10/2023. Claims 1-10 are pending and have been examined.
This action is Non-final.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Priority
Applicant’s claim for the benefit of a prior-filed application under 35 U.S.C. 119(e) or under 35 U.S.C.
120, 121, 365(c), or 386(c) is acknowledged.
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 1-10 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 1 recites: “identify a factor of an error in prediction by the prediction model according to a combination of evaluation results of the plurality of types of the metrics.” This limitation is indefinite because the claim does not provide objective boundaries for at least the following terms:
“a factor of an error in prediction” -- The claim does not objectively delimit what constitutes a “factor” (e.g., whether it is a root-cause category, a contributing variable, an error-type label, or other diagnostic output). Accordingly, it is unclear what outputs satisfy the requirement of “identify[ing] a factor,” and the scope is not reasonably certain.
“according to a combination of evaluation results” -- The claim is unclear as to what is required by “combination,” including whether the identification must be based on at least two evaluation results, all evaluation results, or any subset, and whether any particular fusion/relationship among the results is required. Because these materially different interpretations affect claim scope and the claim does not provide objective criteria, the metes and bounds are not reasonably certain.
Thus, claim 1 is indefinite under 35 U.S.C. 112(b). Claims 9-10 are analogous to claim 1 because they recite the same “factor identification” based on a “combination of evaluation results,” and therefore claims 9 and 10 are likewise rejected under 35 U.S.C. 112(b) for the same reasons.
Claim 6 recites: “determine an action for eliminating the identified factor.” The limitation is indefinite because the claim does not set forth objective boundaries for the term “eliminating.” Specifically, it is unclear whether the “action” must successfully eliminate the identified factor (i.e., guarantee elimination), or whether it is sufficient that the action is merely selected/recommended as an attempt to address the factor even if the factor is not eliminated. Because these materially different interpretations affect the scope of the claim and the claim does not provide objective criteria for determining when the factor has been “eliminated,” the metes and bounds of claim 6 are not reasonably certain.
claims 2-5, 7-8 depend from claim 1 and incorporate the indefinite subject matter, they remain subject to the above §112(b) rejections by dependency.
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-10 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: This claim is directed to a device, which falls under a category of machine. The claim satisfies Step 1.
Step 2A Prong 1:
“calculate and evaluate a plurality of types of metrics with respect to a prediction model, data of explanatory variables … or data of target variables” -- The limitation is directed calculating metrics for a model, and data from variables, and then evaluate them. The limitation is directed to mathematical calculation/operation/relationship, and thus the limitation is directed to math. The limitation is also directed to a process that can be evaluated under observation and judgement, with aid of pen and paper, thus the limitation is directed to a mental process as well.
identify a factor of an error in prediction by the prediction model according to a combination of evaluation results of the plurality of types of the metrics. -- The limitation is directed to identifying an error factor from a prediction by the model according to a combination of results and metrics. The limitation is directed to a process that can be evaluated under observation and judgement, with aid of pen and paper, thus the limitation is directed to a mental process as well.
Step 2A Prong 2 and Step 2B:
“An analysis device comprising: at least one memory storing instructions; and at least one processor configured to execute the instructions to:…used in the prediction model,” -- The limitation recites
Therefore, claim 1 is non-patent eligible. Claims 9 and 10 is analogous to claim 1 (aside from claim type and minute differences), and thus the same rejection can be applied set forth above.
Regarding claim 2,
Step 1: This claim is directed to a device, which falls under a category of machine. The claim satisfies Step 1.
Step 2A Prong 1:
“identify a factor of an error in prediction by the prediction model according to a rule for associating combinations of evaluation results of the plurality of types of the metrics with factors.” -- The limitation is directed to identify a factor in error in prediction from the model according to a rule of associating the results of the metrics. The limitation is directed to a process that can be done in the human mind using observation and judgement, with aid of pen and paper, and thus the limitation is directed to a mental process.
Step 2A Prong 2 and Step 2B:
“The analysis device according to claim 1, wherein the processor is configured to execute the instructions to” -- The limitation recites a processor being configured to execute the instructions to perform the task highlighted in prong 1. The limitation amounts to no more than mere instructions to apply onto a computer, and it cannot be integrated to a practical application, and cannot provide significantly more than the judicial exception (see MPEP 2106.05(f)).
Therefore, claim 2 is non-patent eligible.
Regarding claim 3,
Step 1: This claim is directed to a device, which falls under a category of machine. The claim satisfies Step 1.
Step 2A Prong 1:
“identify a factor of an error in prediction by the prediction model according to a combination of an evaluation result of a predetermined metric among the plurality of types of the metrics and an evaluation result of the metric selected according to the evaluation result of the predetermined metric.” -- The limitation is directed to identifying factor in error in prediction model according to a combination evaluation results of a predetermined metrics. The limitation is directed to a process that can be performed in the human mind using observation and judgement, with aid of pen and paper, and thus the limitation is directed to a mental process.
Step 2A Prong 2 and Step 2B:
“The analysis device according to claim 2, wherein the processor is configured to execute the instructions to” -- The limitation recites a processor being configured to execute the instructions to perform the task highlighted in prong 1. The limitation amounts to no more than mere instructions to apply onto a computer, and it cannot be integrated to a practical application, and cannot provide significantly more than the judicial exception (see MPEP 2106.05(f)).
Therefore, claim 3 is non-patent eligible.
Regarding claim 4,
Step 1: This claim is directed to a device, which falls under a category of machine. The claim satisfies Step 1.
Step 2A Prong 1:
“calculate and evaluate the metrics by the calculation algorithm or the evaluation algorithm”“ -- The limitation is directed to calculate and evaluate metrics by the calculation/evaluation algorithm. The limitation is directed to the use of a mathematical calculation/operation/concept, and thus the limitation is directed to math.
Step 2A Prong 2 and Step 2B:
“The analysis device according to claim 1, wherein the processor is configured to execute the instructions to: “receive an instruction to designate a calculation algorithm or an evaluation algorithm for the metrics… designated by the instruction.” -- The limitation recites a processor being configured to execute the instructions to perform the task highlighted in prong 1. Furthermore, the limitation recites receiving an instruction to designate algorithms for calculation relating to the metrics. The limitation amounts to no more than mere instructions to apply onto a computer, and it cannot be integrated to a practical application, and cannot provide significantly more than the judicial exception (see MPEP 2106.05(f)).
Therefore, claim 4 is non-patent eligible.
Regarding claim 5,
Step 1: This claim is directed to a device, which falls under a category of machine. The claim satisfies Step 1.
Step 2A Prong 1:
“identify a factor of an error in prediction by the prediction model according to the rule designated by the instruction.” -- The limitation is directed to identifying factor in error in prediction model according to the rule that is instructed. The limitation is directed to a process that can be performed in the human mind using observation and judgement, with aid of pen and paper, and thus the limitation is directed to a mental process.
Step 2A Prong 2 and Step 2B:
“The analysis device according to claim 2, wherein the processor is further configured to execute the instructions to: receive an instruction to designate the rule,” -- The limitation recites a processor being configured to execute the instructions to perform the task highlighted in prong 1. Furthermore, the limitation recites receiving an instruction to designate a rule that is set. The limitation amounts to no more than mere instructions to apply onto a computer, and it cannot be integrated to a practical application, and cannot provide significantly more than the judicial exception (see MPEP 2106.05(f)).
Therefore, claim 5 is non-patent eligible.
Regarding claim 6,
Step 1: This claim is directed to a device, which falls under a category of machine. The claim satisfies Step 1.
There are no elements to be evaluated under Step 2A Prong 1.
Step 2A Prong 2 and Step 2B:
“The analysis device according to claim 1, wherein the processor is further configured to execute the instructions to determine an action for eliminating the identified factor.” -- The limitation recites a processor being configured to execute the instructions to perform the task of determining an action for eliminating the factor that is identified (deleting). The limitation amounts to no more than mere instructions to apply onto a computer, and thus the limitation does not integrate to a practical application, nor provides significantly more than the judicial exception (see MPEP 2106.05(f)).
Therefore, claim 6 is non-patent eligible.
Regarding claim 7,
Step 1: This claim is directed to a device, which falls under a category of machine. The claim satisfies Step 1.
Step 2A Prong 1:
“generate image data of a predetermined graph according to the metrics.” -- The limitation is directed to generating image data of a predetermined graph according to metrics. is directed to a process that can be performed in the human mind using observation and judgement, with aid of pen and paper, and thus the limitation is directed to a mental process.
Step 2A Prong 2 and Step 2B:
“The analysis device according to claim 1, wherein the processor is configured to execute the instructions to” -- The limitation recites a processor being configured to execute the instructions to perform the task highlighted in prong 1. The limitation amounts to no more than mere instructions to apply onto a computer, and it cannot be integrated to a practical application, and cannot provide significantly more than the judicial exception (see MPEP 2106.05(f)).
Therefore, claim 7 is non-patent eligible.
Regarding claim 8,
Step 1: This claim is directed to a device, which falls under a category of machine. The claim satisfies Step 1.
There are no elements to be evaluated under Step 2A Prong 1.
Step 2A Prong 2 and Step 2B:
“The analysis device according to claim 1, wherein the processor is configured to execute the instructions to” -- The limitation recites a processor being configured to execute the instructions to perform the task highlighted in prong 1. The limitation amounts to no more than mere instructions to apply onto a computer, and it cannot be integrated to a practical application, and cannot provide significantly more than the judicial exception (see MPEP 2106.05(f)).
“to generate image data representing a flowchart defining the metric used to identify the factor and an order of using the metric and a transition history in the flowchart.” -- The limitation recites to generate image data that represents a flowchart defining metrics and will be used to identify the factor and order using metric and transition history (gathered data) that is within the flowchart. Generating data based on gathered information (gathered data) is an insignificant, extra-solution activity that cannot be integrated into a practical application (see MPEP 2106.05(g)). Furthermore, under Step 2B, the act of generating data merely to represent it and define new information is a well-understood routine, and conventional activity (WURC) that cannot provide significantly more than the judicial exception (see MPEP 2106.05(d)(II)).
Therefore, claim 8 is non-patent eligible.
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 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.
Claim(s) 1-3,9-10 is/are rejected under 35 U.S.C. 102(a)(2) as being anticipated by US10762444B2, by Fly et. al. (referred herein as Fly).
Regarding claim 1, Fly teaches:
An analysis device comprising: at least one memory storing instructions; and at least one processor configured to execute the instructions to: ([Fly, col 26, lines 6-9] “In one aspect, computing device 10 includes one or more central processing units (CPU) 12, one or more interfaces 15, and one or more busses 14.” and [Fly, col 26, lines 30-39] “a local memory 11 (such as non-volatile random-access memory (RAM) and/or read-only memory (ROM), including for example one or more levels of cached memory) may also form part of CPU 12. However, there are many different ways in which memory may be coupled to system 10. Memory 11 may be used for a variety of purposes such as, for example, caching and/or storing data, programming instructions, and the like.”, wherein the examiner interprets “computing device 10 includes one or more central processing units (CPU) 12” to be the same as at least one processor because they are both directed to a processing unit that executes operations, and interprets “a local memory 11” that is used for “storing data, programming instructions, and the like” to be the same as at least one memory storing instructions because they are both directed to a memory component that stores executable instructions);
calculate and evaluate a plurality of types of metrics with respect to a prediction model, data of explanatory variables used in the prediction model, or data of target variables used in the prediction model; ([Fly, col. 21, lines 12-18] “the notification engine 1130 determines whether a detected drift is statistically significant by applying higher level analysis, such as model prediction score distributions, model variable profiling statistics, time window comparison/rate of change, model variable predictive power or relative importance, risk factor”, and [Fly, col 22, lines 30-33, col 23, lines 12-18] “the data anomaly detection engine 1410 performs domain checks for categorical variables, and detects out of bound values for continuous variables … the prediction anomaly detection engine 1415 checks thresholds, ranges, null/0 scores, and drifts in scores output by the online processing system 140, and compares them to historical trends established from training and/or validation datasets to detect score anomalies in real-time or near real-time.”, wherein the examiner interprets “model prediction score distributions, model variable profiling statistics, time window comparison/rate of change, model variable predictive power or relative importance, risk factor” to be the same as “a plurality of types of metrics” because they are both directed to multiple distinct categories of analytical measurements used to evaluate system performance, and interprets “scores output by the online processing system 140” to be the same as a prediction model because they are both directed to a model that generates prediction scores on incoming data, and interprets “categorical variables” and “continuous variables” to be the same as “data of explanatory variables used in the prediction model” because they are both directed to input variable data that is fed into the prediction model for scoring, and interprets “outcome volume distribution changes (e.g.: training vs scoring), and outcome in relation to prediction volume distribution changes” [Fly, col. 4] to be the same as data of target variables used in the prediction model because they are both directed to the outcome data that the prediction model is designed to predict.)
and identify a factor of an error in prediction by the prediction model according to a combination of evaluation results of the plurality of types of the metrics. ([Fly, col 23, lines 25-27, col 24, lines 25-30] “anomaly reason module 1430 identifies the reason that a anomaly was detected by the anomaly detection system 160 … When one or more anomalies is identified on a given request, the online/offline platform disclosed herein can not only recognize the anomalies, provide a reason(s), the platform can provide the complete data lineage and original source of the data element(s) that cause the anomaly.” and [Fly, col 5, lines 1-7] “In one embodiment, detecting whether drift is statistically significant is comprised of determining whether the combined result is above a threshold, and/or based on model prediction and score distributions, model variable profiling statistics, time window comparison and rate of change, model variable predictive power and/or relative importance, and/or risk factor associated with the identified drift.”, wherein the examiner interprets “identifies the reason that a anomaly was detected” and “the original source of the data element(s) that cause the anomaly” to be the same as identify a factor of an error in prediction by the prediction model because they are both directed to determining the root cause or causal element responsible for a degradation or error in the prediction system output, and interprets “determining whether the combined result is above a threshold, and/or based on model prediction and score distributions, model variable profiling statistics, time window comparison and rate of change, model variable predictive power and/or relative importance, and/or risk factor associated with the identified drift” to be the same as according to a combination of evaluation results of the plurality of types of the metrics because they are both directed to using a joint assessment across multiple different metric types to arrive at a determination about the source of prediction degradation).
Regarding claim 2, Fly teaches:
The analysis device according to claim 1, wherein the processor is configured to execute the instructions to identify a factor of an error in prediction by the prediction model ([Fly, col, 26, lines 7-8] “computing device 10 includes one or more central processing units (CPU) 12”, and [Fly, col. 23, lines 65–67] “The anomaly reason module 1430 identifies the reason that a anomaly was detected by the anomaly detection system 160”, wherein the examiner interprets “includes one or more CPU” to be the same as “the processor is configured to execute” because they are both processors running the prediction models. The examiner further interprets, “identifies the reason that a anomaly was detected” to be the same as “identify a factor of an error in prediction by the prediction model” because they are both directed to determining the underlying cause responsible for a detected error or anomaly occurring during the prediction scoring process).
according to a rule for associating combinations of evaluation results of the plurality of types of the metrics with factors. ([Fly, col. 5, lines 34-49] “perform statistical analysis on incoming scoring requests to determine whether incoming scoring requests are anomalous, determine whether the scores output in the online scoring environment are anomalous, wherein the determination is performed by checking whether null/O scores are output in the online scoring environment, comparing the output scores against thresholds and historical trends that were established when the model algorithms were trained and/or validated, determine whether the outcome actions are anomalous, wherein the determination is performed by determining whether there is a drift between received scores and outcome actions, tag the anomalous activity with a flag, the flag comprising information about the type of anomaly that is detected, and generate an alert if an anomaly is detected in the incoming scoring requests, the scores output, or the outcome actions.”, and [Fly, col. 24, lines 17-20] “FIG. 18 illustrates anomaly reasons, which are user friendly reasons as to the likely source of an anomaly; illustrated in FIG. 18 as Unrecognized Categorical Value, Unexpected Feature Combination”, wherein the examiner interprets “perform statistical analysis on incoming scoring requests to determine whether incoming scoring requests are anomalous, determine whether the scores output in the online scoring environment are anomalous, determine whether the outcome actions are anomalous” to be the same as “combinations of evaluation results of the plurality of types of the metrics” because they are both directed to evaluating multiple distinct categories of metrics across data inputs, prediction scores, and outcomes to produce a combination of evaluation results, and further interprets “tag the anomalous activity with a flag, the flag comprising information about the type of anomaly that is detected” together with “anomaly reasons, which are user friendly reasons as to the likely source of an anomaly; illustrated in FIG. 18 as Unrecognized Categorical Value, Unexpected Feature Combination” to be the same as “a rule for associating combinations of evaluation results of the plurality of types of the metrics with factors” because they are both directed to a systematic rule-based process that links the combination of detected anomaly types across multiple evaluation categories to specific identified causal factors such as unrecognized categorical values or unexpected feature combinations).
Regarding claim 3, Fly teaches:
The analysis device according to claim 2, wherein the processor is configured to execute the instructions to identify a factor of an error in prediction by the prediction model ([Fly, col, 26, lines 7-8] “computing device 10 includes one or more central processing units (CPU) 12”, and [Fly, col. 23, lines 65–67] “The anomaly reason module 1430 identifies the reason that a anomaly was detected by the anomaly detection system 160”, wherein the examiner interprets “includes one or more CPU” to be the same as “the processor is configured to execute” because they are both processors running the prediction models. The examiner further interprets, “identifies the reason that a anomaly was detected” to be the same as “identify a factor of an error in prediction by the prediction model” because they are both directed to determining the underlying cause responsible for a detected error or anomaly occurring during the prediction scoring process).
according to a combination of an evaluation result of a predetermined metric among the plurality of types of the metrics ([Fly, col. 25, lines 7–14] “the process monitors the online processing or scoring environment 1502 by checking 1504 categorical and continuous variables in the incoming scoring requests, checking 1506 predictions made by the online scoring environment, and/or checking 1508 outcomes associated with the predictions”, and [Fly, col. 24, lines 56–62] “determining whether a data anomaly is detected 1510, a prediction anomaly is detected 1512, an outcome anomaly is detected 1514”, wherein the examiner interprets “checking 1504 categorical and continuous variables in the incoming scoring requests” together with “determining whether a data anomaly is detected 1510” to be the same as “an evaluation result of a predetermined metric among the plurality of types of the metrics” because they are both directed to first evaluating a specific, initial type of check from among multiple available types of evaluations, where the data-level check represents the predetermined metric that is evaluated first in the sequential evaluation process).
and an evaluation result of the metric selected according to the evaluation result of the predetermined metric. ([Fly, col. 24, lines 56-65] “determining whether a data anomaly is detected 1510, a prediction anomaly is detected 1512, an outcome anomaly is detected 1514. If no anomalies are detected, then the process continues by processing other rules 1518. If an anomaly is detected, then the process determines if a particular tolerance is obtained 1516”, and [Fly, col. 4, lines 24-32] “In order to detect anomalies in the scores themselves, the inventive system and method identifies, for example and without limitation, thresholds, ranges, null/O scores, and drifts, etc. in model scores, and compares them to historical trends”, wherein the examiner interprets “a prediction anomaly is detected 1512, an outcome anomaly is detected 1514. If no anomalies are detected, then the process continues by processing other rules 1518. If an anomaly is detected, then the process determines if a particular tolerance is obtained 1516” to be the same as “an evaluation result of the metric selected according to the evaluation result of the predetermined metric” because they are both directed to a conditional, hierarchical evaluation process where the result of evaluating the first predetermined metric determines which subsequent metric type is evaluated next, and the combination of the evaluation results from both the predetermined metric and the subsequently selected metric is used to identify the causal factor of the prediction error).
Regarding claim 9, Fly teaches:
An analysis method comprising: calculating and evaluating a plurality of types of metrics with respect to a prediction model, data of explanatory variables used in the prediction model, or data of target variables used in the prediction model; ([Fly, col. 21, lines 12-18] “the notification engine 1130 determines whether a detected drift is statistically significant by applying higher level analysis, such as model prediction score distributions, model variable profiling statistics, time window comparison/rate of change, model variable predictive power or relative importance, risk factor”, and [Fly, col 22, lines 30-33, col 23, lines 12-18] “the data anomaly detection engine 1410 performs domain checks for categorical variables, and detects out of bound values for continuous variables … the prediction anomaly detection engine 1415 checks thresholds, ranges, null/0 scores, and drifts in scores output by the online processing system 140, and compares them to historical trends established from training and/or validation datasets to detect score anomalies in real-time or near real-time.”, wherein the examiner interprets model prediction score distributions, model variable profiling statistics, time window comparison/rate of change, model variable predictive power or relative importance, risk factor to be the same as a “plurality of types of metrics” because they are both directed to multiple distinct categories of analytical measurements used to evaluate prediction behavior and data behavior. The examiner further interprets “scores output by the online processing system 140” to be the same as “a prediction model” because they are both directed to a model that generates prediction scores on input data. The examiner further interprets “categorical variables … and continuous variables” to be the same as “data of explanatory variables used in the prediction model” because they are both directed to input variables provided to a prediction/scoring system for generating predicted results. Finally, the examiner further interprets “outcome volume distribution changes (e.g.: training vs scoring), and outcome in relation to prediction volume distribution changes” to be the same as data of target variables used in the prediction model because they are both directed to outcome/target information that is associated with the predicted results and used for assessing prediction performance.)
and identifying a factor of an error in prediction by the prediction model according to a combination of evaluation results of the plurality of types of the metrics. ([Fly, col 23, lines 25-27, col 24, lines 25-30] “anomaly reason module 1430 identifies the reason that a anomaly was detected by the anomaly detection system 160 … When one or more anomalies is identified on a given request, the online/offline platform disclosed herein can not only recognize the anomalies, provide a reason(s), the platform can provide the complete data lineage and original source of the data element(s) that cause the anomaly.” and [Fly, col 5, lines 1-7] “In one embodiment, detecting whether drift is statistically significant is comprised of determining whether the combined result is above a threshold, and/or based on model prediction and score distributions, model variable profiling statistics, time window comparison and rate of change, model variable predictive power and/or relative importance, and/or risk factor associated with the identified drift.”, wherein the examiner interprets “identifies the reason that a anomaly was detected” and “the original source of the data element(s) that cause the anomaly” to be the same as “identifying a factor of an error in prediction by the prediction model” because they are both directed to determining a cause or causal source responsible for anomalous prediction behavior or degraded prediction outputs. The examiner further interprets determining whether the combined result is above a threshold, and/or based on model prediction and score distributions, model variable profiling statistics, time window comparison and rate of change, model variable predictive power and/or relative importance, and/or risk factor associated with the identified drift to be the same as “according to a combination of evaluation results of the plurality of types of the metrics” because they are both directed to using multiple evaluated metric outcomes jointly to reach a conclusion regarding the reason for degraded prediction behavior.)
Regarding claim 10, Fly teaches:
A non-transitory computer-readable medium storing a program causing a computer to execute: ([Fly, col. 29, lines 45-54] “at least some network device embodiments may include non-transitory machine-readable storage media, which, for example, may be configured or designed to store program instructions, state information, and the like for performing various operations described herein.” and [Fly, col. 27, lines 63-66] “Computing device 10 may be … any other electronic device capable of executing software- or hardware-based instructions according to one or more programs stored in memory.”, wherein the examiner interprets non-transitory machine-readable storage media that are configured or designed to store program instructions to be the same as “a non-transitory computer-readable medium storing a program” because they are both directed to tangible, non-transitory storage that retains program instructions. The examiner further interprets capable of executing software- or hardware-based instructions according to one or more programs stored in memory to be the same as “causing a computer to execute” because they are both directed to a computer executing operations under control of stored program instructions.)
a metric evaluation step of calculating and evaluating a plurality of types of metrics with respect to a prediction model, data of explanatory variables used in the prediction model, or data of target variables used in the prediction model; ([Fly, col. 21, lines 12-18] “the notification engine 1130 determines whether a detected drift is statistically significant by applying higher level analysis, such as model prediction score distributions, model variable profiling statistics, time window comparison / rate of change, model variable predictive power or relative importance, risk factor” and [Fly, col. 22, lines 30-33, lines 62-end] “the data anomaly detection engine 1410 performs domain checks for categorical variables, and detects out of bound values for continuous variables … Each scoring request is scored … by collecting real time data inputs, and applying the machine learned models that are learned by the offline learning system.”, wherein the examiner interprets model prediction score distributions, model variable profiling statistics, time window comparison / rate of change, model variable predictive power or relative importance, risk factor to be the same as “a plurality of types of metrics” because they are both directed to multiple distinct categories of analytical measurements used to evaluate prediction behavior and data behavior, and interprets Each scoring request is scored … applying the machine learned models to be the same as “a prediction model” because they are both directed to a model that produces prediction outputs/scores from input data, and interprets categorical variables and continuous variables to be the same as “data of explanatory variables used in the prediction model” because they are both directed to input variables provided to a prediction/scoring system.)
and a factor identification step of identifying a factor of an error in prediction by the prediction model according to a combination of evaluation results of the plurality of types of the metrics. ([Fly, col. 25, lines 64-66] “The anomaly reason module 1430 identifies the reason that a anomaly was detected by the anomaly detection system 160.”, and [Fly, col. 21, lines 5-7] “If the combined result 1310 is above a certain threshold value, then a drift notification may be created.”, wherein the examiner interprets identifies the reason that a anomaly was detected to be the same as “identifying a factor of an error in prediction by the prediction model” because they are both directed to determining a cause/reason responsible for anomalous prediction behavior or degraded prediction outputs, and interprets If the combined result 1310 is above a certain threshold value to be the same as “according to a combination of evaluation results of the plurality of types of the metrics” because they are both directed to using a combined assessment derived from evaluated measurements to reach a determination associated with prediction degradation.)
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.
Claim(s) 4 and 7 are rejected under 35 U.S.C. 103 as being unpatentable over Fly in view of NPL reference “Introducing TensorFlow Model Analysis: Scaleable, Sliced, and Full-Pass Metrics”, by Mewald et. al. (referred herein as Mewald).
Regarding claim 4, Fly teaches The analysis device according to claim 1, (see rejection for claim 1).
Fly further teaches:
wherein the processor is further configured to execute the instructions to: ([Fly, col, 26, lines 7-8] “computing device 10 includes one or more central processing units (CPU) 12”, wherein the examiner interprets “includes one or more CPU” to be the same as “the processor is configured to execute” because they are both processors running the prediction models.)
Fly does not teach receive an instruction to designate a calculation algorithm or an evaluation algorithm for the metrics, and calculate and evaluate the metrics by the calculation algorithm or the evaluation algorithm designated by the instruction.
Mewald teaches:
receive an instruction to designate a calculation algorithm or an evaluation algorithm for the metrics, and ([Mewald, page 4, section on Streaming vs full-pass metrics] “TFMA can also be configured to compute additional metrics that were not defined in the model”, and [Mewald, section on How does TensorFlow Model Analysis work?] “TFMA simply requires developers to export a separate evaluation graph from the trainer into its own SavedModel. TFMA uses the graph in this SavedModel to compute (sliced) metrics and provides visualization tools to analyze those metrics”, wherein the examiner interprets “configured to compute additional metrics that were not defined in the model” together with “export a separate evaluation graph from the trainer into its own SavedModel” to be the same as “receive an instruction to designate a calculation algorithm or an evaluation algorithm for the metrics” because they are both directed to accepting a user-specified configuration that determines which evaluation algorithm or calculation method will be used to compute the metrics for analyzing the prediction model).
calculate and evaluate the metrics by the calculation algorithm or the evaluation algorithm designated by the instruction. ([Mewald, section on Streaming vs full-pass metrics] “TFMA uses Apache Beam to do a full pass over the specified evaluation dataset. This not only allows more accurate calculation of metrics, but also scales up to massive evaluation datasets … Note that TFMA computes the same TensorFlow metrics that are computed by the TensorFlow eval worker, just more accurately by doing a full pass over the specified dataset”, wherein the examiner interprets “TFMA uses Apache Beam to do a full pass over the specified evaluation dataset” together with “computes the same TensorFlow metrics that are computed by the TensorFlow eval worker, just more accurately by doing a full pass over the specified dataset” to be the same as “calculate and evaluate the metrics by the calculation algorithm or the evaluation algorithm designated by the instruction” because they are both directed to executing the computation and evaluation of the metrics using the specific calculation algorithm that was designated through the configuration, producing the resulting metric values accordingly).
Fly, Mewald, and the instant application are analogous art because they are all directed to analysis of prediction models through configurable evaluation metrics and analysis thereof.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the apparatus claim 1 disclosed by Fly to include the metric calculation process disclosed by Mewald. One would be motivated to do so to efficiently extend the set of evaluation metrics that can be applied to a prediction model, thereby enabling more comprehensive analysis of prediction model behavior, as suggested by Mewald (Mewald, [section on Streaming vs full-pass metrics] “This not only allows more accurate calculation of metrics, but also scales up to massive evaluation datasets.”).
Regarding claim 7, Fly teaches The analysis device according to claim 1, (see rejection for claim 1)
Fly further teaches:
wherein the processor is further configured to execute the instructions ([Fly, col, 26, lines 7-8] “computing device 10 includes one or more central processing units (CPU) 12”, wherein the examiner interprets “includes one or more CPU” to be the same as “the processor is configured to execute” because they are both processors running the prediction models.)
Fly does not teach to generate image data of a predetermined graph according to the metrics.
Mewald teaches to generate image data of a predetermined graph according to the metrics. ([Mewald, section on Visualize metrics in Jupyter] “The render_slicing_metrics call loads the slicing browser component in the Jupyter notebook (see Figure 4) and allows developers to inspect the results of the TFMA eval run….The animation in Figure 4 demonstrates a workflow of how to identify a slice with the lowest AUC by first selecting “Metrics Histogram” for visualization,” wherein the examiner interprets “allows ..to inspect the results of the TFMA eval run … for visualization” to be the same as “generate image data of a predetermined graph to the metrics” because they are both producing a specific, predefined graph type (a histogram / “Metrics Histogram”) rather than an arbitrary display.).
Fly, Mewald, and the instant application are analogous art because they are all directed to generating visual representations of evaluation metrics associated with prediction model analysis.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the apparatus claim 1 disclosed by Fly to include the metrics visualization approach disclosed by Mewald. One would be motivated to do so to effectively present evaluation results of prediction model metrics in a visual graph form that facilitates inspection and interpretation of the metric outcomes, as suggested by Mewald (Mewald, section on Visualize metrics in Jupyter, “allows developers to inspect the results of the TFMA eval run.”).
Claim(s) 5 is rejected under 35 U.S.C. 103 as being unpatentable over Fly in view of NPL reference “The What-If Tool: Interactive Probing of Machine Learning Models”, by Wexler et. al. (referred herein Wexler).
Regarding claim 5, Fly teaches The analysis device according to claim 2, (see rejection for claim 2).
Fly further teaches:
wherein the processor is further configured to execute the instructions to: ([Fly, col, 26, lines 7-8] “computing device 10 includes one or more central processing units (CPU) 12”, wherein the examiner interprets “includes one or more CPU” to be the same as “the processor is configured to execute” because they are both processors running the prediction models.)
identify a factor of an error in prediction by the prediction model according to the rule designated by the instruction. ([Fly, col 24, lines 8-14] “each incoming scoring request that receives a null/0/void score may be triaged in accordance with the disclosure herein to identify the source of the anomaly. Once the source of the anomaly is detected, it is identified and presented to a user for further analysis and/or action”, wherein the examiner interprets identify the source of the anomaly … it is identified and presented to a user to be the same as identify a factor of an error in prediction by the prediction model because they are both directed to determining and identifying a cause/source for an anomalous prediction result.)
Fly does not teach receive an instruction to designate the rule, and.
Wexler teaches receive an instruction to designate the rule, and ([Wexler, page 7, sec 4.3] “users can interact with configuration controls on the left side panel to specify ground truth features, select features to slice by, and set cost ratios for performance measures, and view the resulting performance table on the right side”, wherein the examiner interprets “users can interact with configuration controls … to specify … select … and set” to be the same as “receive an instruction to designate the rule” because they are both directed to receiving user-provided configuration input that designates the criteria/settings that govern the subsequent evaluation/analysis.)
Fly, Wexler, and the instant application are analogous art because they are all directed to analyzing prediction model behavior and identifying causes of prediction errors.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the apparatus claim 2 disclosed by Fly to include the selection and configuration of metrics disclosed by Wexler. One would be motivated to do so to effectively allow user-specified analytical rules to control how prediction model errors are evaluated and diagnosed, as suggested by Wexler (Wexler, [page 7, sec 4.3] “users can interact with configuration controls … to specify ground truth features, select features to slice by, and set cost ratios for performance measures .. to probe, visualize, and analyze ML systems”).
Claim(s) 6 is rejected under 35 U.S.C. 103 as being unpatentable over Fly in view of US10599957B2, by Walters et. al. (referred herein as Walters.)
Regarding claim 6, Fly teaches The analysis device according to claim 1, (see rejection for claim 1).
Fly further teaches:
wherein the processor is further configured to execute the instructions ([Fly, col, 26, lines 7-8] “computing device 10 includes one or more central processing units (CPU) 12”, wherein the examiner interprets “includes one or more CPU” to be the same as “the processor is configured to execute” because they are both processors running the prediction models.)
Fly does not teach to determine an action for eliminating the identified factor.
Walter teaches to determine an action for eliminating the identified factor. ([Walters, col 2, lines 47-54] “In some embodiments, the operations include training a model training and detecting data drift based on a difference in a trained model parameter from a baseline model parameter. The operations may include hyperparameter tuning and detecting data drift based on a difference in a tuned hyperparameter from a baseline hyperparameter. The operations may include correcting the model based on the detected data drift.”, wherein the examiner interprets “The operations may include correcting the model based on the detected data drift” to be the same as “determine an action for eliminating the identified factor” because they are both determining/performing an action intended to eliminate (i.e., correct for) the identified factor (here, detected data drift).)
Fly, Walters, and the instant application are analogous art because they are all directed to analyzing prediction model behavior.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the apparatus claim 1 disclosed by Fly to include the drift detection approach disclosed by Walters. One would be motivated to do so to effectively improve the reliability and accuracy of model predictions by correcting detected drift conditions that degrade model performance, as suggested by Walters (Walters, [col 2, lines 52-54] “The operations may include correcting the model based on the detected data drift.”).
Claim(s) 8 is rejected under 35 U.S.C. 103 as being unpatentable over Fly in view of NPL reference “Automated Data Slicing for Model Validation: A Big data- AI Integration Approach”, by Chung et. al. (referred herein as Chung.)
Regarding claim 8, Fly teaches The analysis device according to claim 3, (see rejection for claim 3).
Fly further teaches:
wherein the processor is further configured to execute the instructions ([Fly, col, 26, lines 7-8] “computing device 10 includes one or more central processing units (CPU) 12”, wherein the examiner interprets “includes one or more CPU” to be the same as “the processor is configured to execute” because they are both processors running the prediction models.)
Fly does not teach to generate image data representing a flowchart defining the metric used to identify the factor and an order of using the metric and a transition history in the flowchart.
Chung teaches:
generate image data representing a flowchart ([Chung p. 4, sec 3] “Slice Finder provides interactive visualization tools for the user to explore the recommended slices.” and [Chung, p. 5, sec 3.1.3] “traversing the slice lattice in a breadth-first manner, one level at a time.”, wherein the examiner interprets interactive visualization tools to be the same as generate image data because they are both directed to producing visual renderings that a user can view while diagnosing model behavior. The examiner further interprets breadth-first traversal one level at a time to be the same as “representing a flowchart” because they are both directed to the path/sequence of moving through nodes/levels in a structured process representation (i.e., the sequence of transitions taken through the procedure). )
defining the metric used to identify the factor ([Chung, p. 4, sec 2.4] “Given a positive integer k, an effect size threshold T, and a significance level α, find the top-k slices … such that: (a) Each slice S has an effect size at least T, (b) The slice is statistically significant …”, wherein the examiner interprets using effect size and statistical significance criteria to find problematic slices to be the same as defining the metric used to identify the factor because they are both directed to using defined metric criteria to determine a diagnostic outcome (i.e., identifying which condition/problem is present.)
and an order of using the metric and a transition history in the flowchart. ([Chung, p. 6] “Slice Finder finds the top-k interpretable and large problematic slices sorted by the ≺ order by traversing the slice lattice in a breadth-first manner, one level at a time. Initially Slice Finder considers the slices that are defined with one literal. For each slice, Slice Finder checks if it has an effect size at least T (using the Effect Size function) and adds it to the priority queue C, which contains candidate slices that are sorted by the ≺ order. Next, Slice Finder pops slices from C and tests for statistical significance using the IsSignificant function.”, wherein the examiner interprets the quoted breadth-first manner, initial consideration, checking effect size, then testing statistical significance to be the same as “and an order of using the metric” because they are both directed to applying metric checks in a specified sequence. The examiner further interprets breadth-first traversal one level at a time to be the same as “and a transition history in the flowchart” because they are both directed to the path/sequence of moving through nodes/levels in a structured process representation (i.e., the sequence of transitions taken through the procedure).)
Fly, Chung, and the instant application are analogous art because they are all directed to systems that analyze prediction models using evaluation metrics and provide visual diagnostics.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the invention to modify the apparatus claim 3 disclosed by Fly to include the visualization tools disclosed by Chung. One would be motivated to do so to effectively improve interpretability and user understanding of how evaluation metrics identify problematic prediction behavior, as suggested by Chung ([Chung p. 4, sec 3] “Slice Finder provides interactive visualization tools for the user to explore the recommended slices.”).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DEVAN KAPOOR whose telephone number is (703)756-1434. The examiner can normally be reached Monday - Friday: 9:00AM - 5:00 PM EST (times may vary).
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, David Yi can be reached at (571) 270-7519. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/DEVAN KAPOOR/Examiner, Art Unit 2126
/DAVID YI/Supervisory Patent Examiner, Art Unit 2126