IP Library Granted Patent US 9,135,348
Granted Patent B2
US 9,135,348 · App. 12/624,182 · Granted Sep 15, 2015

Method and apparatus for machine-learning based profiling

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,135,348
App. No.
12/624,182
Granted
Sep 15, 2015
Kind
B2
Abstract

A method and system for profiling a user based upon a user's previous on-line actions is provided. The profile provides a characterization of the user's preferences based upon a received user event. The user event identifying event identification information and a user identifier. A look-up in a cached web map is performed to retrieve classification information associated with the event identification information. A user profile is retrieved or created for the user identifier. Profile update information is generated based upon the retrieved classification information for the user event, to identify how the user is to be updated based upon the retrieved classification information and defined profiling rules. The user profile is updated and stored for access by an external advertising server. The classification information provides a text-score record comprising a text string and a score defined in relation to a lexical ontology comprising a hierarchy of categories.

Claims (41)

1. A computer implemented method of profiling a user of a computing device connected to a network, the method comprising:

receiving a user event comprising a content identifier for indicating web content requested by the user and a user identifier;

when the content identifier is not present in a cached web map, sending the content identifier to a modeling system which performs a mapping function of a location associated with the content identifier and determines classification information of the content identifier, wherein the classification information is added to the cached web map;

accessing the classification information from the cached web map, stored remotely from the user, using the content identifier of the user event, the cached web map associating a plurality of content identifiers each with respective classification information, the classification information associating a score with a text string defined in a lexical ontology comprising a hierarchy of categories, the score representing a strength of association of the respective text string to web content associated with the respective content identifier;

accessing a user profile associated with the user identifier of the user event, the user profile associating one or more scores with one or more respective categories from the hierarchy of categories, each score of the user profile providing an indication of user preference for an associated category; and

updating scores of the user profile based on the classification information associated with the content identifier by applying profiling rules generated from a plurality of user events of one or more users, the profiling rules being provided by the modeling system for modeling user behavior from the plurality of user events to predict user preferences, wherein the profiling rules are generated by:

aggregating the plurality of user events;

periodically modeling user behavior based on the aggregated plurality of user events independently of user identifiers of the aggregated plurality of user events; and

receiving updated profiling rules in response to the modeled aggregated plurality of user events, the updated profiling rules used for updating scores of user profiles.

2. The computer implemented method of claim 1 further comprising creating a new user profile if a profile associated with the user identifier is not present in a profile database.

3. The computer implemented method of claim 2 wherein the score is a value within a scalar range with a decimal value between 0 and 1.

4. The computer implemented method of claim 3 wherein the value of each score of respective one or more categories is decreased by a defined amount on a periodic basis in order to provide a time decay function.

5. The computer implemented method of claim 1 wherein the content identifier is a universal resource locator (URL).

6. The computer implemented method of claim 1 wherein each user profile further comprises fine grain category activities for each category identified in the user profile, each fine grain category activity entry associating one or more timestamps with one or more text strings corresponding to classification information, the one or more timestamps representing a time when the classification information containing the text string was received.

7. The computer implemented method of claim 6 wherein when multiple instances of classification information containing the same text string have been received, each timestamp corresponds to receipt of a different instance of classification information, and wherein the profiling rules decay a significance of the text-timestamped classification information records over time.

8. The computer implemented method of claim 7 wherein a timestamp older than a predetermined threshold is removed.

9. A system for profiling a user of a computing device, the system comprising:

at least one processor for executing instructions; and

memory for storing instructions that when executed by the at least one processor configure the system to provide:

an event receiver module for receiving a user event comprising a content identifier indicating web content requested by the user and a user identifier;

a web map module for storing a cached web map associating a plurality of content identifiers each with respective classification information is stored remotely from the user, the classification information associating a score with a text string defined in a lexical ontology comprising a hierarchy of categories, the score representing a strength of association of the respective text string to web content associated with the respective content identifier, wherein when the content identifier is not present in the cached web map, the content identifier is sent to a modeling system which performs a mapping function of the location associated with the content identifier and determines classification information of the content identifier, the classification information being added to the cached web map;

an event processor module for processing the received user event to determine classification information from the web map based upon event identification information; and

