# US 2013/0159220 A1 · Prediction of user response actions to received data

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0159220 A1
- Document ID: US20130159220A1
- Status: Published application
- Kind: A1
- Application number: 13/326,877
- Filed: 2011-12-15
- Published: 2013-06-20
- Earliest claimed: 2011-12-15
- Assignees: Microsoft Corporation
- Inventors: John Winn; Fernando Garcia; Tore Sundelin; James Edelen
- Web page: https://patentgrep.com/patent/US20130159220A1

## CPC

- G06N 20/00: Machine learning
- G06F 16/337: {Profile generation, learning or modification}
- G06Q 10/10: Office automation; Time management
- G06F 2216/03: Data mining
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A system is provided for automatically predicting actions a user is likely to take in response to receiving data. The system may be configured to monitor and observe a user's interactions with incoming data and to identify patterns of actions the user may take in response to the incoming data. The system may enable a trainer component and a classifier component to determine the probability a user may take a particular action and to make predictions of likely user actions based on the observations of the user and the identified pattern of the user's actions. The system may also be configured to continuously observe the user's actions to fine-tune and adjust the identified patterns of user actions and to update the probabilities of likely user actions in order increase the accuracy of the predicted user action in response to incoming data.

## Claims

### Claim 1

A method executed at least in part in a computing device for predicting user actions in response to receiving incoming data, the method comprising:
detecting incoming data from a data source for a user;
monitoring the user's actions in response to receiving the incoming data;
determining a pattern of user actions in response to the received incoming data;
detecting new incoming data from a data source; and
predicting the user's action in response to receiving the new incoming data based on the pattern of user actions, an incoming data context and an incoming data content.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
extracting one or more features of the incoming data utilizing a feature extractor component.

### Claim 3 (depends on 2)

The method of claim 2, wherein the one or more features of incoming data includes one or more of: a subject of the incoming data, a classification of the incoming data, a computing device used to receive the incoming data, an application used to receive the incoming data, a source of the incoming data, past interactions of the user with the source, a time of when the incoming data is received, and a location of where the incoming data is received.

### Claim 4 (depends on 2)

The method of claim 2, further comprising:
utilizing a sensor component to continuously detect the user's actions in response to receiving the incoming data.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
uploading detected user action information from the sensor component and extracted feature information from the feature extractor component to an actions processor; and
enabling the actions processor to combine, store, and organize the information from the sensor component and the feature extractor component into a user action database, wherein the user action database includes a list of past actions the user has taken in response to receiving the incoming data having one or more features.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
providing the user action database to a trainer component; and
during a training period, enabling the trainer component to continuously synthesize the information organized in the user action database to determine the pattern of user actions in response to the received incoming data.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
based on the pattern of user actions generated during the training period, generating learnings which indicate a probability of when user actions are likely to occur in response to the received incoming data.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
employing a classifier component for detecting the new incoming data from the data source;
enabling the classifier component to identify one or more features of the new incoming data;
based on the generated learnings from the trainer component, enabling the classifier component to predict the user's action in response to the new incoming data; and
automatically executing the predicted user action.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
enabling an accuracy calculator component to measure an accuracy of the predicted user action; and
adjusting the pattern of user actions to enable the classifier component to render more accurate predictions of user actions in response to new incoming data.

### Claim 10 (depends on 1)

The method of claim 1, wherein the incoming data includes one or more of: an email message, a text message, an instant message, a voicemail message, a phone call, a multimedia content, an audiovisual message, RSS feed content, a social network update, a gaming network update, a forum posting, and a document.

### Claim 11 (depends on 1)

The method of claim 1, wherein the user action in response to receiving the incoming data includes one or more of: a read, a respond, an ignore, a prioritize, a delete, a flag, a move to a categorized folder, a save for later, an add to calendar, a download, a print, an edit, and a forward action.

### Claim 12

A server for predicting user actions in response to receiving incoming data, comprising:
a memory storing instructions;
a processor coupled to the memory, the processor executing an action prediction application in conjunction with the stored instructions, wherein the action prediction application is configured to:
detect incoming data from a data source for a user;
extract one or more features of the incoming data utilizing a feature extractor component;
monitor the user's actions in response to receiving the incoming data;
determine a pattern of user actions in response to the received incoming data;
detect new incoming data from a data source; and
predict the user's action in response to receiving the new incoming data based on the pattern of user actions, an incoming data context and an incoming data content.

### Claim 13 (depends on 12)

The server of claim 12, wherein the action prediction application is further configured to:
enable a sensor component to continuously detect the user's actions in response to receiving the incoming data;
upload detected user action information from the sensor component and extracted feature information from the feature extractor component to an actions processor; and
enable the actions processor to combine, store, and organize the information from the sensor component and the feature extractor component into a user action database, wherein the user action database includes a list of past actions the user has taken in response to receiving data having one or more features.

### Claim 14 (depends on 12)

The server of claim 12, wherein the action prediction application is further configured to monitor the user's actions in response to receiving the incoming data and to determine a pattern of user actions in response to the received incoming data during one of: an initial training period and repeated training periods following the initial training periods.

### Claim 15 (depends on 12)

The server of claim 12, wherein the action prediction application is further configured to:
pre-generate a seed model based on a global knowledge of a statistically significant number of sample users;
utilize the seed model to make predictions for new users; and
utilize behaviors of other users for existing and new users.

### Claim 16 (depends on 12)

The server of claim 12, wherein the server is part of one of: a cloud-based system and a client-server architecture where the client is enabled to store and process the incoming data offline to render predictions.

### Claim 17 (depends on 12)

The server of claim 12, wherein the action prediction application is configured to predict the user action based on incoming data content and incoming data context comprising one or more of: a subject of the incoming data, a classification of the incoming data, a computing device used to receive the incoming data, an application used to receive the incoming data, a source of the incoming data, past interactions of the user with the source, a time of when the incoming data is received, and a location of where the incoming data is received.

### Claim 18 (depends on 17)

The server of claim 17, wherein the incoming data is received at one or more of: a laptop computer, a desktop computer, a smart phone, a car phone, a mobile phone, a tablet computer, and a home automation device.

### Claim 19

A computer-readable memory device with instructions stored thereon for predicting user actions in response to receiving incoming data, the instructions comprising:
detecting incoming data from a data source for a user;
extracting one or more features of the incoming data utilizing a feature extractor component;
enabling a sensor component to continuously detect the user's actions in response to receiving the incoming data;
uploading detected user action information from the sensor component and extracted feature information from the feature extractor component to an actions processor;
enabling the actions processor to combine, store, and organize the information from the sensor component and the feature extractor component into a user action database, wherein the user action database includes a list of past actions the user has taken in response to receiving data having one or more features;
determining a pattern of user actions in response to the received incoming data;
detecting new incoming data from a data source; and
predicting the user's action in response to receiving the new incoming data based on the pattern of user actions, an incoming data context and an incoming data content.

### Claim 20 (depends on 19)

The computer-readable memory device of claim 19, wherein the instructions further comprise:
iterating online training for determining the pattern of user actions and offline training for generating new knowledge;
searching for new data associated with one or more actions to increase a knowledge of the user.
