Automatic Knowledge Graph Construction

By training a machine learning model on existing knowledge graphs to predict term sequences, the method automates the creation of new knowledge graphs, reducing the need for skilled personnel and enabling efficient knowledge graph construction.

JP7692469B2Active Publication Date: 2025-06-13INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023514740
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-09-29
Filing Date
2021-08-18
Publication Date
2025-06-13
Estimated Expiration
2041-08-18

AI Technical Summary

Technical Problem

The construction of knowledge graphs from increasingly large datasets is labor-intensive and requires highly skilled personnel, as it involves defining and maintaining specific parsers and infrastructure.

Method used

A method that involves receiving existing knowledge graphs, sampling random walks, determining embedding vectors for vertices and edges, training a machine learning model to predict term sequences, and using these predictions to create a new knowledge graph from a set of documents.

Benefits of technology

This approach enables the automated creation of knowledge graphs with reduced expertise requirements, allowing for the generation of new knowledge graphs as a service using existing knowledge graphs within the same domain.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007692469000001
    Figure 0007692469000001
  • Figure 0007692469000002
    Figure 0007692469000002
  • Figure 0007692469000003
    Figure 0007692469000003
Patent Text Reader

Abstract

A method for creating a new knowledge graph may be provided. The method includes providing an existing knowledge graph, sampling a random walk through the existing knowledge graph, determining embedding vectors for the vertices and edges of the sampled random walk, and training a machine learning model using the sequence of embedding vectors of the random walk as input. The method also includes receiving a set of documents, determining a sequence of terms from phrases in the documents, creating a sequence of embedding vectors from the sequence of terms determined from the phrases, and using the sequence of embedding vectors created from the sequence of terms determined from the phrases as input to the trained machine learning model to predict a second sequence of terms. Finally, the method includes merging the predicted second sequence of terms, thereby creating a new knowledge graph.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention generally relates to knowledge graphs, and more particularly to a method for creating a novel knowledge graph. The present invention further relates to a knowledge graph construction system and a computer program product for creating a knowledge graph.

Background Art

[0002] Artificial intelligence (AI) is one of the topics attracting attention in the IT (information technology) industry. AI is one of the fields that have developed most rapidly in technology. The lack of available skills in parallel with the rapid development of a large number of algorithms and systems is exacerbating the situation. Enterprises and science have recently begun to systematize knowledge and data as a knowledge graph including facts and the relationships between those facts. However, the construction of a knowledge graph from continuously increasing data is labor-intensive and not a clearly defined process. A lot of experience is required. Currently, a typical approach is to define specific parsers and run them against a corpus of information, such as multiple documents, in order to find relationships between facts and assign specific weights to those relationships. Thereafter, experts need to summarize them as a novel knowledge graph.

[0003] Defining, coding, maintaining parsers, and maintaining the associated infrastructure in the context of constantly changing big data is a difficult task even for the largest enterprises and organizations. Parsers are typically specific to content and knowledge areas and may require highly skilled personnel for their development. Therefore, a parser developed for one knowledge area cannot be used in a one-to-one manner for another corpus or another knowledge area.

[0004] For example, among the methods in the field of knowledge-based application technology, there are those that can obtain triplet entity structure vectors together with the description documents of each entity in the triplet entity structure vector. Next, in order to obtain a document operation distribution matrix, statistical processing for word segmentation of the description documents is performed. From this, a keyword vector matrix is obtained and converted into a multi-region knowledge map triplet information space.

[0005] Furthermore, Document CN110704640A discloses a method and device for representing and learning a knowledge graph, in which the knowledge graph is learned and the entities to be learned are obtained from the acquired knowledge graph. Thereby, an entity-word heterogeneous graph can capture the local and global semantic relationships between entities and words, and the short-distance and long-distance semantic relationships between entities and words can be used.

[0006] The drawback of this known solution would be that highly skilled personnel are still required. Therefore, the problem of how to efficiently solve the problem of creating a knowledge graph is a technical problem that may require an early technical solution.

Summary of the Invention

[0007] According to one aspect of the present invention, a method for creating a new knowledge graph can be provided. The method may include receiving at least one existing knowledge graph, sampling a random walk through the at least one existing knowledge graph, determining embedding vectors for the vertices and edges of the sampled random walk, and training a machine learning model to create a trained machine learning model capable of predicting a sequence of terms.

[0008] The method further includes providing a set of documents, determining a sequence of terms from the phrases in the documents of the set of documents, creating a sequence of embedding vectors from the sequence of terms determined from the phrases, and using the sequence of embedding vectors created from the sequence of terms determined from the phrases as an input to a trained machine learning model to predict a second sequence of terms.

[0009] Finally and importantly, the method may include merging the predicted second sequence of terms, thereby creating a new knowledge graph.

[0010] According to another aspect of the present invention, a knowledge graph construction system for creating a knowledge graph can be provided. The knowledge graph construction system may include a memory communicatively coupled to a processor. The processor uses program code stored in the memory to receive at least one existing knowledge graph, sample a random walk traversing the at least one existing knowledge graph, determine embedding vectors for vertices and edges of the sampled random walk, train a machine learning model, and thereby create a trained machine learning model configured to predict a sequence of terms using a sequence of embedding vectors of the random walk as an input.

[0011] Also, the processor of the knowledge graph construction system may be configured to use program code stored in the memory to provide a set of documents, determine a sequence of terms from the phrases in the documents of the set of documents, create a sequence of embedding vectors from the sequence of terms determined from the phrases, use the sequence of embedding vectors created from the sequence of terms determined from the phrases as an input to a trained machine learning model to predict a second sequence of terms, and create a new knowledge graph by merging the predicted second sequence of terms.

[0012] The proposed method for creating a novel knowledge graph can provide multiple advantages, technical effects, contributions, or improvements, or combinations thereof.

[0013] The technical problem of automatically creating a knowledge graph is addressed. In this way, a knowledge graph can be generated, and it may require fewer experts than traditional methods. The novel knowledge graph may be generated as a service by a service provider. For this purpose, an existing knowledge graph in a particular knowledge area may typically be used for training a machine learning model system to generate a novel knowledge graph from a new corpus of documents without additional human intervention.

