IP Library Granted Patent US 11,669,574
Granted Patent B2
US 11,669,574 · App. 15/666,065 · Granted Jun 6, 2023

Method, apparatus, and computer-readable medium for determining a data domain associated with data

Inventor: Igor Balabine (Menlo Park, CA)
Assignee: Informatica LLC
G06F16/93G06F16/313G06F16/3347G06F40/205G06F40/211G06F40/216G06F40/284G06F40/30
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,669,574
App. No.
15/666,065
Granted
Jun 6, 2023
Kind
B2
Abstract

A system, method and computer-readable medium for determining a data domain associated with data, including parsing a document to generate one or more document indexes corresponding to the document, the one or more document indexes comprising a plurality of index terms and location information, determining a syntactic confidence score corresponding to a non-dictionary term in the plurality of index terms based on a syntactic analysis of the non-dictionary term, determining a proximity confidence score corresponding to the non-dictionary term based on the location information and at least one proximity query associated with the non-dictionary term and one or more other terms in the document index, determining a semantic confidence score based on a plurality of dictionary terms in the plurality of index terms, and determining an overall confidence score corresponding to the non-dictionary term based on the syntactic confidence score, the proximity confidence score, and the semantic confidence score.

Claims (122)

1. A method executed by one or more computing devices for determining a data domain associated with data, the method comprising:

parsing a document to generate one or more document indexes corresponding to the document, the one or more document indexes comprising a plurality of index terms and location information corresponding to locations of the plurality of index terms within the document;

determining a syntactic confidence score corresponding to a non-dictionary term in the plurality of index terms based at least in part on a syntactic analysis of the non-dictionary term, wherein the syntactic confidence score indicates a confidence level associated with attributing a syntax of the non-dictionary term to the data domain;

determining a proximity confidence score corresponding to the non-dictionary term based at least in part on the location information and at least one proximity query associated with the non-dictionary term and one or more other terms in the document index, wherein the at least one proximity query is determined based at least in part on the syntax of the non-dictionary term and wherein the proximity confidence score indicates a confidence level associated with the at least one proximity query evaluating to true;

determining a semantic confidence score based at least in part on a plurality of dictionary terms in the plurality of index terms, wherein the semantic confidence score indicates a confidence level associated with attributing one or more topics associated with the document to the data domain; and

determining an overall confidence score corresponding to the non-dictionary term based at least in part on the syntactic confidence score, the proximity confidence score, and the semantic confidence score, wherein the overall confidence score indicates a confidence level associated with attributing the non-dictionary term to the data domain.

2. The method of claim 1 , wherein parsing a document to generate one or more document indexes corresponding to the document comprises:

dividing the document into a plurality of words;

performing one or more preprocessing steps on the plurality of words to identify one or more attributes corresponding to one or more words in the plurality of words; and

generating a raw document index comprising a list of a plurality of unique terms in the plurality of words, count information corresponding to number of occurrences of each unique term in the document, location information corresponding to one or more locations of each unique term in the document, and attribute information corresponding to one or more attributes of one or more unique terms in the plurality of unique terms.

3. The method of claim 2 , wherein performing one or more preprocessing steps on the plurality of words to identify one or more attributes corresponding to one or more words in the plurality of words comprises one or more of:

applying a part-of-speech classifier to each word in the one or more words to identify a part-of-speech associated with the word; or

applying a named-entity classifier to each word in the one or more words to identify a named entity indicated by the word.

4. The method of claim 2 , where parsing a document to generate one or more document indexes corresponding to the document further comprises:

filtering the plurality of words to generate a plurality of filtered words;

classifying the plurality of filtered words as either dictionary terms or non-dictionary terms based at least in part on one or more dictionaries;

generating a dictionary terms document index comprising a list of a plurality of unique dictionary terms in the plurality of filtered words, count information corresponding to number of occurrences of each unique dictionary term, and location information corresponding to one or more locations associated with each unique dictionary term in the document; and

generating a non-dictionary terms document index comprising a list of a plurality of unique non-dictionary terms in the plurality of filtered words, count information corresponding to number of occurrences of each unique non-dictionary term, and location information corresponding to one or more locations associated with each unique non-dictionary term in the document.

5. The method of claim 4 , wherein filtering the plurality of words to generate a plurality of filtered words comprises:

removing any words in the plurality of words that correspond to one or more punctuation characters in a list of punctuation characters;

removing any words in the plurality of words that correspond to one or more stop words in a list of stop words; and

lemmatizing at least one word in the one or more words based at least in part on the one or more dictionaries and attribute information corresponding to the at least one word.

