Method for extracting entities and relationships from a corpus to populate a knowledge graph

WO2025050194A1PCT designated stage expired Publication Date: 2025-03-13PETROLEO BRASILEIRO SA PETROBRAS +1
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/BR2024/050399
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-05
Filing Date
2024-09-05
Publication Date
2025-03-13

Smart Images

  • Figure BR2024050399_13032025_PF_FP_ABST
    Figure BR2024050399_13032025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention discloses a method for extracting entities and relationships from technical documents in a mostly automated way which achieves a more complete and accurate result in a reduced timeframe. Various deep learning models are trained using a corpus of the domain of interest annotated by experts and linguists. A vector graph model is also trained. Manual annotations and revisions are the minimum required to obtain automated models capable of automatically extracting entities and relationships from a corpus. Once trained, the models can be used on any corpus within the same knowledge domain.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD FOR EXTRACTING ENTITIES AND RELATIONS FROM A CORPUS TO POPULATE A KNOWLEDGE GRAPH FIELD OF INVENTION

[0001] The present invention relates to methods for populating a knowledge graph with information automatically extracted from a set of technical documents. More specifically, the present invention discloses methods for chaining supervised artificial intelligence training techniques to extract the largest and best possible set of entities and labels from a corpus. BACKGROUND OF THE INVENTION

[0002] Extracting information from large data repositories is the foundation behind many recent technological developments and has become a major research topic. Many companies have become interested in extracting strategic information from their document repositories. This is particularly relevant for the oil and gas industry, due to its large repositories containing geoscientific reports spanning decades of production.

[0003] Developing knowledge representations, or ontologies, is quite costly, so much so that this problem is known as the "acquisition bottleneck." The most common method for building ontologies involves bringing together domain experts and ontology engineers in a series of interview sessions to have them describe the concepts, relationships, and attributes that should comprise the knowledge graph.

[0004] A desirable approach to overcoming the "acquisition bottleneck" is to automatically collect the necessary information directly from data sources, using computational algorithms developed for this purpose. This type of procedure can reduce the need for specialist input and the cost of ontology development. Machine ontology learning (or "ontology learning") consists of extracting a knowledge representation from information-rich data sources. about the domain in question. Data sources can be relational databases, tabular structures, semi-structured databases (such as HTML pages and XML documents), or unstructured databases composed of texts written in natural language. STATE OF THE TECHNIQUE

[0005] Document US2023134798A1, titled "Reasonable language model learning for text generation from a knowledge graph," describes the generation of a rational language learning model for text data in a knowledge graph on a computing system by a processor. One or more data sources and one or more triples can be analyzed from a knowledge graph. Training data with one or more candidate labels associated with one or more of the triples can be generated. One or more language models can be trained based on the training data. It is worth noting that document US2023134798A1 uses texts and knowledge graphs to generate new texts, and no new triples are created.

[0006] Document US2019354544A1, titled "Machine learning-based relationship association and related discovery and search engines," refers to systems and techniques for determining relationships and association significance between entities. The systems and techniques automatically identify supply chain relationships between companies based on unstructured text. The system combines machine learning models to identify phrases mentioning the supply chain between two companies (evidence) and an aggregation layer to consider the evidence found and assign a confidence score to the relationship between the companies. SUMMARY OF THE INVENTION

[0007] The present invention discloses automated methods for obtaining a populated knowledge graph (A10) with a large number of entities and relations obtained in a reduced space of time from a corpus of interest (A5).

[0008] The invention starts from an incomplete knowledge graph (A3) that is obtained from an ontology (A1) and a structured database (A2). This knowledge graph is encoded using a graph vectorization algorithm generating a vector model (A4).

[0009] In parallel, deep learning models previously trained to recognize entities (A6), link entities (A7 and A8), and extract relations (A9) are used to extract triples from the corpus (A5). Finally, we populate the incomplete knowledge graph (A3) with these triples, forming the enriched knowledge graph (A10). Furthermore, we include the URIs (Unique Resource Identifiers) of the knowledge graph (A10) as sentence metadata (A1 1 ).

[0010] To train the “deep learning” models, corpora from the domain of interest (B1) are used, some of which are annotated by teams of experts (B3, B9, B1 1 ).

[0011] The method disclosed here has at least the following advantages compared to the prior art:

[0012] The method was developed to handle technical documents, mainly in areas of interest to the oil, gas and energy industry.

[0013] Most steps can be automated;

[0014] Greater quantity and precision of entities and relationships obtained;

[0015] The time required to obtain the complete graph A10 is much shorter;

[0016] The main advantage of the developed method over the state-of-the-art is the chaining of models A4, A7, and A8: instead of trying to classify instances according to a predefined list, we train a specialized model that predicts a vector for each instance. In other words, the entities identified in the text are positioned in the same vector space as the entities in the existing knowledge graph. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The present invention will be described below with reference to typical embodiments thereof and with reference to the attached drawings, in which:

[0018] Figure 1 is a flowchart describing the fundamental steps of the method according to the present invention;

[0019] Figure 2 is a flowchart describing the steps for training the deep learning models used in the steps of the flowchart shown in Figure 1, in accordance with the present invention;

[0020] Figure 3 is a block diagram illustrating the models and fundamental steps according to the present invention;

[0021] Figure 4 is a block diagram illustrating the models and steps related to training the deep learning models according to the present invention;

[0022] Figure 5 is a representation of the method for obtaining a knowledge graph according to the state of the art;

[0023] Figure 6 is an exemplary representation of an XML file resulting from the extraction of information from technical documents according to the present invention;

[0024] Figure 7 is an exemplary representation of an annotated text in CoNLL-Ude format according to the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0025] Specific embodiments of this disclosure are described below. In an effort to provide a concise description of these embodiments, all features of an actual implementation may not be described in the specification. It should be appreciated that in the development of any actual implementation, as in any engineering or design project, numerous specific implementation decisions must be made to achieve the developers' specific objectives, such as compliance with system- and business-related constraints, which may vary from a implementation to another. Furthermore, it should be appreciated that such a development effort may be complex and time-consuming, but would nevertheless be a routine design and manufacturing undertaking for those of ordinary skill having the benefit of this disclosure.

[0026] Knowledge graphs have various applications in artificial intelligence-based systems, especially for information retrieval systems.

[0027] A concrete example is the use of knowledge graphs in search filters for information retrieval systems. Currently, when trying to identify the entity "Marlim" (the name of an oil field) in the text, it is possible to find the terms "marlim," "Marlim," "Campo de Marlim," "MRL," "n1 ar1 im," "Marlim field," among other alternative spellings, typos, or digitization errors. Each of these terms, although originally referring to the same concept, is treated as if it were a different oil field, making the search imprecise. By using a knowledge graph, it is possible to create a single concept for the Marlim field and associate all these terms as labels or alternative spellings of that same concept. Thus, when searching for "marlim" in the knowledge graph, we are actually searching for the concept Marlim, which carries with it all its labeled variations.

[0028] Knowledge graphs also allow for more sophisticated inferences, allowing for the graph to include, for example, several wells with the "located in" relationship Marlim. Thus, when searching for "marlim," it is possible to infer documents that cite Marlim wells, even if this fact is not explicitly stated in the text.

[0029] Finally, knowledge graphs allow us to make connections between concepts present in documents and the same concepts in relational databases. Consequently, we can place links in documents that mention the Marlim field to the main information from the relational database about that field (production, reserves, fuel injection). water, etc.). Or, conversely, in the various panels that compile information from relational databases about the Marlim field, it is possible to include links referencing the respective technical documents.

[0030] The use of knowledge graphs contributes to improving search filters in information retrieval systems, as well as serving as an interconnection between texts (unstructured information) and relational databases (structured information). However, creating and maintaining knowledge graphs manually is very difficult and costly. This invention presents a solution to automate the population of these graphs.

[0031] The present invention proposes a new method for automatically extracting entities and relationships from geoscientific technical documents to populate a specialized knowledge graph, allowing better use of the broad potential of information stored in textual databases.

[0032] Initially, a knowledge graph is extracted from documents stored in a file database. Such documents may address, for example, concepts related to geosciences and petroleum engineering. In this example, machine learning models were trained to extract entities and relationships from these areas of knowledge, such as rock types, lithostratigraphic units, geological ages, among others. However, the present invention is not limited to this knowledge domain; it can be used for any subject, simply by adapting the training of the machine learning models to the corresponding domain. This will become clear to those skilled in the art later on.