[0014] Generally, more general knowledge graphs, as well as ultimately knowledge graphs from other knowledge areas, can be used for training machine learning models. However, better results for newly generated knowledge graphs can be expected when using existing knowledge graphs within the same knowledge domain.

[0015] As described below, various documents can be used for a new corpus. The documents do not need to be created in a particular manner. However, the documents may be preprocessed as part of the method proposed herein.

[0016] The principle of the technical concept proposed herein can be based on the fact that the closer the embedded vectors are related to each other, i.e., the closer the relative embedded vectors are to each other, the more closely the terms and phrases can be related to each other.

[0017] Therefore, based on the core technology of the existing knowledge graph and the trained machine learning system specific to the knowledge area of the existing knowledge graph, a plurality of new knowledge graphs can be automatically generated. No personnel with advanced skills are required, and the generation of the newly constructed knowledge graph can be automated and provided as a service.

[0018] Other embodiments of the above concepts applicable to this method and system will be described in more detail below.

[0019] According to an advantageous embodiment, the method may also include receiving a natural language query including a query sequence of terms, determining a query embedding vector of the query sequence of terms, and using a trained machine learning model to predict a result sequence of terms by using the query embedding vector as an input to the trained machine learning model. Thus, the proposed method may make it possible to create a question-answering machine for a specific topic in a substantially automated manner, which may be done by providing an existing knowledge graph related to the same topic and a set of documents from which a question-answering machine can be automatically constructed. Here, the original knowledge graph is typically not part of the question-answering machine to be constructed. Thus, a strict distinction can be maintained between the basis (i.e., the existing knowledge graph) and the newly created knowledge graph. No interference can occur between them.

[0020] According to an optional embodiment, the method may also include storing the predicted result sequence of terms. This can enable a faster response from the underlying machine (e.g., using a question-answering machine) since it is not necessary to recreate the answer using the trained machine learning model. Instead, the previously generated answer can simply be reused. This can be particularly advantageous when the proposed method is used as a FAQ (frequently asked questions) answering machine.

[0021] According to a high-level embodiment, the method may also include returning a document or a reference to a document or both from a provided set of documents related to the resulting sequence terms. In this way, the method can provide the basis for the given answer, rather than functioning as a black box, for example in the form of a question-answering machine, and is supported by the document or fragment of the document on which each answer can be based. Instead of the complete document, alternatively, pointers to those documents may be returned.

[0022] According to an acceptable embodiment of this method, the starting point of the random walk may be selected from a group consisting of a randomly selected leaf of an existing knowledge graph (e.g., in the case of a mesh knowledge graph), a root of an existing knowledge graph (e.g., in the case of a hierarchical knowledge graph following a random path along a tree knowledge graph), and a selected vertex of an existing knowledge graph, and the selection is made based on pre-defined rules. Here, the pre-defined rules can have various forms. For example, the random walk may always start from the same vertex (as in the case of a hierarchical knowledge graph), or the random walk may start from a randomly selected vertex among a specific set of vertices, such as a core group. Generally, there may be no constraints on the selection.

[0023] According to another embodiment of the method, the phrases of the document may be selected from a group consisting of, for example, a single term in the form of an expression or a word form, a plurality of subsequent (or concatenated) terms, i.e., a group of words separated by a parser, and a (complete) sentence. Also, two or more sentences may be used. This may depend on the structure of the document. In some cases, it may also be useful if the entire paragraph is used as a phrase. Finally, the definition of the phrase may be a configurable parameter of the underlying system.

[0024] According to a preferred embodiment of the method, the machine learning model may be a sequence-to-sequence machine learning model. Sequence-to-sequence learning (seq2seq) relates to training a model to convert a sequence in one domain (e.g., a given knowledge graph, or in another context, one language, e.g., English) to a sequence in another domain (e.g., a newly constructed knowledge graph, or in that context, another language, e.g., the same sentence translated to French). This may be used for the free-form question answering proposed herein (which generates a natural language answer when given a natural language question). Generally, this can be applied whenever text generation is required. There are multiple ways of handling such tasks, such as the use of RNNs (recurrent neural networks) or 1D convenets (one-dimensional convolutional networks).

[0025] According to an interesting embodiment of the method, a set of documents may be papers, books, whitepapers, newspapers, proceedings, magazines, chat protocols, manuscripts, handwritten notes (specifically those using optical character recognition (OCR)), server logs, or email threads, or any mixture thereof. Generally, one or more larger (i.e., larger than a predefined number) sets of phrases can be used as a basis for constructing a new knowledge graph.

[0026] According to a useful embodiment of the method, merging may include creating a plurality of tuples from a second sequence of predicted terms, the tuples consisting of edges and connected vertices, specifically two connected vertices for one edge. Thereby, the edges and vertices of the new knowledge graph can correspond to the terms in the provided set of documents, and the term metadata characterizing the terms as edges or vertices may be provided as an additional output of the trained machine learning system. Thus, the additional information available in the corpus underlying the construction of the new knowledge graph may be used in (i) the process of constructing the new knowledge graph and (ii) answer prediction using the trained machine learning model, i.e., answer generation, whereby the reasoning can also become transparent.

[0027] According to an enhanced embodiment, the method may also include storing the source data of the edges and vertices together with the edges and vertices respectively. Such source data may be treated as metadata. The source data allows the underlying knowledge graph and the associated question-answer machine to provide examples to the user for understanding the basis and reasoning of the predicted answer.

[0028] According to another useful embodiment of the method, the resulting sequence of terms may be a sequence of edges and associated vertices in the knowledge graph. Thus, the natural structure of the newly constructed knowledge graph may be used as the basis for answering natural language queries. Specifically, the resulting sequence of terms may be the terms stored in the vertices and edges. This understanding and interpretation of vertices and edges apply throughout this specification.

[0029] According to a further enhanced embodiment of the method, the natural language system may convert a sequence of edges, i.e., terms stored "at" the edge (i.e., in the memory associated with the edge), and related vertices, i.e., terms stored "at" the vertex (i.e., in the memory associated with the vertex), into a form understandable by humans. For this purpose, between the terms of the edges and vertices extracted from the knowledge graph, the natural language system only needs to finally add some "linguistic glue" in the form of conjunctions and a verb to create a complete sentence interpretable by humans.

