IP Library Granted Patent US 10,726,208
Granted Patent B2
US 10,726,208 · App. 16/659,452 · Granted Jul 28, 2020

Consumer insights analysis using word embeddings

Inventors: Helen Tamara Crossley (Redwood City, CA); Bryan Kauder (New York, NY); Jonathan Michael Arfa (New York, NY)
Assignee: Facebook, Inc.
G06F40/30G06F40/295G06N20/00H04L51/32
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,726,208
App. No.
16/659,452
Granted
Jul 28, 2020
Kind
B2
Abstract

In one embodiment, a method includes receiving a request to identify k steps for a particular entity to acquire a target attribute in public sentiments, accessing a table of word vector relationships, looking up an entity word vector corresponding to the entity name and a target attribute word vector corresponding to the n-gram representing the target attribute using the table, determining a directional vector in the d-dimensional embedding space that connects from the entity word vector to the target attribute word vector, identifying k points on the directional vector that evenly split the directional vector into k+1 segments, selecting, for each of the k points, a word vector that is closest to the point, identifying, for each of the k selected word vectors, a corresponding n-gram by looking up the word vector in the table, and sending a response message comprising the k identified n-grams.

Claims (49)

1. A method, by a computing device, comprising:

receiving a request to identify k steps for an entity to acquire a target attribute in public sentiments, wherein the request comprising a name for the entity and an n-gram representing the target attribute;

identifying a first word embedding for the entity and a second word embedding for the target attribute from a word-embedding table, wherein each word embedding represents a semantic context of a corresponding n-gram as a point in a d-dimensional embedding space, and wherein the word-embedding table represents results of a machine-learning training using a corpus of text as training data for a social-networking system;

determining a directional vector that connects from the first word embedding to the second word embedding in the embedding space;

identifying k word embeddings that corresponds to k points on the directional vector, respectively; and

determining, for each of the k identified word embeddings, a corresponding n-gram, wherein each n-gram represents an attribute located along a path for the entity to the target attribute in the embedding space.

2. The method of claim 1 , wherein the first word embedding is identified by looking up the name for the entity in the word-embedding table, wherein the second word embedding is identified by looking up the n-gram representing the target attribute in the word-embedding table, and wherein the word-embedding table comprises a plurality of unique n-grams and their corresponding word embeddings.

3. The method of claim 2 , wherein the plurality of unique n-grams in the table are selected from the corpus of text, wherein the corpus of text was collected from a plurality of user-created content objects in the online social network.

4. The method of claim 1 , wherein the machine-learning training is based on a word2vec model.

5. The method of claim 1 , wherein the request comprises one or more conditions characterizing an audience.

6. The method of claim 5 , further comprising:

constructing the corpus of text by collecting text content from content objects created by a group of users of the online social network, wherein the group satisfies the one or more conditions;

identifying a list of unique n-grams appearing in the corpus of text;

training a word embedding model using the corpus of text, wherein the word embedding model generates word embeddings corresponding to the unique n-grams; and

generating, using the word embedding model, the table based on the list of unique n-grams and their corresponding word embeddings.

7. The method of claim 6 , wherein the content objects were created within a pre-determined period of time.

8. The method of claim 1 , wherein the identifying the k word embeddings comprises:

identifying k points on the directional vector that evenly split the directional vector into k+1 segments;

computing, for each of the identified k points, a similarity metric for each word embedding in the table to the point; and

selecting, for each of the identified k points, a word embedding that has a highest similarity metric to the point.

9. The method of claim 8 , wherein the similarity metric is a cosign similarity, a Euclidean distance, or a Jaccard similarity coefficient.

10. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

receive a request to identify k steps for an entity to acquire a target attribute in public sentiments, wherein the request comprising a name for the entity and an n-gram representing the target attribute;

identify a first word embedding for the entity and a second word embedding for the target attribute from a word-embedding table, wherein each word embedding represents a semantic context of a corresponding n-gram as a point in a d-dimensional embedding space, and wherein the word-embedding table represents results of a machine-learning training using a corpus of text as training data for a social-networking system;

determine a directional vector that connects from the first word embedding to the second word embedding in the embedding space;

identify k word embeddings that corresponds to k points on the directional vector, respectively; and

determine, for each of the k identified word embeddings, a corresponding n-gram, wherein each n-gram represents an attribute located along a path for the entity to the target attribute in the embedding space.

11. The media of claim 10 , wherein the first word embedding is identified by looking up the name for the entity in the word-embedding table, wherein the second word embedding is identified by looking up the n-gram representing the target attribute in the word-embedding table, and wherein the word-embedding table comprises a plurality of unique n-grams and their corresponding word embeddings.

12. The media of claim 11 , wherein the plurality of unique n-grams in the table are selected from the corpus of text, wherein the corpus of text was collected from a plurality of user-created content objects in the online social network.

13. The media of claim 10 , wherein the machine-learning training is based on a word2vec model.

14. The media of claim 10 , wherein the request comprises one or more conditions characterizing an audience.

15. The media of claim 14 , wherein the software is further operable when executed to:

constructing the corpus of text by collecting text content from content objects created by a group of users of the online social network, wherein the group satisfies the one or more conditions;

identifying a list of unique n-grams appearing in the corpus of text;

training a word embedding model using the corpus of text, wherein the word embedding model generates word embeddings corresponding to the unique n-grams; and

generating, using the word embedding model, the table based on the list of unique n-grams and their corresponding word embeddings.

16. The media of claim 10 , wherein the identifying the k word embeddings comprises:

identifying k points on the directional vector that evenly split the directional vector into k+1 segments;

computing, for each of the identified k points, a similarity metric for each word embedding in the table to the point; and

selecting, for each of the identified k points, a word embedding that has a highest similarity metric to the point.

17. The media of claim 16 , wherein the similarity metric is a cosign similarity, a Euclidean distance, or a Jaccard similarity coefficient.

18. A system comprising:

one or more processors; and

one or more computer-readable non-transitory storage media coupled to one or more of the processors and comprising instructions operable when executed by one or more of the processors to cause the system to:

receive a request to identify k steps for an entity to acquire a target attribute in public sentiments, wherein the request comprising a name for the entity and an n-gram representing the target attribute;

identify a first word embedding for the entity and a second word embedding for the target attribute from a word-embedding table, wherein each word embedding represents a semantic context of a corresponding n-gram as a point in a d-dimensional embedding space, and wherein the word-embedding table represents results of a machine-learning training using a corpus of text as training data for a social-networking system;

determine a directional vector that connects from the first word embedding to the second word embedding in the embedding space;

identify k word embeddings that corresponds to k points on the directional vector, respectively; and

determine, for each of the k identified word embeddings, a corresponding n-gram, wherein each n-gram represents an attribute located along a path for the entity to the target attribute in the embedding space.

Assignments (1)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
Cited By (1)
US 12,517,929