[0033] The present invention is geared toward written texts; however, technical documents—whether geoscientific or from other domains—contain figures, images, tables, and a wide variety of layouts throughout their content. Specialized information extraction tools (e.g., Apache Tika or Tornado) can receive an unstructured document in input, extract your information, reorganize and make this information available in files that can be consumed by other systems.

[0034] The method of the present invention is capable of extracting a knowledge graph populated with new triples extracted from technical documents. This also allows enriching technical documents with metadata, which in turn makes it possible to link the entities described in said technical documents with entities and relationships represented in the knowledge graph.

[0035] The method inputs are:

[0036] (A1) - An ontology with the basic concepts and relationships of the domain in question;

[0037] (A2) - Lists of classes and instances from previously curated data sources. These lists may come from structured databases, taxonomies used by other systems, or other types of previously curated lists. It is worth noting that the concepts present in the ontology are more general, such as "Oil Field," "Sedimentary Basins," and "Rock"; while the lists present specializations or particular individuals, such as "Marlim Field," the "Amazon River Mouth Basin," or "Carbonate Rock."

[0038] (A5) - A corpus, that is, a set of technical documents composed of sentences about the domain of interest.

[0039] The process outputs are:

[0040] (A10) - A populated knowledge graph, that is, an ontology populated with classes, instances and relations coming from the curated lists (A2), as well as extracted from the corpus sentences (A5).

[0041] (A1 1 ) - The sentences from the corpus (A5) enriched with metadata from the unique resource identifiers (URI) of the classes and relations in the knowledge graph (A10).

[0042] The methodology is composed of the following steps 200, seen in conjunction with figure 1:

[0043] 201: Initially, the basic ontology A1 is populated with entities from the curated lists A2 to generate a partially populated knowledge graph A3.

[0044] 202: From the partially populated knowledge graph A3, its nodes and edges are encoded using a graph vectorization algorithm, generating a vector model A4. Several algorithms can be used in this step, Node2Vec and RDF2Vec for example, but in this implementation the OWL2Vec* algorithm was used. (J. Chen, P. Hu, E. Jimenez-Ruiz, O. M. Holter, D. Antonyrajah, and I. Horrocks, “OWL2Vec*: embedding of OWL ontologies”, Mach Learn, vol. 110, n s 7, p. 1813-1845, jul. 2021, doi: 10.1007 / s10994-021 -05997- 6).

[0045] 203: In parallel, a previously trained deep learning model A6 to recognize entities is used to identify the entities in the corpus A5.

[0046] 204: Next, a previously trained deep learning model A7 is used to link the entities identified in corpus A5 to the vectors of vector model A4, and another previously trained deep learning model A8 is used to cluster the entities identified in corpus A5. Models A7 and A8 can be independent models or a single model.

[0047] 205: For sentences that have more than one entity, a previously trained deep learning model A9 is used to identify whether there is a relationship between the entities.

[0048] 206: Finally, the partially populated knowledge graph A3 is populated with the new entities and relations extracted from the corpus A5, forming a populated knowledge graph A10. Furthermore, the URIs of the knowledge graph A10 are included as metadata of the sentences A1 1 .

[0049] The desired results in steps 203, 204, and 205 revealed above cannot be achieved by any currently known model. To achieve this, it was necessary to train the deep learning models A6, A7, A8, and A9 and the vector model A4 through a series of specialized data transformations and ontologies. In other words, it was also necessary to develop a methodology for training these deep learning models. This methodology includes the following steps, also illustrated in Figure 2:

[0050] 101: Select B1 corpora from the domain of interest that are considered sufficiently complete for training natural language processing models. For example, to validate the methodology presented here, the inventors used corpora composed of collections of public and corporate documents related to the oil and gas industry. Most of the documents were written in Portuguese, using industry jargon and expressions.

[0051] 102: Manually annotating part of the B1 corpora documents. A portion of the B1 corpora documents are annotated with their syntactic dependencies and POS (part-of-speech) by linguists and subject matter experts. This corpus, annotated by linguists and subject matter experts, was considered a B3 gold corpus.