[0030] Also, the embodiment may take the form of a computer-usable medium or computer-readable medium that provides program code accessible by a computer or any instruction execution system, or a related computer program product for use in connection therewith. In the description herein, a computer-usable medium or computer-readable medium may be a device such as one capable of accommodating means for storing, communicating, propagating, or transporting a program for use in connection with an instruction execution system, apparatus, or device.

[0031] It should be noted that the embodiments of the present disclosure are described while referring to different subjects. Specifically, for some embodiments, they are described while referring to method claims, and for other embodiments, they are described while referring to apparatus claims. However, those skilled in the art will understand from the above and the following descriptions that, unless otherwise specified, in addition to any combination of features belonging to one type of subject, any combination of features related to different subjects, specifically, any combination of features of method claims and features of apparatus claims, is also considered to be disclosed herein.

[0032] The aspects defined above and further aspects of the present invention will be apparent from the examples of embodiments described below, and will be described with reference to these examples of embodiments, but the present invention is not limited thereto.

[0033] Some embodiments of the present invention will be described for illustrative purposes only with reference to the following drawings.

Brief Description of the Drawings

[0034]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Modes for Carrying Out the Invention

[0035] In the context of this description, the following notations, various terms or expressions, or combinations thereof may be used.

[0036] The term "knowledge graph" can refer to a data structure that includes vertices and edges that connect selected ones of the vertices. The vertices can represent facts, terms, phrases, or words, and an edge between two vertices can represent that a relationship may exist between the connected vertices. The edges can also have weights, that is, a weight value may be assigned to each of a plurality of edges. A knowledge graph can include thousands or millions of vertices and even more edges. Different types of structures are known, that is, hierarchical, circular or spherical structures without an actual center or origin. A knowledge graph can be expanded by adding new terms (i.e., vertices) and connecting them to existing vertices by new edges. A knowledge graph can also be organized as a plurality of edges each having two vertices.

[0037] The term "existing knowledge graph" can refer to a knowledge graph that may exist before the method proposed herein is executed. A knowledge graph may be constructed, for example, by an expert in a particular area of knowledge. In contrast to this is the "newly created knowledge graph". A newly created knowledge graph exists for the first time when this method is executed. Typically, a newly created knowledge graph exists independently of an existing knowledge graph and can be deployed in a completely different environment.

[0038] The term "random walk" can refer to a series of processes that start from one vertex of a knowledge graph and reach another vertex through edges. Typically, a vertex can be associated with several edges that connect the vertex to multiple other vertices. Randomness can result from the random selection of the edges to be traversed. A random walk can end when the process reaches a leaf of the knowledge graph, i.e., a vertex that is only related to input edges. As a result, multiple sequences of vertices and edges can be generated. Vertices connected by an edge can be considered (e.g., in terms of content) relatively close to each other. In the case of a tree-like knowledge graph, each new random walk can start from the root multiple times and follow different paths through the branches until it reaches a leaf. A random walk can also end after touching a predefined number of vertices and edges. As a simple example, assume that there are two vertices, "ape" and "banana". These two vertices can be connected by an edge such as "eaten by" or "liked by". From this, two possible sequences can be generated: (i) "Bananas are liked by apes" and (ii) "Bananas are eaten by apes". These vertices exist in both sequences, but because the edges are different, these sequences are considered different.

[0039] The term "embedded vector" can refer to a vector having real-valued components generated from terms, words, or phrases. Generally, word embedding can refer to a collective name for a set of language modeling and feature learning techniques in natural language processing (NLP) where words or phrases in a vocabulary are mapped to real-valued vectors. Conceptually, word embedding can include a mathematical embedding from a space with many dimensions for a single word to a much lower-dimensional continuous vector space. Methods for generating this mapping include neural networks, dimensional reduction of word co-occurrence matrix probability models, explainable knowledge-based methods, and explicit representations in terms of the context in which a word appears. This can be viewed as a transformation from a word space to a vector space. If two representations / terms in the word space are connected in some way by an edge representing the relationship between those two, the embedded vector will also have a short distance, e.g., a Gaussian distance, in the associated vector space.

[0040] The terms "machine learning" and "machine learning model" based thereon can refer to known methods that enable a computer system to automatically improve its functionality through experience or iteration or both without procedural programming. Thereby, machine learning (ML) can be regarded as a subset of artificial intelligence. Machine learning algorithms create a mathematical model, i.e., a machine learning model, based on sample data called "training data" to make predictions or decisions without being explicitly programmed to do so. One option for implementation is to use a neural network that includes nodes for storing transformation functions that transform factual values or input signals. Also, selected ones of the nodes may be connected to each other by edges (connections) that, in some cases, have a weight factor, i.e., a factor representing the strength of the connection that can be interpreted as the input signal of one of the cores. In addition to a neural network (NN) having only three layers (input layer, hidden layer, output layer) of cores, there are also NNs having multiple hidden layers in various forms.

[0041] The term "a set of documents" may preferably refer to a corpus of data or knowledge related to a particular area of knowledge. The form in which the documents can be provided may not actually be important. The documents can take various forms, including, but not limited to, papers, books, white papers, newspapers, proceedings, magazines, chat protocols, manuscripts, handwritten notes, server logs, or email threads. Any mixture is also possible. It may start with only one document, and can also include, for example, an entire library, i.e., a public library, a library in a research institution, or a corporate library containing all the company's handbooks. On the other hand, it may be as small as a chat protocol between two programmers regarding a specific problem.

[0042] The term "sequence of terms" may refer to a plurality of concatenated linguistic words (rather than memory words in a computer memory). The sequence of terms may be extracted and determined from a first existing knowledge graph by a random walk traversing the existing knowledge graph.

[0043] The term "second sequence of terms" may, unlike the first sequence of terms, refer to words, sequences of words, sentences, or paragraphs, etc., from a new corpus. The sequence of terms, specifically the first sequence of terms, may be derived from an existing knowledge graph determined by one or more parsers.