6. The method of claim 1 , wherein determining a syntactic confidence score corresponding to a non-dictionary term in the plurality of index terms based at least in part on a syntactic analysis of the non-dictionary term comprises:

identifying the syntax of the non-dictionary term based on one or more of: regular expression based pattern matching of the non-dictionary term, lookup of the non-dictionary term in a table of identified syntaxes, or probabilistic matching of the non-dictionary term to one of a plurality of syntaxes; and

determining the syntactic confidence score based at least in part on the identified syntax.

7. The method of claim 1 , wherein determining a proximity confidence score corresponding to the non-dictionary term based at least in part on the location information and at least one proximity query associated with the non-dictionary term and one or more other terms in the document index comprises:

identifying the at least one proximity query corresponding to the non-dictionary term based at least in part on the syntax of the non-dictionary term, the at least one proximity query indicating a query distance between a first query term corresponding to the non-dictionary term and at least one second query term corresponding to at least one of the one or more other terms;

determining an actual distance between the first query term and the at least one second query term based at least in part on the location information; and

determining the proximity confidence score based at least in part on the determined actual distance and the query distance.

8. The method of claim 1 , wherein determining a semantic confidence score based at least in part on a plurality of dictionary terms in the plurality of index terms comprises:

identifying the one or more topics associated with the document based at least in part on the plurality of dictionary terms; and

determining the semantic confidence score based at least in part on the identified one or more topics.

9. The method of claim 8 , wherein identifying the one or more topics associated with the document based at least in part on the plurality of dictionary terms comprises:

generating a reduced document term matrix by performing singular value decomposition on a document term matrix corresponding to a plurality of documents, wherein the plurality of documents are associated with a plurality of topics and wherein the reduced document term matrix comprises a plurality of document columns corresponding to the plurality of documents and a plurality of term rows corresponding to a plurality of terms within the plurality of documents;

merging a dictionary terms index corresponding to the plurality of dictionary terms with the reduced document term matrix;

determining a document vector corresponding to the document based at least in part on one or more terms corresponding to the document in the reduced document term matrix;

computing one or more degrees of similarity between the document vector and one or more reference document vectors corresponding one or more other documents in the reduced document term matrix; and

identifying the one or more topics associated with the document based at least in part on the computed one or more degrees of similarity and one or more of the plurality of topics associated with the plurality of documents.

10. The method of claim 1 , wherein determining an overall confidence score corresponding to the non-dictionary term based at least in part on the syntactic confidence score, the proximity confidence score, and the semantic confidence score comprises:

calculating the overall confidence score as a product of the syntactic confidence score, the proximity confidence score, the semantic confidence score, and a prior confidence score, wherein the prior confidence score is based at least in part on historical data corresponding to locating members of the data domain in documents associated with the one or more topics.

11. An apparatus for determining a data domain associated with data, the apparatus comprising:

one or more processors; and

one or more memories operatively coupled to at least one of the one or more processors and having instructions stored thereon that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to:

parse a document to generate one or more document indexes corresponding to the document, the one or more document indexes comprising a plurality of index terms and location information corresponding to locations of the plurality of index terms within the document;

determine a syntactic confidence score corresponding to a non-dictionary term in the plurality of index terms based at least in part on a syntactic analysis of the non-dictionary term, wherein the syntactic confidence score indicates a confidence level associated with attributing a syntax of the non-dictionary term to the data domain;

determine a proximity confidence score corresponding to the non-dictionary term based at least in part on the location information and at least one proximity query associated with the non-dictionary term and one or more other terms in the document index, wherein the at least one proximity query is determined based at least in part on the syntax of the non-dictionary term and wherein the proximity confidence score indicates a confidence level associated with the at least one proximity query evaluating to true;

determine a semantic confidence score based at least in part on a plurality of dictionary terms in the plurality of index terms, wherein the semantic confidence score indicates a confidence level associated with attributing one or more topics associated with the document to the data domain; and

determine an overall confidence score corresponding to the non-dictionary term based at least in part on the syntactic confidence score, the proximity confidence score, and the semantic confidence score, wherein the overall confidence score indicates a confidence level associated with attributing the non-dictionary term to the data domain.

12. The apparatus of claim 11 , wherein the instructions that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to parse a document to generate one or more document indexes corresponding to the document further cause at least one of the one or more processors to:

divide the document into a plurality of words;

perform one or more preprocessing steps on the plurality of words to identify one or more attributes corresponding to one or more words in the plurality of words; and

generate a raw document index comprising a list of a plurality of unique terms in the plurality of words, count information corresponding to number of occurrences of each unique term in the document, location information corresponding to one or more locations of each unique term in the document, and attribute information corresponding to one or more attributes of one or more unique terms in the plurality of unique terms.