[0052] 103: Using the B3 gold corpus of syntactic and POS dependencies to train a B4 machine learning model capable of automatically parsing POS tagging and syntactic dependencies jointly. (J.C.C. de Araújo, C. Freitas, M.A.C. Pacheco, and L.A. Forero-Mendoza, “An Investigation of Pre-trained Embeddings in Dependency Parsing”, in Computational Processing of the Portuguese Language, P. Quaresma, R. Vieira, S. Aluísio, H. Moniz, F. Batista, and T. Gonçalves, Orgs., in Lecture Notes in Computer Science, vol. 12037. Cham: Springer International Publicação, 2020, p. 281-290.

[0053] 104: From corpus B1, select a subset of documents rich in entities and relationships of interest. For validation purposes, documents from the Geosciences domain were chosen. Using the B4 model, these texts are automatically annotated with their syntactic and POS dependencies, forming corpus B5.

[0054] 105: Based on the previously annotated corpus B5, and the partially populated knowledge graph A3, a team of linguists develops rules B6 for the annotation of entities.

[0055] 106: The B6 rules for entity annotation were reviewed by a team of corpus domain experts. In the case of validation, this team was composed of geoscientists. As needed, the rules are revised B7 and returned to the linguists for further development of the entity annotation rules.

[0056] 107: Steps 105 and 106 are repeated until it is determined that the entity annotation rules reach the stage where the rules are satisfactory (Figure 2). Satisfactory is understood as the stage where the rules cover all annotations correctly, thus obtaining a golden corpus for NER (“Named Entity Recognition”) B9.

[0057] 108: The golden corpus for NER B9 was used to train the deep learning models for entity recognition A6, entity linkage A7, and entity clustering A8. For validation, the pretrained BERT models were used following the implementations proposed by the authors, and the last layers of the model were adapted for each specific task. (J. Devlin, M.-W. Chang, K. Lee, and K. Toutanova, “BERT: Pretraining Deep Bidirectional Transformers for Language Understanding,” in Proceedings of the Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), Minneapolis, Minnesota: Association for Computational Linguistics, Jun. 2019, pp. 4171–4186. doi: 10.18653 / v1 / N19-1423.)

[0058] 109: With the golden corpus for NER (B9) and the partially populated knowledge graph (A3) in hand, the relationships between entities (B10) were annotated to obtain a relationship extraction dataset (B1 1 ) to train the relationship extraction model (A9). Relationship annotations can be done manually with the help of experts, but in this case, distant supervision techniques were used.

[0059] In parallel with steps 101-109 above, the following steps are also performed to support the objectives of key steps 201-206:

[0060] 301: The corpora B1 and the partially populated knowledge graph A3 are used to train the vector graph model A4. First, a word vector model is trained B12 to obtain a trained word vector model B13. An example of an algorithm to perform this training is the Word2Vec algorithm as described in Gomes et al (2021) and Gomes (2021), obtaining a trained word vector model B13. Other word vectorization techniques can also be used, such as GloVe and fastText, among others (D. da SM Gomes et al., “Portuguese word embeddings for the oil and gas industry: Development and evaluation”, Computers in Industry, vol. 124, p. 103347, Jan. 2021 , doi: 10.1016 / j.compind.2020.103347.; D. da SM Gomes, “PETROVEC: Development and evaluation of Portuguese word vector models for the oil and gas domain”, Thesis, UFRJ, Rio de Janeiro, Brazil, 2021. [Online]. Available at: http: / / www.coc.ufrj.br / pt / teses-de-doutorado / 636- 2021 / 9568-diogo-da-silva-magalhaes-gomes. J. Pennington, R. Socher, and C. Manning, “GloVe: Global Vectors for Word Representation,” in Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), Doha, Qatar: Association for Computational Linguistics, Oct. 2014, p. 1532–1543. doi: 10.31 15 / v1 / D14-1162. P. Bojanowski, E. Grave, A. Joulin, and T. Mikolov, “Enriching word vectors with subword information,” Transactions of the Association for Computational Linguistics, vol. 5, p. 135–146, Dec. 2017, doi: 10.1 162 / tacl_a_00051 .).