[0044] The term "natural language query" (NLQ) generally may refer to a question presented by a person in a form of text in natural language that can be understood by humans. The NLQ may need to be converted into a query that can be interpreted by a machine. SQL (Structured Query Language) can be one option for the form of a query that can be interpreted by a machine.

[0045] The term "query-embedded vector" may refer to an embedded vector generated from the received NLQ. Not all words need to be converted into embedded vectors, but the keywords and the sequence of the NLQ need to be converted. One form of conversion is the conversion from a character string to an array of floating-point numbers.

[0046] The term "sequence of result terms" may refer to the output of a newly generated knowledge graph after receiving the query sequence of terms as input.

[0047] The term "sequence-to-sequence machine learning model" (seq2seq) may refer to a method or system for converting one symbol sequence into another symbol sequence. To avoid the vanishing gradient problem, the sequence-to-sequence machine learning model performs this conversion by using a recurrent neural network (RNN), or more often, an LTSM (Long Short-Term Memory) or a GRU (Gated Recurrent Unit). The context of each item is the output from the previous step. The main components are a network of one encoder and one decoder. The encoder converts each item into a corresponding hidden vector that includes the item and the context of the item. The decoder performs the reverse of this process, using the previous output as the input context to convert the vector into the output item. A seq2seq system typically consists of three parts: an encoder, an intermediate (encoder) vector, and a decoder.

[0048] The following shows a detailed description of the drawings. All indications in the drawings are schematic. First, a block diagram of an embodiment of the method of the present invention for creating a new knowledge graph is shown. Then, further embodiments and embodiments of a knowledge graph construction system for creating a knowledge graph are described.

[0049] FIG. 1 shows a block diagram of a preferred embodiment of a method 100 for creating a new knowledge graph including vertices and edges. Thereby, an edge describes a relationship between vertices related to entities such as words, terms, and phrases. The method includes, for example, receiving 102 at least one existing knowledge graph of a particular knowledge area. More preferably, there may be up to three existing knowledge graphs, one for training, one for testing, and one for validating the newly trained model. It may also be preferred to have knowledge graphs available from different experts. Each vertex can be related to a storage adapted to store a term, and the same can apply to each edge. Each edge may further provide a storage cell for storing a strength value of the relationship.

[0050] The method also includes sampling 104 a random walk through at least one existing knowledge graph, resulting in a sequence of vertices and edges, i.e., their respective contents. The starting point may be any randomly selected vertex or a vertex selected according to a preselected rule. The sequence can have a variable length. The sequence may end after reaching the surface of the knowledge graph, i.e., the terminal leaf.

[0051] The method may also include, specifically using existing methods, determining 106 embedding vectors of the vertices and edges of the sampled random walk, typically resulting in a vector of real-valued components for each edge and each vertex. The embedding vector components may be selected from lookup tables of completely different sources. Thus, a sequence of embeddings (i.e., embedding vectors) can be generated in this way.

[0052] Once the first stage of method 100 is complete, method 100 also includes training 108 of a machine learning model, specifically a machine learning model with a schematically defined architecture having edge weights, thereby enabling the creation of a trained machine learning model capable of predicting a sequence of terms (usable as vertices and edges) given a sequence of embedding vectors of random walks as input.

[0053] In the next stage, the construction stage, method 100 includes receiving 110 a set of documents, ideally in the same domain as the original knowledge graph, i.e., a new corpus, and determining 112 a sequence of terms from the terms in the documents of the set of documents, i.e., at least one document, and creating 114 a sequence of embedding vectors from the sequence of terms determined from the terms.

[0054] Based on this, the method includes using the sequence of embedding vectors created from the sequence of terms determined from the terms as input to the trained machine learning model to predict 116 a second sequence of terms, and merging, i.e., combining 118 the predicted second sequence of terms, thereby creating a new knowledge graph.

[0055] FIG. 2 shows a block diagram of some stages 200 of the construction and use of a knowledge graph. This helps to make the method shown in FIG. 1 more understandable. Specifically, after receiving an existing knowledge graph of a particular knowledge domain, the process starts from the preparation stage 202 of the existing knowledge graph. At this stage, a sample random walk through the existing knowledge graph and the embedding vectors of the vertices and edges passed through during the random walk are determined (compare steps 104, 106 in FIG. 1). Through this stage, a set of training values for the machine learning model is generated, i.e., (i) a sequence of vertices and edges (i.e., their respective stored values), and (ii) the embedding vectors of the results that need to be predicted based on the sequence of vertices and edges of the trained machine learning model.

[0056] Based on this, a machine learning model using supervised machine learning techniques, for example, in the form of an RNN (Recurrent Neural Network) or using a 1D convnet (1D convolutional network), is trained 204. Next, based on the trained machine learning model, a new knowledge graph is automatically created 206, preferably based on a new corpus in the same knowledge area.

[0057] Thereafter, queries can be made on the new knowledge graph 208. However, the queries can only provide a sequence of terms based on the vertices and edges of the knowledge graph. Therefore, in order to convert the sequence of vertices and edges into a human - understandable sentence, specifically to generate a "real" answer 210, it may be advantageous to supply these sequences of vertices and edges to an NLP (Natural Language Processing) system. These different stages will be described in more detail in the following drawings.

[0058] FIG. 3 shows a block diagram of an embodiment of the first stage 300 of constructing a new knowledge graph (compare 202, 204 in FIG. 2). First, the starting point is an existing knowledge graph 302. This is used to train a machine learning model. For this purpose, the existing knowledge graph 302 needs to be decomposed. A way to do this is to perform a random walk starting from a randomly selected vertex of the knowledge graph or from a vertex according to a predefined rule. As a result, a sequence 304 of vertices and edges is formed. Known algorithms are used to determine embedding vectors that include a plurality of real numbers as components of the respective vectors of the sampled vertex and edge values. Finally, a sequence 306 of embedding vectors that corresponds one-to-one to the sequence 304 of vertices and edges is obtained. The sequence 304 of vertices and edges is then used as an input value for an untrained machine learning model to learn to predict the sequence 306 of embedding vectors. Therefore, it is advantageous if the machine learning model 308 is a sequence-to-sequence machine learning model.

