Generating ontologies from programmatic specifications
Abstract
Implementations include methods, systems, computer-readable storage medium for generating ontologies from programmatic specifications. A method includes receiving data indicating a configuration for a data crawler; extracting, by the data crawler, representations of a subset of programmatic specifications; generating a knowledge graph model of the subset of the programmatic specifications; refining the knowledge graph model by classifying nodes in the knowledge graph model to obtain a refined knowledge graph model; and generating an ontology from the refined knowledge graph model. Refining the knowledge graph model comprises: iteratively classifying nodes of the knowledge graph model and refining the knowledge graph model based on the classifications of the nodes to obtain the refined knowledge graph model. the programmatic specifications include application programming interface specifications or databases of tables.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer-implemented method comprising:
receiving data indicating a configuration for a data crawler; extracting, by the data crawler, representations of a subset of programmatic specifications; generating a knowledge graph model of the subset of the programmatic specifications; refining the knowledge graph model by classifying nodes in the knowledge graph model to obtain a refined knowledge graph model; and generating an ontology from the refined knowledge graph model.
2 . The method of claim 1 , wherein:
the knowledge graph model includes nodes and edges; a first node represents a first object type; a second node represents a second object type; attributes of the first node represent attributes of the first object type; and an edge between the first node and a second node represents an attribute of the first object type that references the second object type.
3 . The method of claim 1 , wherein:
classifying the nodes in the knowledge graph model comprises classifying a node as matching a category; and refining the knowledge graph model comprises:
in response to classifying the node as matching the category, applying a refinement policy for the category.
4 . The method of claim 3 , wherein applying the refinement policy for the category comprises removing the node from the knowledge graph model.
5 . The method of claim 3 , wherein applying the refinement policy for the category comprises collapsing the node into another node of the knowledge graph model.
6 . The method of claim 5 , wherein collapsing the node into the another node of the knowledge graph model comprises collapsing attributes of the node into the another node.
7 . The method of claim 5 , wherein collapsing the node into the another node of the knowledge graph model comprises connecting edges of the node to the another node.
8 . The method of claim 1 , wherein classifying the nodes in the knowledge graph model comprises evaluating the knowledge graph model using a set of classifiers, each classifier of the set of classifiers being associated with a type category.
9 . The method of claim 8 , comprising:
receiving policy data identifying the set of classifiers for evaluating the knowledge graph model.
10 . The method of claim 9 , wherein the policy data is received as user input.
11 . The method of claim 8 , wherein refining the knowledge graph model comprises:
evaluating the knowledge graph model using a first classifier of the set of classifiers; based on the evaluation using the first classifier, removing nodes of the knowledge graph model to obtain a first refined knowledge graph model; evaluating the first refined knowledge graph model using a second classifier of the set of classifiers; and based on the evaluation using the second classifier, removing nodes of the knowledge graph model to obtain a second refined knowledge graph model.
12 . The method of claim 1 , wherein refining the knowledge graph model comprises:
iteratively classifying nodes of the knowledge graph model and refining the knowledge graph model based on the classifications of the nodes to obtain the refined knowledge graph model.
13 . The method of claim 1 , comprising:
refining the knowledge graph model by:
iteratively performing, on the knowledge graph model, a series of steps, each step including a classification sub-step and a refinement sub-step, until a similarity between a second refined knowledge graph model output by a final step of the series of steps and a first refined knowledge graph model output by the final step of the series of steps in the immediately previous iteration satisfies similarity criteria; and
determining to generate the ontology from the second refined knowledge graph model.
14 . The method of claim 1 , comprising:
refining the knowledge graph model by:
applying a set of classifiers and refiners to the knowledge graph model to obtain a first refined knowledge graph model; and
determining that a similarity between the first refined knowledge graph model and the knowledge graph model satisfies similarity criteria; and
in response to determining that the similarity between the first refined knowledge graph model and the knowledge graph model satisfies similarity criteria, determining to generate the ontology from the first refined knowledge graph model.
15 . The method of claim 1 , wherein the programmatic specifications comprise application programming interface (API) specifications.
16 . The method of claim 1 , wherein the programmatic specifications comprise databases of tables.
17 . The method of claim 1 , comprising presenting a visual representation of the ontology on a user interface.
18 . The method of claim 1 , wherein the data indicating the configuration for the data crawler is received as user input.
19 . A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
receiving data indicating a configuration for a data crawler; extracting, by the data crawler, representations of a subset of programmatic specifications; generating a knowledge graph model of the subset of the programmatic specifications; refining the knowledge graph model by classifying nodes in the knowledge graph model to obtain a refined knowledge graph model; and
generating an ontology from the refined knowledge graph model.
20 . A system, comprising:
a computing device; and a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations comprising:
receiving data indicating a configuration for a data crawler;
extracting, by the data crawler, representations of a subset of programmatic specifications;
generating a knowledge graph model of the subset of the programmatic specifications;
refining the knowledge graph model by classifying nodes in the knowledge graph model to obtain a refined knowledge graph model; and
generating an ontology from the refined knowledge graph model.Join the waitlist — get patent alerts
Track US2023169360A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.