IP Library › Granted Patent US 11,475,295
Granted Patent B2
US 11,475,295 · App. 16/394,227 · Granted Oct 18, 2022

Predicting and visualizing outcomes using a time-aware recurrent neural network

Inventors: Fan Du (Milpitas, CA); Eunyee Koh (San Jose, CA); Sungchul Kim (San Jose, CA); Shunan Guo (ShangHai, CN); Sana Malik Lee (Cupertino, CA)
Assignee: ADOBE INC.
G06N3/08G06N3/0454G06N5/02G06N7/005G06N20/10
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 11,475,295
App. No.
16/394,227
Granted
Oct 18, 2022
Kind
B2
Abstract

Disclosed systems and methods predict and visualize outcomes based on past events. For example, an analysis application encodes a sequence of events into a feature vector that includes, for each event, a numerical representation of a respective category and a respective timestamp. The application applies a time-aware recurrent neural network to the feature vector, resulting in one or more of (i) a set of future events in which each event is associated with a probability and a predicted duration and (ii) a sequence embedding that contains information about predicted outcomes and temporal patterns observed in the sequence of events. The application applies a support vector model classifier to the sequence embedding. The support vector model classifier computes a likelihood of a categorical outcome for each of the events in the probability distribution. The application modifies interactive content according to the categorical outcomes and probability distribution.

Claims (98)

1. A method comprising:

accessing a sequence of events, wherein each event comprises a timestamp at which the event occurred and a category from a plurality of predefined categories;

encoding the sequence of events into a feature vector comprising, for each event, a numerical representation of (i) a respective category and (ii) a respective timestamp;

applying, to the feature vector, a time-aware recurrent neural network that outputs a sequence embedding comprising a probability distribution of a plurality of future events and an associated duration for each future event, wherein the time-aware recurrent neural network accommodates time irregularities in the sequence of events;

applying, to the sequence embedding, a support vector model classifier that computes a likelihood of a categorical outcome for each of the events in the probability distribution; and

providing one or more of (i) the probability distribution or (ii) the categorical outcome to a user interface.

2. The method of claim 1 , further comprising:

accessing a plurality of pairs of training data, wherein each pair of training data comprises a sequence of events, an expected next event, and an expected categorical outcome;

training the time-aware recurrent neural network by iteratively:

obtaining a next event by applying the time-aware recurrent neural network to each pair of training data;

adjusting one or more parameters of the time-aware recurrent neural network such that a probability of the next event matching the expected next event is maximized; and

extracting a sequence embedding from the time-aware recurrent neural network; and

training the support vector model classifier with each of the extracted sequence embeddings by iteratively:

obtaining a categorical outcome by applying the support vector model classifier to an extracted sequence embedding; and

adjusting one or more parameters of the support vector model classifier such that a probability of the categorical outcome matching the expected categorical outcome is maximized.

3. The method of claim 1 , further comprising:

updating, via the user interface, one or more of (i) a timestamp or (ii) a category of an event in the sequence of events;

generating an updated feature vector based on the updated sequence;

computing an updated probability distribution; and

updating the user interface with the updated probability distribution.

4. The method of claim 1 , further comprising:

updating, via the user interface, the sequence of events to include an additional future event;

generating an updated feature vector based on the updated sequence;

computing an updated probability distribution; and

updating the user interface with the updated probability distribution.

5. The method of claim 1 , further comprising:

determining, from the plurality of future events, a sequence of future events comprising a first event and a second event;

determining that a cumulative probability of the first event and the second event occurring is greater than a cumulative probability of other sequences within the plurality of future events; and

presenting the sequence of events and associated aggregated outcomes on the user interface.

6. The method of claim 1 , wherein the sequence of events is determined based on interactions between a user device and an interactive computing environment.

7. The method of claim 1 , wherein the sequence of events comprises events derived from one or more activities of a plurality of users and wherein the probability distribution of a plurality of future events and the associated durations for each event are based on the activities of the plurality of users.

8. The method of claim 1 , further comprising:

presenting, to the user interface, a predefined list of categories;

receiving, from the user interface, a selection of a category from the predefined list of categories;

determining one or more additional events, that if added to the sequence of events, would result in a categorical outcome matching the category; and

presenting the one or more additional events to the user interface.

9. A system comprising:

a processing device; and

a memory device communicatively coupled to the processing device and comprising program instructions, wherein when executed, cause the processing device to perform operations comprising:

accessing a sequence of events, wherein each event comprises a timestamp at which the event occurred and a category from a plurality of predefined categories;

encoding the sequence of events into a feature vector comprising, for each event, a numerical representation of (i) a respective category and (ii) a respective timestamp;

applying, to the feature vector, a time-aware recurrent neural network that outputs a sequence embedding comprising a probability distribution of a plurality of future events and an associated duration for each future event, wherein the time-aware recurrent neural network accommodates time irregularities in the sequence of events;