[0059] FIG. 4 shows a block diagram of an embodiment of the second stage 400 of creating a knowledge graph 410. This starts from a new corpus 402 of documents that has not yet been organized in the form of a knowledge graph. A set of parsers, which may depend on or be independent of the knowledge area, can separate phrases 404 from the new corpus 402. The phrases 404 are typically words, single words, complete sentences, or, exceptionally, complete paragraphs. Also, figures with specific identifiers in the new corpus may be associated with short phrases. The parser may be enabled to track the short phrases and a label indicating their origin, i.e., their source (e.g., document ID, paragraph number, drawing identifier, page within the document, line on a specific page, etc.).

[0060] The phrases 404 extracted in this way are then converted into an embedding, for example, a sequence 406 of embedding vectors, using a known technique, for example, a simpler form of technique using a lookup table.

[0061] These sequences 406 of embedding vectors are then used as input vectors to a trained machine learning model 408, which predicts a sequence of terms interpretable as triplets of an edge and connected vertices. Further, the edge may be predicted using a weighted factor value. A plurality of triplets of an edge and connected vertices are then used as a specific storage form of a newly generated knowledge graph 410.

[0062] The generation of the new knowledge graph 410 from the new corpus 402 can be performed as a service. A company that wants to generate a new knowledge graph 410 may outsource this to a service provider. The company may simply send the new corpus 402 to the service provider. The service provider can then execute the above steps using an existing knowledge graph, typically in the same knowledge area, and return the newly created knowledge graph 410 to its customer. Alternatively, the customer may also provide an existing knowledge graph (not shown in FIG. 4, shown in FIG. 3) to the service provider in order to obtain potentially better connections for existing terms used in a particular manner in a company.

[0063] FIG. 5 shows a block diagram of the use of a knowledge graph as, for example, an expert system. A query may be received in the form of natural language as a natural language query (NLQ). The NLQ can be parsed by one or more parsers (502) to create an NLQ in the form of a specifically human-generated question that is interpretable as input 504 by the generated knowledge graph. The output of the knowledge graph system is typically a sequence 506 of edges and associated or connected vertices that may be difficult for humans to interpret. Thus, these sequences 506 of edges and vertices of the generated knowledge graph may be supplied to an NLP system 508 that may also be based on a trained machine learning model to convert the sequence 506 of edges and vertices into an answer 510 that is interpretable by humans.

[0064] To be complete, FIG. 6 shows a block diagram of one embodiment of a knowledge graph construction system 600. The system includes a memory 602 communicatively coupled to a processor 604, the processor using program code stored in the memory to receive at least one existing knowledge graph, specifically by a receiver 606, sample a random walk through the at least one existing knowledge graph, specifically by a sampling unit 608, determine embedding vectors for the vertices and edges of the sampled random walk, specifically by an embedding module 610, and train a machine learning model, specifically by a training system 612, thereby creating a trained machine learning model configured to predict a sequence of terms with the sequence of the embedding vectors of the random walk as input.

[0065] The processor 604 is also configured to use the program code stored in the memory 602 to receive a set of documents (i.e., a new corpus), specifically by the second receiver 614, and to determine a sequence of terms from the words and phrases in the documents of the set of documents, specifically by the term sequence generator 616, and to create a sequence of embedding vectors from the sequence of terms determined from the words and phrases, specifically by the embedding vector generation module 618.

[0066] Also, the processor 604 is configured to use the sequence of embedding vectors created from the sequence of terms determined from the words and phrases as an input to a trained machine learning model using the program code stored in the memory 602 to predict a second sequence of terms. The trained machine learning model, as part of the trained machine learning system 620, predicts a second sequence of terms and merges the predicted sequence of terms, thereby creating the new knowledge graph. The merge may be performed by the merger unit 622.

[0067] The units and modules, specifically, the memory 602, the processor 604, the receiver 606, the sampling unit 608, the embedding module 610, the training system 612, the second receiver 614, the term sequence generator 616, the embedding vector generation module 618, the trained machine learning system 620, and the merger unit 622 are electrically interconnected to exchange electrical signals and data therebetween.

[0068] Alternatively, the units and modules listed above may be connected by an internal system bus system 624 for data exchange.

[0069] Embodiments of the present invention can be implemented with substantially any type of computer, regardless of the platform suitable for storing or executing or both storing and executing program code. FIG. 7 shows, by way of example, a computing system 700 suitable for executing program code associated with the proposed method.

[0070] Computing system 700 is merely an example of a suitable computer system, and is not intended to suggest any limitation as to the use or functionality scope of the embodiments of the present invention described herein, whether computing system 700 is implementable, or capable of performing any of the functions described above, or both. Within computer system 700, there are components operable with a number of other general-purpose or special-purpose computing system environments or configurations. Examples of well-known computing systems, environments or configurations or combinations thereof that may be suitable for use with computer system 700 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments including any of the above systems or devices. With respect to computer system / server 700, it can be described in the general context of computer system executable instructions such as program modules executed by computer system 700. Generally, program modules can include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer system / server 700 may be implemented in a distributed cloud computing environment where tasks are performed by remote processing devices linked via a communications network. In a distributed cloud computing environment, program modules can be located in both local and remote computer system storage media including memory storage devices.

[0071] As shown in the figure, computer system / server 700 is shown in the form of a general-purpose computing device. The components of computer system / server 700 may include, but are not limited to, one or more processors or processing units 702, a system memory 704, and a bus 706 that couples various system components including system memory 704 to processing unit 702. Bus 706 corresponds to one or more of several types of bus architectures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor bus or local bus, using any of various architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Extended ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus. Computer system / server 700 typically includes various computer system readable media. Such media can be any available media that is accessible by computer system / server 700, and includes both volatile and nonvolatile media, removable and non-removable media.

