Real-time updates to item recommendation models based on matrix factorization
Abstract
A network-based enterprise or other system that makes items available for selection to users may implement real-time updates to item recommendation models based on matrix factorization. An item recommendation model may be maintained that is generated from a singular value decomposition of a matrix indicating selections of items by users. A user-specific update to the item recommendation model may be calculated in real-time for a particular user such that the calculation may be performed without performing another singular value decomposition to generate an updated version of the item recommendation model. Item recommendations may then be made based on the user-specific update and the item recommendation model. In various embodiments, the item recommendations may be made in response to an indication or request for item recommendations for the particular user.
Claims
exact text as granted — not AI-modified1 - 21 . (canceled)
22 . A system, comprising:
at least one processor; and a memory, storing program instructions that when executed by the at least one processor cause the at least one processor to:
identify two or more linked users of a plurality of users;
obtain respective user parameter vectors for the linked users and one or more respective item parameter vectors for one or more items selected by linked users from an item recommendation model, wherein the item recommendation model comprises a user matrix and an item matrix that are generated from a matrix factorization of a single matrix indicating respective item selections for individual ones of a plurality of users with regard to a plurality of items, wherein the one or more items were selected by the linked users after the generation of the item recommendation model;
calculate respective user-specific updates to the item recommendation model for the linked users based, at least in part, on the respective user parameter vectors and the respective item parameter vectors; and
determine at least one item recommendation for at least one of the linked users based, at least in part, on the user-specific updates to the item recommendation model.
23 . The system of claim 22 , wherein to identify the two or more linked users the program instructions cause the at least one processor to evaluate one or more contacts of one of the linked users to identify other ones of the linked users.
24 . The system of claim 22 , wherein the linked users are associated with a same user account of a network-based enterprise.
25 . The system of claim 22 , wherein to determine at least one item recommendation for at least one of the linked users the program instructions cause the at least one processor to:
generate respective candidate item recommendations for the linked users according to the user-specific updates to the item recommendation model for the linked users; and compare the respective candidate item recommendations for the linked users to select one or more of the respective candidate item recommendations as the at least one item recommendation for the at least one linked user.
26 . The system of claim 22 , wherein to calculate the respective user-specific updates to the item recommendation model for the linked users, the program instructions cause the at least one processor to:
for individual ones of the user-specific updates, perform vector addition to combine the user parameter vector of one of the linked users and the respective item parameter vectors of the items selected by the linked user after the generation of the item recommendation model to calculate the user-specific update for the linked user.
27 . The system of claim 22 , wherein to calculate the respective user-specific updates to the item recommendation model for the linked users, the program instructions cause the at least one processor to:
for individual ones of the user-specific updates, perform vector addition to combine the user parameter vector of two or more of the linked users and the respective item parameter vectors of the items selected by the two or more linked users after the generation of the item recommendation model to calculate the user-specific update for one of the linked users.
28 . The system of claim 22 , wherein the program instructions further cause the at least one processor to:
receive an item recommendation request for a particular user; in response to the receipt of the request:
perform the identification, the obtain, the calculation, and the determination, wherein the particular user is the at least one linked user; and
respond to the request with the at least one item recommendation.
29 . A method, comprising:
performing, by one or more computing devices:
identifying two or more linked users of a plurality of users;
obtaining respective user parameter vectors for the linked users and one or more respective item parameter vectors for one or more items selected by linked users from an item recommendation model, wherein the item recommendation model comprises a user matrix and an item matrix that are generated from a matrix factorization of a single matrix indicating respective item selections for individual ones of a plurality of users with regard to a plurality of items, wherein the one or more items were selected by the linked users after the generation of the item recommendation model;
calculating respective user-specific updates to the item recommendation model for the linked users based, at least in part, on the respective user parameter vectors and the respective item parameter vectors; and
determining at least one item recommendation for at least one of the linked users based, at least in part, on the user-specific updates to the item recommendation model.
30 . The method of claim 29 , wherein identifying the two or more linked users comprises evaluating one or more contacts of one of the linked users to identify other ones of the linked users.
31 . The method of claim 29 , wherein the linked users are associated with a same user account of a network-based enterprise.
32 . The method of claim 29 , wherein determining at least one item recommendation for at least one of the linked users, comprises:
generating respective candidate item recommendations for the linked users according to the user-specific updates to the item recommendation model for the linked users; and comparing the respective candidate item recommendations for the linked users to select one or more of the respective candidate item recommendations.
33 . The method of claim 29 , wherein calculating the respective user-specific updates to the item recommendation model for the linked users comprises:
for individual ones of the user-specific updates, performing vector addition to combine the user parameter vector of one of the linked users and the respective item parameter vectors of the items selected by the linked user after the generation of the item recommendation model to calculate the user-specific update for the linked user.
34 . The method of claim 29 , wherein calculating the respective user-specific updates to the item recommendation model for the linked users comprises:
for individual ones of the user-specific updates, performing vector addition to combine the user parameter vector of two or more of the linked users and the respective item parameter vectors of the items selected by the two or more linked users after the generation of the item recommendation model to calculate the user-specific update for one of the linked users.
35 . The method of claim 29 , further comprising:
receiving an item recommendation request for a particular user; in response to receiving the request:
performing the identifying, the obtaining, the calculating, and the determining, wherein the particular user is the at least one linked user; and
responding to the request with the at least one item recommendation.
36 . A non-transitory computer-readable storage medium, storing program instructions that when executed by one or more computing devices cause the one or more computing devices to implement:
identifying two or more linked users of a plurality of users; obtaining respective user parameter vectors for the linked users and one or more respective item parameter vectors for one or more items selected by linked users from an item recommendation model, wherein the item recommendation model comprises a user matrix and an item matrix that are generated from a matrix factorization of a single matrix indicating respective item selections for individual ones of a plurality of users with regard to a plurality of items, wherein the one or more items were selected by the linked users after the generation of the item recommendation model; calculating respective user-specific updates to the item recommendation model for the linked users based, at least in part, on the respective user parameter vectors and the respective item parameter vectors; and determining at least one item recommendation for at least one of the linked users based, at least in part, on the user-specific updates to the item recommendation model.
37 . The non-transitory, computer-readable storage medium of claim 36 , wherein, in identifying the two or more linked users, the program instructions cause the one or more computing devices to implement evaluating one or more contacts of one of the linked users to identify other ones of the linked users.
38 . The non-transitory, computer-readable storage medium of claim 36 , wherein, in determining at least one item recommendation for at least one of the linked users, the program instructions cause the one or more computing devices to implement:
generating respective candidate item recommendations for the linked users according to the user-specific updates to the item recommendation model for the linked users; and comparing the respective candidate item recommendations for the linked users to select one or more of the respective candidate item recommendations.
39 . The non-transitory, computer-readable storage medium of claim 36 , wherein, in calculating the respective user-specific updates to the item recommendation model for the linked users, the program instructions cause the one or more computing devices to implement:
for individual ones of the user-specific updates, performing vector addition to combine the user parameter vector of one of the linked users and the respective item parameter vectors of the items selected by the linked user after the generation of the item recommendation model to calculate the user-specific update for the linked user.
40 . The non-transitory, computer-readable storage medium of claim 36 , wherein, in calculating the respective user-specific updates to the item recommendation model for the linked users, the program instructions cause the one or more computing devices to implement:
for individual ones of the user-specific updates, performing vector addition to combine the user parameter vector of two or more of the linked users and the respective item parameter vectors of the items selected by the two or more linked users after the generation of the item recommendation model to calculate the user-specific update for one of the linked users.
41 . The non-transitory, computer-readable storage medium of claim 36 , wherein the program instructions cause the one or more computing devices to further implement:
receiving an item recommendation request for a particular user; in response to receiving the request:
performing the identifying, the obtaining, the calculating, and the determining, wherein the particular user is the at least one linked user; and
responding to the request with the at least one item recommendation.Join the waitlist — get patent alerts
Track US2017293865A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.