Combining machine-learning and social data to generate personalized recommendations

US11514333B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11514333-B2
Application numberUS-201815966203-A
CountryUS
Kind codeB2
Filing dateApr 30, 2018
Priority dateApr 30, 2018
Publication dateNov 29, 2022
Grant dateNov 29, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A computing device receives a message including a request for a recommendation. A representation of a hypothetical ideal recommendation to provide in response to the message is determined based on the message content. Data regarding entities that are potential recommendations are retrieved from a data store, the data regarding each entity including a representation of the entity (e.g., a vector) derived from factual information about the entity and opinions of other users of the entity. Ranking scores are determined for at least a subset of the entities based on the difference between the entity representations and the representation of the hypothetical ideal recommendation. An entity to recommend is selected based on the ranking scores and a reply to the message is sent that identifies the selected entity.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving a message at a computing device, the message including content; generating an input vector based on the content of the message and entities with which a user has indicated an affinity; applying a machine-learned model to map the input vector to a representation of a hypothetical ideal recommendation to provide to the user in response to the message, wherein the machine-learned model was trained using training data including a user request for recommendations and a response to the user request made by another user, the response including a user-recommended entity, training the machine-learned model comprising: generating a vector representation of the user-recommended entity as a positive example; generating a vector representation of another entity selected from a corpus as a negative example; determining a first distance in vector space between the hypothetical ideal recommendation vector and the positive example; determining a second distance in vector space between the hypothetical ideal recommendation vector and the negative example; and updating the machine-learned model based on the first distance and the second distance; retrieving, from a data store, data regarding a plurality of entities, the data regarding each entity including a corresponding entity representation derived from both factual information about the entity and opinions of other users of the entity; calculating difference metrics for the entity representations that indicate a degree of difference between a corresponding entity representation and the representation of the hypothetical ideal recommendation; determining, based on the difference metrics, ranking scores for at least a subset of the plurality of entities; selecting an entity to recommend based on the ranking scores; and sending a reply to the message, the reply identifying the selected entity. 2. The method of claim 1 , wherein determining the representation of the hypothetical ideal recommendation comprises: generating a first vector based on the content of the message; generating a second vector based on entities with which the user has indicated an affinity; combining the first vector and the second vector to generate the input vector. 3. The method of claim 2 , wherein generating the second vector based on entities with which the user has previously indicated an affinity comprises: retrieving, from a data store, vector representations of the entities with which the user has previously indicated an affinity; and combining the vector representations of the entities with which the user has previously indicated an affinity to generate the second vector. 4. The method of claim 1 , wherein training the machine-learned model further comprises: generating a vector representation of the user request for recommendations; and applying the machine-learned model to the vector representation of the user request for recommendations to generate a hypothetical ideal recommendation vector. 5. The method of claim 1 , wherein the entity representation for a given entity is generated by: retrieving entity description data and user affinity data from a data store, the entity description data including factual information about the given entity, and the user affinity data indicating opinions of other users regarding the given entity; generating a first vector based on the factual information; generating a second vector based on the user affinity data; and combining the first vector and the second vector to produce the entity representation. 6. The method of claim 1 , further comprising: analyzing the message content to determine an intent of the user; querying a knowledge graph, based on the determined intent of the user, to identify a second plurality of entities, the second plurality of entities including the given entity; determining an affinity score for the given entity based on a model of the user, the affinity score indicating an affinity between the user and the given entity, wherein the ranking score for the given entity is further based on the affinity score. 7. The method of claim 1 , further comprising querying a knowledge graph, based on the determined intent of the user, to identify a second plurality of entities, the second plurality of entities including the given entity, wherein determining the ranking score for the given entity includes: determining a first ranking score based on the measure of difference between the entity representation corresponding to the given entity and the representation of the hypothetical ideal recommendation; determining a second ranking score based on an affinity score for the given entity based on a model of the user; and combining the first ranking score and the second ranking score to calculate a total ranking score. 8. A non-transitory computer-readable medium storing computer program instructions executable by a processor to perform operations comprising: receiving a message at a computing device, the message including content; generating an input vector based on the content of the message and entities with which a user has indicated an affinity; applying a machine-learned model to map the input vector to a representation of a hypothetical ideal recommendation to provide to the user in response to the message, wherein the machine-learned model was trained using training data including a user request for recommendations and a response to the user request made by another user, the response including a user-recommended entity, training the machine-learned model comprising: generating a vector representation of the user-recommended entity as a positive example; generating a vector representation of another entity selected from a corpus as a negative example; determining a first distance in vector space between the hypothetical ideal recommendation vector and the positive example; determining a second distance in vector space between the hypothetical ideal recommendation vector and the negative example; and updating the machine-learned model based on the first distance and the second distance; retrieving, from a data store, data regarding a plurality of entities, the data regarding each entity including a corresponding entity representation derived from both factual information about the entity and opinions of other users of the entity; calculating difference metrics for the entity representations that indicate a degree of difference between a corresponding entity representation and the representation of the hypothetical ideal recommendation; determining, based on the difference metrics, ranking scores for at least a subset of the plurality of entities; selecting an entity to recommend based on the ranking scores; and sending a reply to the message, the reply identifying the selected entity. 9. The non-transitory computer-readable medium of claim 8 , wherein determining the representation of the hypothetical ideal recommendation comprises: generating a first vector based on the content of the message; generating a second vector based on entities with which the user has indicated an affinity; combining the first vector and the second vector to generate the input vector. 10. The non-transitory computer-readable medium of claim 9 , wherein generating the second vector based on entities with which the user has previously indicated an affinity comprises: retrieving, from a data store, vector representations of the entities with which the user has previously indicated an affinity; and combining the vector representations of the entities with which the user has previously indicated an affinity to generate the second vector.

Assignees

Inventors

Classifications

  • Recurrent networks, e.g. Hopfield networks · CPC title

  • Advertisements · CPC title

  • G06N5/02Primary

    Knowledge representation; Symbolic representation · CPC title

  • Backpropagation, e.g. using gradient descent · CPC title

  • Knowledge engineering; Knowledge acquisition · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11514333B2 cover?
A computing device receives a message including a request for a recommendation. A representation of a hypothetical ideal recommendation to provide in response to the message is determined based on the message content. Data regarding entities that are potential recommendations are retrieved from a data store, the data regarding each entity including a representation of the entity (e.g., a vector…
Who is the assignee on this patent?
Meta Platforms Inc
What technology area does this patent fall under?
Primary CPC classification G06N5/02. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 29 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).