[0072] System memory 704 may include a computer system readable medium in the form of volatile memory such as, but not limited to, random access memory (RAM) 708, cache memory 710, or both. The computer system / server 700 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, a storage system 712 may be provided for reading from and writing to a non-removable non-volatile magnetic medium (not shown and typically called a “hard drive”) and other non-removable non-volatile media. Although not shown, a magnetic disk drive for reading from and writing to a removable non-volatile magnetic disk (e.g., a “floppy disk”), and an optical disk drive for reading from or writing to or both a removable non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media may be provided. In such cases, each may be connected to bus 706 by one or more data media interfaces. As will be described in detail below, memory 704 may include at least one computer program product having at least one set (e.g., at least one) of program modules configured to carry out one or more functions of the present invention.

[0073] A program / utility having a set (at least one) of program modules 716 may be stored in memory 704, by way of example, and not limitation, along with an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof may include an implementation of a networking environment. Program modules 716 generally carry out the functions and / or methods of embodiments of the present invention, as described herein.

[0074] The computer system / server 700 can also communicate with one or more external devices 718 such as a keyboard, a pointing device, a display 720, one or more devices that enable a user to interact with the computer system / server 700, or any device that enables the computer system / server 700 to communicate with one or more other computing devices (e.g., a network card, a modem, etc.), or a combination thereof. Such communication can be performed via an input / output (I / O) interface 714. Further, the computer system / server 700 can communicate with a local area network (LAN), a general wide area network (WAN), or a public network (e.g., the Internet) or a combination thereof via a network adapter 722. As shown in the figure, the network adapter 722 communicates with other components of the computer system / server 700 via a bus 706. Although not shown, other hardware components or software components or both may be used with the computer system / server 700. Examples include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archive storage systems.

[0075] Furthermore, the knowledge graph construction system 600 for creating a knowledge graph may be connected to the bus system 706.

[0076] The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein are chosen in order to best explain the principles of the embodiments, the practical application, or the technical improvement of technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

[0077] The present invention can be embodied as a system, a method, or a computer program product, or a combination thereof. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions stored thereon for causing a processor to implement aspects of the present invention.

[0078] The medium may be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system for a propagation medium. Examples of computer-readable media may include semiconductor memory or solid-state memory, magnetic tape, removable computer diskettes, random access memory (RAM), read-only memory (ROM), rigid magnetic disks, and optical disks. Current examples of optical disks include compact disk read-only memory (CD-ROM), compact disk read / write (CD-R / W), DVD, and Blu-Ray disks.

[0079] A computer-readable storage medium can be a tangible device that holds and stores instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, punch cards, mechanically encoded devices such as raised structures within grooves in which instructions are recorded, and any suitable combination thereof. As used herein, a computer-readable storage medium should not be construed to be a transitory signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., an optical pulse through an optical fiber cable), or an electrical signal transmitted through a wire.

[0080] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to an external computer or an external storage device via a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include a copper transmission cable, an optical transmission fiber, a wireless transmission, a router, a firewall, a switch, a gateway computer, or an edge server, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers those computer-readable program instructions for storage to a computer-readable storage medium within each respective computing / processing device.

[0081] The computer-readable program instructions for carrying out the operations of the present invention may be source code or object code written in any combination of one or more programming languages, including assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or conventional procedural programming languages such as the object-oriented programming languages like Smalltalk, C++, and the "C" programming language, or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer as a stand-alone software package, or partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, via the Internet using an Internet service provider). In some embodiments, an electronic circuit, including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may execute the computer-readable program instructions by personalizing the electronic circuit using the state information of the computer-readable program instructions to carry out aspects of the present invention.

[0082] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0083] These computer-readable program instructions can be supplied to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus, such that the instructions, when executed by the processor of the computer or other programmable data processing apparatus, implement the functions / operations specified in the flowchart or block diagram or both blocks thereof. These computer-readable program instructions may be stored in a computer-readable storage medium that includes a manufactured article that includes instructions for implementing the mode of function / operation specified in the flowchart or block diagram or both blocks thereof, such that the computer-readable storage medium, when stored in a computer, a programmable data processing apparatus, or other device or combination thereof, instructs the computer, programmable data processing apparatus, or other device or combination thereof to function in a particular manner.

[0084] The computer-readable program instructions may be loaded onto a computer, other programmable apparatus, or other device, such that a series of operational steps are executed on the computer, other programmable apparatus, or other device to implement the functions / operations specified in the flowchart or block diagram or both blocks thereof, thereby realizing a computer-implemented process.

[0085] The flowcharts, block diagrams, or both in the drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, segment, or portion of one or more executable instructions for implementing the specified logical function. In some other implementations, the functions described in the blocks may be performed in an order different from that shown in the figures. For example, two blocks shown in succession may, depending on the functions involved, actually be executed substantially in parallel, or the blocks may sometimes be executed in the reverse order. It should also be understood that each block of the block diagram or flowchart diagrams, or both, and combinations of blocks in the block diagram or flowchart diagrams, or both, can be implemented by a special purpose hardware-based system that performs the specified functions or operations, or by a combination of special purpose hardware and computer instructions.

[0086] The terms used herein are for the purpose of describing particular embodiments only and are not intended to limit the present invention. The singular forms "a", "an", and "the" used herein are intended to include the plural forms as well, unless the context clearly indicates otherwise. Also, when the terms "comprising", "comprises", or both are used herein, they define the presence of the described features, integers, steps, operations, elements, or components, or combinations thereof, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or groups thereof, or combinations thereof.

[0087] All means or steps plus function element corresponding structures, materials, acts, and equivalents in the following claims are intended to include any structure, material, or act for performing a function in combination with other claimed elements that are specifically claimed. The description of the invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or to limit the invention to the disclosed forms. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiments were chosen to best explain the principles of the invention and its practical applications, to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.

[0088] Briefly stated, the concept of the present invention can be summarized as the following examples.

Examples

[0089] (Example 1) A method for creating a new knowledge graph, comprising receiving at least one existing knowledge graph, sampling a random walk through the at least one existing knowledge graph, determining embedding vectors for vertices and edges of the sampled random walk, training a machine learning model to create a trained machine learning model capable of predicting a sequence of terms using a sequence of the embedding vectors of the random walk as an input, providing a set of documents, determining a sequence of terms from terms in a document of the set of documents, creating a sequence of embedding vectors from the sequence of terms determined from the terms, using the sequence of embedding vectors created from the sequence of terms determined from the terms as an input to the trained machine learning model to predict a second sequence of terms, and merging the predicted second sequence of terms to thereby create the new knowledge graph.

