IP Library Granted Patent US 9,928,526
Granted Patent B2
US 9,928,526 · App. 14/667,651 · Granted Mar 27, 2018

Methods and systems that predict future actions from instrumentation-generated events

Inventors: Ethan Dereszynski (Oregon City, OR); Vladimir Brayman (Mercer Island, WA); Weng-Keen Wong (Corvallis, OR)
Assignee: ORACLE AMERICA, INC.
G06Q30/0254G06F9/45504G06N3/08G06Q30/0202
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,928,526
App. No.
14/667,651
Granted
Mar 27, 2018
Kind
B2
Abstract

The current document is directed to methods and systems that receive instrumentation-generated events and that employ statistical inference to discover event topics and to assign an action to each of a number of events and that use the actions to predict future events and actions. In a described implementation, accumulated action messages are used to build a predictive model for each monitored website and the predictive model is used, in turn, to predict future actions based on already received actions.

Claims (61)

1. A computer-implemented method for using a hidden-variable model to generate enhanced action messages, the method comprising:

accessing, at a prediction subsystem of a computer system, a set of action messages, each action message of the set of action messages including a set of key/value pairs and an identification of an action assigned to the action message by an abstraction layer, the action representing an actual or inferred user interaction with at least part of a website;

extracting, from an action message in the set of action messages, a website identifier, the action message being associated with a user device;

determining a session identifier for the action message;

identifying, at the prediction subsystem and based on the website identifier, a current predictive model configured to generate action predictions, the current predictive model being configured to process a representation one or more past action observations to estimate one or more hidden variables and to generate output data corresponding to a subsequent-action prediction based on the one or more hidden variables;

processing, at the prediction subsystem, input data representing the action identified in the action message using the current predictive model to estimate the one or more hidden variables and to generate the output data corresponding to the subsequent-action prediction;

generating, at the prediction subsystem, an enhanced action message for the action message, at least part of the enhanced action message including prediction information corresponding to the output data, the prediction information representing a likelihood of subsequently detecting, in association with the user device, one or more user interactions with the website that correspond to a particular type of event or action; and

outputting, from the prediction subsystem, the enhanced action message to an enhanced-action-message sink, the enhanced-action-message sink including one or both of a downstream subsystem of the computer system and a remote system.

2. The computer-implemented method for using a hidden-variable model to generate enhanced action messages as recited in claim 1 , wherein the current predictive model includes a Hidden Markov Model.

3. The computer-implemented method for using a hidden-variable model to generate enhanced action messages as recited in claim 1 , wherein processing the input data includes predicting, for each hidden variable of the one or more hidden variables, a state for the hidden variable at a future time point, wherein the output data is generated based on one or more states predicted for one or more hidden variables.

4. The computer-implemented method for using a hidden-variable model to generate enhanced action messages as recited in claim 1 , further comprising:

accessing, after the generating the enhanced action message, a subsequent action message, the subsequent action message including an identification of a subsequent action assigned to the action message by the abstraction layer;

extracting, from the subsequent action message, a website identifier;

determining that the subsequent action message corresponds to the session identifier; and

updating the current predictive model based on a comparison involving the subsequent action and the output data.

5. The computer-implemented method for using a hidden-variable model to generate enhanced action messages as recited in claim 1 , wherein outputting the enhanced action message includes transmitting the enhanced action message to a client system associated with the website.

6. The computer-implemented method for using a hidden-variable model to generate enhanced action messages as recited in claim 1 , wherein the prediction information identifies a probability of a particular type of interaction occurring during a session, the session being associated with the session identifier, and wherein the method further includes:

generating a Receiver Operating Characteristic (ROC) curve based on a set of previously generated output data and corresponding action data; and

determining a value of a confidence metric based on the ROC and the probability.

7. The computer-implemented method for using a hidden-variable model to generate enhanced action messages as recited in claim 1 , wherein the prediction information identifies a probability of a particular type of interaction occurring during a session, the session being associated with the session identifier.

8. A system comprising:

one or more data processors; and

a non-transitory computer readable storage medium containing instructions which when executed on the one or more data processors, cause the one or more data processors to perform actions including:

accessing a set of action messages, each action message of the set of action messages including a set of key/value pairs and an identification of an action assigned to the action message by an abstraction layer, the action representing an actual or inferred user interaction with at least part of a website;

extracting, from an action message in the set of action messages, a website identifier, the action message being associated with a user device;

determining a session identifier for the action message;

identifying, based on the website identifier, a current predictive model configured to generate action predictions, the current predictive model being configured to process a representation one or more past action observations to estimate one or more hidden variables and to generate output data corresponding to a subsequent-action prediction based on the one or more hidden variables;

processing input data representing the action identified in the action message using the current predictive model to estimate the one or more hidden variables and to generate the output data corresponding to the subsequent-action prediction;

generating an enhanced action message for the action message, at least part of the enhanced action message including prediction information corresponding to the output data, the prediction information representing a likelihood of subsequently detecting, in association with the user device, one or more user interactions with the website that correspond to a particular type of event or action; and