a profiling engine module for retrieving a user profile associated with the user identifier of the user event, the user profile associating one or more scores with one or more respective categories from the hierarchy of categories, each score of the user profile providing an indication of user preference for the associated category and for updating scores of the user profile based on the classification information associated with the content identifier by applying profiling rules generated from a plurality of user events of one or more users, the profiling rules being provided by the modeling system for modeling user behavior from the plurality of user events to predict user preferences, wherein the instructions when executed by the at least one processor further configuring the system to provide:

a modeling data aggregator for aggregating the plurality of user events;

wherein the modeling system periodically models user behavior based on the aggregated plurality of user events independently of user identifiers of the aggregated plurality of user events; and

wherein the profiling engine module receives updated profiling rules in response to the modeled aggregated plurality of user events, the updated profiling rules used for updating scores of user profiles.

10. The system of claim 9 wherein a value of the score is a scalar value with a decimal value between 0 and 1.

11. The system of claim 10 wherein the value of each score of a respective one or more categories is decreased by a defined amount on a periodic basis in order to provide a time decay function.

12. The system of claim 9 wherein the content identifier is a universal resource locator (URL).

13. The system of claim 9 wherein each user profile further comprises fine grain category activities for each category identified in the user profile, each fine grain category activity entry associating one or more timestamps with one or more text strings corresponding to classification information, the one or more timestamps representing a time when the classification information containing the text string was received.

14. The system of claim 13 wherein when multiple instances of classification information containing the same text string have been received, each timestamp corresponds to receipt of a different instance of classification information, and wherein profiling rules decay a significance of the text-timestamped classification information records over time.

15. The system of claim 14 wherein a timestamp older than a predetermined threshold is removed.

16. A computer-readable storage medium containing instructions for execution on a processor for performing a method of profiling a user of a computing device connected to a network the instructions for performing:

receiving a user event comprising a content identifier for indicating web content requested by the user and a user identifier;

when the content identifier is not present in a cached web map, sending the content identifier to a modeling system which performs a mapping function of a location associated with the content identifier and determines classification information of the content identifier, wherein the classification information is added to the cached web map;

accessing the classification information from the cached web map, stored remotely from the user, using the content identifier of the user event, the cached web map associating a plurality of content identifiers each with respective classification information, the classification information associating a score with a text string defined in a lexical ontology comprising a hierarchy of categories, the score representing a strength of association of the respective text string to web content associated with the respective content identifier;

accessing a user profile associated with the user identifier of the user event, the user profile associating one or more scores with one or more respective categories from the hierarchy of categories, each score of the user profile providing an indication of user preference for the associated category; and

updating scores of the user profile based on the classification information associated with the content identifier by applying profiling rules generated from a plurality of user events of one or more users, the profiling rules being provided by the modeling system for modeling user behavior from the plurality of user events to predict user preferences, wherein the profiling rules are generated by:

aggregating the plurality of user events;

periodically modeling user behavior based on the aggregated plurality of user events independently of user identifiers of the aggregated plurality of user events; and

receiving updated profiling rules in response to the modeled aggregated plurality of user events, the updated profiling rules used for updating scores of user profiles.

Assignments (8)
SECURITY INTEREST Recorded Jun 1, 2021
From: WSOU INVESTMENTS, LLC
To: OT WSOU TERRIER HOLDINGS, LLC
Reel/Frame 056990/0081 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2018
From: ALCATEL-LUCENT USA INC.
To: WSOU INVESTMENTS, LLC
Reel/Frame 045089/0972 →
RELEASE OF SECURITY INTEREST Recorded Aug 28, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA
Reel/Frame 033647/0251 →
SECURITY AGREEMENT Recorded Jul 22, 2013
From: ALCATEL LUCENT USA, INC.
To: CREDIT SUISSE AG
Reel/Frame 030851/0364 →
MERGER Recorded Jun 6, 2013
From: KINDSIGHT, INC.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 030559/0110 →
RELEASE OF SECURITY INTEREST Recorded Jun 6, 2013
From: ALCATEL-LUCENT USA INC.
To: KINDSIGHT, INC.
Reel/Frame 030572/0657 →
SECURITY AGREEMENT Recorded Nov 8, 2011
From: KINDSIGHT, INC.
To: ALCATEL-LUCENT USA, INC.
Reel/Frame 027195/0977 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2009
From: WANG, WU; TSE, DOROTHY; GASSEWITZ, MICHAEL; LEE, DENNY LUNG SUN; GAUDET, ROBERT
To: KINDSIGHT, INC.
Reel/Frame 023581/0855 →