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 .
This office action is in response to submission of application on 5/19/2023.
Claims 1-20 are presented for examination.
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.
Step 1: Is the claim to a process, machine, manufacture or composition of matter?
Claims 1-9 are directed to a method (i.e., a process); claims 10-15 are directed to an apparatus (i.e., a machine/apparatus); and claims 16-20 are directed to an article of manufacture (i.e., a product); therefore, all pending claims are directed to one of the four categories of invention.
Step 2A: Prong 1: Does the claim recite an abstract idea, law of nature, or natural
phenomenon?
Claim 1 recites the limitations of:
determining, by at least one processor, user account data associated with one
or more computing applications for a user account - mental process (observation, evaluation, judgement) as a human mind can determine user account data for an application.
which are abstract ideas.
Step 2A: Prong 2: Does the claim recite additional elements that integrate the
judicial exception into a practical application?
The claim recites the additional elements of:
generating, by the at least one processor and based on the user account data, a transition matrix comprising a plurality of transition values corresponding to a plurality of hidden states of a hidden Markov model for the user account - recited at a high level of generality and recites general use of HMM (probability model) to perform the corresponding abstract idea limitations. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f).
generating, by the at least one processor and based on the user account data, an emission matrix comprising a plurality of emission values corresponding to the plurality of hidden states of the hidden Markov model for the user account; and - recited at a high level of generality and recites general use of HMM (probability model) to perform the corresponding abstract idea limitations. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f).
determining, by the at least one processor utilizing the hidden Markov model, a predicted account interaction metric for the user account in connection with the one or more computing applications based on the transition matrix and the emission matrix - determining a predicted account interaction metric based on the transition and emission matrix are mere instructions to apply the abstract idea. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using the HMM. As such, this merely describes a technological environment. See MPEP 2106.05(h).
The additional elements do not integrate the abstract idea into a practical application.
Step 2B: Does the claim recite additional elements that amount to significantly more
than the judicial exception?
generating, by the at least one processor and based on the user account data, a transition matrix comprising a plurality of transition values corresponding to a plurality of hidden states of a hidden Markov model for the user account - recited at a high level of generality and recites general use of HMM (probability model) to perform the corresponding abstract idea limitations. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f).
generating, by the at least one processor and based on the user account data, an emission matrix comprising a plurality of emission values corresponding to the plurality of hidden states of the hidden Markov model for the user account; and - recited at a high level of generality and recites general use of HMM (probability model) to perform the corresponding abstract idea limitations. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f).
determining, by the at least one processor utilizing the hidden Markov model, a predicted account interaction metric for the user account in connection with the one or more computing applications based on the transition matrix and the emission matrix - determining a predicted account interaction metric based on the transition and emission matrix are mere instructions to apply the abstract idea. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using the HMM. As such, this merely describes a technological environment. See MPEP 2106.05(h).
The additional elements do not amount to significantly more than the abstract idea. Therefore,
the claim is not patent eligible.
Claim 2 recites the additional elements of “generating, by the at least one processor and based on the user account data, an initial state matrix comprising a plurality of initial state values corresponding to the plurality of hidden states of the hidden Markov model for the user account” – recited at a high level of generality and recites general use of HMM (probability model) to perform the corresponding abstract idea limitations. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f); and “wherein determining the predicted account interaction metric is further based on the initial state matrix” - determining a predicted account interaction metric based on the initial state matrix are mere instructions to apply the abstract idea. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f).
Claim 3 recites the additional elements of “extracting, utilizing an initial state neural network, initial state features for the user account from the user account data” – the claim recites extracting features for the user account, without details as to how to make the extraction, therefore the claim does not include additional limitations that integrate the abstract idea into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using a neural network. As such, this merely describes a technological environment. See MPEP 2106.05(h); and “generating, utilizing the initial state neural network, the plurality of initial state values of the initial state matrix from the initial state features” - generating the initial state values from the initial state features are mere instructions to apply the abstract idea. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using a neural network. As such, this merely describes a technological environment. See MPEP 2106.05(h).
Claim 4 recites the additional elements of “extracting, utilizing a transition neural network, transition features for the user account from the user account data” - the claim recites extracting features for the user account, without details as to how to make the extraction, therefore the claim does not include additional limitations that integrate the abstract idea into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using a neural network. As such, this merely describes a technological environment. See MPEP 2106.05(h); and “generating, utilizing the transition neural network, the plurality of transition values of the transition matrix from the transition features.” - generating the transition values from the transition features are mere instructions to apply the abstract idea. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using a neural network. As such, this merely describes a technological environment. See MPEP 2106.05(h).
Claim 5 recites the additional elements of “extracting, utilizing an emission neural network, emission features for the user account from the user account data” - the claim recites extracting features for the user account, without details as to how to make the extraction, therefore the claim does not include additional limitations that integrate the abstract idea into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using a neural network. As such, this merely describes a technological environment. See MPEP 2106.05(h).; and “generating, utilizing the emission neural network, the plurality of emission values of the emission matrix from the emission features.” - generating the emission values from the emission features are mere instructions to apply the abstract idea. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using a neural network. As such, this merely describes a technological environment. See MPEP 2106.05(h).
Claim 6 recites the additional elements of “determining the user account data comprises determining account activity associated with the one or more computing applications for the user account or user device activity of a client device of the user account associated with the one or more computing applications” - mental process (observation, evaluation, judgement) as a human mind can determine user account data for an application or device.
Claim 7 recites the additional elements of “determining the predicted account interaction metric comprises determining an outcome state of the hidden Markov model based on a hidden state of the plurality of hidden states for the user account according to the plurality of transition values of the transition matrix and the plurality of emission values of the emission matrix” - the claim recites determining the predicted account interaction metric comprises determining an outcome state of the HMM. Only the idea of these determinations are recited, without details as to how the make the determinations. Therefore, the claim does not include additional limitations that integrate the abstract idea into a practical application. See MPEP 2106.05(f)(1).
Claim 8 recites the additional elements of “determining, by the at least one processor utilizing the hidden Markov model, an additional predicted account interaction metric for the user account in connection with the one or more computing applications based on the transition matrix and the emission matrix” - determining a predicted account interaction metric based on the transition and emission matrix are mere instructions to apply the abstract idea. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f).; and “wherein the additional predicted account interaction metric corresponds to a second time period different from a first time period of the predicted account interaction metric.” - the additional predicted account interaction metric corresponding to a second time period is a description of a limitation on the data, which merely identifies a field of use. See MPEP 2106.05(h).
Claim 9 recites the additional elements of “determining a computing application of the one or more computing applications indicated by the predicted account interaction metric” - mental process (observation, evaluation, judgement) as a human mind can determine an application indicated by a metric; and “generating a message for display at a client device associated with the user account identifying the computing application” - generating a message is sending data, which is insignificant, extra-solution activity. See MPEP 2106.0S(g). Transmitting data is well-understood, routine, and conventional. See MPEP 2106.0S(d)(II)(i).
Claim 10 recites the additional elements of “A system comprising: one or more memory devices comprising one or more neural networks; and one or more processors configured to cause the system to:” - a system of memory devices, neural networks, and processors are components recited at a high level are construed as generic computer components used to implement the abstract idea. See MPEP 2106.05(f)(2). As such, the limitations do not integrate the abstract idea into a practical application. Nor to do they amount to significantly more; and “determine user account data associated with one or more computing applications for a user account” - mental process (observation, evaluation, judgement) as a human mind can determine user account data for an application; and “generate, utilizing the one or more neural networks and based on the user account data, a transition matrix comprising a plurality of transition values corresponding to a plurality of hidden states of a hidden Markov model for the user account” - recited at a high level of generality and recites general use of HMM (probability model) to perform the corresponding abstract idea limitations. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using a neural network. As such, this merely describes a technological environment. See MPEP 2106.05(h); and “generate, utilizing the one or more neural networks and based on the user account data, an emission matrix comprising a plurality of emission values corresponding to the plurality of hidden states of the hidden Markov model for the user account” - recited at a high level of generality and recites general use of HMM (probability model) to perform the corresponding abstract idea limitations. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using a neural network. As such, this merely describes a technological environment. See MPEP 2106.05(h); and “determine, utilizing the hidden Markov model, a predicted account interaction metric for the user account in connection with the one or more computing applications based on the transition matrix and the emission matrix” - determining a predicted account interaction metric based on the transition and emission matrix are mere instructions to apply the abstract idea. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using the HMM. As such, this merely describes a technological environment. See MPEP 2106.05(h).
Claim 11 recites the additional elements of “generate, utilizing the one or more neural networks and based on the user account data, an initial state matrix comprising a plurality of initial state values corresponding to the plurality of hidden states of the hidden Markov model for the user account” - recited at a high level of generality and recites general use of HMM (probability model) to perform the corresponding abstract idea limitations. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using the HMM. As such, this merely describes a technological environment. See MPEP 2106.05(h); and “wherein determining the predicted account interaction metric is further based on the initial state matrix” - determining a predicted account interaction metric based on the initial state matrix are mere instructions to apply the abstract idea. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f).
Claim 12 recites the additional elements of “generating, utilizing an initial state neural network of the one or more neural networks, the plurality of initial state values of the initial state matrix from extracted initial state features for the user account” - generating the initial state values from the initial state features are mere instructions to apply the abstract idea. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using a neural network. As such, this merely describes a technological environment. See MPEP 2106.05(h).
Claim 13 recites the additional elements of “generating, utilizing a transition neural network of the one or more neural networks, the plurality of transition values of the transition matrix from extracted transition features for the user account” – generating the transition values from the transition features are mere instructions to apply the abstract idea. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using a neural network. As such, this merely describes a technological environment. See MPEP 2106.05(h).
Claim 14 recites the additional elements of “generating, utilizing an emission neural network of the one or more neural networks, the plurality of emission values of the emission matrix from extracted emission features for the user account” - generating the emission values from the emission features are mere instructions to apply the abstract idea. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using a neural network. As such, this merely describes a technological environment. See MPEP 2106.05(h).
Claim 15 recites the additional elements of “determine a second set of user account data associated with the one or more computing applications for a second user account” - mental process (observation, evaluation, judgement) as a human mind can determine user account data for an application; and “generate, utilizing the one or more neural networks and based on the second set of user account data, a second transition matrix comprising a second plurality of transition values corresponding to a second plurality of hidden states of a second hidden Markov model for the second user account” - recited at a high level of generality and recites general use of HMM (probability model) to perform the corresponding abstract idea limitations. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using a neural network. As such, this merely describes a technological environment. See MPEP 2106.05(h); and “generate, utilizing the one or more neural networks and based on the second set of user account data, a second emission matrix comprising a second plurality of emission values corresponding to the second plurality of hidden states of the second hidden Markov model for the second user account” - recited at a high level of generality and recites general use of HMM (probability model) to perform the corresponding abstract idea limitations. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using a neural network. As such, this merely describes a technological environment. See MPEP 2106.05(h); and “determine, utilizing the second hidden Markov model, a second predicted account interaction metric for the second user account in connection with the one or more computing applications based on the second transition matrix and the second emission matrix” - determining a predicted account interaction metric based on the transition and emission matrix are mere instructions to apply the abstract idea. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using the HMM. As such, this merely describes a technological environment. See MPEP 2106.05(h).
Claim 16 recites the additional elements of “A non-transitory computer-readable medium storing executable instructions that, when executed by a processing device, cause the processing device to perform operations comprising:” - A non-transitory computer-readable medium are components recited at a high level are construed as generic computer components used to implement the abstract idea. See MPEP 2106.05(f)(2). As such, the limitations do not integrate the abstract idea into a practical application. Nor to do they amount to significantly more; and “determining user account data associated with one or more computing applications for a user account” - mental process (observation, evaluation, judgement) as a human mind can determine user account data for an application; and “generating, based on the user account data, an initial state matrix comprising a plurality of initial state values corresponding to a plurality of hidden states of a hidden Markov model for the user account” - recited at a high level of generality and recites general use of HMM (probability model) to perform the corresponding abstract idea limitations. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f); and “generating, based on the user account data, a transition matrix comprising a plurality of transition values corresponding to the plurality of hidden states of the hidden Markov model for the user account” - recited at a high level of generality and recites general use of HMM (probability model) to perform the corresponding abstract idea limitations. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f); and “generating, based on the user account data, an emission matrix comprising a plurality of emission values corresponding to the plurality of hidden states of the hidden Markov model for the user account” - recited at a high level of generality and recites general use of HMM (probability model) to perform the corresponding abstract idea limitations. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f); and “determining, utilizing the hidden Markov model, a predicted account interaction metric for the user account in connection with the one or more computing applications based on the initial state matrix, the transition matrix, and the emission matrix” - determining a predicted account interaction metric based on the initial state, transition, and emission matrix are mere instructions to apply the abstract idea. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f). Additionally, this is a description of how the abstract idea is performed, using the HMM. As such, this merely describes a technological environment. See MPEP 2106.05(h).
Claim 17 recites the additional elements of “determining the user account data comprises determining account activity associated with the one or more computing applications for the user account” - mental process (observation, evaluation, judgement) as a human mind can determine user account data for an application or device.
Claim 18 recites the additional elements of “determining the predicted account interaction metric comprises determining an outcome state of the hidden Markov model based on a hidden state of the plurality of hidden states for the user account according to the plurality of initial state values of the initial state matrix, the plurality of transition values of the transition matrix, and the plurality of emission values of the emission matrix” - the claim recites determining the predicted account interaction metric comprises determining an outcome state of the HMM. Only the idea of these determinations are recited, without details as to how the make the determinations. Therefore, the claim does not include additional limitations that integrate the abstract idea into a practical application. See MPEP 2106.05(f)(1).
Claim 19 recites the additional elements of “determining, utilizing the hidden Markov model, an additional predicted account interaction metric for the user account in connection with the one or more computing applications based on the initial state matrix, the transition matrix, and the emission matrix” - determining a predicted account interaction metric based on the initials state, transition, and emission matrix are mere instructions to apply the abstract idea. Mere recitation that a judicial exception is to be performed using generic class of computer algorithms in their ordinary capacity, cannot meaningfully integrate the judicial exception into a practical application. See MPEP 2106.05(f); and “wherein the additional predicted account interaction metric corresponds to a second time period different from a first time period of the predicted account interaction metric” - the additional predicted account interaction metric corresponding to a second time period is a description of a limitation on the data, which merely identifies a field of use. See MPEP 2106.05(h).
Claim 20 recites the additional elements of “determining a computing application of the one or more computing applications based on the predicted account interaction metric” - mental process (observation, evaluation, judgement) as a human mind can determine an application indicated by a metric; and “generating a message for display at a client device associated with the user account comprising an indication of a user account action associated with the computing application” - generating a message is sending data, which is insignificant, extra-solution activity. See MPEP 2106.0S(g). Transmitting data is well-understood, routine, and conventional. See MPEP 2106.0S(d)(II)(i).
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.
Claims 1-2 and 7 are rejected under 35 U.S.C. 102(a)(l) as being anticipated by Customer Behaviour Hidden Markov Model to Jandera et al. (hereinafter Jandera).
Per claim 1, Jandera discloses A computer-implemented method comprising [Jandera, pg. 3 "Let us propose a mathematical model performing the customer’s behaviour prediction, consisting of three sub-models: Vendor, Psychology and Loyalty, that are used in the transition matrix of hidden Markov models (see Figure 1).". (note: the method is the mathematical model)]:
determining, by at least one processor, user account data associated with one or more computing applications for a user account [Jandera, pg. 6 “The proposed CBHMM was compared to the baseline prediction represented by the Google Analytics tracking system mechanism…GA model…Both models are using real anonymised data from a prior time period as the input. Based on these data, specific parameters are computed, that are then used for income forecasting.”. (note: the model takes real anonymized behavioral data collected from the e-commerce store, data that records how customers interact with the store (computing application). The prior time period data from Google Analytics and the store represents historical interactions between user accounts and the computing application.)];
generating, by the at least one processor and based on the user account data, a transition matrix comprising a plurality of transition values corresponding to a plurality of hidden states of a hidden Markov model for the user account [Jandera, pg. 6 “The probabilities returned by the Vendors, Psychology and Loyalty sub-models are used by the proposed customer behaviour hidden Markov model (CBHMM) with the goal to predict the customer’s decision if an order will be completed or not. The three sub-models correspond to the three states “Order completed”, “Order uncompleted”, “No order” (see Figure 3), where the Vendors sub-model is linked to the state “Order completed”, Psychology sub-model represents the state “Order uncompleted”, and Loyalty sub-model represents the “No order” state.”;” P(A|E) = p((p(V) p(PS) p(L)) | (l m k)) , (13) where P(V) is the vendor probability, p(PS) is the psychology model probability, p(L) is the loyalty model probability, all of them forming the transition matrix A” (note: The probabilities p(V), p(PS), and p(L) returned by the three sub-models are the transition values that populate the transition matrix A of the CBHMM, one value per hidden state, deciding movement among the three states. The transition matrix is computed from user behavioral data (user account data).)];
generating, by the at least one processor and based on the user account data, an emission matrix comprising a plurality of emission values corresponding to the plurality of hidden states of the hidden Markov model for the user account [Jandera, pg. 3 “Let us define the emission probability of moving from state i to state j as [20]: P(Xn+1 = j|Xn = i). (1)”. (note: Jandera defines the emission probability as the core mathematical construct of the HMM. These emission probabilities populate the emission matrix.); “
P
Y
n
∈
A
X
n
=
x
n
,
(
2
)
where P is emission probability (also called the output probability), Yn represents the observable states, and Xn represents the states of the Markov process, that are not directly observable”. (note: This is the exact mathematical definition of the emission values in the emission matrix, the probability of an observable state Yn given a hidden state Xn . The emission matrix E contains the initial probabilities l, m, k of the three states, which determine the output distribution from each hidden state.)]; and
determining, by the at least one processor utilizing the hidden Markov model, a predicted account interaction metric for the user account in connection with the one or more computing applications based on the transition matrix and the emission matrix [Jandera, pg. 6 “The final result of the CBHMM (if the order will be completed or not) depends on the fulfilment of the condition if the state “Order completed” is in front of the state “No order” in the rearranged sequence.” (note: The CBHMM produces a predicted outcome, whether a customer’s order interaction will be completed, using the transition matrix A and emission matrix E. This is account interaction with the computing application.); pg. 3 “Running it in cycles (for multiple customers), the number of predicted orders is obtained, that is further used to estimate the income of the store for a chosen time period.”. (note: each cycle of the CBHMM produces a predicted account interaction metric per customer, which is whether or not the customer will complete an order. The metric is derived from both the transition matrix A and the emission matrix E through the Viterbi algorithm.)].
Per claim 2, Jandera discloses claim 1, further disclosing generating, by the at least one processor and based on the user account data, an initial state matrix comprising a plurality of initial state values corresponding to the plurality of hidden states of the hidden Markov model for the user account [Jandera, pg.6 “The CBHMM simulates customers’ behaviour during the ordering process. First, the decision sequence using three states: “Order completed”, “Order uncompleted”, “No order” is estimated by solving the relation: P(A|E) = p((p(V) p(PS) p(L)) | (l m k)) , (13) where P(V) is the vendor probability, p(PS) is the psychology model probability, p(L) is the loyalty model probability, all of them forming the transition matrix A, and where l, m, k are initial probabilities of the three states, “Order completed”, “Order uncompleted”, “No order”, forming the emission matrix E.”. (note: CBHMM estimates a sequence based on specific probabilities (V, PS, L) which, in the context of modeling customer behavior, is derived from user data. The three initial probabilities (l, m, k) constitute the plurality of initial state values for the initial state matrix. These three probabilities correspond to three hidden states of the hidden Markov model.)],
wherein determining the predicted account interaction metric is further based on the initial state matrix [Jandera, pg.6 “P(A|E) = p((p(V) p(PS) p(L)) | (l m k)) , (13) where P(V) is the vendor probability, p(PS) is the psychology model probability, p(L) is the loyalty model probability, all of them forming the transition matrix A, and where l, m, k are initial probabilities of the three states, “Order completed”, “Order uncompleted”, “No order”, forming the emission matrix E.”. (note: the full prediction P(A|E) is computed using both matrix A and E, which is composed of (l, m, k), constituting the plurality of initial state values for the initial state matrix. The predicted account interaction metric is the customer’s behavior.); pg.8 “In this work, a mathematical model, that predicts customer’s behaviour during the ordering process, is proposed with the goal to predict the income of a store for a chosen period of time.”. (note: CBHMM, which includes the initial state matrix, is the mathematical model described to predict behavior, therefore the prediction is based on the initial values.)].
Per claim 7, Jandera discloses claim 1, further disclosing determining the predicted account interaction metric comprises determining an outcome state of the hidden Markov model based on a hidden state of the plurality of hidden states for the user account according to the plurality of transition values of the transition matrix [Jandera, pg. 3 “The Viterbi algorithm [11] is a dynamic programming algorithm for finding the most likely sequence of hidden states called the Viterbi path that results in a sequence of observed events, especially in the context of Markov information sources and HMM.”. (note: the Viterbi algorithm propagates through the hidden states using the transition probabilities, from the transition matrix, at each step to determine the most probable hidden state sequence, and which outcome state follows.)] and the plurality of emission values of the emission matrix [Jandera, pg. 3 “This approach is used to learn about X by observing Y:
P
Y
n
∈
A
X
n
=
x
n
,
(
2
)
where P is emission probability (also called the output probability), Yn represents the observable states, and Xn represents the states of the Markov process, that are not directly observable.”. (note: This is the mathematical definition of an emission value and the only way an HMM can output an observable outcome. In any HMM, the only technical means to move from a hidden state (X) to an observable outcome (Y) is through this emission probability. Jandera’s Viterbi decoding uses both the transition matrix values and these emission values together to determine the final observable outcome state (Order completed, Order uncompleted, No order))]
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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claim(s) 3-6, 8 and 10-19 are rejected under 35 U.S.C. 103 as being unpatentable over Jandera in view of Improved Customer Lifetime Value Prediction With Sequence-To-Sequence Learning and Feature-Based Models to Bauer et al. (hereinafter Bauer).
Per claim 3, Jandera discloses claim 2.
Jandera does not fully disclose, but with Bauer does teach: wherein generating the initial state matrix comprises: extracting, utilizing an initial state neural network, initial state features for the user account from the user account data [Bauer, pg. 8 “Both for the GBM model and the RNN, we learn embeddings of the recorded purchase logs. These embeddings in particular help us to reliably perform clustering of similar customers also in data-sparse situations”. (note: the neural network learns embeddings from customer purchase logs (user account data), These learned embeddings are representations of customer behavioral characteristics (features) extracted by the neural network.); pg. 7 “The Customer ID is also listed in this example, but it is treated in a different way. It is passed to an embedding method as described in Section 4.2, which returns a vector of values resembling a learned latent customer behavior vector.”. (note: the embedding method (neural network) processes user account data (Customer ID and behavioral records) and outputs a latent vector, which is the extracted initial state features. Extraction is simply the process of a network turning raw data into a numerical representation, such as a vector. The latent behavioral vector represents the customer’s initial behavioral state, it represents the essence of a user’s status before the next action, which is the definition of an initial state. This vector serves as the initial state from which future transitions are calculated.)]; and generating, utilizing the initial state neural network, the plurality of initial state values of the initial state matrix from the initial state features [Bauer, pg. 11 “We formulate our task as a supervised learning problem, which supports the integration of an arbitrary number of features, which is a common approach in ML. The generic problem formulation is to learn a function y = f (x) that returns the predicted CLV value, where x is a vector of feature values. These features represent all quantifiable information about a customer that is relevant to the problem.”. (note: x is the raw data points used to start a prediction, the initial state features. The function f is the neural network that processes the features. The function f(x) outputs the values for the initial state matrix)].
Jandera and Bauer are analogous art because they are from the same field of endeavor, computerized machine learning architectures designed for sequence modeling and predictive data analytics.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to incorporate values generated by a neural network to replace analytically computed values.
The suggestion/motivation for doing so is improved prediction accuracy, which is explicitly stated by Bauer. [pg. 8 “We use a tailored encoder–decoder sequence-to-sequence RNN, cf. [13] for basics on encoder–decoder RNNs, because it can learn such temporal patterns (like trends and seasonality) automatically, without the need of manual feature engineering. This is a major advantage over previous approaches, as it can be time-consuming and difficult to express all possible temporal dependencies through handcrafted features.”].
Per claim 4, Jandera discloses claim 1.
Jandera does not fully disclose, but with Bauer does teach: generating the transition matrix comprises: extracting, utilizing a transition neural network, transition features for the user account from the user account data [Bauer, pg. 8 “Our training data therefore is not a matrix consisting of profit sequences, but a tensor consisting of sequences of a number of various features, some of which are shown in Figure 2.”. (note: the neural network processes a tensor of sequential user behavioral features, which capture the temporal dynamics of customer behavior over time. These temporal, behavioral features are transition features, they characterize how a customer’s state evolves. The tensor of sequences extracts movement-based (transition) features.); pg. 11 “...we consider all features to be time-dependent. Most of the features we use are in fact dynamic, i.e., change over time…The groups of features we present in the following should therefore be thought of being dependent on time.”. (note: time-dependent dynamic features are transitional, they capture how user behavior changes from state to state over time.)]; and generating, utilizing the transition neural network, the plurality of transition values of the transition matrix from the transition features [Bauer, pg. 3 “Markov chain (MC) models…aim to predict the customers’ future behavior, i.e., their probable next states”; pg. 4 “…by constructing transition matrices…”; pg. 27 “…the S2S method, by default, generates predictions for individual time steps in the future…”. (note: this links the S2S neural network to constructing transition matrices to predict future states. The features extracted by the network, hidden states, are used to compute the probabilities of transitioning from one state to another)].
Jandera and Bauer are analogous art because they are from the same field of endeavor, computerized machine learning architectures designed for sequence modeling and predictive data analytics.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to incorporate values generated by a neural network to replace analytically computed values.
The suggestion/motivation for doing so is improved prediction accuracy, which is explicitly stated by Bauer. [pg. 8 “We use a tailored encoder–decoder sequence-to-sequence RNN, cf. [13] for basics on encoder–decoder RNNs, because it can learn such temporal patterns (like trends and seasonality) automatically, without the need of manual feature engineering. This is a major advantage over previous approaches, as it can be time-consuming and difficult to express all possible temporal dependencies through handcrafted features.”].
Per claim 5, Jandera discloses claim 1.
Jandera does not fully disclose, but with Bauer does teach: generating the emission matrix comprises: extracting, utilizing an emission neural network, emission features for the user account from the user account data [Bauer, pg. 11 “The main features of our prediction model can be organized in three groups: (1) Features based on customer attributes. (2) Features based on orders (item purchases). (3) Features based on other item interactions.”. (note: the three feature groups capture the observable behavioral outputs of customers: who they are (customer attributes), what they buy (orders), and how they interact with items (item interactions). These are emission features, which characterize the likelihood of observable output states given a hidden customer behavioral state. The extraction of emission features is the process of gathering this data to feed into the model.); pg. 12, Table 1, “Static and Demographic Features: • The country, residence and sex of the customer. • The customer’s estimated income. • The channel through which a customer was acquired.”. (note: static demographic features (country, income, acquisition channel) are specifically the type of customer attributes that determine what observable actions (outcome state) a customer is likely to take. These are emission features.)]; and generating, utilizing the emission neural network, the plurality of emission values of the emission matrix from the emission features [Bauer, Section 2.2, “Models Based on Markov Chains”: “…by the use of Markov chain (MC) models. Such models do not try to directly predict CLV values, but in a first step rather aim to predict the customers’ future behavior, i.e., their probable next states”; pg. 27 “the S2S method, by default, generates predictions for individual time steps in the future” (note: in Markov models, which Bauer links to neural networks, the ‘emission values’ represent the probability of an observation (behavior) originating from a specific state. Since Bauer describes generating ‘predictions for individual time steps’ based on extracted features, these probabilistic predictions functionally represent the ‘emission matrix value’. ‘probability distribution over states’ is the mathematical expression of ‘matrix values’, this is the equivalent mathematical concept); pg. 18 “the mapping to the output sequence by the decoder layer is achieved with a tensor slicing operation to match the sequence length as well as a time-distributed dense layer.”. (note: the time-distributed dense layer receives the extracted vector, features, as input. This layer then performs a mapping to transform those features into sequential outputs. The result from this are the numerical values representing probabilities for each time step, which functionally match the emission matrix values. The tensor slicing to match sequence length shows the system produces a plurality of values organized temporally, which is exactly a matrix)].
Jandera and Bauer are analogous art because they are from the same field of endeavor, computerized machine learning architectures designed for sequence modeling and predictive data analytics.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to incorporate values generated by a neural network to replace analytically computed values.
The suggestion/motivation for doing so is improved prediction accuracy, which is explicitly stated by Bauer. [pg. 8 “We use a tailored encoder–decoder sequence-to-sequence RNN, cf. [13] for basics on encoder–decoder RNNs, because it can learn such temporal patterns (like trends and seasonality) automatically, without the need of manual feature engineering. This is a major advantage over previous approaches, as it can be time-consuming and difficult to express all possible temporal dependencies through handcrafted features.”].
Per claim 6, Jandera discloses claim 1.
Jandera does not fully disclose, but with Bauer does teach: determining the user account data comprises determining account activity associated with the one or more computing applications for the user account [Bauer, pg. 10 “The input to the process are the different types of data (1), including the history of purchase transactions, metadata about the items (e.g., category information), customer data, etc.”. (note: purchase transaction history is a record of account activity within a computing application, the e-commerce application. Every transaction record (account activity) documents a user account’s interaction with the computing application.)] [Jandera, pg. 3 “The CBHMM uses open data and Google Analytics data as the source for computing the model parameters.”. (note: Google Analytics data is a form of account activity, it records page visits, session duration, and other user interactions with a computing application (web store).)] or user device activity of a client device of the user account associated with the one or more computing applications [Bauer, pg. 3 “...our modeling approach and computation pipeline is more general and can be used to leverage various types of additional knowledge, including, for example, clickstream data.”. (note: Clickstream data is device-level activity, records of what a client device does as it navigates a computing application.); pg. 5 “…one specific novel characteristic of [10] in that context is that it generates a user embedding based on the customer’s product view history in the form of sequential clickstream data.”. (note: clickstream data is records of what a user’s device does within a computing application)].
Jandera and Bauer are analogous art because they are from the same field of endeavor, computerized machine learning architectures designed for sequence modeling and predictive data analytics.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to incorporate data from application level account activity and user device level activity.
The suggestion/motivation for doing so is improved prediction accuracy, which is explicitly stated by Bauer. [pg. 8 “We use a tailored encoder–decoder sequence-to-sequence RNN, cf. [13] for basics on encoder–decoder RNNs, because it can learn such temporal patterns (like trends and seasonality) automatically, without the need of manual feature engineering. This is a major advantage over previous approaches, as it can be time-consuming and difficult to express all possible temporal dependencies through handcrafted features.”].
Per claim 8, Jandera discloses claim 1.
Jandera does not fully disclose, but with Bauer does teach: determining, by the at least one processor utilizing the hidden Markov model, an additional predicted account interaction metric for the user account in connection with the one or more computing applications based on the transition matrix and the emission matrix, wherein the additional predicted account interaction metric corresponds to a second time period different from a first time period of the predicted account interaction metric [Bauer, pg. 9 “Sliding Window Approach. In order to make the model more robust, we do not only consider one input sequence and one output sequence, but use a sliding window approach. If we would only use one time-based split…we run the risk of overfitting to a small part of the data. Therefore, we repeatedly go back by one time step and create input and output sequences of the defined lengths for earlier parts of the time series, leading to a number of additional training cases per customer.” (note: this sliding window approach generates multiple predictions for the same customer at different time positions using the same trained model. Each window corresponds to a different time period.); pg. 8 “The length of the output corresponds to the estimated customer lifetime and has to be chosen depending on the domain and the available data. In the example, the output sequence length is set to four weeks for illustration purposes. The sum of these four predicted values is used as an approximation of the CLV”. (note: the output sequence length (time period) is a tunable parameter, the same model can generate predictions for different time periods.); pg. 8 “Note that such an estimation and limitation of the customer lifetime is usually necessary, since the actual lifetimes are often unobserved in practice.”. (note: because customer lifetimes are unobserved, the model must be capable of generating predictions for multiple possible time periods using the same model structure.)].
Jandera and Bauer are analogous art because they are from the same field of endeavor, computerized machine learning architectures designed for sequence modeling and predictive data analytics.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to incorporate Bauer’s sliding window approach (multi-period, time-shifting) to the execution loop of the hidden Markov model.
The suggestion/motivation for doing so is to create a more robust behavioral prediction framework that can generate discrete predictions for multiple possible time horizons using the same underlying model structure, significantly enhancing the system’s forecasting capabilities.
Per claim 10, Jandera discloses determine user account data associated with one or more computing applications for a user account [Jandera, pg. 6 “The proposed CBHMM was compared to the baseline prediction represented by the Google Analytics tracking system mechanism…GA model…Both models are using real anonymised data from a prior time period as the input. Based on these data, specific parameters are computed, that are then used for income forecasting.”. (note: the model takes real anonymized behavioral data collected from the e-commerce store, data that records how customers interact with the store (computing application). The prior time period data from Google Analytics and the store represents historical interactions between user accounts and the computing application.)];
generate, …, a transition matrix comprising a plurality of transition values corresponding to a plurality of hidden states of a hidden Markov model for the user account [Jandera, pg. 6 “The probabilities returned by the Vendors, Psychology and Loyalty sub-models are used by the proposed customer behaviour hidden Markov model (CBHMM) with the goal to predict the customer’s decision if an order will be completed or not. The three sub-models correspond to the three states “Order completed”, “Order uncompleted”, “No order” (see Figure 3), where the Vendors sub-model is linked to the state “Order completed”, Psychology sub-model represents the state “Order uncompleted”, and Loyalty sub-model represents the “No order” state.”;” P(A|E) = p((p(V) p(PS) p(L)) | (l m k)) , (13) where P(V) is the vendor probability, p(PS) is the psychology model probability, p(L) is the loyalty model probability, all of them forming the transition matrix A” (note: The probabilities p(V), p(PS), and p(L) returned by the three sub-models are the transition values that populate the transition matrix A of the CBHMM, one value per hidden state, deciding movement among the three states. The transition matrix is computed from user behavioral data (user account data).)];
generating, …, an emission matrix comprising a plurality of emission values corresponding to the plurality of hidden states of the hidden Markov model for the user account [Jandera, pg. 3 “Let us define the emission probability of moving from state i to state j as [20]: P(Xn+1 = j|Xn = i). (1)”. (note: Jandera defines the emission probability as the core mathematical construct of the HMM. These emission probabilities populate the emission matrix.); “
P
Y
n
∈
A
X
n
=
x
n
,
(
2
)
where P is emission probability (also called the output probability), Yn represents the observable states, and Xn represents the states of the Markov process, that are not directly observable”. (note: This is the exact mathematical definition of the emission values in the emission matrix, the probability of an observable state Yn given a hidden state Xn . The emission matrix E contains the initial probabilities l, m, k of the three states, which determine the output distribution from each hidden state.)]; and
determine, utilizing the hidden Markov model, a predicted account interaction metric for the user account in connection with the one or more computing applications based on the transition matrix and the emission matrix [Jandera, pg. 6 “The final result of the CBHMM (if the order will be completed or not) depends on the fulfilment of the condition if the state “Order completed” is in front of the state “No order” in the rearranged sequence.” (note: The CBHMM produces a predicted outcome, whether a customer’s order interaction will be completed, using the transition matrix A and emission matrix E. This is account interaction with the computing application.); pg. 3 “Running it in cycles (for multiple customers), the number of predicted orders is obtained, that is further used to estimate the income of the store for a chosen time period.”. (note: each cycle of the CBHMM produces a predicted account interaction metric per customer, which is whether or not the customer will complete an order. The metric is derived from both the transition matrix A and the emission matrix E through the Viterbi algorithm.)].
Jandera does not expressly disclose, but Jandera combined with Bauer does teach:
A system comprising: one or more memory devices comprising one or more neural networks; and one or more processors configured to cause the system to [Bauer, pg. 1 “At its core, our method consists of a tailored deep learning approach based on encoder–decoder sequence-to-sequence recurrent neural networks with augmented temporal convolutions. This model is then combined with gradient boosting machines (GBMs) and a set of novel features in a hybrid framework”. (note: the neural networks (RNNs) are stored and executed on computing hardware (memory and processors). A system with memory devices storing neural networks and processors for executing them is the standard hardware foundation Bauer’s system.)]:
generate, utilizing the one or more neural networks and based on the user account data, a transition matrix comprising a plurality of transition values corresponding to a plurality of hidden states of a hidden Markov model for the user account [Bauer, pg. 2 “The presented work is the first that relies on RNNs for the CLV prediction problem.”. (note: the RNN based system processes user account data (behavioral time series) through neural networks to generate predictive model outputs. Using these neural networks to generate an HMM transition matrix, by training them on user account behavioral data to output the probability values that populate the transition matrix, is obvious when combining the neural networks of Bauer with the HMM structure of Jandera.); pg. 8 “We use a tailored encoder–decoder sequence-to-sequence RNN, cf. [13] for basics on encoder–decoder RNNs, because it can learn such temporal patterns (like trends and seasonality) automatically, without the need of manual feature engineering. This is a major advantage over previous approaches, as it can be time-consuming and difficult to express all possible temporal dependencies through handcrafted features.”. (note: The RNN’s ability to learn temporal behavioral patterns automatically, replacing manual computation, is the motivation for using neural networks to generate transition matrix values. )];
generate, utilizing the one or more neural networks and based on the user account data, an emission matrix comprising a plurality of emission values corresponding to the plurality of hidden states of the hidden Markov model for the user account [Bauer, pg. 8 “In practice, the resulting time series are often noisy and therefore it is beneficial to apply smoothing. We therefore use stacked temporal convolutions as one ingredient of our sequence-to-sequence RNN, as these can be seen as automated smoothing methods, like weighted moving averages.”. (note: the neural network, including stacked temporal convolutions, processes noisy behavioral time series data to extract clean learned representations. Applying these same processes to generate emission matrix values is obvious when combined with Jandera. A sequence-to-sequence model takes an input and produces an output (predicted actions). The emission matrix is exactly what decides the output (predicted actions). Therefore, this is the functional equivalent of generating an emission matrix.)];
Jandera and Bauer are analogous art because they are from the same field of endeavor, computerized machine learning architectures designed for sequence modeling and predictive data analytics.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to incorporate values generated by a neural network to replace analytically computed values.
The suggestion/motivation for doing so is improved prediction accuracy, which is explicitly stated by Bauer. [pg. 8 “We use a tailored encoder–decoder sequence-to-sequence RNN, cf. [13] for basics on encoder–decoder RNNs, because it can learn such temporal patterns (like trends and seasonality) automatically, without the need of manual feature engineering. This is a major advantage over previous approaches, as it can be time-consuming and difficult to express all possible temporal dependencies through handcrafted features.”].
Per claim 11, Jandera discloses claim 10.
Jandera does not fully disclose, but with Bauer does teach: generate, utilizing the one or more neural networks and based on the user account data, an initial state matrix comprising a plurality of initial state values corresponding to the plurality of hidden states of the hidden Markov model for the user account [Bauer, pg. 8 “Both for the GBM model and the RNN, we learn embeddings of the recorded purchase logs. These embeddings in particular help us to reliably perform clustering of similar customers also in data-sparse situations”. (note: the neural network learns customer behavioral representations (embeddings) from purchase logs that capture which behavioral state a customer is most likely in. These learned representations are the neural equivalent of initial state probability values, they encode the probability distribution over hidden customer behavioral states. This is what the initial state matrix contains.)], wherein determining the predicted account interaction metric is further based on the initial state matrix. [Jandera, pg.6 “P(A|E) = p((p(V) p(PS) p(L)) | (l m k)) , (13) where P(V) is the vendor probability, p(PS) is the psychology model probability, p(L) is the loyalty model probability, all of them forming the transition matrix A, and where l, m, k are initial probabilities of the three states, “Order completed”, “Order uncompleted”, “No order”, forming the emission matrix E.”. (note: the overall prediction P(A|E) is computed using the initial state values l, m, k in matrix E. The initial state values are directly used in determining the predicted account interaction metric.)].
Jandera and Bauer are analogous art because they are from the same field of endeavor, computerized machine learning architectures designed for sequence modeling and predictive data analytics.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to incorporate values generated by a neural network to replace analytically computed values.
The suggestion/motivation for doing so is improved prediction accuracy, which is explicitly stated by Bauer. [pg. 8 “We use a tailored encoder–decoder sequence-to-sequence RNN, cf. [13] for basics on encoder–decoder RNNs, because it can learn such temporal patterns (like trends and seasonality) automatically, without the need of manual feature engineering. This is a major advantage over previous approaches, as it can be time-consuming and difficult to express all possible temporal dependencies through handcrafted features.”].
Per claim 12, Jandera-Bauer discloses claim 11.
Jandera does not fully disclose, but with Bauer does teach: generating the initial state matrix comprises generating, utilizing an initial state neural network of the one or more neural networks, the plurality of initial state values of the initial state matrix from extracted initial state features for the user account. [Bauer, pg. 7 “The Customer ID is also listed in this example, but it is treated in a different way. It is passed to an embedding method as described in Section 4.2, which returns a vector of values resembling a learned latent customer behavior vector.”. (note: the embedding method (initial state neural network) processes user identity information (Customer ID) as input and returns a learned latent behavioral vector. The Customer ID and behavioral data are the initial state features, and the latent behavioral vector is the initial state values; pg. 11 “These features represent all quantifiable information about a customer that is relevant to the problem. Given such a generic problem formulation, various types of ML algorithms can in principle be applied to train a model that is able to generate predictions”. (note: Bauer establishes the general framework: extract features (initial state features) from user account data, pass through a trained machine learning model (initial state neural network), generate predicted values (initial state values).)].
Jandera and Bauer are analogous art because they are from the same field of endeavor, computerized machine learning architectures designed for sequence modeling and predictive data analytics.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to incorporate values generated by a neural network to replace analytically computed values.
The suggestion/motivation for doing so is improved prediction accuracy, which is explicitly stated by Bauer. [pg. 8 “We use a tailored encoder–decoder sequence-to-sequence RNN, cf. [13] for basics on encoder–decoder RNNs, because it can learn such temporal patterns (like trends and seasonality) automatically, without the need of manual feature engineering. This is a major advantage over previous approaches, as it can be time-consuming and difficult to express all possible temporal dependencies through handcrafted features.”].
Per claim 13, Jandera-Bauer discloses claim 10.
Jandera does not fully disclose, but with Bauer does teach: generating, utilizing a transition neural network of the one or more neural networks, the plurality of transition values of the transition matrix from extracted transition features for the user account [Bauer, pg. 2 “The proposed RNN-based model consists of a novel architecture with multiple encoder– decoder sequence-to-sequence (S2S) gated recurrent unit (GRU) layers, where major ingredients for the effectiveness of the model are the use of both an extensive set of features as well as stacked temporal convolutions.”. (note: the encoder-decoder architecture takes a set of temporal behavioral features as input and generates predictive representations as output. This architecture is a transition neural network, it processes features characterizing how customer behavior evolves over time (transition features) and generates model outputs encoding the rules of state transitions); pg. 3 “Specifically, the main questions often are to predict whether or not a repurchase is going to happen and how much the customer is going to spend.” (note: Bauer states the main prediction problem as predicting whether a customer will transition from a current behavioral state to a purchasing state (repurchase), which is a transition prediction.)].
Jandera and Bauer are analogous art because they are from the same field of endeavor, computerized machine learning architectures designed for sequence modeling and predictive data analytics.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to incorporate values generated by a neural network to replace analytically computed values.
The suggestion/motivation for doing so is improved prediction accuracy, which is explicitly stated by Bauer. [pg. 8 “We use a tailored encoder–decoder sequence-to-sequence RNN, cf. [13] for basics on encoder–decoder RNNs, because it can learn such temporal patterns (like trends and seasonality) automatically, without the need of manual feature engineering. This is a major advantage over previous approaches, as it can be time-consuming and difficult to express all possible temporal dependencies through handcrafted features.”].
Per claim 14, Jandera-Bauer discloses claim 10.
Jandera does not fully disclose, but with Bauer does teach: generating, utilizing an emission neural network of the one or more neural networks, the plurality of emission values of the emission matrix from extracted emission features for the user account. [Bauer, pg. 11 “The main features of our prediction model can be organized in three groups: (1) Features based on customer attributes. (2) Features based on orders (item purchases). (3) Features based on other item interactions.”. (note: the three feature groups capture the observable behavioral outputs of customers: who they are (customer attributes), what they buy (orders), and how they interact with items (item interactions). These are emission features, which characterize the likelihood of observable output states given a hidden customer behavioral state. The extraction of emission features is the process of gathering this data to feed into the model.); pg. 5 “In our method, we will also use such embeddings, although in a slightly different form, based on purchase instead of view logs”. (note: the neural embeddings derived from purchase logs, observable customer interaction records, is used to generate model parameters. These purchase based embeddings represent the relationship between customer behavioral states and observable purchasing actions, which is the precise information encoded in emission values.)].
Jandera and Bauer are analogous art because they are from the same field of endeavor, computerized machine learning architectures designed for sequence modeling and predictive data analytics.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to incorporate values generated by a neural network to replace analytically computed values.
The suggestion/motivation for doing so is improved prediction accuracy, which is explicitly stated by Bauer. [pg. 8 “We use a tailored encoder–decoder sequence-to-sequence RNN, cf. [13] for basics on encoder–decoder RNNs, because it can learn such temporal patterns (like trends and seasonality) automatically, without the need of manual feature engineering. This is a major advantage over previous approaches, as it can be time-consuming and difficult to express all possible temporal dependencies through handcrafted features.”].
Per claim 15, Jandera-Bauer discloses claim 10.
Jandera does not fully disclose, but with Bauer does teach: determine a second set of user account data associated with the one or more computing applications for a second user account [Bauer, pg. 7 “Figure 2 sketches parts of the information that one might have recorded for some Customer A and Customer B over a certain period of time. Every row of each table represents a feature and the numbers in each column represent the corresponding values of this feature for a certain period of time, in this case a week.”. (note: this explicitly shows that Bauer processes separate, individualized datasets for multiple distinct customers. Customer A has its own data record and Customer B has its own separate data record.)];
generate, utilizing the one or more neural networks and based on the second set of user account data, a second transition matrix comprising a second plurality of transition values corresponding to a second plurality of hidden states of a second hidden Markov model for the second user account; generate, utilizing the one or more neural networks and based on the second set of user account data, a second emission matrix comprising a second plurality of emission values corresponding to the second plurality of hidden states of the second hidden Markov model for the second user account [Bauer, pg. 8 “Furthermore, to consider temporal aspects also in the input to the GBM model, we do not generate one single feature vector per user, but multiple vectors per user, one for each considered point in time”. (note: this generates individualized feature vectors and model outputs per customer, each user account produces its own set of model parameters and predictions. This includes generating a separate transition matrix and emission matrix for a second user account using this same neural network architecture.)].[Jandera, pg. 3 “Running it in cycles (for multiple customers), the number of predicted orders is obtained, that is further used to estimate the income of the store for a chosen time period.”. (note: Jandera runs the CBHMM for each customer individually in cycles, producing separate predictions per customer. This includes generating a separate HMM with its own matrices for a second user account)]; and
determine, utilizing the second hidden Markov model, a second predicted account interaction metric for the second user account in connection with the one or more computing applications based on the second transition matrix and the second emission matrix [Bauer, pg. 11 “The outputs of these models are afterward combined in a GBM stacking model (5), which computes the final CLV predictions for every customer (6)”. (note: the system of Bauer computes individual CLV predictions for every customer, each customer receives their own prediction metric. This includes producing a second predicted account interaction metric for the second user account since each customer’s prediction is independently derived from their own data.)].
Jandera and Bauer are analogous art because they are from the same field of endeavor, computerized machine learning architectures designed for sequence modeling and predictive data analytics.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to generate individualized, separately parameterized hidden Markov model matrices for each user account.
The suggestion/motivation for doing so is stated by Bauer and Jandera. Bauer teaches that individualized; per-customer models capture heterogeneity in customer behavior more accurately than shared models. Jandera’s per-customer execution cycle directly indicates maintaining separate model parameters per customer.
Per claim 16, Jandera discloses determining user account data associated with one or more computing applications for a user account [Jandera, pg. 6 “The proposed CBHMM was compared to the baseline prediction represented by the Google Analytics tracking system mechanism…GA model…Both models are using real anonymised data from a prior time period as the input. Based on these data, specific parameters are computed, that are then used for income forecasting.”. (note: the model takes real anonymized behavioral data collected from the e-commerce store, data that records how customers interact with the store (computing application). The prior time period data from Google Analytics and the store represents historical interactions between user accounts and the computing application.)];
generating, based on the user account data, an initial state matrix comprising a plurality of initial state values corresponding to a plurality of hidden states of a hidden Markov model for the user account [Jandera, pg.6 “The CBHMM simulates customers’ behaviour during the ordering process. First, the decision sequence using three states: “Order completed”, “Order uncompleted”, “No order” is estimated by solving the relation: P(A|E) = p((p(V) p(PS) p(L)) | (l m k)) , (13) where P(V) is the vendor probability, p(PS) is the psychology model probability, p(L) is the loyalty model probability, all of them forming the transition matrix A, and where l, m, k are initial probabilities of the three states, “Order completed”, “Order uncompleted”, “No order”, forming the emission matrix E.”. (note: CBHMM estimates a sequence based on specific probabilities (V, PS, L) which, in the context of modeling customer behavior, is derived from user data. The three initial probabilities (l, m, k) constitute the plurality of initial state values for the initial state matrix. These three probabilities correspond to three hidden states of the hidden Markov model.)];
generating, based on the user account data, a transition matrix comprising a plurality of transition values corresponding to the plurality of hidden states of the hidden Markov model for the user account [Jandera, pg. 6 “The probabilities returned by the Vendors, Psychology and Loyalty sub-models are used by the proposed customer behaviour hidden Markov model (CBHMM) with the goal to predict the customer’s decision if an order will be completed or not. The three sub-models correspond to the three states “Order completed”, “Order uncompleted”, “No order” (see Figure 3), where the Vendors sub-model is linked to the state “Order completed”, Psychology sub-model represents the state “Order uncompleted”, and Loyalty sub-model represents the “No order” state.”;” P(A|E) = p((p(V) p(PS) p(L)) | (l m k)) , (13) where P(V) is the vendor probability, p(PS) is the psychology model probability, p(L) is the loyalty model probability, all of them forming the transition matrix A” (note: The probabilities p(V), p(PS), and p(L) returned by the three sub-models are the transition values that populate the transition matrix A of the CBHMM, one value per hidden state, deciding movement among the three states. The transition matrix is computed form user behavioral data (user account data).)];
generating, based on the user account data, an emission matrix comprising a plurality of emission values corresponding to the plurality of hidden states of the hidden Markov model for the user account [Jandera, pg. 3 “Let us define the emission probability of moving from state i to state j as [20]: P(Xn+1 = j|Xn = i). (1)”. (note: Jandera defines the emission probability as the core mathematical construct of the HMM. These emission probabilities populate the emission matrix.); “
P
Y
n
∈
A
X
n
=
x
n
,
(
2
)
where P is emission probability (also called the output probability), Yn represents the observable states, and Xn represents the states of the Markov process, that are not directly observable”. (note: This is the exact mathematical definition of the emission values in the emission matrix, the probability of an observable state Yn given a hidden state Xn . The emission matrix E contains the initial probabilities l, m, k of the three states, which determine the output distribution from each hidden state.)]; and
determining, utilizing the hidden Markov model, a predicted account interaction metric for the user account in connection with the one or more computing applications based on the initial state matrix, the transition matrix, and the emission matrix [Jandera, pg. 6 “P(A|E) = p((p(V) p(PS) p(L)) | (l m k)) , (13) where P(V) is the vendor probability, p(PS) is the psychology model probability, p(L) is the loyalty model probability, all of them forming the transition matrix A, and where l, m, k are initial probabilities of the three states, “Order completed”, “Order uncompleted”, “No order”, forming the emission matrix E.”. (note: the full prediction P(A|E) is computed using both matrix A and E, which is composed of (l, m, k), constituting the plurality of initial state values for the initial state matrix. The predicted account interaction metric is the customer’s behavior.)].
Jandera does not expressly disclose, but Jandera combined with Bauer does teach:
A non-transitory computer-readable medium storing executable instructions that, when executed by a processing device, cause the processing device to perform operations comprising [Bauer, pg. 20 “…to make use of GPU parallelization it is beneficial to increase this size.”; pg. 21 “The source code used in the experiments can be found at…”]:
Jandera and Bauer are analogous art because they are from the same field of endeavor, computerized machine learning architectures designed for sequence modeling and predictive data analytics.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to generate individualized, separately parameterized hidden Markov model matrices for each user account. They would be combined by executing the method on the device described in Bauer.
The suggestion/motivation for doing so is stated by Bauer and Jandera. Bauer teaches that individualized; per-customer models capture heterogeneity in customer behavior more accurately than shared models. Jandera’s per-customer execution cycle directly indicates maintaining separate model parameters per customer.
Per claim 17, Jandera-Bauer disclose claim 16.
Jandera does not fully disclose, but with Bauer does teach: determining the user account data comprises determining account activity associated with the one or more computing applications for the user account [Bauer, pg. 10 “The input to the process are the different types of data (1), including the history of purchase transactions, metadata about the items (e.g., category information), customer data, etc.”. (note: purchase transaction history is a record of account activity within a computing application, the e-commerce application. Every transaction record (account activity) documents a user account’s interaction with the computing application.)][Jandera, pg. 3 “The CBHMM uses open data and Google Analytics data as the source for computing the model parameters.”. (note: Google Analytics data is a form of account activity, it records page visits, session duration, and other user interactions with a computing application (web store).)].
Jandera and Bauer are analogous art because they are from the same field of endeavor, computerized machine learning architectures designed for sequence modeling and predictive data analytics.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to incorporate data from application level account activity.
The suggestion/motivation for doing so is improved prediction accuracy, which is explicitly stated by Bauer. [pg. 8 “We use a tailored encoder–decoder sequence-to-sequence RNN, cf. [13] for basics on encoder–decoder RNNs, because it can learn such temporal patterns (like trends and seasonality) automatically, without the need of manual feature engineering. This is a major advantage over previous approaches, as it can be time-consuming and difficult to express all possible temporal dependencies through handcrafted features.”].
Per claim 18, Jandera-Bauer disclose claim 16.
Jandera does not fully disclose, but with Bauer does teach: determining the predicted account interaction metric comprises determining an outcome state of the hidden Markov model based on a hidden state of the plurality of hidden states for the user account according to the plurality of initial state values of the initial state matrix [Jandera, pg. 6 “The CBHMM simulates customers’ behaviour during the ordering process. First, the decision sequence using three states: “Order completed”, “Order uncompleted”, “No order” is estimated by solving the relation: P(A|E) = p((p(V) p(PS) p(L)) | (l m k))”. (note: the initial state probabilities l, m, k explicitly participate in computing P(A|E), the prediction that determines the observable outcome state)], the plurality of transition values of the transition matrix [Jandera, pg. 3 “The Viterbi algorithm [11] is a dynamic programming algorithm for finding the most likely sequence of hidden states called the Viterbi path that results in a sequence of observed events, especially in the context of Markov information sources and HMM.”. (note: the Viterbi algorithm propagates through the hidden states using the transition probabilities, from the transition matrix, at each step to determine the most probable hidden state sequence, and which outcome state follows.)], and the plurality of emission values of the emission matrix [Jandera, pg. 3 “This approach is used to learn about X by observing Y:
P
Y
n
∈
A
X
n
=
x
n
,
(
2
)
where P is emission probability (also called the output probability), Yn represents the observable states, and Xn represents the states of the Markov process, that are not directly observable.”. (note: This is the mathematical definition of an emission value and the only way an HMM can output an observable outcome. In any HMM, the only technical means to move from a hidden state (X) to an observable outcome (Y) is through this emission probability. Jandera’s Viterbi decoding uses both the transition matrix values and these emission values together to determine the final observable outcome state (Order completed, Order uncompleted, No order))].
Jandera and Bauer are analogous art because they are from the same field of endeavor, computerized machine learning architectures designed for sequence modeling and predictive data analytics.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to incorporate values generated by a neural network to replace analytically computed values.
The suggestion/motivation for doing so is improved prediction accuracy, which is explicitly stated by Bauer. [pg. 8 “We use a tailored encoder–decoder sequence-to-sequence RNN, cf. [13] for basics on encoder–decoder RNNs, because it can learn such temporal patterns (like trends and seasonality) automatically, without the need of manual feature engineering. This is a major advantage over previous approaches, as it can be time-consuming and difficult to express all possible temporal dependencies through handcrafted features.”].
Per claim 19, Jandera-Bauer discloses claim 16.
Jandera does not fully disclose, but with Bauer does teach: determining, utilizing the hidden Markov model, an additional predicted account interaction metric for the user account in connection with the one or more computing applications based on the initial state matrix, the transition matrix, and the emission matrix,
wherein the additional predicted account interaction metric corresponds to a second time period different from a first time period of the predicted account interaction metric [Bauer, pg. 9 “Sliding Window Approach. In order to make the model more robust, we do not only consider one input sequence and one output sequence, but use a sliding window approach. If we would only use one time-based split…we run the risk of overfitting to a small part of the data. Therefore, we repeatedly go back by one time step and create input and output sequences of the defined lengths for earlier parts of the time series, leading to a number of additional training cases per customer. In each step back, we therefore consider an additional point in time in the past. The procedure is repeated until the defined beginning of the time series is reached.” (note: this sliding window approach generates multiple predictions for the same customer at different time positions using the same trained model. Each window corresponds to a different time period.); pg. 8 “The length of the output corresponds to the estimated customer lifetime and has to be chosen depending on the domain and the available data. In the example, the output sequence length is set to four weeks for illustration purposes. The sum of these four predicted values is used as an approximation of the CLV”. (note: the output sequence length (time period) is a tunable parameter, the same model can generate predictions for different time periods.); pg. 8 “Note that such an estimation and limitation of the customer lifetime is usually necessary, since the actual lifetimes are often unobserved in practice.”. (note: because customer lifetimes are unobserved, the model must be capable of generating predictions for multiple possible time periods using the same model structure.)].
Jandera and Bauer are analogous art because they are from the same field of endeavor, computerized machine learning architectures designed for sequence modeling and predictive data analytics.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to incorporate Bauer’s sliding window approach (multi-period, time-shifting) to the execution loop of the hidden Markov model.
The suggestion/motivation for doing so is to create a more robust behavioral prediction framework that can generate discrete predictions for multiple possible time horizons using the same underlying model structure, significantly enhancing the system’s forecasting capabilities.
Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over Jandera in view of US20160357362A1 to Gauci et al. (hereinafter Gauci).
Per claim 9, Jandera discloses claim 1.
Jandera does not fully disclose, but with Gauci does teach: determining a computing application of the one or more computing applications indicated by the predicted account interaction metric [Gauci, pg. 5, para. 0062 “Prediction engine 302 can receive a triggering event, such as the triggering event 228 discussed in FIG. 2. The prediction engine 302 may use information gathered from the triggering event 228 to identify a suggested application 304. As shown, the prediction engine 302 may receive contextual data 306 in addition to the triggering event 228. The prediction engine 302 may use information gathered from both the triggering event 228 and the contextual information 306 to identify a suggested application 304. Prediction engine 302 may also determine an action to be performed, e.g., how and when a user interface may be provided for a user to interact with a suggested application.”. (note: the prediction engine 302 uses its prediction model output to determine both the specific application to suggest and the action to perform with regards to it. The act of identifying the suggested application 304 is determining a computing application. This is because a predictive model generates a metric and from the metric the system determines a specific computing application.); pg 6, para. 0077 “Each prediction model may be a section of code and/or data that is specifically designed to identify an application for a specific triggering event 228.”. (note: the application identified is determined by the prediction model, as in indicated by the prediction model’s output metric. This is determining a computing application indicated by a predicted account interaction metric.); pg. 2, para. 0027 “Some embodiments can identify applications only when there is a sufficient probability of being selected by a user, e.g., as determined from historical interactions of the user with the device.”. (note: the application is identified only when the predicted account interaction metric, the probability of access, is sufficiently high. The application whose predicted interaction probability clears the threshold is the application indicated by the metric.) ]; and generating a message for display at a client device associated with the user account identifying the computing application [Gauci, pg. 2, para. 0029 “The user interface may be displayed immediately on the display of the device after the triggering event is detected. In other embodiments, the user interface may be displayed after the user provides some input (e.g., one or more click gestures), which may still be less user input (e.g., the number of clicks) than if no application was suggested.”. (note: the system generates a user interface, a message displayed on the screen of the client device, that identifies the specific computing application determined by the prediction model. The user interface is displayed on the device’s display, which is the client device associated with the user account.); pg. 7, para. 0095 “In embodiments, the user interface 324 may display a notice to the user on a display screen. The notice may be sent by a push notification, for instance. The notice may be a visual notice that includes pictures and/or text notifying the user of the suggested application.”. (note: generating a push notification, a visual message for display at the client device that notifies the user of the suggested application (computing application).); pg. 1, para. 0004 “The identified application may then be suggested to the user by providing a user interface in a manner different than how, when, or where the identified application is normally accessed (e.g., on a home screen), thereby giving the user the option to run the application if desired.”. (note: the user interface provided to the user is a display message that identifies the specific computing application, which is the suggested application, in a way that is distinct from the normal home screen presentation)].
Jandera and Gauci are analogous art because they are from the same field of endeavor, using prediction models to determine which computing application a user is likely to interact with and presenting that prediction result to the user.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to use the CBHMM account interaction prediction system to identify applications based off the predictions and generate notifications. .
The suggestion/motivation for doing so is to apply Gauci’s application identification and notification generation steps to Jandera’s hidden Markov model-based prediction output, since Gauci directly teaches the precise downstream steps that follow from generating a predicted account interaction metric.
Claim 20 is rejected under 35 U.S.C. 103 as being unpatentable over Jandera in view of Bauer, in further view of US20160357362A1 to Gauci et al. (hereinafter Gauci).
Per claim 20, Jandera-Bauer discloses claim 16.
Jandera combined with Bauer does not expressly disclose, but with Gauci does teach: determining a computing application of the one or more computing applications based on the predicted account interaction metric [Gauci, pg. 5, para. 0062 “Prediction engine 302 can receive a triggering event, such as the triggering event 228 discussed in FIG. 2. The prediction engine 302 may use information gathered from the triggering event 228 to identify a suggested application 304. As shown, the prediction engine 302 may receive contextual data 306 in addition to the triggering event 228. The prediction engine 302 may use information gathered from both the triggering event 228 and the contextual information 306 to identify a suggested application 304. Prediction engine 302 may also determine an action to be performed, e.g., how and when a user interface may be provided for a user to interact with a suggested application.”. (note: the prediction engine 302 uses its prediction model output to determine both the specific application to suggest and the action to perform with regards to it. The act of identifying the suggested application 304 is determining a computing application. This is because a predictive model generates a metric and from the metric the system determines a specific computing application.); pg 6, para. 0077 “Each prediction model may be a section of code and/or data that is specifically designed to identify an application for a specific triggering event 228.”. (note: the application identified is determined by the prediction model, as in indicated by the prediction model’s output metric. This is determining a computing application indicated by a predicted account interaction metric.); pg. 2, para. 0027 “Some embodiments can identify applications only when there is a sufficient probability of being selected by a user, e.g., as determined from historical interactions of the user with the device.”. (note: the application is identified only when the predicted account interaction metric, the probability of access, is sufficiently high. The application whose predicted interaction probability clears the threshold is the application indicated by the metric.); pg. 2, para. 0022 “…the higher the probability of use, more aggressive action can be taken, Such as automatically opening an application with a corresponding user interface (e.g., visual or voice command), as opposed to just providing an easier mechanism to open the application.”. (note: the system determines which computing application to present and how to present it, based directly on the predicted probability of use (predicted account interaction metric). Higher predicted probabilities lead to more prominent presentation of the computing application. The system’s determination of the computing application and the manner of its presentation are directly driven by the prediction metric.)]; and generating a message for display at a client device associated with the user account comprising an indication of a user account action associated with the computing application [Gauci, pg. 7, para. 0096 “…the notification may also include a suggested action within the suggested application. That is, a notification may inform the user of the suggested application as well as a suggested action within the suggested application. The user may thus be given the option to run the suggested application or perform the suggested action within the suggested application.”. (note: this discloses that the notification generated for display at the client device includes the identification of the computing application (the suggested application) and a suggested action within the application. This is an indication of a suer account action associated with the computing application.); pg. 7, para. 0096 “…a notification may inform the user that the suggested application is a music application and the suggested action is to play a certain song within the music application. The user may indicate that he or she would like to play the song by clicking on an icon illustrating the suggested song.”. (note: this is a specific example of a notification that both identifies the computing application (music application) and indicates a specific user action to take within that application (play a certain song). The user action of playing a song within the music application is an indication of a user account action associated with the computing application.); pg. 7, para. 0097 “…prediction engine 302 may output two suggested actions to the user interface 324 in one notification. For instance, prediction engine 302 may output a suggested action to play a first song, and a second suggested action to play a second song. The user may choose which song to play by clicking on a respective icon in the notification.”. (note: this discloses that the notification can include multiple indications of user account actions associated with the computing application); pg. 7, para. 0095 “The notice may suggest an application to the user for the user to select and run at his or her leisure. When selected, the application may run.”. (note: the notification comprises an indication that the user should take the action of running the specified computing application.)].
Jandera, Bauer, and Gauci are analogous art because they are from the same field of endeavor, predictive computer systems and user interface automation.
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to use the CBHMM account interaction prediction system to identify applications based off the predictions and generate notifications.
The suggestion/motivation for doing so is to apply Gauci’s application identification and notification generation steps to Jandera’s hidden Markov model-based prediction output, since Gauci directly teaches the precise downstream steps that follow from generating a predicted account interaction metric.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Sayed M Shah whose telephone number is (571)272-9406. The examiner can normally be reached Monday-Friday 6:00 am - 2:00 pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Miranda Huang can be reached at (571) 270-7092. 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.
/SAYED MUNEER SHAH/Examiner, Art Unit 2124
/MIRANDA M HUANG/Supervisory Patent Examiner, Art Unit 2124