Techniques are described for training and evaluating a proximal factorization machine engine. In one or more embodiments, the engine receives a set of training data that identifies a set of actions taken by a plurality of users with respect to a plurality of items. The engine generates, for a prediction model, (a) a first set of model parameters representing relationships between features of the plurality of users and the set of actions, and (b) a second set of model parameters representing interactions between different features of the plurality of users and the plurality of items. For each respective item in a plurality of items, the engine computes a probabilistic score based on the model parameters. The engine selects and presents a subset of items based on the probabilistic scores.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. One or more non-transitory computer readable media storing instructions which, when executed by one or more hardware processors, causes performance of a set of operations comprising: receiving training data that identifies a set of actions taken by a plurality of users with respect to a plurality of items; responsive to receiving the training data, generating, for a prediction model, (a) a first set of model parameters representing relationships between features of the plurality of users and the set of actions, and (b) a second set of model parameters representing interactions between different features of the plurality of users and the plurality of items; generating a first feature vector based on a first set of features associated with a user that is currently accessing a particular web service; for each respective item in a plurality of items, determining a respective probabilistic score of the user performing a target action; wherein the respective probabilistic score for a respective item is computed as a function of (a) the first set of model parameters, (b) the second set of model parameters, (c) the first feature vector, and (d) a second feature vector for the respective item; identifying, based on the probabilistic score for each respective item, a subset of items from the plurality of items to present to the user; and presenting the subset items of the plurality of items to the user through an interface of the particular web service. 2. The non-transitory computer-readable media of claim 1, wherein the first set of model parameters include a set of weights based on relationships strengths for linear relationships between the features of the plurality of users and the set of interactions. 3. The non-transitory computer-readable media of claim 1, wherein the second set of model parameters include weights for pairwise interactions between features from a feature set including features from the plurality of users and the plurality of items; wherein the weight for a particular interaction between two features in the feature set is computed, at least in part, as a factor of pairwise interactions between other features in the feature set. 4. The non-transitory computer-readable media of claim 1, wherein determining the respective probability scores for the plurality of items comprises generating a first result vector by applying at least a subset of the first set of model parameters and the second set of model parameters to the first feature vector; caching the first result vector; generating at least a second result vector by applying at least a subset of the first set of model parameters and the second set of model parameters to the second feature vector for each respective item; and combining the cached first result vector with at least the second result vector to compute the probability scores. 5. The non-transitory computer-readable media of claim 1, wherein the probabilistic scores are computed without performing a union operation of the first feature vector with the second feature vector for each of the respective items of the plurality of items. 6. The non-transitory computer-readable media of claim 1, wherein the first set of features associated with the user include at least one feature extracted from clickstream data captured from the user. 7. The non-transitory computer-readable media of claim 1, wherein the first set of model parameters correspond to a linear component of a factorization machine and the second set of model parameters correspond to a nonlinear component of a factorization machine. 8. The non-transitory computer-readable media of claim 1, wherein the first set of model parameters and the second set of model parameters are generated based at least in part on a function that minimizes a log-loss between different observations in the training data. 9. The non-transitory computer-readable media of claim 1, wherein the function is a Follow-the-Regularized-Leader (FTRL) function. 10. The non-transitory computer-readable media of claim 1, the operations further comprising updating the first set of model parameters and the second set of model parameters based on additional actions between the plurality of users and the plurality of items; wherein the additional actions are received subsequent to receiving the training data. 11. The non-transitory computer-readable media of claim 10, wherein different learning rates are applied to different model parameters while updating the first set of model parameters and the second set of model parameters. 12. The non-transitory computer-readable media of claim 1, wherein the prediction model is a factorization machine comprising a linear component and a nonlinear component. 13. The non-transitory computer-readable media of claim 12 wherein the factorization machine is approximated by a function as follows: y ^ = θ 0 + ∑ i = 1 n  θ i  x i + ∑ i = 1 n  ∑ j = i + 1 n  〈 v i , v j 〉  x i  x j where ŷ is a predicted action, θ0 is a global model parameter, xi is the ith feature in feature vector x including n number of features, θi is a first model parameter in the first set of model parameters applied to xi, v1, v1 is a second model parameter in the second set of model parameters computed from a dot product between factorization vectors vi and vj and applied to a pairwise interaction between the ith feature and the jth feature in feature vector x. 14. The non-transitory computer-readable media of claim 13, wherein determining a respective probabilistic score for each item in the plurality of items is performed in O(kn+mk) time, where k is a size of the factorization vectors vi and vj, n is a number of features associated with the user in the first feature vector, and m is a number of features associated with the plurality of items. 15. The non-transitory computer-readable media of claim 1, wherein generating the first feature vector based on a first set of features associated with a user comprises applying a hash function to key-value pairs of user attributes to map the features to indices in the feature vector. 16. The non-transitory computer-readable media of claim 1, wherein each item includes at least one embedder uniform resource locator that, when selected, results in performance of the target action. 17. The non-transitory computer-readable media of claim 1, wherein the target action is at least one of selecting an item, rating an item, downloading an item, or installing an item. 18. The non-transitory computer-readable media of claim 1, wherein the web service is at least one of a website or a software-as-a-service application. 19. A system comprising: one or more hardware processors; one or more non-transitory computer readable media storing instructions which, when executed by one or more hardware processors, causes performance of a set of operations comprising: receiving training data that identifies a set of actions taken by a plurality of users with respect to a plurality of items; responsive to receiving the training data, generating, for a prediction model, (a) a first set of model parameters representing relationships between features of the plurality of users and the set of actions, and (b) a second set of model parameters representing interactions between different features of the plurality of users and the plurality of items; generating a first feature vector based on a first set of features associated with a user that is currently accessing a particular web service; for each respective item in a plurality of items, determining a respective probabilistic score of the user performing a target action; wherein the respective probabilistic score for a respective item is computed as a function of (a) the first set of model parameters, (b) the second set of model parameters, (c) the first feature vector, and (d) a second feature vector for the respective item; identifying, based on the probabilistic score for each respective item, a subset of items from the plurality of items to present to the user; and presenting the subset of items of the plurality of items to the user through an interface of the particular web service. 20. A method comprising a set of operations. receiving training data that identifies a set of actions taken by a plurality of users with respect to a plurality of items; responsive to receiving the training data, generating, for a prediction model, (a) a first set of model parameters representing relationships between features of the plurality of users and the set of actions, and (b) a second set of model parameters representing interactions between different features of the plurality of users and the plurality of items; generating a first feature vector based on a first set of features associated with a user that is currently accessing a particular web service; for each respective item in a plurality of items, determining a respective probabilistic score of the user performing a target action; wherein the respective probabilistic score for a respective item is computed as a function of (a) the first set of model parameters, (b) the second set of model parameters, (c) the first feature vector, and (d) a second feature vector for the respective item; identifying, based on the probabilistic score for each respective item, a subset of items from the plurality of items to present to the user; and presenting the subset of items of the plurality of items to the user through an interface of the particular web service.