outputting the enhanced action message to an enhanced-action-message sink, the enhanced-action-message sink including one or both of a downstream system and a remote system.

9. The system as recited in claim 8 , wherein the current predictive model includes a Hidden Markov Model.

10. The system as recited in claim 8 , wherein processing the input data includes predicting, for each hidden variable of the one or more hidden variables, a state for the hidden variable at a future time point, wherein the output data is generated based on one or more states predicted for one or more hidden variables.

11. The system as recited in claim 8 , wherein the actions further include:

accessing, after the generating the enhanced action message, a subsequent action message, the subsequent action message including an identification of a subsequent action assigned to the action message by the abstraction layer;

extracting, from the subsequent action message, a website identifier;

determining that the subsequent action message corresponds to the session identifier; and

updating the current predictive model based on a comparison involving the subsequent action and the output data.

12. The system as recited in claim 8 , wherein outputting the enhanced action message includes transmitting the enhanced action message to a client system associated with the website.

13. The system as recited in claim 8 , wherein the prediction information identifies a probability of a particular type of interaction occurring during a session, the session being associated with the session identifier, and wherein the actions further include:

generating a Receiver Operating Characteristic curve based on a set of previously generated output data and corresponding action data; and

determining a value of a confidence metric based on the Receiver Operating Characteristic curve and the probability.

14. The system as recited in claim 8 , wherein the prediction information identifies a probability of a particular type of interaction occurring during a session, the session being associated with the session identifier.

15. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause one or more data processors to perform actions including:

accessing a set of action messages, each action message of the set of action messages including a set of key/value pairs and an identification of an action assigned to the action message by an abstraction layer, the action representing an actual or inferred user interaction with at least part of a website;

extracting, from an action message in the set of action messages, a website identifier, the action message being associated with a user device;

determining a session identifier for the action message;

identifying, based on the website identifier, a current predictive model configured to generate action predictions, the current predictive model being configured to process a representation one or more past action observations to estimate one or more hidden variables and to generate output data corresponding to a subsequent-action prediction based on the one or more hidden variables;

processing input data representing the action identified in the action message using the current predictive model to estimate the one or more hidden variables and to generate the output data corresponding to the subsequent-action prediction;

generating an enhanced action message for the action message, at least part of the enhanced action message including prediction information corresponding to the output data, the prediction information representing a likelihood of subsequently detecting, in association with the user device, one or more user interactions with the website that correspond to a particular type of event or action; and

outputting the enhanced action message to an enhanced-action-message sink, the enhanced-action-message sink including one or both of a downstream system and a remote system.

16. The computer-program product as recited in claim 15 , wherein the current predictive model includes a Hidden Markov Model.

17. The computer-program product as recited in claim 15 , wherein processing the input data includes predicting, for each hidden variable of the one or more hidden variables, a state for the hidden variable at a future time point, wherein the output data is generated based on one or more states predicted for one or more hidden variables.

18. The computer-program product as recited in claim 15 , wherein the actions further include:

accessing, after the generating the enhanced action message, a subsequent action message, the subsequent action message including an identification of a subsequent action assigned to the action message by the abstraction layer;

extracting, from the subsequent action message, a website identifier;

determining that the subsequent action message corresponds to the session identifier; and

updating the current predictive model based on a comparison involving the subsequent action and the output data.

19. The computer-program product as recited in claim 15 , wherein outputting the enhanced action message includes transmitting the enhanced action message to a client system associated with the website.

20. The computer-program product as recited in claim 15 , wherein the prediction information identifies a probability of a particular type of interaction occurring during a session, the session being associated with the session identifier, and wherein the actions further include:

generating a Receiver Operating Characteristic curve based on a set of previously generated output data and corresponding action data; and

determining a value of a confidence metric based on the Receiver Operating Characteristic curve and the probability.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2018
From: ORACLE AMERICA, INC.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 048174/0956 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2018
From: SILICON VALLEY BANK
To: WEBTRENDS, INC.
Reel/Frame 047224/0165 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT APPL. NO. 7185085 PREVIOUSLY RECORDED AT REEL: 042775 FRAME: 0589. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 29, 2018
From: WEBTRENDS INC.
To: ORACLE AMERICA, INC.
Reel/Frame 046491/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2017
From: WEBTRENDS INC.
To: ORACLE AMERICA, INC.
Reel/Frame 042775/0589 →
ADDENDUM TO INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 2, 2016
From: WEBTRENDS INC.
To: SILICON VALLEY BANK
Reel/Frame 038864/0908 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2015
From: DERESZYNSKI, ETHAN; BRAYMAN, VLADIMIR; WONG, WENG-KEEN
To: WEBTRENDS INC.
Reel/Frame 035796/0833 →
Continuity (4)
Continuation In Part 14585063 · Dec 29, 2014
Provisional Application 61969681 · Mar 24, 2014
Provisional Application 61920965 · Dec 26, 2013
Related Publication 20170300966A1 · Oct 19, 2017