DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1–3, 5–11 and 13–20 are rejected under 35 U.S.C. 103 as being unpatentable over Aarabi (Aarabi), U.S. Patent Application Publication No. 2024/0242099 A1, published July 18, 2024, in view of Portman et al. (Portman), U.S. Patent Application Publication No. 2022/0309117 A1, published September 29, 2022.
`
As to independent claim 1, Aarabi teaches a method comprising (Aarabi, [0006]: "the invention relates to a computer-implemented method for simulating interactions between a human user and an application (e.g., an e-commerce application, or the like). The method includes the steps of creating a model of a virtual user, performing a simulation of the virtual user's experience, measuring statistically relevant information, and reporting the statistically relevant information"):
"obtaining, through a user interface, a user journey including a plurality of touchpoints": Aarabi teaches that "at step 310, the user options of the e-commerce experience are identified. The identification of user options (i.e., elements of the e-commerce experience that the user can select) can be done by means of an identification application. In the identification application, each e-commerce web/app option is either manually or automatically identified. FIGS. 6A to 6C illustrate this example on a car buying website. FIG. 6A illustrates the identification of e-commerce options that a user can select. The identification of different options can be done across a number of different app/web pages, as shown in FIG. 6B (i.e., second page of a car purchasing web experience) and FIG. 6C (i.e., third page of car purchasing experience)" (Aarabi, [0066]). The identification application is a user interface, in that "FIGS. 6A to 6F illustrate exemplary graphic user interfaces (GUIs) of a system implementing the FIG. 6 method" (Aarabi, [0021]). The successive pages and the selectable options so obtained are a user journey including a plurality of touchpoints, in that "the probabilistic network may model a probability of specific actions at multiple points of the virtual user's experience" (Aarabi, [0007]), the exit probability "is also conditioned on the current step of the user's journey" (Aarabi, [0035]), and "the specific flow of users at each step of the website journey is measured, including specific pages, custom actions, and end results" (Aarabi, [0092]).
"generating, using an agent generator component, a simulation agent": Aarabi teaches "creating a model of a virtual user" (Aarabi, [0006]) and a system comprising "a processor configured to generate a model of a virtual user" (Aarabi, [0013]). Aarabi further teaches "the execution of multiple simulations of artificial intelligence (AI) driven shopper personas, each of which may exhibit different behaviors based on the training user base or pre-set user parameters. These AI-generated personas are then activated within an e-commerce and/or shopping simulation" (Aarabi, [0028]).
"including a plurality of attributes": Aarabi teaches that "the model of the virtual user is defined by user intent parameters, with each user intent parameter representing an intention of the virtual user to perform a corresponding action in the application" (Aarabi, [0006]), that the user intent parameters include "an exit probability corresponding to the virtual user's intention to leave the experience" (Aarabi, [0007]), and that the virtual users may be selected "from a pre-determined set of demographic groups (e.g., race, gender, age, etc.) and using the group-specific model parameters" (Aarabi, [0049]).
"performing, using a simulator component, a simulation of the user journey": Aarabi teaches that "at simulation step 30, a large number of virtual users are simulated by executing a series of input actions (e.g., keyboard entries, mouse clicks, etc.) on a model of the e-commerce website, application, or platform" (Aarabi, [0049]), that the processor is configured to "perform a simulation of the virtual user's experience in a user application" (Aarabi, [0013]), and that the method includes "the step 350 of traversing through the probabilistic network to predict virtual e-commerce user behaviour" (Aarabi, [0065]).
"based on the probability score": Aarabi teaches that "the parameters 'P_find_i' and 'P_intent_i' may be used to determine the probability of selection for every option i on the page, and these options may be randomly selected while accounting for the respective probabilities. Once an option is randomly (but with correct accounting of probabilities) selected for a certain section of the website, the process may be repeated for the next sections of the website" (Aarabi, [0051]), and that "based on the transition probabilities and the action steps, the probabilistic network is traversed to simulate the user experience on the application" (Aarabi, [0009]).
"generating, using a journey evaluation apparatus, a text describing the user journey based on the simulation": Aarabi teaches that "after repeating simulation 30, the percentage of successful shopping outcomes along with the specific items purchased and the total basket size may be recorded and analyzed. Based on this, a detailed report may, optionally, be generated at step 40 to provide insights on the drop-off points in the experience, the reasons for users leaving, the most popular items purchased, the conversion rates and basket sizes, etc." (Aarabi, [0055]). The report is generated by the system processor, which is "configured to … measure statistically relevant information, and report the statistically relevant information" (Aarabi, [0013]), corresponding to the recited journey evaluation apparatus.
Aarabi teaches subject matter related to a machine learning model, in that Aarabi states that "the assignment of transition probabilities to the edges of the probabilistic network involves conducting multiversal training in accordance with methods described herein" (Aarabi, [0011]), describes "a computer implemented method for conducting multiversal training of a machine learning system" comprising "obtaining an intended demographic focus for the machine learning system, obtaining demographic information for training data elements, and training the machine learning system" (Aarabi, [0012]), and describes "building customized machine learning systems that are more personalized and optimized for a particular user demographic" (Aarabi, [0099]). These passages appear in the summary and in the multiversal training discussion of Aarabi and do not specify the generation of the claimed probability score by such a model. However, Aarabi does not teach "generating, using a machine learning model, a probability score for the simulation agent for each of the plurality of touchpoints based on the plurality of attributes."
In the same field of endeavor, Portman teaches "generating, using a machine learning model, a probability score for the simulation agent for each of the plurality of touchpoints based on the plurality of attributes." Portman teaches transmitting the encoded user journey "to a user journey training model for training of the user journey training model and, using a trained model, generating an occurrence probability for at least one further event in the online user journey" (Portman, [0017]), and that "some examples use machine learning to predict next steps for a given user and assign a probability to each predicted next step or action, either singly as one action or as an expected combination of events or actions in a journey" (Portman, [0018]). The probability is generated for each event of the journey, in that "an encoder is assigned to each event type," the event types "including for example an impression event, an email event, a click event, and a website visit" (Portman, [0017]), and "the model may indicate that probable next user steps (i.e., predicted user activity in a user journey) include, for example, a conversion with a probability of 30%, or an impression followed by a click-through with probability of 45%, or an additional website visit with a probability at 25%" (Portman, [0053]). The model is a machine learning model, in that "the recurrent neural network using the LSTM units 812 can be trained in a supervised fashion, on a set of training sequences, using an optimization algorithm, such as gradient descent, combined with backpropagation through time" (Portman, [0058]).
Aarabi and Portman are analogous to the claimed invention as both are from the same field of endeavor of predicting user responses at the successive steps of a user journey. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to generate the per-touchpoint probability score of Aarabi using the trained machine learning model of Portman. The motivation to combine Aarabi and Portman is as recited by Portman: "compared with previous machine learning approaches that predict an activity with lower accuracy, the subject technology provides machine learning approaches that instead identify and predict with improved accuracy a consumer's potential online journey, predict what an end consumer is likely to do next" (Portman, [0043]).
As to claim 2, the limitations of claim 1 from which claim 2 depends are rejected under the same rationale set forth above for claim 1.
Regarding the further limitations of claim 2, Aarabi teaches:
"generating workflow logic based on the user journey": Aarabi teaches that "options of the virtual user's experience on the application are modeled using a probabilistic network," and that "the probabilistic network may comprise one or more of a Markov chain, a Markov network, and a Markov random field" (Aarabi, [0008]). Aarabi further teaches that the probabilistic network "has nodes corresponding to the identified options and edges defining transition dependencies between the identified options," that "transition probabilities are assigned to the edges of the probabilistic network based on details of the identified options," and that "action step(s) are associated with the nodes of the probabilistic network" (Aarabi, [0009]). Aarabi describes the generation of this network as "the step 320 of generating or setting up a probabilistic network that defines the likelihood of transition between the identified options, followed by the step 330 of assigning transition probabilities based on the option details … followed by the step 340 of associating some of the nodes of the probabilistic network with action steps in the e-commerce experience (e.g., including but not limited to adding a product to cart and completing a checkout)" (Aarabi, [0065]; FIG. 6D). The nodes, transition dependencies and associated action steps so generated correspond to the recited workflow logic, and they are generated from the options identified at step 310 of the journey (Aarabi, [0066]).
"wherein the simulation is based on the workflow logic": Aarabi teaches that "based on the transition probabilities and the action steps, the probabilistic network is traversed to simulate the user experience on the application" (Aarabi, [0009]), and "the step 350 of traversing through the probabilistic network to predict virtual e-commerce user behaviour (e.g., through the e-commerce experience based on the transition probabilities and action steps obtained in the previous two steps)" (Aarabi, [0065]).
As to claim 3, the limitations of claim 1 from which claim 3 depends are rejected under the same rationale set forth above for claim 1.
Regarding the further limitations of claim 3, Aarabi teaches:
"generating a plurality of simulation agents": Aarabi teaches that "the method may involve the execution of multiple simulations of artificial intelligence (AI) driven shopper personas, each of which may exhibit different behaviors based on the training user base or pre-set user parameters. These AI-generated personas are then activated within an e-commerce and/or shopping simulation" (Aarabi, [0028]). Aarabi further teaches that "the simulation may be conducted by classifying all of the users as a single group (e.g., with identical model parameters), or by randomly selecting the users from a pre-determined set of demographic groups (e.g., race, gender, age, etc.) and using the group-specific model parameters" (Aarabi, [0049]).
"wherein the simulation is based on the plurality of simulation agents": Aarabi teaches that "at simulation step 30, a large number of virtual users are simulated by executing a series of input actions (e.g., keyboard entries, mouse clicks, etc.) on a model of the e-commerce website, application, or platform" (Aarabi, [0049]), and that "step 350 may be repeated for a large number of users (e.g. 1 million users, 100,000 users, etc.), and the overall statistics about the web/app performance in conversions, sales, or any other metric of relevance may be generated in step 360" (Aarabi, [0074]; FIG. 6E, showing the results of 10,000 simulations).
As to claim 5, the limitations of claim 1 from which claim 5 depends are rejected under the same rationale set forth above for claim 1.
Regarding the further limitations of claim 5, Aarabi teaches:
"generating an evaluation of each of the plurality of touchpoints": Aarabi teaches evaluating the simulation results element by element, in that the performance metric for a modified element is compared with the baseline and "this can be evaluated on a per-item basis, as shown in FIGS. 7D to 7E, or on any subgroup of items. In FIGS. 7D to 7E, a negative percentage (shown in red) indicates that a reduction in visibility, affinity or size should be made, whereas a positive percentage (shown in green) indicates that an increase in visibility, affinity, or size should be made" (Aarabi, [0080]). Aarabi further teaches that "the activity flow of the users from every page or section of the experience to subsequent pages, sections, or actions is counted" and that "the total count for each unique transition as a percentage of the total transition list (e.g., 'Page 2 to Page 0' accounts for 11% of all transitions) is quantified" (Aarabi, [0090]).
"wherein the text includes the evaluation": Aarabi teaches that the per-item evaluation is displayed as the percentages shown in FIGS. 7D to 7E (Aarabi, [0080]), and that "a Sankey Diagram or alternative visualization of the user flow through the e-commerce experience is displayed (e.g., by displaying in the visualization the unique transitions weighted by their percentage of occurrence)" (Aarabi, [0090]; FIGS. 9A and 9B). Aarabi further teaches that the report generated at step 40 provides "insights on the drop-off points in the experience, the reasons for users leaving, the most popular items purchased, the conversion rates and basket sizes, etc." (Aarabi, [0055]).
As to claim 6, the limitations of claim 1 from which claim 6 depends are rejected under the same rationale set forth above for claim 1.
Regarding the further limitations of claim 6, Aarabi teaches:
"detecting a bottleneck among the plurality of touchpoints": Aarabi teaches that the simulation accounts for attrition at each step, in that "a dropout factor (i.e., corresponding to page/step attrition) accounting for users who get tired of the experience may be incorporated" and that the traversal is "repeated until either the user drops out of the experience based on the probabilistic dropout factor, or the user gets to an option that finishes the experience" (Aarabi, [0071]–[0073]). Aarabi further teaches measuring where the simulated users are lost, in that "the AI simulation is conducted and the specific flow of users at each step of the website journey is measured, including specific pages, custom actions, and end results," the illustrated custom action "primarily aris[ing] from users on Page 1, and mostly result[ing] in either 'No Action' or a 'Checkout Only' scenario" (Aarabi, [0092]; FIGS. 9C and 9D). The step of the journey at which the simulated users are lost corresponds to the recited bottleneck.
"wherein the text is generated based on the detected bottleneck": Aarabi teaches that "based on this, a detailed report may, optionally, be generated at step 40 to provide insights on the drop-off points in the experience, the reasons for users leaving, the most popular items purchased, the conversion rates and basket sizes, etc." (Aarabi, [0055]).
As to claim 7, the limitations of claim 1 from which claim 7 depends are rejected under the same rationale set forth above for claim 1.
Regarding the further limitations of claim 7, Aarabi teaches:
"modifying a parameter value associated with a touchpoint of the plurality of touchpoints": Aarabi teaches delta modeling method 200, in which "p_i is defined as the probability of the user selecting item i within the page where item i appears in" (Aarabi, [0061]; FIG. 5, step 210), and in which "the performance of a slightly modified e-commerce experience (i.e., an experience involving subtle changes to a few items) can be measured. For example, in the case where only one item j is adjusted such that the new 'p_(j*)' changes to '(p_j+Δ)'/(1+Δ) (i.e., where Δ can be positive or negative), an increase in the likelihood of selection of an item on a step in the page would require a corresponding decrease in the likelihood of selection of other items in the page" (Aarabi, [0062]).
"repeating the simulation based on the modified parameter value": Aarabi teaches that "after modeling the user experience change in step 210, method 200 proceeds to conducting the user experience simulation in step 220," in which the simulation "is conducted in accordance with method 100, but instead with an added emotionally impacting visual just for the 'projecting arcade game' which would increase the 'p_intent' of selecting that item in the search results from 0.25 to (0.25+0.2)(1+0.2)=0.375 (i.e., with a Δ of 0.2 …)," and that "conversely, if step 220 is conducted in accordance with method 100 but now with a Δ of −0.2" the simulation is conducted again (Aarabi, [0063]).
"performing a sensitivity analysis based on the simulation and the repeated simulation": Aarabi teaches that with a Δ of 0.2 "the conversion rate increases from 10.9% to 11.2%, with a similar average purchase price of $70.22 (as compared to $70.09 from before)," that with a Δ of −0.2 "the conversion rate decreases to 10.3%, and the average purchase price decreases to $61.84," and that "the differences in conversion rate and purchase price (or other differences) can be measured in step 230" (Aarabi, [0063]; FIG. 5). The measured differences between the baseline simulation and the repeated simulation correspond to the recited sensitivity analysis.
"wherein the text is based on the sensitivity analysis": Aarabi teaches that the resulting comparison is reported on a per-item basis, in that "this can be evaluated on a per-item basis, as shown in FIGS. 7D to 7E," where "a negative percentage (shown in red) indicates that a reduction in visibility, affinity or size should be made, whereas a positive percentage (shown in green) indicates that an increase in visibility, affinity, or size should be made" (Aarabi, [0080]), and that a detailed report of the simulation results is generated at step 40 (Aarabi, [0055]).
As to claim 8, the limitations of claim 1 from which claim 8 depends are rejected under the same rationale set forth above for claim 1.
Regarding the further limitations of claim 8, Aarabi teaches:
"identifying a plurality of parameter values for a touchpoint of the plurality of touchpoints": Aarabi teaches identifying, for a single item j of the experience, modified selection probabilities "(p_j+Δ)'/(1+Δ) (i.e., where Δ can be positive or negative)" (Aarabi, [0062]), the illustrated values being a Δ of 0.2, which changes the probability of selecting that item from 0.25 to 0.375, and a Δ of −0.2 (Aarabi, [0063]). Aarabi further teaches that the system "can systematically (or randomly, or by any other method) perform alterations to the identified user options (e.g., increasing the transition probability of one or more options)" (Aarabi, [0075]).
"repeating the simulation for each of the plurality of parameter values": Aarabi teaches conducting the simulation with the Δ of 0.2, and conducting the simulation again "in accordance with method 100 but now with a Δ of −0.2" (Aarabi, [0063]). Aarabi further teaches that the system compares "the resulting metrics with those of a baseline (e.g., original) with the initial transition probabilities" and that "by performing this process multiple times, the system is able to find out which changes result in a successful outcome or optimal results (e.g. optimized for performance metrics such as sales/revenue), and which changes result in the worst outcome" (Aarabi, [0075]; FIG. 6F).
"selecting a recommended parameter value from the plurality of parameter values based on the repeated simulation": Aarabi teaches that at optimization step 440 the analysis "would sequentially increase the affinity, size, or visibility of a specific element, and compare the performance metric for the modified website with the baseline. If the result indicates a positive change in a performance metric (e.g. more revenue, or a higher conversion), then the modification was successful. If the result indicates a negative change in a performance metric, then the modification was unsuccessful and the modified element should ideally be reduced in visibility/affinity/size" (Aarabi, [0080]).
"wherein the text is based on the recommended parameter value": Aarabi teaches that "based on the measurements and the results of the above analysis, a series of recommendations can be made in step 450. The recommendations may outline which items should be emphasized and which items should be deemphasized. An example set of recommendations for a specific target website is shown in FIGS. 7G to 7M" (Aarabi, [0081]), and that the per-item results are reported as positive or negative percentages indicating the change that should be made (Aarabi, [0080]; FIGS. 7D to 7E).
As to claim 9, the limitations of claim 1 from which claim 9 depends are rejected under the same rationale set forth above for claim 1.
Regarding the further limitations of claim 9, Aarabi teaches:
"performing an optimization of the user journey": Aarabi teaches that "method 300 enables or otherwise provides an automated method of optimizing the user experience of e-commerce websites and applications" (Aarabi, [0075]), and that "after simulation step 430, method 400 proceeds to optimization step 440. At step 440, an automated optimization analysis of the most critical (or alternatively, all) pages of the e-commerce website is performed" (Aarabi, [0080]; FIG. 7).
"wherein the text includes a recommended modification based on the optimization": Aarabi teaches that "after completing optimization step 440, method 400 proceeds to step 450. Step 450 may comprise measuring the efficacy of the user experience change. Based on the measurements and the results of the above analysis, a series of recommendations can be made in step 450. The recommendations may outline which items should be emphasized and which items should be deemphasized. An example set of recommendations for a specific target website is shown in FIGS. 7G to 7M" (Aarabi, [0081]). Aarabi further teaches that "optionally, a final simulation with all cumulative recommended changes may be performed at step 460. The 'overall' performance results of the final simulation can be shared with the website manager to demonstrate the potential of their e-commerce website should all recommendations be made" (Aarabi, [0082]; FIGS. 7N and 7O).
Claim 10 is rejected under 35 U.S.C. 103. As to independent claim 10, the claim recites limitations that are the same as those recited in claim 1. Claim 10 is therefore rejected under the same rationale set forth above for claim 1.
Claim 11 is rejected under 35 U.S.C. 103. As to claim 11, the claim recites limitations that are the same as those recited in claim 3. Claim 11 is therefore rejected under the same rationale set forth above for claim 3.
Claim 13 is rejected under 35 U.S.C. 103. As to claim 13, the claim recites limitations that are the same as those recited in claim 5. Claim 13 is therefore rejected under the same rationale set forth above for claim 5.
Claim 14 is rejected under 35 U.S.C. 103. As to claim 14, the claim recites limitations that are the same as those recited in claim 6. Claim 14 is therefore rejected under the same rationale set forth above for claim 6.
Claim 15 is rejected under 35 U.S.C. 103. As to claim 15, the claim recites limitations that are the same as those recited in claim 7. Claim 15 is therefore rejected under the same rationale set forth above for claim 7.
Claim 16 is rejected under 35 U.S.C. 103. As to claim 16, the claim recites limitations that are the same as those recited in claim 8. Claim 16 is therefore rejected under the same rationale set forth above for claim 8.
As to independent claim 17, Aarabi teaches an apparatus comprising:
"at least one processor": Aarabi teaches that "the system may comprise a processor configured to generate a model of a virtual user, perform a simulation of the virtual user's experience in a user application, measure statistically relevant information, and report the statistically relevant information" (Aarabi, [0013]).
"at least one memory including instructions executable by the at least one processor": Aarabi teaches that "the results of the simulation may be recorded and stored in a data storage or memory accessible to the processor. The recorded results may be analyzed by the processor to identify a percentage of successful outcomes in the simulation" (Aarabi, [0013]). Aarabi further teaches that "the simulation of the virtual user's experience is performed by the processor causing a sequence of actions to be executed in the application based on values assigned to the user intent parameters" (Aarabi, [0013]), and that the disclosed methods are computer-implemented methods performed by such a system (Aarabi, [0006], [0012]).
"the apparatus further comprising an agent generator component configured to generate a simulation agent": Aarabi teaches that the processor is "configured to generate a model of a virtual user" (Aarabi, [0013]), and that the method includes "creating a model of a virtual user" (Aarabi, [0006]). Aarabi further teaches "the execution of multiple simulations of artificial intelligence (AI) driven shopper personas, each of which may exhibit different behaviors based on the training user base or pre-set user parameters. These AI-generated personas are then activated within an e-commerce and/or shopping simulation" (Aarabi, [0028]).
"including a plurality of attributes": Aarabi teaches that "the model of the virtual user is defined by user intent parameters, with each user intent parameter representing an intention of the virtual user to perform a corresponding action in the application" (Aarabi, [0013]), that the user intent parameters include "an exit probability corresponding to the virtual user's intention to leave the experience" (Aarabi, [0007]), and that the virtual users may be selected "from a pre-determined set of demographic groups (e.g., race, gender, age, etc.) and using the group-specific model parameters" (Aarabi, [0049]).
"a simulator component configured to perform a simulation of a user journey": Aarabi teaches that the processor is configured to "perform a simulation of the virtual user's experience in a user application" (Aarabi, [0013]), and that "at simulation step 30, a large number of virtual users are simulated by executing a series of input actions (e.g., keyboard entries, mouse clicks, etc.) on a model of the e-commerce website, application, or platform" (Aarabi, [0049]). Aarabi describes the simulated sequence as the user's journey, in that the exit probability "is also conditioned on the current step of the user's journey" (Aarabi, [0035]), and in that "the specific flow of users at each step of the website journey is measured, including specific pages, custom actions, and end results" (Aarabi, [0092]).
"based on the probability score": Aarabi teaches that "the parameters 'P_find_i' and 'P_intent_i' may be used to determine the probability of selection for every option i on the page, and these options may be randomly selected while accounting for the respective probabilities" (Aarabi, [0051]), and that "based on the transition probabilities and the action steps, the probabilistic network is traversed to simulate the user experience on the application" (Aarabi, [0009]).
Aarabi teaches subject matter related to a machine learning model, in that Aarabi states that "the assignment of transition probabilities to the edges of the probabilistic network involves conducting multiversal training in accordance with methods described herein" (Aarabi, [0011]), describes "a computer implemented method for conducting multiversal training of a machine learning system" comprising "obtaining an intended demographic focus for the machine learning system, obtaining demographic information for training data elements, and training the machine learning system" (Aarabi, [0012]), and describes "building customized machine learning systems that are more personalized and optimized for a particular user demographic" (Aarabi, [0099]). These passages appear in the summary and in the multiversal training discussion of Aarabi and do not specify the generation of the claimed probability score by such a model. However, Aarabi does not teach "a machine learning model configured to generate a probability score for the simulation agent based on the plurality of attributes."
In the same field of endeavor, Portman teaches "a machine learning model configured to generate a probability score for the simulation agent based on the plurality of attributes." Portman teaches transmitting the encoded user journey "to a user journey training model for training of the user journey training model and, using a trained model, generating an occurrence probability for at least one further event in the online user journey" (Portman, [0017]), and that "some examples use machine learning to predict next steps for a given user and assign a probability to each predicted next step or action, either singly as one action or as an expected combination of events or actions in a journey" (Portman, [0018]). Portman further teaches that "the model may indicate that probable next user steps (i.e., predicted user activity in a user journey) include, for example, a conversion with a probability of 30%, or an impression followed by a click-through with probability of 45%, or an additional website visit with a probability at 25%" (Portman, [0053]), the model being "trained in a supervised fashion, on a set of training sequences, using an optimization algorithm, such as gradient descent, combined with backpropagation through time" (Portman, [0058]).
Aarabi and Portman are analogous to the claimed invention as both are from the same field of endeavor of predicting user responses at the successive steps of a user journey. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to generate the probability score of Aarabi using the trained machine learning model of Portman. The motivation to combine Aarabi and Portman is as recited by Portman: "compared with previous machine learning approaches that predict an activity with lower accuracy, the subject technology provides machine learning approaches that instead identify and predict with improved accuracy a consumer's potential online journey, predict what an end consumer is likely to do next" (Portman, [0043]).
As to claim 18, the limitations of claim 17 from which claim 18 depends are rejected under the same rationale set forth above for claim 17.
Regarding the further limitations of claim 18, Aarabi teaches:
"the agent generator component generates a plurality of simulation agents": Aarabi teaches that the processor generating the model of the virtual user executes "multiple simulations of artificial intelligence (AI) driven shopper personas, each of which may exhibit different behaviors based on the training user base or pre-set user parameters," and that "these AI-generated personas are then activated within an e-commerce and/or shopping simulation" (Aarabi, [0028]; see also [0013]). Aarabi further teaches that "at simulation step 30, a large number of virtual users are simulated," the simulation being conducted "by classifying all of the users as a single group (e.g., with identical model parameters), or by randomly selecting the users from a pre-determined set of demographic groups (e.g., race, gender, age, etc.) and using the group-specific model parameters" (Aarabi, [0049]), and that the simulation "may be repeated for a large number of users (e.g. 1 million users, 100,000 users, etc.)" (Aarabi, [0074]).
As to claim 19, the limitations of claim 17 from which claim 19 depends are rejected under the same rationale set forth above for claim 17.
Regarding the further limitations of claim 19, Aarabi teaches:
"a bottleneck detection component configured to detect a bottleneck among a plurality of touchpoints included in the user journey": Aarabi teaches that the processor is configured to "measure statistically relevant information, and report the statistically relevant information" (Aarabi, [0013]), and that "based on this, a detailed report may, optionally, be generated at step 40 to provide insights on the drop-off points in the experience, the reasons for users leaving, the most popular items purchased, the conversion rates and basket sizes, etc." (Aarabi, [0055]). The step of the journey at which the simulated users are lost corresponds to the recited bottleneck. Aarabi further teaches that the simulation accounts for attrition at each step, in that "a dropout factor (i.e., corresponding to page/step attrition) accounting for users who get tired of the experience may be incorporated," the traversal being "repeated until either the user drops out of the experience based on the probabilistic dropout factor, or the user gets to an option that finishes the experience" (Aarabi, [0071]–[0073]), and that "the AI simulation is conducted and the specific flow of users at each step of the website journey is measured, including specific pages, custom actions, and end results," the illustrated custom action "primarily aris[ing] from users on Page 1, and mostly result[ing] in either 'No Action' or a 'Checkout Only' scenario" (Aarabi, [0092]; FIGS. 9C and 9D).
As to claim 20, the limitations of claim 17 from which claim 20 depends are rejected under the same rationale set forth above for claim 17.
Regarding the further limitations of claim 20, Aarabi teaches:
"a journey optimizer component configured to repeat the simulation for each of a plurality of parameter values for each of a plurality of touchpoints included in the user journey": Aarabi teaches that "method 300 enables or otherwise provides an automated method of optimizing the user experience of e-commerce websites and applications," in that "the system implementing method 300 can systematically (or randomly, or by any other method) perform alterations to the identified user options (e.g., increasing the transition probability of one or more options) and compare the resulting metrics with those of a baseline (e.g., original) with the initial transition probabilities. By performing this process multiple times, the system is able to find out which changes result in a successful outcome or optimal results (e.g. optimized for performance metrics such as sales/revenue), and which changes result in the worst outcome" (Aarabi, [0075]; FIG. 6F). Aarabi further teaches that at optimization step 440 "an automated optimization analysis of the most critical (or alternatively, all) pages of the e-commerce website is performed. This analysis would sequentially increase the affinity, size, or visibility of a specific element, and compare the performance metric for the modified website with the baseline" (Aarabi, [0080]), the altered parameter values for a given item being "(p_j+Δ)'/(1+Δ) (i.e., where Δ can be positive or negative)" (Aarabi, [0062]), for example a Δ of 0.2 and a Δ of −0.2 (Aarabi, [0063]).
"and to select a recommended parameter value from the plurality of parameter values based on the repeated simulation": Aarabi teaches that "if the result indicates a positive change in a performance metric (e.g. more revenue, or a higher conversion), then the modification was successful. If the result indicates a negative change in a performance metric, then the modification was unsuccessful and the modified element should ideally be reduced in visibility/affinity/size," evaluated "on a per-item basis, as shown in FIGS. 7D to 7E" (Aarabi, [0080]), and that "based on the measurements and the results of the above analysis, a series of recommendations can be made in step 450. The recommendations may outline which items should be emphasized and which items should be deemphasized" (Aarabi, [0081]; FIGS. 7G to 7M).
Claims 4 and 12 are rejected under 35 U.S.C. 103 as being unpatentable over Aarabi (Aarabi), U.S. Patent Application Publication No. 2024/0242099 A1, published July 18, 2024, in view of Portman et al. (Portman), U.S. Patent Application Publication No. 2022/0309117 A1, published September 29, 2022, and further in view of Witting (Witting), U.S. Patent Application Publication No. 2004/0204982 A1, published October 14, 2004.
As to claim 4, the limitations of claim 1 from which claim 4 depends are rejected under the same rationale set forth above for claim 1.
Regarding the further limitations of claim 4, Aarabi teaches assigning a probability of selection to each option of the experience by means of a single set of model parameters of the selected virtual user model (Aarabi, [0051]). However, Aarabi does not teach "preparing a plurality of machine learning models corresponding to the plurality of touchpoints, wherein the probability score for each of the plurality of touchpoints is generated by a corresponding machine learning model of the plurality of machine learning models."
In the same field of endeavor, Witting teaches:
"preparing a plurality of … models corresponding to the plurality of touchpoints": Witting teaches that "the illustrative response models used by the response prediction module 166 for the campaign steps 207, 208 and 209 are called MAIL01, MAIL02 and EMAIL01, respectively" (Witting, [0041]; Table 2). Campaign steps 207, 208 and 209 are the mailing of a catalog, the mailing of a brochure, and the emailing of an offer, respectively (Witting, [0037]).
"wherein the probability score for each of the plurality of touchpoints is generated by a corresponding … model of the plurality of … models": Witting teaches that "response model means that the p/d step 206 involves using the response prediction module 166 to obtain a prediction based on the individual customers in the target group. Thus, the response rate predicted using this alternative may differ between different customers" (Witting, [0041]), each of the campaign steps 207, 208 and 209 being predicted with its respective response model MAIL01, MAIL02 and EMAIL01.
Aarabi and Witting are analogous to the claimed invention as both are from the same field of endeavor of predicting user responses at the successive steps of a user journey. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to prepare a respective response model for each touchpoint of the user journey, as taught by Witting, and to generate the probability score for each touchpoint using its corresponding model. The motivation to combine Aarabi and Witting is that Witting teaches that a per-step response model yields a predicted response rate that differs between individual customers, in contrast to a default average rate concluded "without regard to the particular target groups" (Witting, [0041]).
The combination of Aarabi and Witting, however, does not teach that the plurality of models are "a plurality of machine learning models," nor that "the probability score for each of the plurality of touchpoints is generated by a corresponding machine learning model of the plurality of machine learning models."
In the same field of endeavor, Portman teaches a plurality of machine learning models corresponding to the touchpoints of a user journey, in that "an encoder is assigned to each event type," the event types "including for example an impression event, an email event, a click event, and a website visit" (Portman, [0017]), and that "the user journey encoder 750 includes different types of encoders 702i, 702ii, … 702n for the various types of user journey events labelled 700i-n. As illustrated in FIG. 7, there may be an impression event encoder 702i, an email encoder 702ii, a click encoder 702iii, and a website encoder 702iv. Each or some events in a user journey may be encoded through a respective encoder" (Portman, [0050]). The outputs of these models generate the probability for each event, in that "the model may indicate that probable next user steps (i.e., predicted user activity in a user journey) include, for example, a conversion with a probability of 30%, or an impression followed by a click-through with probability of 45%, or an additional website visit with a probability at 25%" (Portman, [0053]), the models being trained "using an optimization algorithm, such as gradient descent, combined with backpropagation through time" (Portman, [0058]).
Aarabi, Witting and Portman are analogous to the claimed invention as all are from the same field of endeavor of predicting user responses at the successive steps of a user journey. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to implement the per-touchpoint response models of Witting as the per-event-type machine learning models of Portman. The motivation to combine Aarabi, Witting and Portman is as recited by Portman: "compared with previous machine learning approaches that predict an activity with lower accuracy, the subject technology provides machine learning approaches that instead identify and predict with improved accuracy a consumer's potential online journey, predict what an end consumer is likely to do next" (Portman, [0043]).
Claim 12 is rejected under 35 U.S.C. 103. As to claim 12, the claim recites limitations that are the same as those recited in claim 4. Claim 12 is therefore rejected under the same rationale set forth above for claim 4.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HUNG VAN LE whose telephone number is (571)270-0164. The examiner can normally be reached 8 a.m. - 5 p.m..
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, Cesar Paula can be reached at (571) 272-4128. 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.
/HUNG VAN LE/Examiner, Art Unit 2145
/CESAR B PAULA/Supervisory Patent Examiner, Art Unit 2145