IP Library Granted Patent US 10,248,718
Granted Patent B2
US 10,248,718 · App. 15/189,569 · Granted Apr 2, 2019

Generating a domain ontology using word embeddings

Inventors: Sanjay Podder (Thane, IN); Niharika Gupta (Bareilly, IN); Annervaz Karukapadath Mohamedrasheed (Bangalore, IN); Shubhashis Sengupta (Bangalore, IN)
Assignee: Accenture Global Solutions Limited
G06F17/30713G06F17/2785G06F17/30011G06F17/3071G06F17/30734
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,248,718
App. No.
15/189,569
Granted
Apr 2, 2019
Kind
B2
Abstract

A device may receive a text, from a text source, in association with a request to generate an ontology for the text. The device may generate a set of word vectors from a list of terms determined from the text. The device may determine a quantity of term clusters to be generated to form the ontology based on the set of word vectors. The device may generate term clusters based on the quantity of term clusters, attributes, and/or non-hierarchical relationships. The term clusters may be associated with concepts of the ontology. The device may provide the term clusters for display via a user interface associated with a device.

Claims (93)

1. A device, comprising:

one or more processors to:

generate a set of distributed word vectors from a list of terms determined from a text using a vector model associated with generating the set of distributed word vectors,

the set of distributed word vectors representing a plurality of real numbers for each term in the list of terms;

determine a quantity of term clusters, to be generated to form an ontology of terms in the text, based on the set of distributed word vectors and using a statistical technique;

generate term clusters, representing concepts of the ontology of terms, based on the quantity of term clusters and using a recursive divisive clustering technique;

perform a frequency analysis for terms included in the ontology of terms;

determine non-hierarchical relationships or attributes for relationships between the terms included in the ontology of terms based on the frequency analysis; and

output the term clusters, and data identifying the non-hierarchical relationships or attributes for relationships, to permit another device to analyze a set of documents using the term clusters.

2. The device of claim 1 , where the one or more processors are further to:

determine term sub-clusters representing sub-concepts of the ontology of terms; and

generate a hierarchy of term clusters for the ontology of terms based on the term clusters and the term sub-clusters.

3. The device of claim 1 , where the one or more processors are further to:

receive an indication to determine the non-hierarchical relationships between the terms included in the ontology of terms; and

determine the non-hierarchical relationships between the terms included in the ontology of terms.

4. The device of claim 1 , where the one or more processors are further to:

receive an indication to determine names for the term clusters included in the ontology of terms; and

determine, based on an algorithm to identify a semantic relationship between the terms included in the term clusters, the names for the term clusters included in the ontology of terms.

5. The device of claim 1 , where the vector model associated with generating the set of distributed word vectors includes:

a continuous bag of words (CBOW) vector model,

a skip gram vector model, or

a global vector (GloVe) vector model.

6. The device of claim 1 , where the statistical technique includes:

a gap analysis,

an elbow analysis, or

a silhouette analysis.

7. The device of claim 1 , where the recursive divisive clustering technique

applies a k means clustering technique.

8. The device of claim 1 , where the one or more processors are further to:

output the ontology, data identifying the non-hierarchical relationships, or data identifying the attributes for the relationships, for display via a user interface associated with separate device.

9. A non-transitory computer-readable medium storing instructions, the instructions comprising:

one or more instructions that, when executed by one or more processors, cause the one or more processors to:

receive a text, from a text source, in association with a request to generate an ontology for the text;

generate a set of distributed word vectors from a list of terms determined from the text,

the set of distributed word vectors representing a plurality of real numbers for each term in the list of terms;

determine a quantity of term clusters to be generated to form the ontology based on the set of distributed word vectors;

generate term clusters based on the quantity of term clusters and using a recursive divisive clustering technique,

the term clusters being associated with concepts of the ontology;

perform a frequency analysis for terms included in the ontology;

determine non-hierarchical relationships or attributes for relationships between the terms included in the ontology based on the frequency analysis; and

provide the term clusters, and data identifying the non-hierarchical relationships or attributes for relationships, for display via a user interface associated with a device.

10. The non-transitory computer-readable medium of claim 9 , where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:

identify a first term cluster;

use the recursive divisive clustering technique to cluster the set of distributed word vectors associated with the first term cluster to form a first term sub-cluster;

identify a second term cluster; and