[0061] 302: The trained model B13 is used in the initialization of the training B14 of the graph vectorization model A4. The graph vectorization model used in the validation of the invention was the OWL2Vec* algorithm (J. Chen, P. Hu, E. Jimenez-Ruiz, O. M. Holter, D. Antonyrajah, and I. Horrocks, “OWL2Vec*: embedding of OWL ontologies”, Mach Learn, vol. 110, n s7, p. 1813-1845, Jul. 2021 , doi: 10.1007 / s10994-021-05997-6), but any other algorithm capable of training a graph vectorization model can be used without departing from the scope of the present invention.

[0062] Steps 301 and 302 above can be performed before, after, or at the same time as steps 101-109 since there is no interference or dependency between them.

[0063] In summary, the deep learning models A6, A7, A8, and A9 and the vector model A4 were trained using the features developed in steps 101-109 and 301-302. Features can be understood as the various datasets used to train the machine learning models.

[0064] Figures 3 and 4 are block diagrams that illustrate the processes of the present invention in another way. These figures clarify the relationship between the modules and steps described above and can be viewed in conjunction with Figures 1 and 2.

[0065] The present invention, as described in the steps above, allows for the automated production of a knowledge graph populated with a much larger and more precise number of entities related to the analyzed corpus than the prior art. For example, let's say the partially populated knowledge graph A3 is like the one in Table 1 below: Table 1

[0066] The various elements of this graph are encoded during training B14 as a vector model of graph A4. Since all the information present in graph A3 was already known, the goal of this process is to extract new information from documents A5. At the end of the steps of the method described here, the partially populated graph A3 will be completed. with new information, we obtain a populated knowledge graph A10, that is, expanded with the information extracted from the A5 documents, as seen in Table 2. The entities and relationships in bold are automatically added by the method revealed here in a time window much shorter than that which would be possible in a completely manual process as is currently done. The invention proposed here is capable of processing millions of documents in a few hours, which is economically impossible to do manually, as it would require dozens of specialists to work for several months. It is worth remembering that the state of the art also proposes automated methods; that is, the processing time is similar to ours. However, our advantage lies in the quality of extraction, the possibility of identifying new entities, and our specialization in a technical domain (in the case of validation, the domain of Geosciences). Table 2

[0067] The steps disclosed above can be implemented using any software and hardware capable of executing them. What follows is an exemplary embodiment that was used by the inventors in validating the invention. Those skilled in the art will readily appreciate that other software and hardware configurations are possible without departing from the scope of the present invention.

[0068] During validation, the invention was embodied in a series of scripts and data formats that were transformed throughout the process. Below, we present the data used in the main steps and the tools used to transform them. The entire process of extracting entities and relationships, and populating the knowledge graph—including the data transformation scripts and the inference of machine learning models—was performed using Python scripts using Jupyter Notebook, and the process was orchestrated using Apache NiFi.

[0069] The following are the resources, such as software, used in validating the methodology presented here. These should be understood as examples only, so that other resources may be used without departing from the scope of the present invention. Ontology A1, Structured Database A2, Partially Populated Knowledge Graph A3

[0070] The ontology was modeled using Web Ontology Language (OWL), a standard language of the World Wide Web Consortium (W3C). Protégé software was used to view and edit the ontology manually. Finally, Python scripts were used to edit and populate the ontology programmatically, primarily using SPARQL queries and the Owlready2 library. Word vector model B13, Graph vector model A4

[0071] The B13 word vector model was trained using the Python Gensim library. The graph vectorization model was trained using the OWL2Vec* algorithm. Documents / Corpus A5

[0072] When necessary, input documents are preprocessed by software capable of processing unstructured documents (primarily PDFs) and returning a set of structured or semi-structured files. An example of such software is described in the patent application. BR 10 2021 023977-8. In validating this invention, an XML file containing the raw text extracted from the documents and tags with various types of metadata was used. At the end of the process, the URIs identifying the entities of the populated knowledge graph are added to this XML file as new metadata (A1 1 ). Figure 6 illustrates this process. Corpus Gold B3, Corpus Golden for NER B9, Relation Extraction Dataset B1 1

[0073] The annotations of the Gold B3 and Golden corpora for NER B11 were performed using the CoNLL-U format. This format was developed within the Universal Dependencies project, which develops methodologies and parsers for multiple languages. The relation extraction dataset B11 was saved in TXT format, as shown in Figure 7. NER Model A6, Entity Linkage Model A7, Entity Clustering Model A8, Relation Extraction Model A9

