IP Library › Granted Patent US 10,803,386
Granted Patent B2
US 10,803,386 · App. 16/271,618 · Granted Oct 13, 2020

Matching cross domain user affinity with co-embeddings

Inventor: Daniel Shiebler (San Francisco, CA)
Assignee: Twitter, Inc.
G06N3/08G06F17/16G06N3/04
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 10,803,386
App. No.
16/271,618
Granted
Oct 13, 2020
Kind
B2
Abstract

Systems and methods for determining items in a target domain to recommend to a user whom has not previously interacted with items in the target domain is described. The method comprises generating an auxiliary domain user embedding based on user affinities for each of a plurality of items in an auxiliary domain and embeddings for each of the plurality of items in the auxiliary domain, providing the auxiliary domain user embedding as input to a neural network configured to output a target domain user embedding, predicting target domain user affinities for items in the target domain based, at least in part, on a similarity measure between the target domain user embedding and an embedding for at least one item in the target domain, and determining a set of items in the target domain to recommend to the user based, at least in part, on the predicted target domain user affinities.

Claims (42)

1. A computer-implemented system for determining a set of items in a target domain to recommend to a user without the user having previously interacted with items in the target domain, the system comprising:

at least one computer processor; and

a non-transitory computer readable medium encoded with a plurality of instructions that, when executed by the at least one computer processor perform a method, the method comprising:

generating an auxiliary domain user embedding based on user affinities for each of a plurality of items in an auxiliary domain and an auxiliary domain embedding map that includes an embedding for each of the plurality of items in the auxiliary domain;

providing the auxiliary domain user embedding as input to a neural network configured to output a target domain user embedding;

predicting target domain user affinities for one or more items in the target domain based, at least in part, on a similarity measure between the target domain user embedding and an embedding for at least one item in the target domain included in a target domain embedding map; and

determining a set of items in the target domain to recommend to the user based, at least in part, on the predicted target domain user affinities,

wherein the auxiliary domain embedding map, the target domain embedding map, and weights in the neural network were simultaneously trained using a per-user correlation loss function.

2. The computer-implemented system of claim 1 , wherein generating an auxiliary domain user embedding comprises generating the auxiliary domain user embedding as a linear combination of auxiliary domain embeddings in the auxiliary domain embedding map weighted by the user affinities for each of the plurality of items in the auxiliary domain.

3. The computer-implemented system of claim 2 , wherein the method further comprises:

generating an auxiliary domain user affinity vector, each element of which specifies a user affinity for an item in the auxiliary domain, and

wherein generating the auxiliary domain user embedding comprises performing a matrix multiplication between the auxiliary domain affinity vector and the auxiliary domain embedding map.

4. The computer-implemented system of claim 1 , wherein the similarity measure is a dot product similarity measure or a cosine similarity measure.

5. The computer-implemented system of claim 1 , wherein the method further comprises:

generating a co-embedding based on the auxiliary domain user embedding and the target domain user embedding; and

using the co-embedding in an approximate nearest neighbors task to generate at least one recommendation for the user.

6. The computer-implemented system of claim 1 , wherein the auxiliary domain comprises website interactions with embedded social media content.

7. A computer-implemented method for determining a set of items in a target domain to recommend to a user without the user having previously interacted with items in the target domain, the method comprising:

generating an auxiliary domain user embedding based on user affinities for each of a plurality of items in an auxiliary domain and an auxiliary domain embedding map that includes an embedding for each of the plurality of items in the auxiliary domain;

providing the auxiliary domain user embedding as input to a neural network configured to output a target domain user embedding;

predicting target domain user affinities for one or more items in the target domain based, at least in part, on a similarity measure between the target domain user embedding and an embedding for at least one item in the target domain included in a target domain embedding map; and

determining a set of items in the target domain to recommend to the user based, at least in part, on the predicted target domain user affinities,

wherein the auxiliary domain embedding map, the target domain embedding map, and weights in the neural network were simultaneously trained using a per-user correlation loss function.

8. The computer-implemented method of claim 7 , wherein generating an auxiliary domain user embedding comprises generating the auxiliary domain user embedding as a linear combination of auxiliary domain embeddings in the auxiliary domain embedding map weighted by the user affinities for each of the plurality of items in the auxiliary domain.

9. The computer-implemented method of claim 8 , further comprising:

generating an auxiliary domain user affinity vector, each element of which specifies a user affinity for an item in the auxiliary domain, and

wherein generating the auxiliary domain user embedding comprises performing a matrix multiplication between the auxiliary domain affinity vector and the auxiliary domain embedding map.

10. The computer-implemented method of claim 7 , wherein the similarity measure is a dot product similarity measure or a cosine similarity measure.

11. The computer-implemented method of claim 7 , further comprising:

generating a co-embedding based on the auxiliary domain user embedding and the target domain user embedding; and

using the co-embedding in an approximate nearest neighbors task to generate at least one recommendation for the user.

12. A non-transitory computer-readable medium encoded with a plurality of instructions that, when executed by at least one computer processor, perform a method, the method comprising:

generating an auxiliary domain user embedding based on user affinities for each of a plurality of items in an auxiliary domain and an auxiliary domain embedding map that includes an embedding for each of the plurality of items in the auxiliary domain;

providing the auxiliary domain user embedding as input to a neural network configured to output a target domain user embedding;

predicting target domain user affinities for one or more items in the target domain based, at least in part, on a similarity measure between the target domain user embedding and an embedding for at least one item in the target domain included in a target domain embedding map; and

determining a set of items in the target domain to recommend to the user based, at least in part, on the predicted target domain user affinities,

wherein the auxiliary domain embedding map, the target domain embedding map, and weights in the neural network were simultaneously trained using a per-user correlation loss function.

13. The non-transitory computer-readable medium of claim 12 , wherein generating an auxiliary domain user embedding comprises generating the auxiliary domain user embedding as a linear combination of auxiliary domain embeddings in the auxiliary domain embedding map weighted by the user affinities for each of the plurality of items in the auxiliary domain.

14. The non-transitory computer-readable medium of claim 13 , wherein the method further comprises:

generating an auxiliary domain user affinity vector, each element of which specifies a user affinity for an item in the auxiliary domain, and

wherein generating the auxiliary domain user embedding comprises performing a matrix multiplication between the auxiliary domain affinity vector and the auxiliary domain embedding map.

15. The non-transitory computer-readable medium of claim 12 , wherein the similarity measure is a dot product similarity measure or a cosine similarity measure.

Assignments (7)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL 062079, FRAME 0677) Recorded Mar 3, 2026
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 075015/0574 →
RELEASE OF SECURITY INTEREST Recorded Apr 30, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 071127/0240 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 070670/0857 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 062079/0677 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0001 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2019
From: SHIEBLER, DANIEL
To: TWITTER, INC.
Reel/Frame 049714/0572 →
Continuity (2)
Provisional Application 62628798 · Feb 9, 2018
Related Publication 20190251435A1 · Aug 15, 2019