use the recursive divisive clustering technique to cluster the set of distributed word vectors associated with the second term cluster to form a second term sub-cluster.

11. The non-transitory computer-readable medium of claim 9 , where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:

identify a first term cluster;

identify a first term sub-cluster;

determine that the first term sub-cluster is a subset of the first term cluster; and

generate a hierarchy of the first term cluster and the first term sub-cluster based on determining that the first term sub-cluster is the subset of the first term cluster.

12. The non-transitory computer-readable medium of claim 9 , where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:

identify one or more terms of the term clusters;

perform a comparison of the one or more terms and a set of terms stored in a lexical resource; and

determine names for the term clusters where the comparison indicates a match.

13. The non-transitory computer-readable medium of claim 9 , where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:

identify a first term cluster;

identify a second term cluster;

determine that the first term cluster is associated with the second term cluster; and

determine a first non-hierarchical relationship, of the non-hierarchical relationships, between the first term cluster and the second term cluster based on determining that the first term cluster is associated with the second term cluster, or

determine a first attribute, of the attributes for relationships, for a first relationship between the first term cluster and the second term cluster based on determining that the first term cluster is associated with the second term cluster.

14. The non-transitory computer-readable medium of claim 9 , where the one or more instructions, that cause the one or more processors to determine the quantity of term clusters, cause the one or more processors to:

generate a curve that identifies a plurality of quantities of term clusters and a plurality of values of an error statistic associated with the plurality of quantities of term clusters; and

identify the quantity of term clusters based on the plurality of values of the error statistic.

15. The non-transitory computer-readable medium of claim 9 , where the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:

receive an indication via the user interface that terms of the term clusters are not related;

re-generate the term clusters based on receiving the indication; and

re-provide the term clusters for display based on re-generating the term clusters.

16. A method, comprising:

generating, by a device, a set of distributed word vectors from a list of terms determined from a text,

the set of distributed word vectors representing a plurality of real numbers for each term in the list of terms;

determining, by the device, a quantity of term clusters, to be generated to form an ontology of terms in the text, based on the set of distributed word vectors;

generating, by the device, term clusters based on the quantity of term clusters and using a recursive divisive clustering technique;

determining, by the device, term sub-clusters associated with the term clusters;

generating, by the device, a hierarchy of term clusters for the ontology of terms based on the term clusters and the term sub-clusters;

performing, by the device, a frequency analysis for terms included in the ontology of terms;

determining, by the device, non-hierarchical relationships or attributes for relationships between the terms included in the ontology of terms based on the frequency analysis; and

providing, by the device, the term clusters, data identifying the non-hierarchical relationships or attributes for relationships, and the term sub-clusters to permit processing of another text.

17. The method of claim 16 , further comprising:

determining names for the term clusters and the term sub-clusters by:

using a lexical resource to identify the names for the term clusters and the term sub-clusters,

using a semantic relationship between two or more terms of the term clusters and the term sub-clusters to identify the names for the term clusters and the term sub-clusters, or

using a term cluster centroid or a term sub-cluster centroid to identify the names for the term clusters and the term sub-clusters.

18. The method of claim 16 , where performing the frequency analysis comprises:

determining a first frequency of occurrence of a plurality of terms, of the terms included in the ontology of terms, appearing in a semantic relationship, or

determining a second frequency of occurrence of the plurality of terms appearing in a subject-verb-object (SVO) tuple; and

determining that the first frequency of occurrence or the second frequency of occurrence exceeds a threshold frequency.

19. The method of claim 16 , further comprising:

generating the ontology of terms based on:

the term clusters representing concepts of the ontology of terms,

the term sub-clusters representing sub-concepts of the ontology of terms, or

the hierarchy of term clusters identifying which term sub-clusters are associated with the term clusters.

20. The method of claim 16 , where the device is a client device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2016
From: PODDER, SANJAY; GUPTA, NIHARIKA; KARUKAPADATH MOHAMEDRASHEED, ANNERVAZ; SENGUPTA, SHUBHASHIS
To: ACCENTURE GLOBAL SOLUTIONS LIMITED
Reel/Frame 039339/0102 →
Priority Claims (1)
IN 3427/CHE/2015 · Jul 4, 2015 · national
Continuity (1)
Related Publication 20170004208A1 · Jan 5, 2017