Algorithm and implementation for fast computation of content recommendations
AssigneeAdobe Systems Incorporated
InventorsAlexandru Mosoi, Paul Alexandru Chirita
Life of this patent
Estimating the term…
Abstract
In various example embodiments, a system and associated method for fast computation content recommendation is provided. A dynamic user profile for a user is determined. The dynamic user profile is based on one or more fingerprints of viewed documents by the user. One or more relevant documents are determined based on the dynamic user profile and the fingerprints of documents in the system. A list of the one or more relevant documents is then provided to the user.
Claims13
A method comprising:
- preprocessing documents to determine a fingerprint for each document, the determining of a fingerprint for each document including:
- determining a document vector based on features of the respective document, the document vector including keyword and relevance pairs with regard to keywords appearing in the respective document, the relevance indicating a degree of relevance of a respective keyword within the respective document, the relevance determined by dividing a number of occurrences of the respective keyword within the respective document by a total number of keywords appearing in the respective document, and the document vector including a number N-dimensions equal to the number of keywords in the respective document;
- and
- applying a hash function on the document vector to obtain a hash value for each of N-dimensions, each hash value equal to a frequency of a keyword of a respective dimension;
- determining a dynamic user profile for a user, the dynamic user profile being based on one or more fingerprints of viewed documents by the user and a set of relevant keywords collected from documents in a browsing history of the user;
- determining one or more relevant documents, using a processor, based on the dynamic user profile in view of the determined document fingerprints;
- wherein the determining the one or more relevant documents comprises performing a cosine product approximation between a user fingerprint associated with the dynamic user profile and fingerprints of all available documents;
- and
- providing a list of the one or more relevant documents.
A system comprising:
- at least one memory device and at least one processor;
- a preprocessing engine stored in the at least memory and executable by the at least one processor to pre-process documents to determine a fingerprint for each document, the determining of the fingerprint for each document including:
- determining a document vector based on features of the respective document, the document vector including keyword and relevance pairs with regard to keywords appearing in the respective document, the relevance indicating a degree of relevance of a respective keyword within the respective document, the relevance determined by dividing a number of occurrences of the respective keyword within the respective document by a total number of keywords appearing in the respective document, and the document vector including a number N-dimensions equal to the number of keywords in the respective document;
- and
- applying a hash function on the document vector to obtain a hash value for each of N-dimensions, each hash value equal to a frequency of a keyword of a respective dimension;
- a user profile module stored in the at least memory and executable by the at least one processor to determine a dynamic user profile for a user, the dynamic user profile being based on one or more fingerprints of viewed documents by the user and a set of relevant keywords collected from documents in a browsing history of the user;
- a similarity calculation module stored in the at least memory and executable by the at least one processor to determine one or more relevant documents, using a processor, based on the dynamic user profile in view of the determined document fingerprints;
- wherein the determining the one or more relevant documents comprises performing a cosine product approximation between a user fingerprint associated with the dynamic user profile and fingerprints of all available documents;
- and
- a list determination module stored in the at least memory and executable by the at least one processor to provide a list of the one or more relevant documents to the user.
A non-transitory machine-readable storage medium in communication with at least one processor, the machine-readable storage medium storing instructions which, when executed by the at least one processor, performs a method, the method comprising:
- preprocessing documents to determine a fingerprint for each document, the determining of a fingerprint for each document including:
- determining a document vector based on features of the respective document, the document vector including keyword and relevance pairs with regard to keywords appearing in the respective document, the relevance indicating a degree of relevance of a respective keyword within the respective document, the relevance determined by dividing a number of occurrences of the respective keyword within the respective document by a total number of keywords appearing in the respective document, and the document vector including a number N-dimensions equal to the number of keywords in the relevant document;
- and
- applying a hash function on the document vector to obtain a hash value for each of N-dimensions, each hash value equal to a frequency of a keyword of a respective dimension;
- determining a dynamic user profile for a user, the dynamic user profile being based on one or more fingerprints of viewed documents by the user and a set of relevant keywords collected from documents in a browsing history of the user;
- determining one or more relevant documents, using a processor, based on the dynamic user profile in view of the determined document fingerprints;
- wherein the determining the one or more relevant documents comprises performing a cosine product approximation between a user fingerprint associated with the dynamic user profile and fingerprints of all available documents;
- and
- providing a list of the one or more relevant documents to the user.
Dependencies are inferred from the claim text.