# US 8,150,723 B2 · Large-scale behavioral targeting for advertising over a network

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

- Number: US 8,150,723 B2
- Document ID: US8150723B2
- Status: Granted
- Kind: B2
- Application number: 12/351,749
- Filed: 2009-01-09
- Published: 2010-07-15
- Granted: 2012-04-03
- Earliest claimed: 2009-01-09
- Assignees: Yahoo! Inc.
- Inventors: Ye Chen; Dmitry Pavlov; Pavel Berkhin; John Canny
- Web page: https://patentgrep.com/patent/US8150723B2

## CPC

- G06Q 30/02: Marketing; Price estimation or determination; Fundraising
- G06Q 10/063: Operations research, analysis or management
- G06Q 10/0637: Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
- G06Q 10/0639: Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q 30/0201: Market modelling; Market analysis; Collecting market data
- G06Q 30/0202: Market predictions or forecasting for commercial activities
- G06Q 30/0206: {Price or cost determination based on market factors}
- 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 method and a system are provided for large-scale behavioral targeting for advertising over a network, such as the Internet. In one example, the system receives training data that is processed raw data of user behavior. The system generates selected features by performing feature selection on the training data. The system generates feature vectors from the selected features. The system initializes weights of a behavioral targeting model by scanning the feature vectors once. The system then updates the weights of the behavioral targeting model by scanning iteratively the feature vectors using a multiplicative recurrence.

## Claims

### Claim 1

A computer implemented method for large-scale behavioral targeting, the method comprising:
receiving, using a computer processor, training data that is processed raw data of user behavior;
generating, using a computer processor, selected features by performing feature selection on the training data;
generating, using a computer processor, feature vectors from the selected features;
initializing, using a computer processor, weights of a behavioral targeting model, wherein the behavioral targeting model is based on a Poisson regression, by:
scanning the feature vectors once,
allocating each of the weights as a normalized co-occurrence of a target and a feature,
generating a weight matrix whose dimensionality is a total number of targets by a total number of features,
generating a plurality of weight vectors for each of the selected features from the weight matrix; and
updating, using a computer processor, the weight vectors of the behavioral targeting model by scanning iteratively the feature vectors using a multiplicative recurrence.

### Claim 2 (depends on 1)

The method of claim 1, wherein the training data includes at least one of:
reduced data from raw data of user behavior;
aggregated data from raw data of user behavior; and
merged data from raw data of user behavior.

### Claim 3 (depends on 1)

The method of claim 1, further comprising storing one or more behavioral targeting models in a Hadoop Distributed File System.

### Claim 4 (depends on 1)

The method of claim 1, wherein the performing feature selection on the training data comprises at least one of:
counting frequencies of entities in terms of touching cookies; and
selecting most frequent entities of the entities in a given feature space.

### Claim 5 (depends on 1)

The method of claim 1, wherein the generating feature vectors comprises at least one of:
configuring the feature vectors to represent the selected features;
optimizing the feature vectors for sequential access along both a user dimension and a feature dimension; and
materializing any data reduction and pre-computing opportunities.

### Claim 6 (depends on 5)

The method of claim 5, wherein the generating feature vectors comprises at least one of:
configuring each of the feature vectors to be a sparse data structure;
referencing an original feature by an index of an inverted index; and
configuring the features vectors using binary representation and data compression.

### Claim 7 (depends on 1)

The method of claim 1, further comprising at least one of:
distributing a computation of counting bigrams by a composite key; and
caching in-memory an output the computation, wherein a size of an in-memory cache is configurable.

### Claim 8

A system, comprising a computer processor and a memory, for large-scale behavioral targeting, wherein the computer processor is configured to perform the steps of:
receiving training data that is processed raw data of user behavior;
generating selected features by performing feature selection on the training data;
generating feature vectors from the selected features;
initializing weights of a behavioral targeting model, wherein the behavioral targeting model is based on a Poisson regression, by:
scanning the feature vectors once,
allocating each of the weights as a normalized co-occurrence of a target and a feature,
generating a weight matrix whose dimensionality is a total number of targets by a total number of features,
generating a plurality of weight vectors for each of the selected features from the weight matrix; and
updating the weight vectors of the behavioral targeting model by scanning iteratively the feature vectors using a multiplicative recurrence.

### Claim 9 (depends on 8)

The system of claim 8, wherein the training data includes at least one of:
reduced data from raw data of user behavior;
aggregated data from raw data of user behavior; and
merged data from raw data of user behavior.

### Claim 10 (depends on 8)

The system of claim 8, wherein the system is further configured for storing one or more behavioral targeting models in a Hadoop Distributed File System.

### Claim 11 (depends on 8)

The system of claim 8, wherein the performing feature selection on the training data comprises at least one of:
counting frequencies of entities in terms of touching cookies; and
selecting most frequent entities of the entities in a given feature space.

### Claim 12 (depends on 8)

The system of claim 8, wherein the generating feature vectors comprises at least one of:
configuring the feature vectors to represent the selected features;
optimizing the feature vectors for sequential access along both a user dimension and a feature dimension; and
materializing any data reduction and pre-computing opportunities.

### Claim 13 (depends on 12)

The system of claim 12, wherein the generating feature vectors comprises at least one of:
configuring each of the feature vectors to be a sparse data structure;
referencing an original feature by an index of an inverted index; and
configuring the features vectors using binary representation and data compression.

### Claim 14 (depends on 8)

The system of claim 8, wherein the system is further configured for at least one of:
distributing a computation of counting bigrams by a composite key; and
caching in-memory an output the computation, wherein a size of an in-memory cache is configurable.

### Claim 15

A non-transitory computer readable medium carrying one or more instructions for large-scale behavioral targeting, wherein the one or more instructions, when executed by one or more processors, cause the one or more processors to perform the steps of:
receiving training data that is processed raw data of user behavior;
generating selected features by performing feature selection on the training data;
generating feature vectors from the selected features;
initializing weights of a behavioral targeting model, wherein the behavioral targeting model is based on a Poisson regression, by:
scanning the feature vectors once,
allocating each of the weights as a normalized co-occurrence of a target and a feature,
generating a weight matrix whose dimensionality is a total number of targets by a total number of features,
generating a plurality of weight vectors for each of the selected features from the weight matrix; and
updating the weight vectors of the behavioral targeting model by scanning iteratively the feature vectors using a multiplicative recurrence.
