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 .
Claim Objections
A series of singular dependent claims is permissible in which a dependent claim refers to a preceding claim which, in turn, refers to another preceding claim.
A claim which depends from a dependent claim should not be separated by any claim which does not also depend from said dependent claim. It should be kept in mind that a dependent claim may refer to any preceding independent claim. In general, applicant's sequence will not be changed. See MPEP § 608.01(n).
Claim 15 is out of order and should probably be amended to depend on claim 1 because it isn’t really related to claim 13.
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-18 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. The claims do not fall within at least one of the four categories of patent eligible subject matter because there is no structure citation and the claims amount to software per se.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea of a mathematical relationship without significantly more. The claims recite feature selection, feature engineering, model selection, intervention recommendation and various ways of testing for correlation in the data. This judicial exception is not integrated into a practical application because the steps of gathering data and output the preferred model are insignificant extra solution activity. The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception because elements such as “computer memory” are directed to generic computer parts.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-4, 7-8, 14, 16 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over US20170330102A1 to Brush, US20190205702A1 to Shi et al, US20180285969A1 to Busch et al and US20210357805A1 to Karim et al.
Claims 5 and 6 are rejected under 35 U.S.C. 103 as being unpatentable over US20170330102A1 to Brush, US20190205702A1 to Shi et al, US20180285969A1 to Busch et al, US20210357805A1 to Karim et al and US20220374736A1 to Chung.
Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over US20170330102A1 to Brush, US20190205702A1 to Shi et al, US20180285969A1 to Busch et al, US20210357805A1 to Karim et al and US20210319899A1 to Liu et al
Claims 10 and 11 are rejected under 35 U.S.C. 103 as being unpatentable over US20170330102A1 to Brush, US20190205702A1 to Shi et al, US20180285969A1 to Busch et al, US20210357805A1 to Karim et al, US20210319899A1 to Liu et al and https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Lasso.html as archived 7/18/2019 (SciKit).
Claims 12-13 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over US20170330102A1 to Brush, US20190205702A1 to Shi et al, US20180285969A1 to Busch et al, US20210357805A1 to Karim et al and US20220137119A1 to Franke et al.
Claim 18 is rejected under 35 U.S.C. 103 as being unpatentable over US20170330102A1 to Brush, US20190205702A1 to Shi et al, US20180285969A1 to Busch et al, US20210357805A1 to Karim et al and US20220084636A1 to Hogan et al.
Claim 19 is rejected under 35 U.S.C. 103 as being unpatentable over US20170330102A1 to Brush, US20190205702A1 to Shi et al and US20210357805A1 to Karim et al.
Claim 20 is rejected under 35 U.S.C. 103 as being unpatentable over US20170330102A1 to Brush, US20190205702A1 to Shi et al, US20210357805A1 to Karim et al and US20180285969A1 to Busch et al.
Brush teaches claim 1. A machine learning pipeline, comprising:
an input block that receives a dataset from a data source, wherein the dataset comprises a plurality of columns that each correspond to a different feature in the dataset; (Brush para 68 “The features thus extracted may be stored in a single table, in multiple tables in a single feature catalog, or they may be stored in multiple feature catalogs. For instance, one table might include medications, with a column for each medication a person has been prescribed.” Brush fig. 1 shows raw data 112. Brush fig. 3 receives raw data 304.)
a feature selection block that receives the dataset from the input block and reduces a size of the dataset by: (Brush fig. 3 shows applying rules to extract a set of features 320 324.)
dividing features of the dataset into a first subset of features that are (Brush para 21 “The rules engine may be configured to extract a feature set from the normalized population data.” Extracting is dividing the feature set into extracted features and non-extracted features.)
removing the second subset of features from the dataset to create a modified dataset having only columns corresponding to the first subset of features; (Brush para 21 “extraction process may be lossy, such that the resulting feature set is a simplified projection of the raw population data.”)
Brush doesn’t teach dividing correlated features from the set.
However, Shi teaches dividing features of the dataset into a first subset of features that are correlated features and a second subset of features that are non-correlated features. (Shi para 32 “For example, Lasso regression can perform feature selection implicitly, by selecting important features and setting coefficients for the other features to zero.” Importance is correlation.)
Shi, Brush and the claims all select features. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to select features based on importance because Shi’s “automated approach described herein represents a significant improvement in both accuracy and efficiency.” Shi para 6.
Brush doesn’t select a model.
However, Busch teaches a model selection block that receives the modified dataset from the feature selection block and tests performance of a plurality of models against the modified dataset by feeding one or more validation data values to each of the plurality of models and measuring a performance of each of the plurality of models, wherein the model selection block then selects a candidate model from the plurality of models based on the candidate model having a measured performance that meets or exceeds measured performances of other models in the plurality of models. (Busch para 28 “the prediction engine 120 is operative to select a predictive model from the plurality of predictive models … the prediction engine 120 identifies and selects a predictive model that satisfies an accuracy threshold (e.g., a model having the highest accuracy score) for determining propensities based on the data elements available in the received input data 104.”)
Brush, Busch and the claims all use a predictive model on data. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to select the best model between the first and second predictive model taught by Busch claim 9 and para 51 so that only the best model gets used.
Brush doesn’t deploy models.
However, Karim teaches an output block that provides an output to a computational device that identifies the candidate model as being a preferred model for processing the dataset. (Karim para 37 “The selection of configuration criteria can further specify whether to auto-deploy a new model that meets performance thresholds, such as 70% accuracy.”)
Karim, Brush and the claims all use multiple predictive models. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to output preferred models so that a “user can select a model to update”, which gives users more control over their predictions. Karim para 37.
Shi teaches claim 2. The machine learning pipeline of claim 1, wherein:
reducing the size of the dataset further comprises:
dividing features of the modified dataset into a third subset of features that are predictive of a target variable and a fourth subset of features that are non-predictive features; and (Predictive is the same thing as correlative, Spec. 40 “In an example, among the features identified as the most correlated features, the machine learning pipeline may retain the correlated features determined as being the most predictive of the target.” Shi para 32 “For example, Lasso regression can perform feature selection implicitly, by selecting important features and setting coefficients for the other features to zero.” Importance is prediction.)
removing the fourth subset of features from the dataset to create a second modified dataset comprising columns corresponding to the third subset of features; and (Shi para 32 “For example, Lasso regression can perform feature selection implicitly, by selecting important features and setting coefficients for the other features to zero.” Importance is prediction. Setting the coefficient to zero is “removing” the feature, see applicant’s claim 10.)
Shi doesn’t teach running a model on the pared down dataset.
However, Busch teaches the model selection block receives the second modified dataset from the feature selection block and tests the performance of the plurality of models against the second modified dataset. (Busch para 28 “the prediction engine 120 is operative to select a predictive model from the plurality of predictive models … the prediction engine 120 identifies and selects a predictive model that satisfies an accuracy threshold (e.g., a model having the highest accuracy score) for determining propensities based on the data elements available in the received input data 104.”)
Busch, Shi and the claims all run prediction on data. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to select features based on importance because Shi’s “automated approach described herein represents a significant improvement in both accuracy and efficiency.” Shi para 6.
Busch teaches claim 3. The machine learning pipeline of claim 1, wherein the model selection block further tests the performance of the plurality of models by feeding a previously unseen dataset to each of the plurality of models and measuring the performance of each of the plurality of models. (Busch para 22 “a testing dataset that includes known outputs (e.g., settlement history) for its inputs (e.g., pieces of demographic data and historical transaction data) is provided into the finalized predictive models to determine diagnostics data, such as an accuracy score of the predictive model in handling data that the model was not trained on.”)
Karim teaches claim 4. The machine learning pipeline of claim 1, wherein the output is delivered in one or more electronic communications to the computational device. (Karim para 6 “The new model can be deployed into a production environment if performance of the new model is better than the existing model.”)
Brush teaches claim 5. The machine learning pipeline of claim 1, further comprising a journey optimization block (Brush fig. 3 generate a prediction based on medical data, para 64.)
Brush doesn’t call the prediction an intervention.
However, Chung teaches a journey optimization block that receives the modified dataset and identifies one or more interventions for an individual based on processing the modified dataset, wherein the one or more interventions comprise a recommended set of interventions for the individual. (Chung para 35 “2) a machine learning based model (referred to as gap days model) that predicts an event for a user, for example, an event representing a gap for the user when the user is without medication (this model may be used to determine the timing for sending a communication to the user, for example, an intervention requesting the user to pick up medication that may have been prepared for the user); and (3) a machine learning based model (referred to as communication channel model) that predicts the optimal communication channel to user for communicating with the user such that minimal resources of the system are utilized and the chances of improving the adherence of the user are maximized.”)
Brush, Chung and the claims are all running predictions on medical data. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to use a model to select intervention and intervention channel to avoid the problem of “use of incorrect communication mechanism to communicate with users resulting in lower rate of user response.” Chung para 3.
Chung teaches claim 6. The machine learning pipeline of claim 5, wherein the journey optimization block further suggests a communication modality in the output, wherein the communication modality corresponds to a suggested mode for a care provider to communicate the one or more interventions to the individual. (Chung para 35 “2) a machine learning based model (referred to as gap days model) that predicts an event for a user, for example, an event representing a gap for the user when the user is without medication (this model may be used to determine the timing for sending a communication to the user, for example, an intervention requesting the user to pick up medication that may have been prepared for the user); and (3) a machine learning based model (referred to as communication channel model) that predicts the optimal communication channel to user for communicating with the user such that minimal resources of the system are utilized and the chances of improving the adherence of the user are maximized.”)
Shi teaches claim 7. The machine learning pipeline of claim 1, wherein the feature selection block divides the features of the dataset into the first subset of features and the second subset of features by running an automated correlation analysis. (Shi para 32 “For example, Lasso regression can perform feature selection implicitly, by selecting important features and setting coefficients for the other features to zero.” Importance is correlation.)
Shi teaches claim 8. The machine learning pipeline of claim 7, wherein the feature selection block runs the automated correlation analysis with a linear regression that uses shrinkage. (Shi para 32 “For example, Lasso regression can perform feature selection implicitly, by selecting important features and setting coefficients for the other features to zero.” Importance is correlation. LASSO stands for least absolute shrinkage and selection operator. LASSO includes linear regression.)
Shi teaches claim 9. The machine learning pipeline of claim 1, wherein the feature selection block comprises a (Shi para 32 “For example, Lasso regression can perform feature selection implicitly, by selecting important features and setting coefficients for the other features to zero.” Importance is correlation.)
Shi isn’t explicit about a correlation matrix.
However, Liu teaches a correlation matrix and a Lasso model. (Liu para 165 “This resulted in a 264-by-264 correlation matrix, from which 34,716 are unique correlations between two distinct ROIs and were used as input features to the models.” Liu para 101 “training this initial machine learning model includes using k-fold cross-validation with LASSO and Elastic Net regression.”)
The claims, Shi and Liu all correlate features for machine learning. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to use a correlation matrix to identify the “unique correlations” between the features and prediction, because unique correlations are more informative than broadly correlative features like all patients having an American address or something similar.
Shi teaches claim 10. The machine learning pipeline of claim 9, wherein the feature selection block (Shi para 32 “For example, Lasso regression can perform feature selection implicitly, by selecting important features and setting coefficients for the other features to zero.” Importance is correlation.)
Shi isn’t explicit about a correlation matrix.
However, Liu teaches a correlation matrix and a Lasso model. (Liu para 165 “This resulted in a 264-by-264 correlation matrix…”)
Shi doesn’t teach iterative processing.
However, Scikit teaches iteratively processes the modified dataset. (Scikit p. 1 shows “max_iter” which is the maximum number of iterations to optimize the objective function.)
The claims, Shi and Lasso are all related to the LASSO method for determining correlated features. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to use iteration and cap the number of iterations in order to solve for the optimum penalty for each coefficient without hanging up on an intractable optimization problem.
Scikit teaches claim 11. The machine learning pipeline of claim 10, wherein a number of times that the feature selection block iteratively processes the modified dataset is configurable by a user. (Scikit p. 1 shows “max_iter” which is the maximum number of iterations set by the user of the LASSO function.)
Brush teaches claim 12. The machine learning pipeline of claim 1, further comprising:
a (Brush fig. 4 normalize data 408.)
Brush doesn’t fix errors.
However, Franke teaches wherein the feature engineering block checks the dataset for errors and fixes any identified errors included in the dataset. (Franke para 81 “Feature engineering describes a process to generate features that allow an algorithm of machine learning to make good predictions. For this purpose, existing features, such as measured values, are combined or transformed according to the invention so that new helpful information is produced.” Franke para 8 “The method consists of the following steps: taking training measurements … preprocessing the taken training measurements to eliminate data errors in the training measurements…”)
Franke, Brush and the claims all preprocess the data. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to fix errors and feature engineer because those are standard steps in data preprocessing and it allows the models to “make good predictions.” Franke para 81.
Franke teaches claim 13. The machine learning pipeline of claim 12, wherein the feature engineering block enriches the dataset with one or more additional features. (Franke para 81 “Feature engineering describes a process to generate features that allow an algorithm of machine learning to make good predictions. For this purpose, existing features, such as measured values, are combined or transformed according to the invention so that new helpful information is produced.”)
Brush teaches claim 14. The machine learning pipeline of claim 1, wherein the one or more (Brush para 21 “extraction process may be lossy, such that the resulting feature set is a simplified projection of the raw population data.”)
Brush doesn’t teach validation.
However, Busch teaches validation data. (Busch para 22 “a testing dataset that includes known outputs (e.g., settlement history) for its inputs (e.g., pieces of demographic data and historical transaction data) is provided into the finalized predictive models to determine diagnostics data, such as an accuracy score of the predictive model in handling data that the model was not trained on.”)
Busch teaches claim 15. The machine learning pipeline of claim 13, further comprising:
a parameter setting block that determines one or more operational parameters for the candidate model. (Busch para 20 “The predictive models are refined at the end of each round based on evaluations of the outputs relative to the inputs so that the predictive model creator 114 can adjust the values of the variables within the model to fine-tune the predictive model to more accurately match the inputs to the known outputs between rounds.” The variables in the model are the operational parameters.)
Brush teaches claim 16. The machine learning pipeline of claim 1, wherein the feature selection block corresponds to a callable function. (Brush fig 4 receive a call for a set of features, apply rules to get set of features.)
Busch teaches claim 17. The machine learning pipeline of claim 1, wherein the model selection block corresponds to a callable function. (Busch para 28 “the prediction engine 120 is operative to select a predictive model from the plurality of predictive models … the prediction engine 120 identifies and selects a predictive model that satisfies an accuracy threshold (e.g., a model having the highest accuracy score) for determining propensities based on the data elements available in the received input data 104.” The operation that selects the predictive model is the callable function.)
Brush teaches claim 18. The machine learning pipeline of claim 1, further comprising:
a machine learning model that estimates a target variable; and (Brush fig. 4 generate a prediction 440.)
Brush doesn’t use SHAP.
However, Hogan teaches a Shapley additive explanations (SHAP) model that identifies a percentage of the target variable that is driven by a feature in the first subset of features. (Hogan para 5 “identifying a subset of the classified corresponding metabolite features as the selective metabolite features for a disorder using a SHapley Additive exPlanations (SHAP) method.” Hogan para 33 “FIG. 3A depicts top 20 ion features by percentage importance using the SHAP method.”)
The claims, Brush and Hogan all teach selecting features. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to use SHAP to determine the importance to a class, as well as the class. Hogan para 33.
Brush teaches claim 19. A computer memory device comprising a codebase, wherein the codebase provides access to blocks of a machine learning pipeline comprising:
an input block that receives a dataset from a data source, wherein the dataset comprises a plurality of columns that each correspond to a different feature in the dataset; (Brush para 68 “The features thus extracted may be stored in a single table, in multiple tables in a single feature catalog, or they may be stored in multiple feature catalogs. For instance, one table might include medications, with a column for each medication a person has been prescribed.” Brush fig. 1 shows raw data 112. Brush fig. 3 receives raw data 304.)
a feature selection block that receives the dataset from the input block and produces a modified dataset by dividing features of the dataset into a first subset of features that are (Brush para 21 “The rules engine may be configured to extract a feature set from the normalized population data.” Extracting is dividing the feature set into extracted features and non-extracted features.)
(Brush fig. 4 generate prediction 440.)
Brush doesn’t teach dividing correlated features from the set.
However, Shi teaches dividing features of the dataset into a first subset of features that are correlated features and a second subset of features that are non-correlated features. (Shi para 32 “For example, Lasso regression can perform feature selection implicitly, by selecting important features and setting coefficients for the other features to zero.” Importance is correlation.)
Shi, Brush and the claims all select features. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to select features based on importance because Shi’s “automated approach described herein represents a significant improvement in both accuracy and efficiency.” Shi para 6.
Brush doesn’t deploy models.
However, Karim teaches an output block that outputs a candidate model. (Karim para 37 “The selection of configuration criteria can further specify whether to auto-deploy a new model that meets performance thresholds, such as 70% accuracy.”)
Karim, Brush and the claims all use multiple predictive models. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to output preferred models so that a “user can select a model to update”, which gives users more control over their predictions. Karim para 37.
Brush teaches claim 20. The computer memory device of claim 19, wherein the blocks of the machine learning pipeline further comprise: (Brush fig. 4)
Brush doesn’t select a model.
However, Busch teaches a model selection block that receives the modified dataset from the feature selection block and tests performance of a plurality of models against the modified dataset by feeding one or more validation data values to each of the plurality of models and measuring a performance of each of the plurality of models, wherein the model selection block then selects a candidate model from the plurality of models based on the candidate model having a measured performance that meets or exceeds measured performances of other models in the plurality of models. (Busch para 28 “the prediction engine 120 is operative to select a predictive model from the plurality of predictive models … the prediction engine 120 identifies and selects a predictive model that satisfies an accuracy threshold (e.g., a model having the highest accuracy score) for determining propensities based on the data elements available in the received input data 104.”)
Brush, Busch and the claims all use a predictive model on data. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to select the best model between the first and second predictive model taught by Busch claim 9 and para 51 so that only the best model gets used.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Austin Hicks whose telephone number is (571)270-3377. The examiner can normally be reached Monday - Thursday 8-4 PST.
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, Mariela Reyes can be reached at (571) 270-1006. 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.
/AUSTIN HICKS/Primary Examiner, Art Unit 2142