[0090] (Example 2) The method according to Example 1, further comprising receiving a natural language query including a query sequence of terms, determining a query embedding vector for the query sequence of terms, and using the trained machine learning model to predict a sequence of result terms by using the query embedding vector as an input to the trained machine learning model.

[0091] (Example 3) The method according to Example 1 or 2, further comprising storing the predicted sequence of result terms.

[0092] (Example 4) The method according to Example 2, further comprising returning a document or a reference to a document or both related to the result sequence terms from among the provided set of documents.

[0093] (Example 5) The starting point of the random walk is selected from the group consisting of a randomly selected leaf of the existing knowledge graph, the root of the existing knowledge graph, and a selected vertex of the existing knowledge graph, and the selection is performed based on a predefined rule, the method according to any of the above embodiments.

[0094] (Example 6) The phrase of the document is selected from the group consisting of a single term, a plurality of subsequent terms, and a sentence, the method according to any of the above embodiments.

[0095] (Example 7) The machine learning model is a sequence-to-sequence machine learning model, the method according to any of the above embodiments.

[0096] (Example 8) The set of documents is a paper, a book, a white paper, a newspaper, a proceedings, a magazine, a chat protocol, a manuscript, a handwritten note, a server log, or an email thread, the method according to any of the above embodiments.

[0097] (Example 9) The merging includes creating a plurality of tuples of vertices connected to edges from a second sequence of the predicted terms, the edges and vertices of the new knowledge graph correspond to terms in the provided set of documents, and term metadata characterizing the terms as edges or vertices is provided as an additional output of the trained machine learning system, the method according to any of the above embodiments.

[0098] (Example 10) The method according to Example 9, further comprising storing the source data of the edge and the vertex together with the edge and the vertex respectively.

[0099] (Example 11) The method according to any one of Examples 2 to 10, wherein the sequence of terms of the result is a sequence of edges and associated vertices in the knowledge graph.

[0100] (Example 12) The method according to Example 11, wherein the natural language system converts the sequence of the edge and the associated vertices into a form understandable by humans.

[0101] (Example 13) A knowledge graph construction system for constructing a knowledge graph, including a memory communicably coupled to a processor, wherein the processor uses program code stored in the memory to receive at least one existing knowledge graph, samples a random walk traversing the at least one existing knowledge graph, determines embedding vectors of vertices and edges of the sampled random walk, trains a machine learning model, thereby creating a trained machine learning model capable of predicting a sequence of terms using the sequence of the embedding vectors of the random walk as an input, provides a set of documents, determines a sequence of terms from phrases in the documents of the set of documents, creates a sequence of embedding vectors from the sequence of terms determined from the phrases, uses the sequence of embedding vectors created from the sequence of terms determined from the phrases as an input to the trained machine learning model to predict a second sequence of terms, and merges the predicted second sequence of terms, thereby being configured to create the new knowledge graph.

[0102] (Example 14) Receiving a natural language query that includes a query sequence of terms, determining a query embedding vector for the query sequence of terms, and predicting a sequence of resulting terms by using the query embedding vector as an input to the trained machine learning model using the trained machine learning model, the knowledge graph construction system according to Example 13 also including this.

[0103] (Example 15) The knowledge graph construction system according to Example 14 also including storing the predicted sequence of resulting terms.

[0104] (Example 16) The knowledge graph construction system according to Example 14 further including returning a document or a reference to a document or both related to the sequence of terms of the result from among the provided set of documents.

[0105] (Example 17) The starting point of the random walk is selected from a group consisting of a randomly selected leaf of the existing knowledge graph, the root of the existing knowledge graph, and a selected vertex of the existing knowledge graph, and the selection is performed based on a predefined rule, the knowledge graph construction system according to any one of Examples 13 to 16.

[0106] (Example 18) The phrase of the document is selected from a group consisting of a single term, a plurality of subsequent terms, and a sentence, the knowledge graph construction system according to any one of Examples 13 to 17.

[0107] (Example 19) The machine learning model is a sequence-to-sequence machine learning model, the knowledge graph construction system according to any one of Examples 13 to 18.

[0108] (Example 20) The knowledge graph construction system according to any one of Embodiments 13 to 19, wherein the set of documents is a paper, a book, a white paper, a newspaper, a proceeding, a magazine, a chat protocol, a manuscript, a handwritten note, a server log, or an email thread.

[0109] (Embodiment 21) The knowledge graph construction system according to any one of Embodiments 13 to 20, wherein the merging includes creating a plurality of tuples of vertices connected to edges from a second sequence of the predicted terms, and the edges and vertices of the new knowledge graph correspond to terms in the provided set of documents, and term metadata characterizing the terms as edges or vertices is provided as an additional output of a trained machine learning system.

[0110] (Embodiment 22) The knowledge graph construction system according to Embodiment 21, including storing origin data of the edges and the vertices together with the edges and the vertices respectively.

[0111] (Embodiment 23) The knowledge graph construction system according to Embodiment 14, wherein the sequence of terms of the result is a sequence of edges and related vertices in the knowledge graph.

[0112] (Embodiment 24) The knowledge graph construction system according to Embodiment 23, wherein a natural language system converts the sequence of the edges and related vertices into a form understandable by humans.

[0113] (Embodiment 25) A computer program product for creating a knowledge graph, comprising a computer storage medium having program instructions embodied thereon, the program instructions causing one or more computing systems to receive at least one existing knowledge graph, sample a random walk traversing the at least one existing knowledge graph, determine embedding vectors for vertices and edges of the sampled random walk, train a machine learning model, thereby creating a trained machine learning model capable of predicting a sequence of terms using as input a sequence of the embedding vectors of the random walk, provide a set of documents, determine a sequence of terms from phrases in a document of the set of documents, create a sequence of embedding vectors from the sequence of terms determined from the phrases, use the sequence of embedding vectors created from the sequence of terms determined from the phrases as input to the trained machine learning model to predict a second sequence of terms, and merge the predicted second sequence of terms, thereby creating the new knowledge graph, a computer program product executable by the one or more computing systems or a controller.

