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
Claims 1 – 20 are pending and examined herein.
Claims 1 – 20 are rejected under 35 U.S.C. 101.
Claims 1 – 20 are rejected under 35 U.S.C. 103.
Specification
The disclosure is objected to because of the following informalities:
Reference ‘614’ in [0071] refers to “I/O Devices” and [0074] refers to “application”.
Appropriate correction is required.
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.
MPEP § 2109(III) sets out steps for evaluating whether a claim is drawn to patent-eligible subject matter. The analysis of claims 1 – 20, in accordance with these steps, follows.
Step 1 Analysis:
Step 1 is to determine whether the claim is directed to a statutory category (process, machine, manufacture, or composition of matter.
Claims 1 – 9 are directed to a method, meaning that it is directed to the statutory category of process. Claims 10 – 18 are directed to a system, which is the statutory category of machine. Claims 19 – 20 are directed to a non-transitory computer-readable medium comprising instruction, which can be an article of manufacture.
Step 2A Prong One, Step 2A Prong Two, and Step 2B Analysis:
Step 2A Prong One asks if the claim recites a judicial exception (abstract idea, law of nature, or natural phenomenon). If the claim recites a judicial exception, analysis proceeds to Step 2A Prong Two, which asks if the claim recites additional elements that integrate the abstract idea into a practical application. If the claim does not integrate the judicial exception, analysis proceeds to Step 2B, which asks if the claim amounts to significantly more than the judicial exception. If the claim does not amount to significantly more than the judicial exception, the claim is not eligible subject matter under 35 U.S.C. 101.
Regarding claim 1, the following claim elements are abstract ideas:
generate embeddings of the ordered sequence of strings; (This is practical to perform in the human mind under its broadest reasonable interpretation aside from the recitation of generic computer components.)
and generate a numerical score relating to a target action based on the embeddings and an order of the ordered sequence of strings; (This is practical to perform in the human mind under its broadest reasonable interpretation aside from the recitation of generic computer components. Generating a score based on factors could also recite mathematical calculation, which is mathematical concept.)
The following claim elements are additional elements which, taken alone or in combination with the other additional elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
providing, as inputs to a recurrent neural network (RNN), an ordered sequence of strings representing actions performed by a user within a software application, (This is mere data gathering and outputting, an insignificant extra solution activity, which is a well-understood, routine conventional activity. It does not integrate the judicial exception into a practical application. See MPEP § 2106.05(d). Therefore, this does not amount to significantly more than the judicial exception.)
the RNN having been trained through a supervised learning process to: (This falls under mere instructions to apply an exception. See MPEP § 2106.05(f). Therefore, this does not amount to significantly more than the judicial exception.)
receiving, as an output from the RNN in response to the inputs, the numerical score relating to the target action; (This is mere data gathering and outputting, an insignificant extra solution activity, which is a well-understood, routine conventional activity. It does not integrate the judicial exception into a practical application. See MPEP § 2106.05(d). Therefore, this does not amount to significantly more than the judicial exception.)
providing, as respective inputs to a tree-based classification machine learning model, the numerical score and an additional feature relating to the user; (This is mere data gathering and outputting, an insignificant extra solution activity, which is a well-understood, routine conventional activity. It does not integrate the judicial exception into a practical application. See MPEP § 2106.05(d). Therefore, this does not amount to significantly more than the judicial exception.)
Regarding claim 2, the rejection of claim 1 is incorporated herein. Further, claim 2 recites the following additional elements.
retrieving activity history data for the user from one or more electronic data sources; (This is mere data gathering, an insignificant extra solution activity, which is a well-understood, routine conventional activity. It does not integrate the judicial exception into a practical application. See MPEP § 2106.05(d). Therefore, this does not amount to significantly more than the judicial exception.)
and extracting the ordered sequence of strings from the activity history data through a tokenization process. (This is mere data gathering, an insignificant extra solution activity, which is a well-understood, routine conventional activity. It does not integrate the judicial exception into a practical application. See MPEP § 2106.05(d). Therefore, this does not amount to significantly more than the judicial exception.)
Regarding claim 3, the rejection of claim 1 is incorporated herein. Further, claim 3 recites the following abstract ideas.
computing, by the RNN, a sigmoid activation function based on the embeddings and the order of the ordered sequence of strings to generate the numerical score. (Computing a sigmoid activation function is merely mathematical calculation, which is mathematical concept.)
Claim 3 does not recite additional element.
Regarding claim 4, the rejection of claim 1 is incorporated herein. Further, claim 4 recites the following abstract ideas
… trained based on historical ordered sequences of strings associated with labels indicating whether the target action was historically performed. (This is practical to perform in the human mind under its broadest reasonable interpretation aside from the recitation of generic computer components. Training models with historical data could also recite mathematical calculation, which is mathematical concept.)
Claim 4 recites following additional elements.
wherein the RNN comprises a long short term memory (LSTM) network (This falls under mere instructions to apply abstract idea on a generic computer. See MPEP § 2106.05(f). Therefore, this does not amount to significantly more than the judicial exception.)
Regarding claim 5, the rejection of claim 4 is incorporated herein. Further, claim 5 recites the following abstract ideas.
trained based on historical user features, including historical numerical scores output by the RNN, associated with the labels indicating whether the target action was historically performed. (This is practical to perform in the human mind under its broadest reasonable interpretation aside from the recitation of generic computer components. Training models with historical user feature could also recite mathematical calculation, which is mathematical concept.)
Claim 5 recites following additional elements.
wherein the tree-based classification machine learning model comprises a gradient boosted tree model (This falls under mere instructions to apply abstract idea on a generic computer. See MPEP § 2106.05(f). Therefore, this does not amount to significantly more than the judicial exception.)
Regarding claim 6, the rejection of claim 1 is incorporated herein. Further, claim 6 recites the following additional elements
receiving, from the tree-based classification machine learning model based on the respective inputs, explainability information indicating respective contributions of the numerical score and the additional feature to the propensity score. (This is mere data gathering, an insignificant extra solution activity, which is a well-understood, routine conventional activity. It does not integrate the judicial exception into a practical application. See MPEP § 2106.05(d). Therefore, this does not amount to significantly more than the judicial exception.)
Regarding claim 7, the rejection of claim 1 is incorporated herein. Further, claim 7 recites the following additional elements
further comprising receiving user feedback with respect to the propensity score, (This is mere data gathering, an insignificant extra solution activity, which is a well-understood, routine conventional activity. It does not integrate the judicial exception into a practical application. See MPEP § 2106.05(d). Therefore, this does not amount to significantly more than the judicial exception.)
wherein the tree-based classification machine learning model is re-trained based on the user feedback. (This falls under mere instructions to apply abstract idea on a generic computer. See MPEP § 2106.05(f). Therefore, this does not amount to significantly more than the judicial exception.)
Regarding claim 8, the rejection of claim 1 is incorporated herein. Further, claim 8 recites the following additional elements
receiving user feedback with respect to the propensity score, (This is mere data gathering, an insignificant extra solution activity, which is a well-understood, routine conventional activity. It does not integrate the judicial exception into a practical application. See MPEP § 2106.05(d). Therefore, this does not amount to significantly more than the judicial exception.)
wherein the RNN is re-trained based on the user feedback. (This falls under mere instructions to apply abstract idea on a generic computer. See MPEP § 2106.05(f). Therefore, this does not amount to significantly more than the judicial exception.)
Regarding claim 9, the rejection of claim 1 is incorporated herein. Further, claim 9 recites the following additional elements
displaying content related to the target action within the software application based on the propensity score; or (This is mere data gathering and outputting, an insignificant extra solution activity, which is a well-understood, routine conventional activity. It does not integrate the judicial exception into a practical application. See MPEP § 2106.05(d). Therefore, this does not amount to significantly more than the judicial exception.)
generating a message related to the target action within the software application based on the propensity score. (This is mere data gathering and outputting, an insignificant extra solution activity, which is a well-understood, routine conventional activity. It does not integrate the judicial exception into a practical application. See MPEP § 2106.05(d). Therefore, this does not amount to significantly more than the judicial exception.)
Claims 10 – 18 recite substantially similar subject matter to claims 1 – 9 respectively and are rejected with the same rationale, mutatis mutandis.
Claims 19 – 20 recite substantially similar subject matter to claims 1 – 2 respectively and are rejected with the same rationale, mutatis mutandis.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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, 2, 4 – 11, 13 – 20 are rejected under 35 U.S.C. 103 as being unpatentable over Chakraborty et al. (U.S. Pub. 11651380) in view of Batra et al. (U.S. Pub. 2020/0184017).
Regarding Claim 1, Chakraborty teaches
providing, as inputs to a recurrent neural network (RNN), an ordered sequence of strings representing actions performed by a user within a software application, (Column 5 Lines 15 – 26 of Chakraborty states “In some embodiments, the server system 106 parses the click sequence data to leverage a: ( a) customer identifier; (b) click event; and (c) timestamp. In some embodiments, the customer identifier is a unique numerical identifier to join all the information for one user across multiple datasets. In some embodiments, the click event is a string describing the event that the user has performed in the product. Every action in the product has a unique click event string, (e.g., if the user clicks on the option for viewing the quick report for their account, the corresponding click event is denoted in path-like format indicating the series of pages visited or actions taken).” Column 7 Lines 45 – 50 of Chakraborty states “In one embodiment, the feature of SWM is: X/'l(t)=(e(t1J, ... ,e(tk;)), where (t-1 hour):s;t1 <t2 < ... <tk;:s;t are timestamps at which the click sequence events ({e(t)}) occurred.”)
the RNN having been trained through a supervised learning process to: generate embeddings of the ordered sequence of strings; (Column 8 Lines 25 – 33 of Chakraborty states “In one instance, the sequence model for analyzing the short window user behavior includes an embedding layer with trainable weights, followed by two Bidirectional LSTM (BiLSTM) layers, spatial drop-out layers, and a two layer feed forward network with Rectified Liner Unit (ReLu) activation. The model weights, including the embedding layer, are estimated by minimizing binary cross-entropy loss using an Adaptive Moment Estimation (ADAM) optimizer with a learning rate similar to 0.001.” The embedding layers in Chakraborty generates embeddings of the click event string sequence.)
and generate a numerical score relating to a target action based on the embeddings and an order of the ordered sequence of strings; (Column 8 Lines 17 – 25 of Chakraborty states “At 308, server system 106 determines propensity using one or more long short-term memory (LSTM) models. Here, the model may be pre-trained in batch mode and the featurization for inference cases happens online in real-time. The inference data for this model includes datasets that are continuously updated and available in real-time. In some embodiments, server system 106 uses a sequence model to estimate the propensity of chum from the recent sequence of clicks.” Column 7 Lines 56 – 63 of Chakraborty states “At 306, server system 106 determines a target variable associated with the chum ( or other monitored action) of the one or more users operating end user device(s) 102. The target variable is a binary outcome variable. The target equates to '1' if the user (e.g., customer/subscriber) has, for example, churned within 24 hours of the given reference date "D" and '0' if the has user not churned.”)
receiving, as an output from the RNN in response to the inputs, the numerical score relating to the target action; (Column 8 Lines 33 – 39 of Chakraborty states “To address the potential imbalance of the data, an additional class weight (e.g., five times the weight) may be assigned on the positive classes during training. As will be discussed below with reference to FIGS. 4 and 5, the propensity score calculated by the LSTM is ultimately transmitted to the ensemble model where it is used as an input.”)
providing, as respective inputs [to a downstream model], the numerical score and an additional feature relating to the user (Column 9 Lines 1 – 7 of Chakraborty states “The LWM and SWM model propensity scores are used as primary features for the ensemble machine learning model 400. In addition to the LWM and SWM model propensity scores, the server system 106 also includes the customer profile information, for example, the type of the customer, age of the customer, and the channels through the customer onboarded, as features for the ensemble machine learning model 400” Column 6 Lines 26 – 43 of Chakraborty states “At 208, the server system 106 determines propensity using a gradient-boosting model (GBM) to model the churn (or other monitored action) propensity of a user at a given reference time point. For example, the GBM applies a combination of machine learning techniques, such as an ensemble of decision trees and boosting, to classify whether the user is likely to churn and calculate a propensity score. In some embodiments, the GBM may fit the decision tree on parts of the training data and calculate the loss. The GBM then finds another decision tree which resembles the gradient of the loss (e.g., in terms of squared error loss) and adds that with the previous tree. In training, the GBM may repeat these steps until overfitting occurs or the residuals become constant. Although, in the instant embodiment, the GBM has been used a binary classifier to train the long window model in batch mode, other classifiers such as random forest, logistic regression and neural network models can also be trained in the similar fashion.”)
receiving,… , a propensity score indicating a likelihood of the user to perform the target action; (Column 6 Lines 29 – 33 of Chakraborty states “For example, the GBM applies a combination of machine learning techniques, such as an ensemble of decision trees and boosting, to classify whether the user is likely to churn and calculate a propensity score.”)
and performing an action within the software application based on the propensity score. (Column 10 Lines 62 – 67 of Chakraborty states “For example, while the user is interacting with the service or product on GUI 700, server system 106 may push one or more relevant task(s) to be displayed on GUI 700. In response to determining that the user is at 'High' risk for churn, server system 106 may push intervening relevant task 702 to end user device(s) 102 via GUI 700.”)
Chakraborty does not explicitly teach that
as inputs to a tree based classification machine learning model
as a respective output from the tree-based classification machine learning model in response to the respective inputs Batra teaches that
as inputs to a tree based classification machine learning model ([0052] of Batra states “For example, and in accordance with various embodiments, an output from LSTM model 374 may comprise a confidence (probability) score indicating whether the article is of interest or not (using any suitable confidence score scale).” [0057] of Batra states “For example, machine learning system 370 inputs the model outputs and the sentiment score into a gradient boosted regression tree (GBRT) machine learning model (step 524). The GBRT model may compute a sequence of binary trees wherein each successive tree is built to receive prediction residuals of the preceding tree. The GBRT model may consolidate and process the inputs to provide an ensemble determination of whether the data is of interest in the system. The GBRT model output (e.g., the final model output) may comprise an ensemble confidence (probability) score indicating whether the article is of interest or not (using any suitable confidence score scale).”)
as a respective output from the tree-based classification machine learning model in response to the respective inputs ([0057] of Batra states “The GBRT model may consolidate and process the inputs to provide an ensemble determination of whether the data is of interest in the system. The GBRT model output (e.g., the final model output) may comprise an ensemble confidence (probability) score indicating whether the article is of interest or not (using any suitable confidence score scale).” Batra teaches that GBRT model outputs a final confidence/probability score)
It would have been obvious to one with ordinary skill in the art before the effective filing date of the invention to combine the teachings of Chakraborty and Batra. Chakraborty teaches a churn or monitored action prediction system in which a short window LSTM model generates a propensity score, and the short window propensity score and customer profile information are used as feature for a downstream ensemble model to determine a final propensity score. Also, Chakraborty teaches using a gradient boosting model, including an ensemble of decision trees and boosting model, to classify whether a user is likely to churn and calculate a propensity score. Batra teaches providing model outputs, including an LSTM confidence or probability score, to a gradient boosted regression tree model that outputs an ensemble confidence score. One with ordinary skill in the art would be motivated to incorporate the teachings of Batra into that of Chakraborty to use a tree based ensemble model to combine model derived scores and additional features to generate a final probability or propensity score. The combination would have been predictable because Chakraborty already uses model derived propensity scores and customer profile information as downstream features, and Batra teaches that LSTM output scores can be provided to a gradient boosted regression tree model to generate a final probability score.
Regarding claim 2, the rejection of claim 1 is incorporated herein. Furthermore, the combination of Chakraborty, Batra teaches
retrieving activity history data for the user from one or more electronic data sources; and extracting the ordered sequence of strings from the activity history data through a tokenization process. (Column 3 Lines 32 – 43 of Chakraborty states “Server system 106 receives product usage data (e.g., click sequence data) associated with the one or more users, in response to an API call or automatically based on a predetermined recurring schedule. In response to receiving the product usage data, the server system 106 generates a long window model propensity score by evaluating the click sequence data based on a long window model. In one or more embodiments, the long window model is a machine learning model that may leverage training data comprising aggregated historical click sequence data associated with the one or more users as described in more detail below.” Column 7 Lines 41 – 45 of Chakraborty states “At 304, server system 106 determines the correct machine-understandable representation (e.g., tokenizing and padding) of usage data and passes it to the embedding layer by leveraging the recent click sequence data as feature a vector.” Column 7 Lines 52 – 56 of Chakraborty states “As the elements of this feature vector are not numeric in nature, server system 106 may use this feature vector along with a tokenizer and padding before passing it to a sequence model with embedding and trainable weights.”)
Regarding claim 4, the rejection of claim 1 is incorporated herein. Furthermore, the combination of Chakraborty, Batra teaches
wherein the RNN comprises a long short term memory (LSTM) network trained based on historical ordered sequences of strings associated with labels indicating whether the target action was historically performed. (Column 5 Lines 15 – 31 of Chakraborty states “In some embodiments, the server system 106 parses the click sequence data to leverage a: ( a) customer identifier; (b) click event; and (c) timestamp. In some embodiments, the customer identifier is a unique numerical identifier to join all the information for one user across multiple datasets. In some embodiments, the click event is a string describing the event that the user has performed in the product. Every action in the product has a unique click event string, (e.g., if the user clicks on the option for viewing the quick report for their account, the corresponding click event is denoted in path-like format indicating the series of pages visited or actions taken). Accordingly, the click event records the page hierarchy of the product as well as the actual event that happened. In some embodiments, the timestamp is a date/time field, which records the time at which the click event happened. This click sequence data is available in real-time through one or more sources including database 108.” Column 8 Lines 17 – 25 of Chakraborty states “At 308, server system 106 determines propensity using one or more long short-term memory (LSTM) models. Here, the model may be pre-trained in batch mode and the featurization for inference cases happens online in real-time. The inference data for this model includes datasets that are continuously updated and available in real-time. In some embodiments, server system 106 uses a sequence model to estimate the propensity of chum from the recent sequence of clicks.” Column 7 Lines 57 – 63 of Chakraborty states “At 306, server system 106 determines a target variable associated with the chum ( or other monitored action) of the one or more users operating end user device(s) 102. The target variable is a binary outcome variable. The target equates to '1' if the user (e.g., customer/subscriber) has, for example, churned within 24 hours of the given reference date "D" and '0' if the has user not churned.”)
Regarding claim 5, the rejection of claim 4 is incorporated herein. Furthermore, the combination of Chakraborty, Batra teaches
wherein the tree-based classification machine learning model comprises a gradient boosted tree model trained based on historical user features, including historical numerical scores output by the RNN, associated with the labels indicating whether the target action was historically performed. (Column 9 Lines 11 – 24 of Chakraborty states “At 404 the long window model propensity scores and short window model propensity scores are converted to negative log scale and then to higher order powers before feeding to the ensemble model. In addition, server system 106 also includes the customer profile information ( e.g., the type of customer, age of the customer, and the channels through the customer onboarded, etc.), as features for the ensemble machine learning model 400. The long window model propensity scores, short window model propensity scores, and customer profile information, are aggregated over multiple reference time-points to compute the training data for ensemble “ Column 6 Lines 26 - 33 of Chakraborty states “At 208, the server system 106 determines propensity using a gradient-boosting model (GBM) to model the churn (or other monitored action) propensity of a user at a given reference time point. For example, the GBM applies a combination of machine learning techniques, such as an ensemble of decision trees and boosting, to classify whether the user is likely to churn and calculate a propensity score.” Column 5 Lines 60 – 67 of Chakraborty states “At 206, server system 106 determines a target variable associated with the churn/user action of the one or more users operating end user device(s) 102. The target is a binary outcome variable. The target equates to '1' if the user (e.g., customer or subscriber) has churned (or performed some other monitored action) within 24 hours of the given reference date "D" and '0' if the has user not churned (or performed some other monitored action).” [0052] of Batra states “LSTM model 374 may process the data to determine whether the data is of interest in the system. For example, and in accordance with various embodiments, an output from LSTM model 374 may comprise a confidence (probability) score indicating whether the article is of interest or not (using any suitable confidence score scale).” [0057] of Batra states “In various embodiments, machine learning system 370 may receive the model outputs from models 372, 374, 376, 378, the sentiment score from sentiment scoring engine 380, and/or the preprocessed data, and may consolidate and process the outputs, scores, and data. For example, machine learning system 370 inputs the model outputs and the sentiment score into a gradient boosted regression tree (GBRT) machine learning model (step 524).” Batra teaches providing model outputs to a GBRT model that outputs an ensemble confidence score. It would have been obvious to implement Chakraborty’s downstream ensemble model as GBRT or GBM model like Batra that uses Chakraborty’s historical LSTM scores, customer profile information, and churn labels as training data.)
Regarding claim 6, the rejection of claim 1 is incorporated herein. Furthermore, the combination of Chakraborty, Batra teaches
receiving, from the tree-based classification machine learning model based on the respective inputs, explainability information indicating respective contributions of the numerical score and the additional feature to the propensity score. (Column 6 Lines 54 – Column 7 Lines 5 of Chakraborty states “At 210, server system 106 generates an LWM explainability output. For example, server system 106 may train a Shapley Additive Explanations (SHAP) explainer on the training and backtesting of the long window model dataset. Then for each of the inference cases, the SHAP explainer shows the contribution of each of the features for that particular inferred churn risk score. The sign of the SHAP value for a feature being positive or negative denotes whether that feature has contributed to an increase or decrease in the churn propensity of the inference case. Moreover, the SHAP explainer indicates whether the corresponding feature value for the inference case is ‘high’ or ‘low’ by comparing them with the population average (computed from the data on which the explainer has been trained). The features may be the daily average count of clicks at certain click points in the product for the long window model, as such, server system 106 can confidently associate the feature contribution insights from the SHAP explainer to the corresponding feature in the product.” Column 8 Lines 40 – 50 of Chakraborty states “At 310, server system 106 generates an SWM explainability output. For example, the server system 106 generates SWM explainability by backtesting the LSTM model on test data. In some embodiments, the server system 106 compares the frequency distribution of click events for high chum propensity cases (top decile ranked by descending order by chum probability) to low propensity cases (rest of the deciles), based on a predetermined threshold. The list of click events for which the marginal proportion of occurrence is significantly different between high and low groups, forms the candidate event set for the SWM explainability output.” Chakraborty generates per model explainability and combines both into one final output with the final score, which is the structure described in the limitation.)
Regarding claim 7, the rejection of claim 1 is incorporated herein. Furthermore, the combination of Chakraborty, Batra teaches
further comprising receiving user feedback with respect to the propensity score, wherein the tree-based classification machine learning model is re-trained based on the user feedback. (Column 3 Lines 64 – Column 4 Lines 2 of Chakraborty states “In one or more embodiments, the server system 106 retrains one or more of the aforementioned models based on the determined propensity scores, the generated recommendations, and/or subsequent actions taken by the one or more users in response to receiving the recommendations.” With current combination with Batra, it would have been obvious for the aforementioned model to include tree-based model.)
Regarding claim 8, the rejection of claim 1 is incorporated herein. Furthermore, the combination of Chakraborty, Batra teaches
receiving user feedback with respect to the propensity score, wherein the RNN is re-trained based on the user feedback. (Column 3 Lines 64 – Column 4 Lines 2 of Chakraborty states “In one or more embodiments, the server system 106 retrains one or more of the aforementioned models based on the determined propensity scores, the generated recommendations, and/or subsequent actions taken by the one or more users in response to receiving the recommendations.”)
Regarding claim 9, the rejection of claim 1 is incorporated herein. Furthermore, the combination of Chakraborty, Batra teaches
displaying content related to the target action within the software application based on the propensity score; or generating a message related to the target action within the software application based on the propensity score. (Column 10 Lines 55 – 67 of Chakraborty states “In some embodiments, users identified as having a high risk of churn receive one or more relevant tasks (e.g., pop-up window, tutorial, invitation to contact a customer relationship manager) in real-time designed to improve their experience with a product. The relevant task(s) may be pushed from server system 106 to the user's end user device(s) 102 as they are using the product in real-time. For example, while the user is interacting with the service or product on GUI 700, server system 106 may push one or more relevant task(s) to be displayed on GUI 700. In response to determining that the user is at ‘High’ risk for churn, server system 106 may push intervening relevant task 702 to end user device(s) 102 via GUI 700.” Column 11 Lines 13 – 21 “In another embodiment, server system 106 may continuously or based on some usage-based business logic compute the final ensemble churn propensity, and if that is ‘High’ based on threshold, server system 106 may send a help request to user device(s) 102 for assisting the customer with the product. Server system 106 may prompt the user (e.g., with a relevant task in the form of prompt), via user device(s) 102, for relevant contact details of the user.”)
Claims 10 – 11, 13 - 18 recite substantially similar subject matter to claims 1 – 2, 4 – 9 respectively and are rejected with the same rationale, mutatis mutandis.
Claims 19 – 20 recite substantially similar subject matter to claims 1 – 2 respectively and are rejected with the same rationale, mutatis mutandis.
Claims 3, 12 are rejected under 35 U.S.C. 103 as being unpatentable over Chakraborty et al. (U.S. Pub. 11651380) in view of Batra et al. (U.S. Pub. 2020/0184017), further in view of Kim et al. (U.S. Pub. 2019/0147231).
Regarding claim 3, the rejection of claim 1 is incorporated herein. Furthermore, the combination of Chakraborty, Batra teaches
computing, by the RNN, … based on the embeddings and the order of the ordered sequence of strings to generate the numerical score. (Column 8 Lines 17 – 33 of Chakraborty states “At 308, server system 106 determines propensity using one or more long short-term memory (LSTM) models. Here, the model may be pre-trained in batch mode and the featurization for inference cases happens online in real-time. The inference data for this model includes datasets that are continuously updated and available in real-time. In some embodiments, server system 106 uses a sequence model to estimate the propensity of chum from the recent sequence of clicks.” Column 7 Lines 56 – 63 of Chakraborty states “At 306, server system 106 determines a target variable associated with the chum ( or other monitored action) of the one or more users operating end user device(s) 102. The target variable is a binary outcome variable. The target equates to '1' if the user (e.g., customer/subscriber) has, for example, churned within 24 hours of the given reference date "D" and '0' if the has user not churned. In one instance, the sequence model for analyzing the short window user behavior includes an embedding layer with trainable weights, followed by two Bidirectional LSTM (BiLSTM) layers, spatial drop-out layers, and a two layerfeed forward network with Rectified Liner Unit (ReLu) activation. The model weights, including the embedding layer, are estimated by minimizing binary cross-entropy loss using an Adaptive Moment Estimation (ADAM) optimizer with a learning rate similar to 0.001.” )
However, the combination does not explicitly teach
computing, by the RNN, a sigmoid activation function …
Kim teaches that
computing, by the RNN, a sigmoid activation function … ([0045] of Kim states “The hidden state of the LSTM is carried over as input to the future time step, thus allowing the predictive model a theoretical look back. The output from the LSTM layer 516 is then fed into the fully connected dense layer 518 which produces the output user embeddings through sigmoid activation.” [0047] of Kim states “Such may be described as: E=γ(t)*B(t)+(1−γ(t))*TD(t) (1) B(t)=−1*y t log p t (2) TD(t)=(p t −p t+1)2 (3) where, yt is the ground truth (1 for target action and 0 for no target action) and pt is the predicted probability of the target action at time t. γ(t) is the recency factor. It takes value 1 for the most recent action (at the end of action sequence) and decreases geometrically by a value g ∈ [0, 1] as user actions occur further back in time.”)
It would have been obvious to one with ordinary skill in the art before the effective filing date of the invention to combine the teachings of Kim into the combination of Chakraborty and Batra. Chakraborty teaches a churn or monitored action prediction system in which a short window LSTM model generates a propensity score, and the short window propensity score and customer profile information are used as feature for a downstream ensemble model to determine a final propensity score. Also, Chakraborty teaches using a gradient boosting model, including an ensemble of decision trees and boosting model, to classify whether a user is likely to churn and calculate a propensity score. Batra teaches providing model outputs, including an LSTM confidence or probability score, to a gradient boosted regression tree model that outputs an ensemble confidence score. Kim teaches an LSTM based target action prediction model in which the output from an LSTM layer is fed to a dense layer that produces output user embeddings through sigmoid activation, and further predicting probability of the target action. One with ordinary skill in the art would be motivated to incorporate the teachings of Kim into that of Chakraborty and Batra to implement the claimed sigmoid activation for producing a target action propensity score. The combination would have been predictable as Chakraborty and Kim both uses LSTM based sequence modeling for target action prediction, and Kim teaches known use of applying sigmoid activation to LSTM output in that context.
Claim 12 recites substantially similar subject matter to claim 3 respectively and is rejected with the same rationale, mutatis mutandis.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BYUNGKWON HAN whose telephone number is (571)272-5294. The examiner can normally be reached M-F: 9:00AM-6PM 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, Li B Zhen can be reached at (571)272-3768. 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.
/BYUNGKWON HAN/ Examiner, Art Unit 2121
/Li B. Zhen/ Supervisory Patent Examiner, Art Unit 2121