[0074] The machine learning models were trained using Python scripts in the Interactive Data Science (CDI) environment, but other commercial clouds such as AWS, Azure, and Google Cloud can be used without deviating from the scope of this invention. The cloud environment provides the processing and storage capacity necessary for training the models. The models were implemented using the TensorFlow deep learning framework; pre-trained models such as those available on TensorFlow Hub (https: / / www.tensorflow.org / hub) and Hugging Face Hub (https: / / huggingface.co / models) can also be used without prejudice.

[0075] The advantages of the above method will be obvious to a person skilled in the art.

[0076] Prior art methodologies for automatic knowledge graph population are based on simpler and different sequences of steps than those disclosed here. In general, known methodologies merely identify already known entities and relationships in a text to create a new knowledge graph. The prior art does not concern with previously known instances of the knowledge graph, which, in the present invention, is performed by the deep learning module A7, nor with the identification of new entities, which is performed by the deep learning module A8 of the present invention. We can say that a typical knowledge graph extraction process essentially follows the sequence seen in Figure 5: that is, a corpus A5 is analyzed and has entities A6 recognized, relationships between these entities are determined, and a populated knowledge graph A10 is generated.

[0077] Some prior art methodologies propose linking entities to sets of predefined instances using classification models. This type of approach prevents the identification of instances that were not previously listed and performs poorly when the number of instances is very large.

[0078] Advantageously, the present invention overcomes the above deficiencies by training and implementing the vector model A4 and the deep learning models A7 and A8: instead of trying to classify instances according to a predefined list, the present invention trains a specialized model that predicts a vector for each instance. That is, the entities A6 identified in the corpus A5 are positioned in the same vector space as the entities of the existing knowledge graph A3. If these entities overlap existing instances, we can say that they are the same instance; otherwise, we have found new instances. To enable the creation of this vector model A4 of the knowledge graph, several steps were developed, namely: A1, A2, A3, training B12 of a vector model to obtain a trained word vector model B13, and B14 training of a vectorization model A4. Such techniques are not included in the prior art.

[0079] Next, we'll go into a little more detail about entities. For example, let's say the named entities of interest are "Rock", "Oil Field" and "Sedimentary Basins". This class of entities is composed of several instances, for example:

[0080] Rock := {Bauchite, Carbonates, Granites};

[0081] Oil Field:= {Marlin, Albacore, Grouper};

[0082] Sedimentary Basins := {Campos Basin, Espírito Santo Basin, Solimões Basin}.

[0083] Given the following text: "The Marlim Field, located in the Campos basin, is formed mainly by carbonates and basalts."

[0084] The NER model (A6) will identify the class:

[0085] "The [Marlim Field](Field), located in the [Campos Basin](Basin), is formed mainly by [carbonates](Rock) and [basalts](Rock)."

[0086] Model A7 will link terms to instances that have already been mapped (Marlim, Campos Basin, and Carbonates). Model A8 will identify new instances (basalts).

[0087] Another advantage of the present invention is the domain knowledge of the method disclosed herein. Most artificial intelligence and machine learning methodologies are based on data from a general context domain, extracted from information available on the internet. However, these methodologies cannot always be efficiently transferred to specific domains, which have much less data available for training and, in the case of natural language texts, have domain-specific semantic peculiarities, such as jargon and very specific expressions. The present invention overcomes these shortcomings by revealing a specialized training methodology, requiring only sufficiently complete B1 corpora for training the deep learning modules A7, A8, and A9 used by the present invention. The present invention enables the use of specialized documents, entities, and relationships from technical documents.

[0088] An additional advantage of the present invention, as already mentioned, is the ability to obtain a populated knowledge graph A10 in a much shorter time than conventional methods. Furthermore, the number and precision of entities and relationships obtained by this method are much greater and more accurate than those achieved with prior art. Furthermore, not only is the desired result obtained more quickly and efficiently, but the time of several specialists can be used for other activities, representing a significant gain in man-hours and adding significant value to the method described here.

[0089] The present invention presents two major advantages over the state of the art: the method with the chaining of activities and the domain knowledge of the documents.

[0090] Currently available automatic knowledge graph population methodologies are based on simpler activity sequences that are different from the one taught in this invention. In general, these methodologies simply identify entities and relationships in the text to create a new knowledge graph. They do not concern themselves with instances of the existing knowledge graph (in our case, activity A7) or with identifying new entities (activity A8). We can say that a typical knowledge graph extraction process essentially follows the sequence shown in Figure 5.

