Querying features based on user actions in online systems
First Claim
1. A computer-implemented method comprising:
- accessing a cumulative feature store storing feature values determined from user actions performed before a time point;
accessing an incremental feature store storing feature values determined from user actions performed after the time point;
calculating, by a computer processor of an online system, a weighted combination of feature values from the incremental feature store and corresponding feature values from the cumulative feature store;
updating the cumulative feature store by replacing the corresponding feature values in the cumulative feature store with the weighted combination of feature values;
receiving an update to one or more of the feature values stored in the incremental feature store, the update comprising a new value for one or more of the feature values; and
updating the incremental feature store based on the received update by replacing the corresponding feature values in the incremental feature store with feature values in the received update.
3 Assignments
0 Petitions
Accused Products
Abstract
Online systems, for example, social networking systems store features describing relations between entities represented in the online system. The information describing the features is represented as a graph. The online system maintains a cumulative feature graph and an incremental feature graph. Feature values based on recent user actions are stored in the incremental graph and feature values based on previous actions are stored in the cumulative graph. Periodically, the information stored in the incremental feature graph is merged with the information stored in the cumulative feature graph. The incremental graph is marked as inactive during the merge and information based on new user actions is stored in an active incremental feature graph. If a request for feature information is received, the feature information obtained from the cumulative feature graph, inactive incremental feature graph and the active incremental feature graph are combined to determine the feature information.
-
Citations
23 Claims
-
1. A computer-implemented method comprising:
-
accessing a cumulative feature store storing feature values determined from user actions performed before a time point; accessing an incremental feature store storing feature values determined from user actions performed after the time point; calculating, by a computer processor of an online system, a weighted combination of feature values from the incremental feature store and corresponding feature values from the cumulative feature store; updating the cumulative feature store by replacing the corresponding feature values in the cumulative feature store with the weighted combination of feature values; receiving an update to one or more of the feature values stored in the incremental feature store, the update comprising a new value for one or more of the feature values; and updating the incremental feature store based on the received update by replacing the corresponding feature values in the incremental feature store with feature values in the received update. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 21)
-
-
10. A computer program product having a non-transitory computer-readable storage medium storing computer-executable code, the code comprising:
-
a feature manager module of an online system configured to; access a cumulative feature store storing feature values determined from user actions performed before a time point; access an incremental feature store storing feature values determined from user actions performed after the time point; a request processor module configured to; calculate, by a computer processor of the online system, a weighted combination of feature values from the incremental feature store and corresponding feature values from the cumulative feature store; update the cumulative feature store by replacing the corresponding feature values in the cumulative feature store with the weighted combination of feature values; receive an update to one or more of the feature values stored in the incremental feature store, the update comprising a new value for one or more of the feature values; and update, based on the received update, the incremental feature store by replacing the corresponding feature values in the incremental feature store with feature values in the received update. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 22)
-
-
19. A computer program product comprising a nontransitory computer-readable storage medium containing computer program code for:
-
accessing a cumulative feature store storing feature values determined from user actions performed before a time point; accessing an incremental feature store storing feature values determined from user actions performed after the time point; calculating, by a computer processor of an online system, a weighted combination of feature values from the incremental feature store and corresponding feature values from the cumulative feature store; updating the cumulative feature store by replacing the corresponding feature values in the cumulative feature store with the weighted combination of feature values; receiving an update to one or more of the feature values stored in the incremental feature store, the update comprising a new value for one or more of the feature values; and updating the incremental feature store based on the received update by replacing the corresponding feature values in the incremental feature store with feature values in the received update. - View Dependent Claims (20, 23)
-
Specification