13. The apparatus of claim 12 , wherein the instructions that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to perform one or more preprocessing steps on the plurality of words to identify one or more attributes corresponding to one or more words in the plurality of words further cause at least one of the one or more processors to perform one or more of:

applying a part-of-speech classifier to each word in the one or more words to identify a part-of-speech associated with the word; or

applying a named-entity classifier to each word in the one or more words to identify a named entity indicated by the word.

14. The apparatus of claim 12 , where the instructions that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to parse a document to generate one or more document indexes corresponding to the document further cause at least one of the one or more processors to:

filter the plurality of words to generate a plurality of filtered words;

classify the plurality of filtered words as either dictionary terms or non-dictionary terms based at least in part on one or more dictionaries;

generate a dictionary terms document index comprising a list of a plurality of unique dictionary terms in the plurality of filtered words, count information corresponding to number of occurrences of each unique dictionary term, and location information corresponding to one or more locations associated with each unique dictionary term in the document; and

generate a non-dictionary terms document index comprising a list of a plurality of unique non-dictionary terms in the plurality of filtered words, count information corresponding to number of occurrences of each unique non-dictionary term, and location information corresponding to one or more locations associated with each unique non-dictionary term in the document.

15. The apparatus of claim 14 , wherein the instructions that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to filter the plurality of words to generate a plurality of filtered words further cause at least one of the one or more processors to:

remove any words in the plurality of words that correspond to one or more punctuation characters in a list of punctuation characters;

remove any words in the plurality of words that correspond to one or more stop words in a list of stop words; and

lemmatize at least one word in the one or more words based at least in part on the one or more dictionaries and attribute information corresponding to the at least one word.

16. The apparatus of claim 11 , wherein the instructions that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to determine a syntactic confidence score corresponding to a non-dictionary term in the plurality of index terms based at least in part on a syntactic analysis of the non-dictionary term further cause at least one of the one or more processors to:

identify the syntax of the non-dictionary term based on one or more of: regular expression based pattern matching of the non-dictionary term, lookup of the non-dictionary term in a table of identified syntaxes, or probabilistic matching of the non-dictionary term to one of a plurality of syntaxes; and

determine the syntactic confidence score based at least in part on the identified syntax.

17. The apparatus of claim 11 , wherein the instructions that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to determine a proximity confidence score corresponding to the non-dictionary term based at least in part on the location information and at least one proximity query associated with the non-dictionary term and one or more other terms in the document index further cause at least one of the one or more processors to:

identify the at least one proximity query corresponding to the non-dictionary term based at least in part on the syntax of the non-dictionary term, the at least one proximity query indicating a query distance between a first query term corresponding to the non-dictionary term and at least one second query term corresponding to at least one of the one or more other terms;

determine an actual distance between the first query term and the at least one second query term based at least in part on the location information; and

determine the proximity confidence score based at least in part on the determined actual distance and the query distance.

18. The apparatus of claim 11 , wherein the instructions that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to determine a semantic confidence score based at least in part on a plurality of dictionary terms in the plurality of index terms further cause at least one of the one or more processors to:

identify the one or more topics associated with the document based at least in part on the plurality of dictionary terms; and

determine the semantic confidence score based at least in part on the identified one or more topics.

19. The apparatus of claim 18 , wherein the instructions that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to identify the one or more topics associated with the document based at least in part on the plurality of dictionary terms further cause at least one of the one or more processors to:

generate a reduced document term matrix by performing singular value decomposition on a document term matrix corresponding to a plurality of documents, wherein the plurality of documents are associated with a plurality of topics and wherein the reduced document term matrix comprises a plurality of document columns corresponding to the plurality of documents and a plurality of term rows corresponding to a plurality of terms within the plurality of documents;

merge a dictionary terms index corresponding to the plurality of dictionary terms with the reduced document term matrix;

determine a document vector corresponding to the document based at least in part on one or more terms corresponding to the document in the reduced document term matrix;

compute one or more degrees of similarity between the document vector and one or more reference document vectors corresponding one or more other documents in the reduced document term matrix; and

identify the one or more topics associated with the document based at least in part on the computed one or more degrees of similarity and one or more of the plurality of topics associated with the plurality of documents.

20. The apparatus of claim 11 , wherein the instructions that, when executed by at least one of the one or more processors, cause at least one of the one or more processors to determine an overall confidence score corresponding to the non-dictionary term based at least in part on the syntactic confidence score, the proximity confidence score, and the semantic confidence score further cause at least one of the one or more processors to:

