Method and system for high performance model-based personalization
First Claim
Patent Images
1. A method of preparing a user recommendation comprising:
- generating, in memory, a sparse unary ratings matrix from users'"'"' selected preferences, wherein each user'"'"'s selected preferences are represented as unary data entries in said sparse unary ratings matrix, wherein each unary data entry has a value of either zero or one;
forming in at least one data processing device a plurality of data structures representing said sparse unary ratings matrix, wherein the plurality of data structures includes a matrix of co-rates, and wherein the matrix of co-rates includes either a pre-multiplication of the sparse unary ratings matrix by a transpose of the sparse unary ratings matrix or a post-multiplication of the sparse unary ratings matrix by the transpose of the sparse unary ratings matrix;
forming in the at least one data processing device a runtime recommendation model from said plurality of data structures;
determining in the at least one data processing device a recommendation from said runtime recommendation model in response to a request for a recommendation; and
providing said recommendation in response to said request.
4 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to a method and system for generating client preference recommendations in a high performance computing regime. Accordingly, one embodiment of the present invention comprises: providing a sparse ratings matrix, forming a plurality of data structures representing the sparse ratings matrix, forming a runtime recommendation model from the plurality of data structures, determining a recommendation from the runtime recommendation model in response to a request from a user, and providing the recommendation to the user.
70 Citations
32 Claims
-
1. A method of preparing a user recommendation comprising:
-
generating, in memory, a sparse unary ratings matrix from users'"'"' selected preferences, wherein each user'"'"'s selected preferences are represented as unary data entries in said sparse unary ratings matrix, wherein each unary data entry has a value of either zero or one; forming in at least one data processing device a plurality of data structures representing said sparse unary ratings matrix, wherein the plurality of data structures includes a matrix of co-rates, and wherein the matrix of co-rates includes either a pre-multiplication of the sparse unary ratings matrix by a transpose of the sparse unary ratings matrix or a post-multiplication of the sparse unary ratings matrix by the transpose of the sparse unary ratings matrix; forming in the at least one data processing device a runtime recommendation model from said plurality of data structures; determining in the at least one data processing device a recommendation from said runtime recommendation model in response to a request for a recommendation; and providing said recommendation in response to said request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 17, 18, 28, 29, 32)
-
-
9. A method of preparing a user recommendation comprising:
-
generating, in memory, a sparse unary ratings matrix including ratings data represented as unary data entries, wherein each unary data entry has a value of either zero or one; providing in a recommendation system including at least one data processing device an update ratings data structure; forming at the at least one data processing device a plurality of data structures representing said sparse unary ratings matrix, wherein the plurality of data structures includes a matrix of co-rates, and wherein the matrix of co-rates includes either a pre-multiplication of the sparse unary ratings matrix by a transpose of the sparse unary ratings matrix or a post-multiplication of the sparse unary ratings matrix by the transpose of the sparse unary ratings matrix; forming in the at least one data processing device a runtime recommendation model from said plurality of data structures and said update ratings data structure; determining at the recommendation system a recommendation from said runtime recommendation model in response to a request for a recommendation; and providing said recommendation in response to said request. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
19. A method of preparing a user recommendation, comprising:
-
receiving at a first recommendation system, including a data processing device, a runtime recommendation model from a second recommendation system, wherein the runtime model is formed from a plurality of data structures representing a unary array of ratings entries that can be arithmetically manipulated, wherein each unary data entry has a value of either zero or one, wherein a majority of the entries in the array are zero, wherein the plurality of data structures includes a matrix of co-rates, and wherein the matrix of co-rates includes either a pre-multiplication of the sparse unary ratings matrix by a transpose of the sparse unary ratings matrix or a post-multiplication of the sparse unary ratings matrix by the transpose of the sparse unary ratings matrix; receiving at the first recommendation system a request for a recommendation; generating in the data processing device of the first recommendation system a recommendation using the received runtime recommendation model; and transmitting the recommendation. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A method for generating a runtime recommendation model comprising:
-
retrieving at a first recommendation system, including a data processing device, a unary array of ratings entries that can be arithmetically manipulated, wherein data in the unary array of ratings entries is unary data, wherein each unary data entry has a value of either zero or one, and wherein a majority of the entries in the array are zero; receiving at the first recommendation system an update to the unary array of ratings entries; generating in the data processing device of the first recommendation system the runtime recommendation model from a plurality of data structures representing the unary array of ratings entries, wherein the plurality of data structures includes a matrix of co-rates, and wherein the matrix of co-rates includes either a pre-multiplication of the sparse unary ratings matrix by a transpose of the sparse unary ratings matrix or a post-multiplication of the sparse unary ratings matrix by the transpose of the sparse unary ratings matrix; and providing the runtime recommendation model from the first recommendation system to a second recommendation system, wherein the second recommendation system generates a recommendation using the runtime recommendation model.
-
-
25. A data processing device, comprising:
-
a processor configured to generate in memory a sparse unary ratings matrix from users'"'"' selected preferences, wherein each user'"'"'s selected preferences are represented as unary data entries in said sparse unary ratings matrix, wherein each unary data entry has a value of either zero or one; wherein the processor is configured to form a plurality of data structures representing said sparse unary ratings matrix, wherein the plurality of data structures includes a matrix of co-rates, and wherein the matrix of co-rates includes either a pre-multiplication of the sparse unary ratings matrix by a transpose of the sparse unary ratings matrix or a post-multiplication of the sparse unary ratings matrix by the transpose of the sparse unary ratings matrix; wherein the processor is configured to store said plurality of data structures in the memory; wherein the processor is configured to form a runtime recommendation model from said plurality of data structures; and wherein the processor is configured to determine a recommendation from said runtime recommendation model in response to a request for a recommendation.
-
-
26. A data processing device comprising:
-
means for generating in memory a sparse unary ratings matrix from users'"'"' selected preferences, wherein each user'"'"'s selected preferences are represented as unary data entries in said sparse unary ratings matrix, wherein each unary data entry has a value of either zero or one, and wherein a majority of the entries in said sparse unary ratings matrix are zero; means for forming a plurality of data structures representing said sparse unary ratings matrix, wherein the plurality of data structures includes a matrix of co-rates, and wherein the matrix of co-rates includes either a pre-multiplication of the sparse unary ratings matrix by a transpose of the sparse unary ratings matrix or a post-multiplication of the sparse unary ratings matrix by the transpose of the sparse unary ratings matrix; means for storing said plurality of data structures in the memory; means for forming a runtime recommendation model from said plurality of data structures; and means for determining a recommendation from said runtime recommendation model in response to a request for a recommendation.
-
-
27. An article of manufacture including a computer-readable storage medium having stored thereon computer-executable instructions, execution of which by a processing device, causes the processing device to perform operations comprising:
-
generating in memory a sparse unary ratings matrix from users'"'"' selected preferences, wherein each user'"'"'s selected preferences are represented as unary data entries in said sparse unary ratings matrix, wherein each unary data entry has a value of either zero or one; forming a plurality of data structures representing said sparse unary ratings matrix, wherein the plurality of data structures includes a matrix of co-rates, and wherein the matrix of co-rates includes either a pre-multiplication of the sparse unary ratings matrix by a transpose of the sparse unary ratings matrix or a post-multiplication of the sparse unary ratings matrix by the transpose of the sparse unary ratings matrix; forming a runtime recommendation model from said plurality of data structures; and determining a recommendation from said runtime recommendation model in response to a request for a recommendation.
-
-
30. A method of preparing a user recommendation comprising:
-
generating, in memory, a sparse unary ratings matrix from users'"'"' selected preferences; forming in at least one data processing device a plurality of data structures representing said sparse unary ratings matrix, wherein the plurality of data structures includes a matrix of co-rates, and wherein the matrix of co-rates includes either a pre-multiplication of the sparse unary ratings matrix by a transpose of the sparse unary ratings matrix or a post-multiplication of the sparse unary ratings matrix by the transpose of the sparse unary ratings matrix; forming in the at least one data processing device a runtime recommendation model from said plurality of data structures; determining in the at least one data processing device a recommendation from said runtime recommendation model in response to a request for a recommendation; and providing the recommendation in response to the request. - View Dependent Claims (31)
-
Specification