IP Library Granted Patent US 12711529
Granted Patent B2
US 12711529 · App. 17/086,087 · Granted Aug 18, 2026

System and method for deep learning recommender

Inventors: Omar Nada (Toronto, CA); Hani Almousli (Toronto, CA); Sean Singh (Toronto, CA)
Assignee: ROYAL BANK OF CANADA
G06Q30/0631G06F17/16G06N3/045G06N3/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12711529
App. No.
17/086,087
Granted
Aug 18, 2026
Kind
B2
Abstract

Recommendations are generated for users by identifying items held by the users defined by a shallow representation and attributes; defining the items based on a deep representation derived from attributes; generating a deep holding matrix identifying the items held by the users based on deep representations; generating a shallow holding matrix identifying the items held by the users based on shallow representations; generating a similarity score matrix between the deep representations; decomposing the shallow holding matrix into a user latent representation and a product feature latent representation; concatenating the product feature latent representation and product information and pass to a first neural network; concatenating the user latent representation and user information and pass to a second neural network; performing a dot product matrix multiplication on the output of the first neural and the output of the second neural network to generate, for every user and every product, a probability.

Claims (41)

1 . A computer-implemented method for processing data having varying levels of granularity, the method comprising:

from a data store of items including a plurality of item records including item identifiers and item attribute fields, dividing item records associated with a plurality of user profiles to generate a shallow representation and a deep representation, wherein the deep representation is based on a more granular definition of the item records than the shallow representation;

generating a shallow holding matrix identifying the item records associated with the user profiles based on a shallow representation of the item records;

generating a deep holding matrix based on the more granular definition of the item records than the shallow representation in the shallow holding matrix;

generating a similarity score matrix of scores between the deep representations based on a similarity between respective attribute values of the item attribute fields of the items;

decomposing, by way of matrix factorization, the shallow holding matrix into a lower-dimensionality user latent representation and a lower-dimensionality product feature latent representation, based at least in part on the similarity score matrix;

concatenating the product feature latent representation and product information to be passed to a first neural network to generate a first output;

concatenating the user latent representation and user information to be passed to a second neural network to generate a second output;

performing a dot product matrix multiplication on the first output and the second output to generate, for every user profile and each product from a predefined number of products, a probability for a recommendation; and

storing the probability for a recommendation for every user profile and each product from the predefined number of products in a data structure, wherein the predefined number of products in the data structure are chosen using a random negative sampling technique; and

generating an output to communicate at least one product not associated with a particular user profile based on the dot product matrix multiplication.

2 . The method of claim 1 comprising: dividing at least one of the item records defined by the shallow representation into one or more deep representations of the at least one item record.

3 . The method of claim 1 wherein a first deep representation corresponding to a first shallow representation of a first item record and a second deep representation corresponding to a second shallow representation of a second item record have a similarity score of zero.

4 . A computer system comprising:

a processor;

a memory in communication with the processor, the memory storing instructions that, when executed by the processor cause the processor to:

from a data store of items including a plurality of item records including item identifiers and item attribute fields, divide item records associated with a plurality of user profiles to generate a shallow representation and a deep representation, wherein the deep representation is based on a more granular definition of the item records than the shallow representation;

generate a shallow holding matrix identifying the item records associated with the user profiles based on the shallow representation of the item records;

generate a deep holding matrix based on the more granular definition of the item records than the shallow representation in the shallow holding matrix;

generate a similarity score matrix of scores between the deep representations based on a similarity between respective attribute values of the item attribute fields;

decompose, by way of matrix factorization, the shallow holding matrix into a lower-dimensionality user latent representation and a lower-dimensionality product feature latent representation, based at least in part on the similarity score matrix;

concatenate the product feature latent representation and product information to be passed to a first neural network to generate a first output;

concatenate the user latent representation and user information to be passed to a second neural network to generate a second output;

perform a dot product matrix multiplication on the first output and the second output to generate, for every user profile and each product from a predefined number of products, a probability for a recommendation; and

store the probability for a recommendation for every user profile and each product from the predefined number of products in a data structure, wherein the predefined number of products in the data structure are chosen using a random negative sampling technique; and

generate an output to communicate at least one product not associated with a particular user profile based on the dot product matrix multiplication.

5 . The system of claim 4 wherein when executed, the instructions cause the processor to divide at least one of the item records defined by the shallow representation into one or more deep representations of the at least one item record.

6 . The system of claim 4 wherein a first deep representation corresponding to a first shallow representation of a first item record and a second deep representation corresponding to a second shallow representation of a second item record have a similarity score of zero.

7 . A non-transitory computer-readable medium having computer executable instructions stored thereon for execution by one or more computing devices, that when executed perform:

from a data store of items including a plurality of item records including item identifiers and item attribute fields, dividing item records associated with a plurality of user profiles to generate a shallow representation and a deep representation, wherein the deep representation is based on a more granular definition of the item records than the shallow representation;

generating a shallow holding matrix identifying the item records associated with the user profiles based on the shallow representation of the item records;

generating a deep holding matrix based on the more granular definition of the item records than the shallow representation in the shallow holding matrix;

generating a similarity score matrix of scores between the deep representations based on a similarity between respective attribute values of the item attribute fields;

decomposing, by way of matrix factorization, the shallow holding matrix into a lower-dimensionality user latent representation and a lower-dimensionality product feature latent representation, based at least in part on the similarity score matrix;

concatenating the product feature latent representation and product information to be passed to a first neural network to generate a first output;

concatenating the user latent representation and user information to be passed to a second neural network to generate a second output;

performing a dot product matrix multiplication on the first output and the second output to generate, for every user profile and each product from a predefined number of products, a probability for a recommendation; and

storing the probability for a recommendation for every user profile and each product from the predefined number of products in a data structure, wherein the predefined number of products in the data structure are chosen using a random negative sampling technique; and

generating an output to communicate at least one product not associated with a particular user profile based on the dot product matrix multiplication.

8 . The non-transitory computer-readable medium of claim 7 wherein when executed, the instructions cause the one or more computing devices to divide at least one of the item records defined by the shallow representation into one or more deep representations of the at least one item record.

9 . The non-transitory computer-readable medium of claim 7 wherein a first deep representation corresponding to a first shallow representation of a first item record and a second deep representation corresponding to a second shallow representation of a second item record have a similarity score of zero.