calculate the overall confidence score as a product of the syntactic confidence score, the proximity confidence score, the semantic confidence score, and a prior confidence score, wherein the prior confidence score is based at least in part on historical data corresponding to locating members of the data domain in documents associated with the one or more topics.

21. At least one non-transitory computer-readable medium storing computer-readable instructions that, when executed by one or more computing devices, cause at least one of the one or more computing devices to:

parse a document to generate one or more document indexes corresponding to the document, the one or more document indexes comprising a plurality of index terms and location information corresponding to locations of the plurality of index terms within the document;

determine a syntactic confidence score corresponding to a non-dictionary term in the plurality of index terms based at least in part on a syntactic analysis of the non-dictionary term, wherein the syntactic confidence score indicates a confidence level associated with attributing a syntax of the non-dictionary term to a data domain;

determine a proximity confidence score corresponding to the non-dictionary term based at least in part on the location information and at least one proximity query associated with the non-dictionary term and one or more other terms in the document index, wherein the at least one proximity query is determined based at least in part on the syntax of the non-dictionary term and wherein the proximity confidence score indicates a confidence level associated with the at least one proximity query evaluating to true;

determine a semantic confidence score based at least in part on a plurality of dictionary terms in the plurality of index terms, wherein the semantic confidence score indicates a confidence level associated with attributing one or more topics associated with the document to the data domain; and

determine an overall confidence score corresponding to the non-dictionary term based at least in part on the syntactic confidence score, the proximity confidence score, and the semantic confidence score, wherein the overall confidence score indicates a confidence level associated with attributing the non-dictionary term to the data domain.

22. The at least one non-transitory computer-readable medium of claim 21 , wherein the instructions that, when executed by at least one of the one or more computing devices, cause at least one of the one or more computing devices to parse a document to generate one or more document indexes corresponding to the document further cause at least one of the one or more computing devices to:

divide the document into a plurality of words;

perform one or more preprocessing steps on the plurality of words to identify one or more attributes corresponding to one or more words in the plurality of words; and

generate a raw document index comprising a list of a plurality of unique terms in the plurality of words, count information corresponding to number of occurrences of each unique term in the document, location information corresponding to one or more locations of each unique term in the document, and attribute information corresponding to one or more attributes of one or more unique terms in the plurality of unique terms.

23. The at least one non-transitory computer-readable medium of claim 22 , wherein the instructions that, when executed by at least one of the one or more computing devices, cause at least one of the one or more computing devices to perform one or more preprocessing steps on the plurality of words to identify one or more attributes corresponding to one or more words in the plurality of words further cause at least one of the one or more computing devices to perform one or more of:

applying a part-of-speech classifier to each word in the one or more words to identify a part-of-speech associated with the word; or

applying a named-entity classifier to each word in the one or more words to identify a named entity indicated by the word.

24. The at least one non-transitory computer-readable medium of claim 22 , where the instructions that, when executed by at least one of the one or more computing devices, cause at least one of the one or more computing devices to parse a document to generate one or more document indexes corresponding to the document further cause at least one of the one or more computing devices to:

filter the plurality of words to generate a plurality of filtered words;

classify the plurality of filtered words as either dictionary terms or non-dictionary terms based at least in part on one or more dictionaries;

generate a dictionary terms document index comprising a list of a plurality of unique dictionary terms in the plurality of filtered words, count information corresponding to number of occurrences of each unique dictionary term, and location information corresponding to one or more locations associated with each unique dictionary term in the document; and

generate a non-dictionary terms document index comprising a list of a plurality of unique non-dictionary terms in the plurality of filtered words, count information corresponding to number of occurrences of each unique non-dictionary term, and location information corresponding to one or more locations associated with each unique non-dictionary term in the document.

25. The at least one non-transitory computer-readable medium of claim 24 , wherein the instructions that, when executed by at least one of the one or more computing devices, cause at least one of the one or more computing devices to filter the plurality of words to generate a plurality of filtered words further cause at least one of the one or more computing devices to:

remove any words in the plurality of words that correspond to one or more punctuation characters in a list of punctuation characters;

remove any words in the plurality of words that correspond to one or more stop words in a list of stop words; and

lemmatize at least one word in the one or more words based at least in part on the one or more dictionaries and attribute information corresponding to the at least one word.

26. The at least one non-transitory computer-readable medium of claim 21 , wherein the instructions that, when executed by at least one of the one or more computing devices, cause at least one of the one or more computing devices to determine a syntactic confidence score corresponding to a non-dictionary term in the plurality of index terms based at least in part on a syntactic analysis of the non-dictionary term further cause at least one of the one or more computing devices to:

