Generating models based on user behavior
First Claim
1. A method for generating a model of a user, the method comprising:
- generating global scores for content items from heterogeneous data sources that are normalized for the heterogeneous data sources;
receiving user activities on a social network server for the user, the user activities relating to at least one of the content items;
generating a log of the user activities for a content item by joining the user activities for the content item;
expanding attributes of the log by at least one of content and the user based on aggregating responses from the user to features of the content items and profile data of the user and associating the features of the content items with the profile data;
generating an expanded log based on expanding the attributes of the log;
generating the model based on the expanded log;
identifying candidate items for the user based on the global scores for the content items;
generating a stream of content comprising selected items based on the candidate items and the model;
providing an explanation for why a selected item is included in the stream of content, the explanation including a user interest associated with the selected item;
generating a feedback mechanism for display with the explanation;
receiving a user'"'"'s rejection of the user interest through the feedback mechanism;
training the model using the user'"'"'s rejection to the user interest and the user'"'"'s recent activity that identifies a recent interest for the user; and
dynamically updating the model based on training the model.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for generating a model based on the user'"'"'s interests and activities by receiving with a logging unit user activities from heterogeneous data sources, generating a log of user activities for a content item by joining the user activities for the content item, expanding attributes of the log by at least one of content and by the user to form an expanded log and generating a user model based on the expanded log. A feature extractor extracts features from content items and assigns weights to the features. A scoring engine receives the model and the content items with their associated weighted features and scores the content items based on the user model. The scoring engine generates a stream of content based on the scored content items.
129 Citations
20 Claims
-
1. A method for generating a model of a user, the method comprising:
-
generating global scores for content items from heterogeneous data sources that are normalized for the heterogeneous data sources; receiving user activities on a social network server for the user, the user activities relating to at least one of the content items; generating a log of the user activities for a content item by joining the user activities for the content item; expanding attributes of the log by at least one of content and the user based on aggregating responses from the user to features of the content items and profile data of the user and associating the features of the content items with the profile data; generating an expanded log based on expanding the attributes of the log; generating the model based on the expanded log; identifying candidate items for the user based on the global scores for the content items; generating a stream of content comprising selected items based on the candidate items and the model; providing an explanation for why a selected item is included in the stream of content, the explanation including a user interest associated with the selected item; generating a feedback mechanism for display with the explanation; receiving a user'"'"'s rejection of the user interest through the feedback mechanism; training the model using the user'"'"'s rejection to the user interest and the user'"'"'s recent activity that identifies a recent interest for the user; and dynamically updating the model based on training the model. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for generating a model of a user comprising:
-
a logging unit for receiving user activities on a social network server for the user, the user activities relating to at least one of content items and generating a log of the user activities; a model generation engine coupled to the logging unit, the model generation engine receiving the log of the user activities for a content item, joining the user activities for the content item, expanding attributes of the log by at least one of content and the user based on aggregating responses from the user to features of the content items and profile data of the user and associating the features of the content items with the profile data, generating an expanded log based on expanding the attributes of the log, generating the model based on the expanded log, training the model using a user'"'"'s rejection to a user interest and the user'"'"'s recent activity that identifies a recent interest for the user and dynamically updating the model based on training the model; and a scoring engine for generating global scores for the content items from heterogeneous data sources that are normalized for the heterogeneous data sources, identifying candidate items for the user based on the global scores for the content items, generating a stream of content comprising selected items based on the candidate items and the model, providing an explanation for why a selected item is included in the stream of content, the explanation including the user interest associated with the selected item, generating a feedback mechanism for display with the explanation, and receiving the user'"'"'s rejection of the user interest through the feedback mechanism. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer program product comprising a non-transitory computer useable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
-
generate global scores for content items from heterogeneous data sources that are normalized for the heterogeneous data sources; receive user activities on a social network server for a user, the user activities relating to at least one of the content items; generate a log of the user activities for a content item by joining the user activities for the content item; expand attributes of the log by at least one of content and by the user based on aggregating responses from the user to features of the content items and profile data of the user and associating the features of the content items with the profile data; generate an expanded log based on expanding the attributes of the log; generate a model based on the expanded log; identify candidate items for the user based on the global scores for the content items; generate a stream of content comprising selected items based on the candidate items and the model; provide an explanation for why a selected item is included in the stream of content, the explanation including a user interest associated with the selected item; generate a feedback mechanism for display with the explanation; receive a user'"'"'s rejection of the user interest through the feedback mechanism; train the model using the user'"'"'s rejection to the user interest and the user'"'"'s recent activity that identifies a recent interest for the user; and dynamically update the model based on training the model. - View Dependent Claims (20)
-
Specification