# US 12,182,514 B2 · Automatic synonyms using word embedding and word similarity models

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,182,514 B2
- Document ID: US12182514B2
- Status: Granted
- Kind: B2
- Application number: 17/978,797
- Filed: 2022-11-01
- Published: 2023-06-29
- Granted: 2024-12-31
- Earliest claimed: 2020-06-17
- Assignees: Tableau Software, Inc.
- Applicants: Tableau Software, LLC
- Inventors: Ryan Andrew Atallah; Qixiang Zhang
- Web page: https://patentgrep.com/patent/US12182514B2

## CPC

- G06F 40/295: Named entity recognition
- G06F 40/169: Annotation, e.g. comment data or footnotes
- G06F 40/247: Thesauruses; Synonyms
- G06F 40/30: Semantic analysis
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer device receives a user input to specify a natural language command. In response to receiving the user input, the computer device generates a semantic interpretation for the natural language command using a trained word similarity model, based on semantic annotations for a published data source. The computer device queries the published data source based on the semantic interpretation, thereby retrieving a dataset. The computer device generates and displays a data visualization based on the retrieved dataset.

## Claims

### Claim 1

A method of processing natural language commands, comprising:
receiving a user input to specify a natural language command;
in response to receiving the user input, generating a semantic interpretation for the natural language command using a trained word similarity model, based on semantic annotations for a published data source, wherein the trained word similarity model is trained to identify similar words based on (i) a plurality of word embeddings corresponding to a set of words of a natural language and (ii) a synonym database;
querying the published data source based on the semantic interpretation, thereby retrieving a dataset; and
generating and displaying a data visualization based on the retrieved dataset.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
storing the semantic annotations to the published data source.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
detecting that a new data source has been published; and
in response to detecting that the new data source has been published, generating semantic annotations for the new data source using the trained word similarity model, based on (i) a plurality of word embeddings corresponding to a set of words of a natural language and (ii) a synonym database.

### Claim 4 (depends on 1)

The method of claim 1, wherein:
the plurality of word embeddings is generated using one or more trained neural network models; and
the one or more trained neural network models are trained on a large corpus of text of the natural language.

### Claim 5 (depends on 4)

The method of claim 4, wherein:
the one or more trained neural network models include a Word2vec model; and
the plurality of word embeddings are word vectors output by the Word2vec model.

### Claim 6 (depends on 1)

The method of claim 1, wherein the set of words of the natural language is generated using an n-gram language model for the natural language.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
generating the semantic annotations for the published data source using the trained word similarity model, based on (i) a plurality of word embeddings corresponding to a set of words of a natural language and (ii) a synonym database.

### Claim 8 (depends on 7)

The method of claim 7, wherein the generating is performed concurrently for a plurality of data entity names of the published data source, using a distributed, multitenant-capable text search engine.

### Claim 9 (depends on 7)

The method of claim 7, further comprising:
indexing the plurality of word embeddings.

### Claim 10 (depends on 7)

The method of claim 7, wherein generating the semantic annotations comprises:
for each data entity name comprising a data field name or a data value of a data field in the published data source:
generating respective similar words for the respective data entity name by inputting the respective data entity name into the trained word similarity model; and
associating the respective similar words with the data entity name.

### Claim 11 (depends on 10)

The method of claim 10, further comprising associating the data entity name with user-provided synonyms and/or inherited synonyms.

### Claim 12 (depends on 10)

The method of claim 10, wherein generating the respective similar words for the respective data entity name comprises:
generating one or more matching similar words for the respective data name, using the trained word similarity model;
computing a respective similarity score, based on the plurality of word embeddings, for each word of the one or more matching similarity words; and
selecting one or more words, from the one or more matching similar words, with respective similarity scores that exceed a predetermined similarity threshold.

### Claim 13 (depends on 10)

The method of claim 10, wherein generating the respective similar words for the respective data entity name comprises:
generating, using the synonym database, a list of synonyms for the respective data entity name; and
generating matching similar words, using the trained word similarity model, by (i) computing a similarity score for each synonym of the list of synonyms, and (ii) selecting synonyms with similarity scores that exceed a predetermined similarity threshold, based on the plurality of word embeddings.

### Claim 14

A computer device for processing natural language commands, comprising:
a display;
one or more processors; and
memory coupled to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for:
receiving a user input to specify a natural language command;
in response to receiving the user input, generating a semantic interpretation for the natural language command using a trained word similarity model, based on semantic annotations for a published data source;
querying the published data source based on the semantic interpretation, thereby retrieving a dataset;
generating and displaying a data visualization based on the retrieved dataset;
detecting that a new data source has been published; and
in response to detecting that the new data source has been published, generating semantic annotations for the new data source using the trained word similarity model, based on (i) a plurality of word embeddings corresponding to a set of words of a natural language and (ii) a synonym database.

### Claim 15 (depends on 14)

The computer device of claim 14, the one or more programs further including instructions for:
storing the semantic annotations to the published data source.

### Claim 16 (depends on 14)

The computer device of claim 14, the one or more programs further including instructions for:
prior to generating the semantic interpretation, training the word similarity model to identify similar words based on (i) a plurality of word embeddings corresponding to a set of words of a natural language and (ii) a synonym database.

### Claim 17 (depends on 14)

The computer device of claim 14, the one or more programs further including instructions for:
generating the semantic annotations for the published data source using the trained word similarity model, based on (i) a plurality of word embeddings corresponding to a set of words of a natural language and (ii) a synonym database.

### Claim 18

A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computer device having a display, cause the computer device to perform operations comprising:
generating semantic annotations for a published data source using a trained word similarity model, based on (i) a plurality of word embeddings corresponding to a set of words of a natural language and (ii) a synonym database;
receiving a user input to specify a natural language command;
in response to receiving the user input, generating a semantic interpretation for the natural language command using the trained word similarity model, based on the semantic annotations for the published data source;
querying the published data source based on the semantic interpretation, thereby retrieving a dataset; and
generating and displaying a data visualization based on the retrieved dataset.