identify the syntax of the non-dictionary term based on one or more of: regular expression based pattern matching of the non-dictionary term, lookup of the non-dictionary term in a table of identified syntaxes, or probabilistic matching of the non-dictionary term to one of a plurality of syntaxes; and

determine the syntactic confidence score based at least in part on the identified syntax.

27. The at least one non-transitory computer-readable medium of claim 21 , wherein the instructions that, when executed by at least one of the one or more computing devices, cause at least one of the one or more computing devices to determine a proximity confidence score corresponding to the non-dictionary term based at least in part on the location information and at least one proximity query associated with the non-dictionary term and one or more other terms in the document index further cause at least one of the one or more computing devices to:

identify the at least one proximity query corresponding to the non-dictionary term based at least in part on the syntax of the non-dictionary term, the at least one proximity query indicating a query distance between a first query term corresponding to the non-dictionary term and at least one second query term corresponding to at least one of the one or more other terms;

determine an actual distance between the first query term and the at least one second query term based at least in part on the location information; and

determine the proximity confidence score based at least in part on the determined actual distance and the query distance.

28. The at least one non-transitory computer-readable medium of claim 21 , wherein the instructions that, when executed by at least one of the one or more computing devices, cause at least one of the one or more computing devices to determine a semantic confidence score based at least in part on a plurality of dictionary terms in the plurality of index terms further cause at least one of the one or more computing devices to:

identify the one or more topics associated with the document based at least in part on the plurality of dictionary terms; and

determine the semantic confidence score based at least in part on the identified one or more topics.

29. The at least one non-transitory computer-readable medium of claim 28 , wherein the instructions that, when executed by at least one of the one or more computing devices, cause at least one of the one or more computing devices to identify the one or more topics associated with the document based at least in part on the plurality of dictionary terms further cause at least one of the one or more computing devices to:

generate a reduced document term matrix by performing singular value decomposition on a document term matrix corresponding to a plurality of documents, wherein the plurality of documents are associated with a plurality of topics and wherein the reduced document term matrix comprises a plurality of document columns corresponding to the plurality of documents and a plurality of term rows corresponding to a plurality of terms within the plurality of documents;

merge a dictionary terms index corresponding to the plurality of dictionary terms with the reduced document term matrix;

determine a document vector corresponding to the document based at least in part on one or more terms corresponding to the document in the reduced document term matrix;

compute one or more degrees of similarity between the document vector and one or more reference document vectors corresponding one or more other documents in the reduced document term matrix; and

identify the one or more topics associated with the document based at least in part on the computed one or more degrees of similarity and one or more of the plurality of topics associated with the plurality of documents.

30. The at least one non-transitory computer-readable medium of claim 21 , wherein the instructions that, when executed by at least one of the one or more computing devices, cause at least one of the one or more computing devices to determine an overall confidence score corresponding to the non-dictionary term based at least in part on the syntactic confidence score, the proximity confidence score, and the semantic confidence score further cause at least one of the one or more computing devices to:

calculate the overall confidence score as a product of the syntactic confidence score, the proximity confidence score, the semantic confidence score, and a prior confidence score, wherein the prior confidence score is based at least in part on historical data corresponding to locating members of the data domain in documents associated with the one or more topics.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: JPMORGAN CHASE BANK, N.A.
To: INFORMATICA LLC
Reel/Frame 073597/0722 →
RELEASE OF SECURITY INTEREST Recorded Oct 29, 2021
From: NOMURA CORPORATE FUNDING AMERICAS, LLC
To: INFORMATICA LLC
Reel/Frame 057973/0496 →
RELEASE OF SECURITY INTEREST Recorded Oct 29, 2021
From: NOMURA CORPORATE FUNDING AMERICAS, LLC
To: INFORMATICA LLC
Reel/Frame 057973/0507 →
SECURITY INTEREST Recorded Oct 29, 2021
From: INFORMATICA LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 057973/0568 →
FIRST LIEN SECURITY AGREEMENT SUPPLEMENT Recorded Feb 26, 2020
From: INFORMATICA LLC
To: NOMURA CORPORATE FUNDING AMERICAS, LLC
Reel/Frame 052019/0764 →
SECURITY INTEREST Recorded Feb 26, 2020
From: INFORMATICA LLC
To: NOMURA CORPORATE FUNDING AMERICAS, LLC
Reel/Frame 052022/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2017
From: BALABINE, IGOR
To: INFORMATICA LLC
Reel/Frame 044109/0480 →
Continuity (1)
Related Publication 20190042568A1 · Feb 7, 2019