[0091] Some methodologies described in the prior art propose linking entities to sets of predefined instances using classification models. This type of approach prevents the identification of instances that were not previously listed, in addition to performing poorly when the number of instances is very large. In our view, this is a significant advantage of the method described here (the relationship between A4, A7, A8) over the prior art: instead of trying to classify instances according to a predefined list, a specialized model is trained that predicts a vector for each instance. In other words, the entities identified in the text are positioned in the same vector space as the entities of the existing knowledge graph. If these entities overlap existing instances, we can say that they are the same instance; otherwise, it means that we have found new instances. To enable the creation of this vector model of the knowledge graph (A4), it was necessary to perform a series of activities (A1, A2, A3, B12, B13, B14) that are not described in the prior art methodologies.

[0092] The second relevant point is the domain knowledge targeted by the method taught here. Most artificial intelligence and machine learning methodologies are based on data from a general context domain, extracted from information available on the internet. However, these methodologies cannot always be efficiently transferred to specific domains, which have much less data available for training and, in the case of natural language texts, have domain-specific semantic peculiarities, such as jargon and very specific expressions. Therefore, one of the great advantages of the method detailed here is the use of specialized documents, entities, and relationships from technical documents, primarily from the oil, gas, and energy industry.

[0093] While aspects of the present disclosure may be susceptible to various modifications and alternative forms, specific embodiments have been shown as examples in the drawings and have been described in detail herein. However, it should be understood that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention should cover all modifications, equivalents, and alternatives that fall within the scope of the invention, as defined by the following appended claims.

Claims

CLAIMS 1. Method for extracting entities and relationships from a corpus to populate a knowledge graph, characterized by the fact that it comprises the steps of: 201: Populate a basic ontology (A1) with entities from the curated lists (A2) to generate an incomplete knowledge graph (A3); 202: Encode the nodes and edges of the incomplete knowledge graph (A3) using a graph vectorization algorithm to generate a vector model (A4); 203: Identify entities in a corpus (A5) using a previously trained deep learning model (A6); 204: Use a previously trained deep learning model (A7) to link the entities identified in the corpus (A5) to the vectors of the vector model (A4), and use another previously trained deep teaming model (A8) to cluster the entities identified in the corpus (A5); 205: Use a previously trained deep learning model (A9) to identify relationships between sentences that have more than one entity; 206: Populate the partially populated knowledge graph (A3) with the new entities and relations extracted from the corpus (A5) to form a populated knowledge graph (A10) and include unique resource identifiers (URI) of the populated knowledge graph (A10) as metadata of the sentences (A1 1 ).

2. The method of claim 1, further comprising the following steps prior to step 201: 101 : Select corpora (B1 ); 102: Annotate part of the corpora documents (B1) manually to obtain a gold corpus (B3); 103: Use the gold corpus (B3) to train the machine learning model B4; 104: Annotate another set of documents using model B4 to obtain an annotated corpus B5; 105: Develop rules B6 for the annotation of entities by a team of linguists based on the corpus B5 and the partially populated knowledge graph A3; 106: Review rules B6 by a team of domain experts from corpus B5 to obtain revised rules B7; 107: Repeat steps 105 and 106 until it is determined that the revised rules B7 cover all annotations, and obtain a golden corpus B9 based on the revised rules; 108: Train models A6, A7 and A8 using the golden corpus B9; 109: Annotate the relationships between the entities of graph A3 based on corpus B9 to obtain a dataset B11 to train model A9; 301: Train (B12) a word vector model to obtain a trained word vector model (B13); 302: Use the trained word model (B13) in the initialization of the training (B14) of the graph vectorization model (A4).

Citation Information

Patent Citations

  • METHOD FOR EXTRACTING AND STRUCTURING INFORMATION

    BR102021023977A2

  • Machine learning-based relationship association and related discovery and search engines

    US20190354544A1

  • Reasonable language model learning for text generation from a knowledge graph

    US20230134798A1

  • Predicting links in knowledge graphs using ontological knowledge

    US10157226B1

  • Method and apparatus for completing a knowledge graph

    US20180144252A1