Claims

1. A computer-implemented method for creating a new knowledge graph, comprising: executing program code stored in a memory, by a processor, receiving at least one existing knowledge graph, sampling a random walk traversing the at least one existing knowledge graph, determining embedding vectors for vertices and edges of the sampled random walk, training a machine learning model to create a trained machine learning model capable of predicting a sequence of terms using, as input, a sequence of the embedding vectors of the random walk, providing a set of documents, determining a sequence of terms from terms in a document of the set of documents, creating a sequence of embedding vectors from the sequence of terms determined from the terms, using the sequence of embedding vectors created from the sequence of terms determined from the terms as input to the trained machine learning model to predict a second sequence of terms, merging the predicted second sequence of terms to thereby create the new knowledge graph.

2. The method of claim 1, further comprising: the processor receiving a natural language query including a query sequence of terms, determining a query embedding vector for the query sequence of terms, using the trained machine learning model to predict a resulting sequence of terms by using the query embedding vector as input to the trained machine learning model.

3. The method of claim 2, further comprising: the processor storing the predicted resulting sequence of terms.

4. The method of claim 2, further comprising: the processor returning a document or a reference to a document or both, related to the resulting sequence of terms, from among the provided set of documents.

5. The method of claim 2, wherein the resulting sequence of terms is a sequence of edges and associated vertices in the knowledge graph.

6. The computer-implemented method according to claim 5, further comprising the processor supplying a sequence of the edge and associated vertices to a natural language processing system.

7. The computer-implemented method according to claim 1, wherein a starting point of the random walk is selected from a group consisting of a randomly selected leaf of the existing knowledge graph, a root of the existing knowledge graph, and a selected vertex of the existing knowledge graph, and the selection is performed based on a predefined rule.

8. The computer-implemented method according to claim 1, wherein the phrase of the document is selected from a group consisting of a single term, a plurality of subsequent terms, and a sentence.

9. The computer-implemented method according to claim 1, wherein the machine learning model is a sequence-to-sequence machine learning model.

10. The computer-implemented method according to claim 1, wherein the set of documents is a paper, a book, a white paper, a newspaper, a proceeding, a magazine, a chat protocol, a manuscript, a handwritten note, a server log, or an email thread.

11. The merge is The computer-implemented method according to claim 1, wherein the processor includes creating a plurality of tuples of edges and connected vertices from a second sequence of the predicted terms, wherein the edges and vertices of the new knowledge graph correspond to terms in the provided set of documents, and metadata of terms characterizing the terms as edges or vertices is provided as an additional output of a trained machine learning system.

12. The computer-implemented method according to claim 11, further comprising the processor storing origin data of the edge and the vertex together with the edge and the vertex, respectively.

13. A knowledge graph construction system for creating a knowledge graph, comprising one or more processors, and a memory communicably coupled to the one or more processors and storing program instructions that, when executed by the one or more processors, cause the one or more processors to perform operations, the operations including receiving at least one existing knowledge graph, and sampling a random walk through the at least one existing knowledge graph Determining embedding vectors for vertices and edges of the sampled random walk; Training a machine learning model to create a trained machine learning model capable of predicting a sequence of terms using, as input, a sequence of the embedding vectors of the random walk; Providing a set of documents; Determining a sequence of terms from the terms in the documents of the set of documents; Creating a sequence of embedding vectors from the sequence of terms determined from the terms; Using the sequence of embedding vectors created from the sequence of terms determined from the terms as input to the trained machine learning model to predict a second sequence of terms; Merging the predicted second sequence of terms to thereby create a new knowledge graph, a knowledge graph construction system comprising.

14. The operations further include Receiving a natural language query including a query sequence of terms; Determining a query embedding vector for the query sequence of terms; Using the trained machine learning model to predict a sequence of resulting terms by using the query embedding vector as input to the trained machine learning model, the knowledge graph construction system according to claim 13.

15. The operations further include storing the predicted sequence of resulting terms, the knowledge graph construction system according to claim 14.

16. The operations further include returning a document or a reference to a document or both related to the resulting sequence of terms from among the set of provided documents, the knowledge graph construction system according to claim 14.

17. The sequence of resulting terms is a sequence of edges and associated vertices in the knowledge graph, the knowledge graph construction system according to claim 14.

18. The operations further include supplying the sequence of edges and associated vertices to a natural language processing system, the knowledge graph construction system according to claim 17.

19. The starting point of the random walk is selected from the group consisting of a randomly selected leaf of the existing knowledge graph, the root of the existing knowledge graph, and a selected vertex of the existing knowledge graph, and the selection is made based on a predefined rule. The knowledge graph construction system according to claim 13.

20. The knowledge graph construction system according to claim 13, wherein the phrase of the document is selected from the group consisting of a single term, a plurality of subsequent terms, and a sentence.

21. The knowledge graph construction system according to claim 13, wherein the machine learning model is a sequence-to-sequence machine learning model.

22. The knowledge graph construction system according to claim 13, wherein the set of documents is a paper, a book, a white paper, a newspaper, a proceeding, a magazine, a chat protocol, a manuscript, a handwritten note, a server log, or an email thread.

23. The merging further includes creating a plurality of tuples of edges and connected vertices from a second sequence of the predicted terms, wherein the edges and vertices of the new knowledge graph correspond to terms in the provided set of documents, and term metadata characterizing the terms as edges or vertices is provided as an additional output of the trained machine learning system. The knowledge graph construction system according to claim 13.

24. The knowledge graph construction system according to claim 23, wherein the operation includes storing the origin data of the edge and the vertex together with the edge and the vertex, respectively.

25. A computer program for creating a knowledge graph, which causes a computer to execute the method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Knowledge complementing program, knowledge complementing method and knowledge complementing apparatus

    JP2020086566A

  • Program, device, and method for determining semantic similarity between context sequences

    JP2020098443A

  • Question answering device, learning device, question answering method, and program

    JP2020135289A

  • Obtaining and Using a Distributed Representation of Concepts as Vectors

    US20170032273A1

  • Knowledge graph entity reconciler

    US20180039696A1