IP Library › Granted Patent US 11,106,736
Granted Patent B1
US 11,106,736 · App. 16/549,202 · Granted Aug 31, 2021

Fuzzy search of graph database

Inventors: David Newman (Walnut Creek, CA); Omar B. Khan (Richmond, VA); Nathan Anthony Susanj (York, PA); Alexander Joseph Kalinowski (Philadelphia, PA)
Assignee: Wells Fargo Bank, N.A.
G06F16/903G06F16/284G06F16/9024G06F16/955G06F40/30G06N3/04
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,106,736
App. No.
16/549,202
Granted
Aug 31, 2021
Kind
B1
Abstract

A method may compiling, using at least one processor, a corpus of training data by obtaining, for each respective concept object in an ontology, a respective concept label and respective annotations describing the respective concept object; generating a vocabulary of terms based on the corpus of training data; training a semantic model using the corpus of training data and the vocabulary of terms, wherein input features for the semantic model are based on context words in proximity to a term in the vocabulary of terms; and storing a set of word embeddings for the vocabulary of terms based on the trained semantic model.

Claims (44)

1. A computer-implemented method comprising:

compiling, using at least one processor, a corpus of training data by obtaining, for each respective concept object in an ontology, a respective concept label and respective annotations describing the respective concept object;

generating a vocabulary of terms based on the corpus of training data;

training a semantic model using the corpus of training data and the vocabulary of terms, wherein input features for the semantic model are based on context words in proximity to a term in the vocabulary of terms,

wherein the semantic model is a neural network and wherein an input layer of the neural network and an output layer of the neural network are of a size equivalent to a number terms in the vocabulary of terms; and

wherein training the semantic model includes using word pairs from the corpus of training data, a first word of a word pair being an input and a second word of the word pair being an expected output; and

storing a set of word embeddings for the vocabulary of terms based on the trained semantic model.

2. The computer-implemented method of claim 1 , wherein the neural network includes a hidden layer of neurons with no activation function.

3. The computer-implemented method of claim 2 , wherein each respective row of a weight matrix between the input layer and the single hidden layer of neurons is a respective word embedding of the set of word embeddings for a respective term in the vocabulary of terms.

4. The computer-implemented method of claim 1 , wherein the respective annotations include a definition of the respective concept object.

5. The computer-implemented method of claim 1 , wherein the respective annotations include a URL with a definition of the respective concept object and wherein compiling the corpus of training data includes scraping the definition from the URL.

6. The computer-implemented method of claim 1 , wherein compiling the corpus of training data includes, for the respective concept object, retrieving a set of column name identifiers from a set of relational databases that have been identified as a data sources for the respective concept object.

7. The computer-implemented method of claim 1 , wherein compiling the corpus of training data includes, for the respective concept object, retrieving data associated with a concept object related to the respective concept object.

8. The computer-implemented method of claim 7 , wherein the concept object related to the respective concept object is a superclass concept of the respective concept object.

9. A computer-implemented method comprising:

receiving, at a processing computing system, a search query from a user;

querying a data store for a search result using the search query as an input, the data store including a plurality of concept objects for an ontology;

in response to the search result indicating a concept object for the input is not in the data store:

determining a set of result concept objects for the search query based on a closeness of the search query to the plurality of concept objects in the data store, wherein closeness is determined according to word embeddings from a semantic model trained using data based on the ontology, wherein the semantic model is a neural network and wherein an input laver of the neural network and an output layer of the neural network are of a size equivalent to a number terms in a vocabulary of terms;

presenting the set of result concept objects to the user; and

receiving a selection of a concept object of the set of result concept objects from the user; and

presenting data retrieved from the data store for the selected concept object.

10. A non-transitory computer-readable medium comprising instructions, which when executed by at least one processor, configure the at least one processor to perform operations comprising:

compiling, using the at least one processor, a corpus of training data by obtaining, for each respective concept object in an ontology, a respective concept label and respective annotations describing the respective concept object;

generating a vocabulary of terms based on the corpus of training data;

training a semantic model using the corpus of training data and the vocabulary of terms, wherein input features for the semantic model are based on context words in proximity to a term in the vocabulary of terms,

wherein the semantic model is a neural network and wherein an input layer of the neural network and an output layer of the neural network are of a size equivalent to a number terms in the vocabulary of terms; and

wherein training the semantic model includes using word pairs from the corpus of training data, a first word of a word pair being an input and a second word of the word pair being an expected output; and

storing a set of word embeddings for the vocabulary of terms based on the trained semantic model.

11. The computer-readable medium of claim 10 , wherein the neural network includes a hidden layer of neurons with no activation function.

12. The computer-readable medium of claim 11 , wherein each respective row of a weight matrix between the input layer and the single hidden layer of neurons is a respective word embedding of the set of word embeddings for a respective term in the vocabulary of terms.

13. The computer-readable medium of claim 10 , wherein the respective annotations include a definition of the respective concept object.

14. A system comprising:

at least one processor; and

a storage device comprising instructions, which when executed by the at least one processor, configure the system to:

compile a corpus of training data by obtaining, for each respective concept object in an ontology, a respective concept label and respective annotations describing the respective concept object;

generate a vocabulary of terms based on the corpus of training data;

train a semantic model using the corpus of training data and the vocabulary of terms, wherein input features for the semantic model are based on context words in proximity to a term in the vocabulary of terms,

wherein the semantic model is a neural network and wherein an input layer of the neural network and an output layer of the neural network are of a size equivalent to a number terms in the vocabulary of terms; and

wherein to train the semantic model, word pairs are used from the corpus of training data, a first word of a word pair being an input and a second word of the word pair being an expected output; and

store a set of word embeddings for the vocabulary of terms based on the trained semantic model.

15. The system of claim 14 , wherein the neural network includes a hidden layer of neurons with no activation function.

16. The system of claim 15 , wherein each respective row of a weight matrix between the input layer and the hidden layer of neurons is a respective word embedding of the set of word embeddings for a respective term in the vocabulary of terms.

17. The system of claim 14 , wherein the respective annotations include a definition of the respective concept object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2020
From: NEWMAN, DAVID; KHAN, OMAR B; SUSANJ, NATHAN ANTHONY; KALINOWSKI, ALEXANDER JOSEPH
To: WELLS FARGO BANK, N.A.
Reel/Frame 052540/0511 →
Continuity (1)
Provisional Application 62721977 · Aug 23, 2018
Cited By (8)
US 12,255,749 US 12,271,698 US 12,306,844 US 12,339,861 US 12,405,934 US 12,455,932 US 12,499,314 US 12,505,296