applying, to the sequence embedding, a support vector model classifier that computes a likelihood of a categorical outcome for each of the events in the probability distribution; and

providing one or more of (i) the probability distribution or (ii) the categorical outcome to a user interface.

10. The system of claim 9 , wherein the operations further comprise:

accessing a plurality of pairs of training data, wherein each pair of training data comprises a sequence of events, an expected next event, and an expected categorical outcome;

training the time-aware recurrent neural network by iteratively:

obtaining a next event by applying the time-aware recurrent neural network to each pair of training data;

adjusting one or more parameters of the time-aware recurrent neural network such that a probability of the next event matching the expected next event is maximized; and

extracting a sequence embedding from the time-aware recurrent neural network; and

training the support vector model classifier with each of the extracted sequence embeddings by iteratively:

obtaining a categorical outcome by applying the support vector model classifier to an extracted sequence embedding; and

adjusting one or more parameters of the support vector model classifier such that a probability of the categorical outcome matching the expected categorical outcome is maximized.

11. The system of claim 9 , wherein the operations further comprise:

updating, via the user interface, one or more of (i) a timestamp or (ii) a category of an event in the sequence of events;

generating an updated feature vector based on the updated sequence;

computing an updated probability distribution; and

updating the user interface with the updated probability distribution.

12. The system of claim 9 , wherein the operations further comprise:

updating, via the user interface, the sequence of events to include an additional future event;

generating an updated feature vector based on the updated sequence;

computing an updated probability distribution; and

updating the user interface with the updated probability distribution.

13. The system of claim 9 , wherein the operations further comprise:

determining, from the plurality of future events, a sequence of future events comprising a first event and a second event;

determining that a cumulative probability of the first event and the second event occurring is greater than a cumulative probability of other sequences within the plurality of future events; and

presenting the sequence of events and associated aggregated outcomes on the user interface.

14. The system of claim 9 , wherein the sequence of events is determined based on interactions between a user device and an interactive computing environment.

15. A non-transitory computer-readable medium storing instructions that, when executed by one or more processing devices, cause the one or more processing devices to perform operations comprising:

accessing a sequence of events, wherein each event comprises a timestamp at which the event occurred and a category from a plurality of predefined categories;

encoding the sequence of events into a feature vector comprising, for each event, a numerical representation of (i) a respective category and (ii) a respective timestamp;

applying, to the feature vector, a time-aware recurrent neural network that outputs a sequence embedding comprising a probability distribution of a plurality of future events and an associated duration for each future event, wherein the time-aware recurrent neural network accommodates time irregularities in the sequence of events;

applying, to the sequence embedding, a support vector model classifier that computes a likelihood of a categorical outcome for each of the events in the probability distribution; and

providing one or more of (i) the probability distribution or (ii) the categorical outcome to a user interface.

16. The computer-readable medium of claim 15 , wherein the operations further comprise:

accessing a plurality of pairs of training data, wherein each pair of training data comprises a sequence of events, an expected next event, and an expected categorical outcome;

training the time-aware recurrent neural network by iteratively:

obtaining a next event by applying the time-aware recurrent neural network to each pair of training data;

adjusting one or more parameters of the time-aware recurrent neural network such that a probability of the next event matching the expected next event is maximized; and

extracting a sequence embedding from the time-aware recurrent neural network; and

training the support vector model classifier with each of the extracted sequence embeddings by iteratively:

obtaining a categorical outcome by applying the support vector model classifier to an extracted sequence embedding; and

adjusting one or more parameters of the support vector model classifier such that a probability of the categorical outcome matching the expected categorical outcome is maximized.

17. The computer-readable medium of claim 15 , wherein the operations further comprise:

updating, via the user interface, one or more of (i) a timestamp or (ii) a category of an event in the sequence of events;

generating an updated feature vector based on the updated sequence;

computing an updated probability distribution; and

updating the user interface with the updated probability distribution.

18. The computer-readable medium of claim 15 , wherein the operations further comprise:

updating, via the user interface, the sequence of events to include an additional future event;

generating an updated feature vector based on the updated sequence;

computing an updated probability distribution; and

updating the user interface with the updated probability distribution.

19. The computer-readable medium of claim 15 , wherein the operations further comprise:

determining, from the plurality of future events, a sequence of future events comprising a first event and a second event;

determining that a cumulative probability of the first event and the second event occurring is greater than a cumulative probability of other sequences within the plurality of future events; and

presenting the sequence of events and associated aggregated outcomes on the user interface.

20. The computer-readable medium of claim 15 , wherein the sequence of events is determined based on interactions between a user device and an interactive computing environment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2019
From: DU, FAN; KIM, SUNGCHUL; GUO, SHUNAN; LEE, SANA; KOH, EUNYEE
To: ADOBE INC.
Reel/Frame 048994/0744 →
Continuity (1)
Related Publication 20200342305A1 · Oct 29, 2020