IP Library Granted Patent US 11,675,764
Granted Patent B2
US 11,675,764 · App. 17/072,615 · Granted Jun 13, 2023

Learned data ontology using word embeddings from multiple datasets

Inventors: Zuye Zheng (San Francisco, CA); Vaibhav Garg (San Francisco, CA); Sumitkumar Kukkar (Dublin, CA); Timothy Noonan (Beulah, CO); Evan Tsao (San Francisco, CA); Thushara Paul (San Francisco, CA); Behzad Farhang Richey (Los Angeles, CA)
Assignee: Salesforce, Inc.
G06F16/2237G06F16/221G06F16/2282G06F16/24553G06F16/288G06F16/29
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,675,764
App. No.
17/072,615
Granted
Jun 13, 2023
Kind
B2
Abstract

Techniques described herein may support a learned ontology or meaning for user, organization, or customer specific data. According to the techniques described herein, a set of datasets corresponding to an entity may be processed to generate a master dataset including rows that include at least a field name and a value corresponding to the field. The master dataset is processed to generate a corpus of text strings that is input into a word embedding function which generates a set of vectors based on the corpus. Because the configuration of the text string positions values by field names and field values, implicit relationships and contexts are identified within the data using the word embedding function.

Claims (53)

1. A method for data processing, comprising:

generating a master dataset that includes data from a plurality of datasets, the master dataset comprising a plurality of rows that include a dataset name associated with a dataset of the plurality of datasets, an indication of a field from the dataset, a value corresponding to the field, and an indication of a number of occurrences of the value within the dataset of the plurality of datasets;

generating a plurality of text strings for the plurality of rows in the master dataset, the plurality of text strings including a tokenized field string, a tokenized value string, and a non-tokenized field name string, wherein the non-tokenized field name string is positioned between the tokenized field string and the tokenized value string;

generating a plurality of vectors associated with the master dataset by using a word embedding function to process the plurality of text strings;

generating, using the word embedding function, a query vector corresponding to a received query; and

executing the received query to retrieve query results from the master dataset, wherein retrieving the query results comprises determining that a cosine similarity between the query vector and at least one vector of the plurality of vectors satisfies a similarity threshold.

2. The method of claim 1 , wherein generating the plurality of text strings comprises:

generating one or more copies of a text string of the plurality of text strings based at least in part on the number of occurrences of the value.

3. The method of claim 1 , further comprising:

identifying a topic vector corresponding to a topic in the plurality of vectors; and

associating an action with the topic vector corresponding to the topic.

4. The method of claim 3 , further comprising:

determining that the query vector corresponding to the received query satisfies a threshold similarity with respect to the topic vector; and

activating the action associated with the topic vector based at least in part on determining that the query vector satisfies the threshold similarity.

5. The method of claim 3 , wherein associating the action comprises:

associating a map visualization action with the topic vector that corresponds to a set of geographic locations, wherein the map visualization action triggers generation of a map when activated in response to the query vector satisfying a threshold similarity with respect to the topic vector.

6. The method of claim 3 , further comprising:

associating a sales pipeline visualization action with the topic vector that corresponds to a set of sales stages, wherein the sales pipeline visualization action triggers generation of a sales pipeline visualization when activated in response to the query vector satisfying a threshold similarity with respect to the topic vector.

7. The method of claim 3 , wherein identifying the topic vector comprises:

generating input vectors for a set of inputs that correspond to the topic; and

identifying the topic vector based at least in part on similarities between the input vectors corresponding to the set of inputs.

8. The method of claim 3 , wherein identifying the topic vector comprises:

generating the topic vector using a field from one of the plurality of datasets.

9. The method of claim 3 , wherein the action corresponds to a data visualization action.

10. The method of claim 3 , wherein identifying the topic vector comprises:

identifying the topic vector based at least in part on the plurality of datasets being associated with a first tenant of a multi-tenant database system that supports a plurality of tenants.

11. The method of claim 1 , further comprising:

receiving a new dataset comprising one or more columns;

generating, for the one or more columns and using the word embedding function, a set of value vectors;

calculating an average vector for the set of value vectors; and

identifying a relationship between the one or more columns of the plurality of datasets by identifying similarities between the average vector and the plurality of vectors.

12. The method of claim 1 , further comprising:

receiving an indication of a relationship between a first field and a second field in the plurality of datasets;

associating a query with the first field based at least in part on a similarity between the query vector and a vector that corresponds to the first field; and

generating a response to the query based at least in part on the relationship between the first field and the second field, wherein the response to the query associated with the first field comprises one or more values associated with the second field.

13. The method of claim 1 , wherein identifying the plurality of datasets comprises:

identifying the plurality of datasets that are associated with a first tenant of a multi-tenant database system that supports a plurality of tenants, wherein a second plurality of vectors is generated for other tenants of the multi-tenant database system.

14. An apparatus for data processing, comprising:

a processor;

memory coupled with the processor; and

instructions stored in the memory and executable by the processor to cause the apparatus to:

generate a master dataset that includes data from a plurality of datasets, the master dataset comprising a plurality of rows that include a dataset name associated with a dataset of the plurality of datasets, an indication of a field from the dataset, a value corresponding to the field, and an indication of a number of occurrences of the value within the dataset of the plurality of datasets;

generate a plurality of text strings for the plurality of rows in the master dataset, the plurality of text strings including a tokenized field string, a tokenized value string, and a non-tokenized field name string, wherein the non-tokenized field name string is positioned between the tokenized field string and the tokenized value string;

generate a plurality of vectors associated with the master dataset by using a word embedding function to process the plurality of text strings;

generate, using the word embedding function, a query vector corresponding to a received query; and

execute the received query to retrieve query results from the master dataset, wherein, to retrieve the query results, the instructions are executable by the processor to cause the apparatus to determine that a cosine similarity between the query vector and at least one vector of the plurality of vectors satisfies a similarity threshold.

15. A non-transitory computer-readable medium storing code for data processing, the code comprising instructions executable by a processor to:

generate a master dataset that includes data from a plurality of datasets, the master dataset comprising a plurality of rows that include a dataset name associated with a dataset of the plurality of datasets, an indication of a field from the dataset, a value corresponding to the field, and an indication of a number of occurrences of the value within the dataset of the plurality of datasets;

generate a plurality of text strings for the plurality of rows in the master dataset, the plurality of text strings including a tokenized field string, a tokenized value string, and a non-tokenized field name string, wherein the non-tokenized field name string is positioned between the tokenized field string and the tokenized value string;

generate a plurality of vectors associated with the master dataset by using a word embedding function to process the plurality of text strings;

generate, using the word embedding function, a query vector corresponding to a received query; and

execute the received query to retrieve query results from the master dataset, wherein, to retrieve the query results, the instructions are executable by the processor to determine that a cosine similarity between the query vector and at least one vector of the plurality of vectors satisfies a similarity threshold.

16. The method of claim 1 , wherein generating the plurality of vectors comprises: generating the plurality of vectors corresponding to the plurality of text strings based at least in part on using the word embedding function to identify word associations between adjacent elements of the plurality of text strings.

Assignments (2)
CHANGE OF NAME Recorded Mar 22, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 063145/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2020
From: ZHENG, ZUYE; GARG, VAIBHAV; KUKKAR, SUMITKUMAR; NOONAN, TIMOTHY; TSAO, EVAN; PAUL, THUSHARA; RICHEY, BEHZAD FARHANG
To: SALESFORCE.COM, INC.
Reel/Frame 054079/0546 →
Continuity (1)
Related Publication 20220121636A1 · Apr 21, 2022