IP Library Granted Patent US 11,755,671
Granted Patent B2
US 11,755,671 · App. 17/665,148 · Granted Sep 12, 2023

Projecting queries into a content item embedding space

Inventors: Jinfeng Zhuang (Seattle, WA); Yunsong Guo (Santa Clara, CA)
Assignee: Pinterest, Inc.
G06F16/9535G06F16/355
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 11,755,671
App. No.
17/665,148
Granted
Sep 12, 2023
Kind
B2
Abstract

Systems and methods for recommending content to an online service user are presented. In response to a request from a user, a set of n-grams of the request are generated, with each n-gram comprising one or more terms from the request and each n-gram of the set of n-grams being unique. Embedding vectors projecting the n-grams into a content item embedding space are generated, and the embedding vectors are combined into a representative embedding vector for the request. The nearest content items are identified according to a distance measure between a projection of the representative embedding vector and embedding vectors of content items of a corpus of content items in the content item embedding space. At least some of the nearest content items are returned as recommended content in response to the request from the user.

Claims (59)

1. A computer-implemented method, comprising:

determining, based at least in part on a request type associated with a request, textual content associated with the request, wherein the textual content includes a plurality of text terms;

generating, based at least in part on the textual content, a plurality of n-grams, wherein each of the plurality of n-grams is a unique permutation of one or more of the plurality of text terms;

for each n-gram of the plurality of n-grams, obtaining an embedding vector that projects the n-gram into a content item embedding space;

generating, based at least in part on the embedding vectors associated with each n-gram of the plurality of n-grams, a representative embedding vector that is representative of the request;

determining, based at least in part on the representative embedding vector, at least one recommended content item from a corpus of content items; and

providing the at least one recommended content item in response to the request.

2. The computer-implemented method of claim 1 , wherein:

the request type is a homepage request type; and

determining the textual content associated with the request includes determining an interest of a user associated with the request based at least in part on at least one of a user profile associated with the user or a homepage associated with the user.

3. The computer-implemented method of claim 2 , wherein the interest includes a plurality of interests, and the plurality of n-grams is generated from one of the plurality of interests.

4. The computer-implemented method of claim 1 , wherein:

the request type is a content item request type; and

determining the textual content associated with the request includes determining metadata associated with a triggering content item.

5. The computer-implemented method of claim 4 , wherein the metadata includes at least one of:

a uniform resource locator (URL) associated with the triggering content item;

a title of the triggering content item;

a page title associated with a page on which the triggering content item is posted; or

a page comment associated with the page on which the triggering content item is posted.

6. A computing system, comprising:

one or more processors; and

a memory storing program instructions that, when executed by the one or more processors, cause the one or more processors to at least:

determine, based at least in part on a request type associated with a request, textual content associated with the request;

generate, based at least in part on the textual content, a plurality of n-grams;

for each n-gram of the plurality of n-grams, obtain an embedding vector that projects the n-gram into a content item embedding space;

generate, based at least in part on the embedding vectors associated with each n-gram of the plurality of n-grams, a representative embedding vector;

determine, based at least in part on the representative embedding vector, a plurality of recommended content items from a corpus of content items; and

provide at least one of the plurality of recommended content items as responsive to the request.

7. The computing system of claim 6 , wherein:

the textual content associated with the request includes a plurality of text terms; and

each of the plurality of n-grams is a unique permutation of one or more of the plurality of text terms.

8. The computing system of claim 6 , wherein the at least one of the plurality of recommended content items is randomly selected from the plurality of recommended content items.

9. The computing system of claim 6 , wherein the plurality of recommended content items is determined based at least in part on a cosine similarity between the representative embedding vector and a plurality of content item embedding vectors associated with the corpus of content items.

10. The computing system of claim 6 , wherein the plurality of recommended content items is determined using a locality sensitive hashing (LSH) technique.

11. The computing system of claim 6 , wherein the representative embedding vector is generated based at least in part on a weighted average of the embedding vectors associated with each of the plurality of n-grams.

12. The computing system of claim 6 , wherein at least one of the embedding vectors associated with each of the plurality of n-grams is obtained from an indexed cache of embedding vectors associated with a plurality of stored n-grams.

13. The computing system of claim 6 , wherein at least one of the embedding vectors associated with each of the plurality of n-grams is obtained from a just-in-time embedding vector generator.

14. The computing system of claim 6 , wherein the request type includes at least one of:

a homepage request type;

a content item request type; or

a text query request type.

15. The computing system of claim 14 , wherein:

the request type is the homepage request type; and

determining the textual content associated with the request includes determining an interest of a user associated with the request based at least in part on at least one of a user profile associated with the user or a homepage associated with the user.

16. The computing system of claim 14 , wherein:

the request type is the content item request type; and

determining the textual content associated with the request includes determining metadata associated with a triggering content item.

17. A computer-implemented method, comprising:

determining textual content associated with a request, the textual content including a plurality of text terms;

generating, based at least in part on the textual content, a plurality of n-grams, each of the plurality of n-grams being a unique permutation of one or more of the plurality of text terms;

for each n-gram of the plurality of n-grams, obtaining an embedding vector that projects the n-gram into a content item embedding space;

generating, based at least in part on the embedding vectors associated with each n-gram of the plurality of n-grams, a representative embedding vector representative of the request;

determining, based at least in part on the representative embedding vector, at least one recommended content item from a corpus of content items; and

providing the at least one recommended content item in response to the request.

18. The computer-implemented method of claim 17 , further comprising:

determining a request type associated with the request, and

wherein the textual content is generated based at least in part on the request type.

19. The computer-implemented method of claim 17 , wherein the at least one recommended content item is randomly selected from a plurality of recommended content items.

20. The computer-implemented method of claim 17 , wherein at least one of the embedding vectors associated with each of the plurality of n-grams is obtained from an indexed cache of embedding vectors associated with a plurality of stored n-grams.

Assignments (2)
SECURITY INTEREST Recorded Oct 25, 2022
From: PINTEREST, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 061767/0853 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2022
From: ZHUANG, JINFENG; GUO, YUNSONG
To: PINTEREST, INC.
Reel/Frame 058895/0951 →
Continuity (2)
Continuation 15930771 · May 13, 2020
Related Publication 20220156336A1 · May 19, 2022