Method and system for automatically generating knowledge graph

WO2025048073A1PCT designated stage expired Publication Date: 2025-03-06INTELLECTUS CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2023/020256
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-30
Filing Date
2023-12-08
Publication Date
2025-03-06

Smart Images

  • Figure KR2023020256_06032025_PF_FP_ABST
    Figure KR2023020256_06032025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention provides a method for automatically generating a knowledge graph, the method being performed by at least one processor. The method comprises the steps of: receiving an input dataset; identifying a domain associated with the input dataset; using a machine-learning model associated with the domain to generate a local knowledge graph on the basis of the input dataset; and building a global knowledge graph on the basis of the local knowledge graph.
Need to check novelty before this filing date? Find Prior Art

Description

Method and system for automatically generating a knowledge graph

[0001] The present disclosure relates to a method and system for automatically generating a knowledge graph, and more particularly, to a method and system for identifying a domain associated with a received input data set, generating a local knowledge graph using a machine learning model associated with the domain, and building a global knowledge graph.

[0002] As network and information processing technologies advance, a variety of data can be collected and utilized to provide diverse services to users. To utilize this data, it must be processed and refined by organizing, standardizing, and integrating the collected data. Servers providing these services utilize knowledge graphs for various categories to provide more appropriate services to users. A knowledge graph is a method for structuring and representing information and knowledge, representing how concepts are connected to other concepts in a graphical form.

[0003] Meanwhile, because the concept of knowledge encompasses a semantic perspective, there are limitations to the mechanical processing of a program when initially constructing a knowledge graph. Therefore, conventional techniques have involved manually converting knowledge documents into graph data structures and inputting them into knowledge graphs. However, this technique suffers from the drawback of requiring significant time and cost to represent large amounts of data as knowledge graphs.

[0004] The present disclosure provides a method and system (device) for automatically generating a knowledge graph to solve the above problems.

[0005] The present disclosure can be implemented in various ways, including as a method, a device (system), or a computer program stored on a readable storage medium.

[0006] According to one embodiment of the present disclosure, a method for automatically generating a knowledge graph may include the steps of receiving an input data set, identifying a domain associated with the input data set, generating a local knowledge graph based on the input data set using a machine learning model associated with the domain, and constructing a global knowledge graph based on the local knowledge graph.

[0007] According to one embodiment of the present disclosure, a machine learning model may be pre-trained to generate a plurality of entities associated with the input data and relationships between the plurality of entities based on metadata extracted from the input data.

[0008] According to one embodiment of the present disclosure, a machine learning model can be trained using a knowledge base document in which a predetermined domain is annotated.

[0009] According to one embodiment of the present disclosure, the step of generating a local knowledge graph may include the step of generating a plurality of entities and relationships between the plurality of entities associated with an input data set using a machine learning model, and the step of generating a local knowledge graph associated with a domain based on the plurality of entities and the relationships between the plurality of entities.

[0010] According to one embodiment of the present disclosure, the step of constructing a global knowledge graph may include the step of extracting relationships between entities within a predetermined range centered on instance nodes of a local knowledge graph, and the step of constructing a global knowledge graph by integrating the local knowledge graph based on the relationships between the extracted entities.

[0011] According to one embodiment of the present disclosure, the method may further include a step of generating an index corresponding to each of a plurality of entities included in the global knowledge graph.

[0012] According to one embodiment of the present disclosure, the step of generating an index may include the step of embedding each of a plurality of entities included in a global knowledge graph into a vector and the step of mapping the embedded vector to correspond to the global knowledge graph.

[0013] According to one embodiment of the present disclosure, the step of embedding into a vector can be performed asynchronously by sequentially logging changes in the global knowledge graph.

[0014] A computer-readable non-transitory recording medium having recorded thereon instructions for executing a method according to one embodiment of the present disclosure on a computer may be provided.

[0015] A system according to one embodiment of the present disclosure comprises a communication module, a memory, and at least one processor connected to the memory and configured to execute at least one computer-readable program contained in the memory, wherein the at least one program may include instructions for receiving an input data set, identifying a domain associated with the input data set, generating a local knowledge graph based on the input data set using a machine learning model associated with the domain, and building a global knowledge graph based on the local knowledge graph.

[0016] According to some embodiments of the present disclosure, a knowledge graph can be easily created by performing semantic processing on an input data set using a machine learning model. Consequently, since no human input of data into the knowledge graph is required, the time and cost required to convert massive amounts of data into a knowledge graph can be significantly reduced.

[0017] According to some embodiments of the present disclosure, the components and data performing functions in an information processing system can be distributed. This significantly increases the speed at which massive amounts of data can be processed to create a knowledge graph, and greatly facilitates system expansion to handle massive amounts of data.

[0018] According to some embodiments of the present disclosure, a global knowledge graph can indicate which local knowledge graphs are associated with multiple entities, including entities and / or relationships. Accordingly, the domains corresponding to a specific entity and / or multiple entities, including relationships, can be easily explored.

[0019] According to some embodiments of the present disclosure, an index can be created by embedding entities and relationships between entities in a knowledge graph as vectors. This allows data within the knowledge graph to be numerically represented, enabling rapid retrieval and processing of desired data. Furthermore, the performance of systems utilizing the knowledge graph can be significantly improved.

[0020] The effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by a person having ordinary skill in the art to which the present disclosure belongs (referred to as “one skilled in the art”) from the description of the claims.

[0021] Embodiments of the present disclosure will be described below with reference to the accompanying drawings, wherein like reference numerals represent similar elements, but are not limited thereto.

[0022] FIG. 1 illustrates an example of automatically generating a knowledge graph according to one embodiment of the present disclosure.

[0023] FIG. 2 is a schematic diagram showing a configuration in which an information processing system is connected to enable communication with a plurality of user terminals to generate a knowledge graph according to one embodiment of the present disclosure.

[0024] FIG. 3 is a block diagram showing the internal configuration of a user terminal and an information processing system according to one embodiment of the present disclosure.

[0025] FIG. 4 is a diagram showing an example of a machine learning model being trained according to one embodiment of the present disclosure.

[0026] FIG. 5 is a diagram illustrating an example of a functional configuration of an information processing system for generating a knowledge graph according to one embodiment of the present disclosure.

[0027] FIG. 6 is a diagram illustrating an example of a knowledge graph generator generating a knowledge graph according to one embodiment of the present disclosure.

[0028] FIG. 7 is a diagram illustrating an example of generating an index corresponding to an entity of a knowledge graph according to one embodiment of the present disclosure.

[0029] FIG. 8 is a flowchart illustrating an example of a method according to one embodiment of the present disclosure.

[0030] Hereinafter, specific details for implementing the present disclosure will be described in detail with reference to the attached drawings. However, in the following description, specific descriptions of widely known functions or configurations will be omitted if they may unnecessarily obscure the gist of the present disclosure.

[0031] In the attached drawings, identical or corresponding components are assigned the same reference numerals. Furthermore, in the description of the embodiments below, duplicate descriptions of identical or corresponding components may be omitted. However, even if a description of a component is omitted, it is not intended that such component is not included in any embodiment.

[0032] The advantages and features of the disclosed embodiments, and methods for achieving them, will become clearer with reference to the embodiments described below, along with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various different forms. These embodiments are provided solely to ensure the completeness of the disclosure and to fully inform those skilled in the art of the scope of the invention.

[0033] The terms used in this specification will be briefly explained, followed by a detailed description of the disclosed embodiments. The terms used in this specification have been selected from widely used, current terms, taking into account the functions of the present disclosure. However, these terms may vary depending on the intentions of engineers working in the relevant field, precedents, the emergence of new technologies, etc. Furthermore, in certain cases, terms may be arbitrarily selected by the applicant, and in such cases, their meanings will be described in detail in the relevant description of the invention. Therefore, the terms used in this disclosure should not be defined simply as names of terms, but rather based on their meanings and the overall content of the present disclosure.

[0034] In this specification, singular expressions include plural expressions unless the context clearly indicates otherwise. Furthermore, plural expressions include singular expressions unless the context clearly indicates otherwise. When a part of the specification is said to include a component, this does not exclude other components, but rather implies that other components may be included, unless otherwise specifically stated.

[0035] Also, the term 'module' or 'part' used in the specification means a software or hardware component, and the 'module' or 'part' performs certain roles. However, the 'module' or 'part' is not limited to software or hardware. The 'module' or 'part' may be configured to reside on an addressable storage medium and may be configured to execute one or more processors. Thus, as an example, the 'module' or 'part' may include at least one of components such as software components, object-oriented software components, class components, and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, or variables. The functionality provided within the components and 'modules' or 'parts' may be combined into a smaller number of components and 'modules' or 'parts', or further separated into additional components and 'modules' or 'parts'.

[0036] According to one embodiment of the present disclosure, a 'module' or 'unit' may be implemented as a processor and a memory. 'Processor' should be broadly construed to include a general-purpose processor, a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a controller, a microcontroller, a state machine, and the like. In some circumstances, a 'processor' may also refer to an application-specific integrated circuit (ASIC), a programmable logic device (PLD), a field-programmable gate array (FPGA), and the like. A 'processor' may also refer to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors in conjunction with a DSP core, or any other such combination of configurations. In addition, 'memory' should be broadly construed to include any electronic component capable of storing electronic information. 'Memory' may refer to various types of processor-readable media, such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, etc. Memory is said to be in electronic communication with the processor if the processor can read information from, and / or write information to, the memory. Memory integrated in a processor is in electronic communication with the processor.

[0037] In the present disclosure, the "system" may include, but is not limited to, at least one of a server device and a cloud device. For example, the system may be comprised of one or more server devices. As another example, the system may be comprised of one or more cloud devices. As yet another example, the system may be configured and operated by a combination of a server device and a cloud device.

[0038] In the present disclosure, 'display' may refer to any display device associated with a computing device, for example, any display device capable of displaying any information / data controlled by or provided from the computing device.

[0039] In the present disclosure, 'each of the plurality of As' or 'each of the plurality of As' may refer to each of all components included in the plurality of As, or may refer to each of some components included in the plurality of As.

[0040] In this disclosure, a "knowledge graph" may refer to any graph structure that represents or characterizes real-world knowledge. A knowledge graph can structure and connect information by representing each entity and relationship between entities as nodes and edges. Furthermore, in this disclosure, for example, a local knowledge graph is a small-scale knowledge graph used for a specific topic or field, capable of expressing information within a limited scope. Additionally, a global knowledge graph is a large-scale knowledge graph used for various topics and fields, capable of expressing a wide range of information.

[0041] In this disclosure, a "domain" may represent or characterize a specific scope or area, such as a specific topic, field, or surrounding environment, in a knowledge graph. For example, such a domain may be used to limit and specify the scope of content covered within the knowledge graph.

[0042] In this disclosure, a "machine learning model" may include any model used to infer an answer to a given input. In one embodiment, the machine learning model may include an artificial neural network model including an input layer, multiple hidden layers, and an output layer. Here, each layer may include multiple nodes. In this disclosure, each of the multiple machine learning models is described as a separate machine learning model, but this is not limited thereto, and some or all of the multiple machine learning models may be implemented as a single machine learning model. Furthermore, a single machine learning model may include multiple machine learning models. In this disclosure, the terms "machine learning model" and "artificial neural network model" may be used interchangeably to refer to the same or similar models.

[0043] In the present disclosure, a "large language model (LLM)" may refer to a language model capable of inference without fine-tuning using a method such as few-shot learning, and may have more than 10 times as many parameters (e.g., more than 100 billion parameters) as a conventional general language model. In the present disclosure, a "language model" may include a large language model.

[0044] FIG. 1 illustrates an example of automatically generating a knowledge graph (150) according to one embodiment of the present disclosure. In one embodiment, an information processing system (not shown) may receive an input data set (110). Here, the input data set (110) may include data extracted from text documents, web pages, databases, etc. In addition, the information processing system may identify a domain associated with the input data set (110). For example, the information processing system may analyze the input data set (110) and determine that the input data set (110) is associated with the field of autonomous driving. Alternatively, the information processing system may identify a domain associated with the input data set (110) using a pre-trained machine learning model (e.g., a language model, etc.).

[0045] In one embodiment, the information processing system can generate a knowledge graph (150) based on an input data set (110) using a machine learning model (120) associated with an identified domain. Specifically, the information processing system can generate a plurality of entities (130) and relationships (140) between the plurality of entities associated with the input data set (110) using the machine learning model (120) associated with the identified domain. Here, the machine learning model (120) may be a pre-trained model that receives the input data set (110) and outputs a plurality of entities (130) and relationships (140) between the plurality of entities. Alternatively, the machine learning model (120) may be a pre-trained model that receives domains extracted or identified from the input data set (110) and outputs a plurality of entities (130) and relationships (140) between the plurality of entities. Alternatively, the machine learning model (120) may be a pre-trained model that receives an input data set (110) and domains extracted or identified from the input data set (110), and outputs a plurality of entities (130) and relationships (140) between the plurality of entities.

[0046] Additionally, the information processing system can generate a local knowledge graph associated with the identified domain based on the generated multiple entities (130) and the relationships (140) between the multiple entities. Additionally, the information processing system can extract relationships between entities within a predetermined range, centered around instance nodes of the generated local knowledge graph. The information processing system can build a global knowledge graph by integrating multiple local knowledge graphs, including the local knowledge graph, based on the relationships between the extracted entities.

[0047] In one embodiment, the machine learning model (120) may be pre-trained using a knowledge base document annotated with a predetermined domain. Here, the machine learning model (120) may be, but is not limited to, a Large Language Model (LLM). An example of training such a domain-specific machine learning model is described in detail below with reference to FIG. 4.

[0048] In one embodiment, the information processing system can create an index database that integrates a knowledge graph hierarchy consisting of a local knowledge graph associated with the generated domain and a global knowledge graph. Specifically, the information processing system can create an index corresponding to each of multiple entities included in the global knowledge graph. Since the index corresponds to the domain and / or entity of the global knowledge graph, specific data can be easily retrieved from the knowledge graph using the index.

[0049] This configuration facilitates the creation of knowledge graphs by performing semantic processing on input data sets using machine learning models. Consequently, since humans no longer need to manually input data into the knowledge graph, the time and cost required to transform massive amounts of data into knowledge graphs can be significantly reduced.

[0050] FIG. 2 is a schematic diagram illustrating a configuration in which an information processing system (230) is connected to a plurality of user terminals (210_1, 210_2, 210_3) so as to be able to communicate with each other to generate a knowledge graph according to one embodiment of the present disclosure. As illustrated, the plurality of user terminals (210_1, 210_2, 210_3) may be connected to an information processing system (230) capable of providing a knowledge graph generation service via a network (220). Here, the plurality of user terminals (210_1, 210_2, 210_3) may include terminals of users who receive the knowledge graph generation service.

[0051] In one embodiment, the information processing system (230) may include one or more server devices and / or databases capable of storing, providing, and executing computer executable programs (e.g., downloadable applications) and data related to providing knowledge graph generation services, or one or more distributed computing devices and / or distributed databases based on cloud computing services.

[0052] The knowledge graph generation service provided by the information processing system (230) can be provided to users through a knowledge graph generation service application, a web browser, a web browser extension program, etc. installed on each of a plurality of user terminals (210_1, 210_2, 210_3). For example, the information processing system (230) can provide information corresponding to a knowledge graph generation request received from a user terminal (210_1, 210_2, 210_3) or perform corresponding processing through a knowledge graph generation service application, etc.

[0053] A plurality of user terminals (210_1, 210_2, 210_3) can communicate with an information processing system (230) via a network (220). The network (220) can be configured to enable communication between the plurality of user terminals (210_1, 210_2, 210_3) and the information processing system (230). Depending on the installation environment, the network (220) can be configured as a wired network such as Ethernet, a wired home network (Power Line Communication), a telephone line communication device, and RS-serial communication, a wireless network such as a mobile communication network, WLAN (Wireless LAN), Wi-Fi, Bluetooth, and ZigBee, or a combination thereof. The communication method is not limited, and may include not only a communication method utilizing a communication network (e.g., a mobile communication network, wired Internet, wireless Internet, broadcasting network, satellite network, etc.) that the network (220) may include, but also short-range wireless communication between user terminals (210_1, 210_2, 210_3).

[0054] In FIG. 2, a mobile phone terminal (210_1), a tablet terminal (210_2), and a PC terminal (210_3) are illustrated as examples of user terminals, but are not limited thereto, and the user terminals (210_1, 210_2, 210_3) may be any computing device capable of wired and / or wireless communication and capable of installing and executing a knowledge graph creation service application or a web browser, etc. For example, the user terminal may include an AI speaker, a smartphone, a mobile phone, a navigation device, a computer, a laptop, a digital broadcasting terminal, a PDA (Personal Digital Assistants), a PMP (Portable Multimedia Player), a tablet PC, a game console, a wearable device, an IoT (Internet of Things) device, a VR (virtual reality) device, an AR (augmented reality) device, a set-top box, etc. In addition, although FIG. 2 illustrates three user terminals (210_1, 210_2, 210_3) communicating with the information processing system (230) via the network (220), this is not limited thereto, and a different number of user terminals may be configured to communicate with the information processing system (230) via the network (220).

[0055] In FIG. 2, a configuration in which a user's request is transmitted to an information processing system (230) through a user terminal (210_1, 210_2, 210_3) is exemplarily illustrated, but the present invention is not limited thereto. The user's request may be provided to the information processing system (230) through an input device associated with the information processing system (230) without passing through the user terminal (210_1, 210_2, 210_3), and the result of processing the user's request may be provided to the user through an output device (e.g., a display, etc.) associated with the information processing system (230).

[0056] FIG. 3 is a block diagram showing the internal configuration of a user terminal (210) and an information processing system (230) according to one embodiment of the present disclosure. The user terminal (210) may refer to any computing device capable of executing applications, web browsers, etc., and capable of wired / wireless communication, and may include, for example, a mobile phone terminal (210_1), a tablet terminal (210_2), a PC terminal (210_3), etc. of FIG. 2. As illustrated, the user terminal (210) may include a memory (312), a processor (314), a communication module (316), and an input / output interface (318). Similarly, the information processing system (230) may include a memory (332), a processor (334), a communication module (336), and an input / output interface (338). As illustrated in FIG. 3, the user terminal (210) and the information processing system (230) may be configured to communicate information and / or data via a network (220) using respective communication modules (316, 336). In addition, the input / output device (320) may be configured to input information and / or data to the user terminal (210) or output information and / or data generated from the user terminal (210) via the input / output interface (318).

[0057] The memory (312, 332) may include any non-transitory computer-readable recording medium. According to one embodiment, the memory (312, 332) may include a permanent mass storage device such as a read-only memory (ROM), a disk drive, a solid-state drive (SSD), or flash memory. As another example, a permanent mass storage device such as a ROM, an SSD, a flash memory, or a disk drive may be included in the user terminal (210) or the information processing system (230) as a separate permanent storage device distinct from the memory. In addition, an operating system and at least one program code may be stored in the memory (312, 332).

[0058] These software components may be loaded from a computer-readable recording medium separate from the memory (312, 332). This separate computer-readable recording medium may include a recording medium directly connectable to the user terminal (210) and the information processing system (230), and may include, for example, a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, a memory card, etc. As another example, the software components may be loaded into the memory (312, 332) through a communication module (316, 336) other than a computer-readable recording medium. For example, at least one program may be loaded into the memory (312, 332) based on a computer program that is installed by files provided by developers or a file distribution system that distributes installation files of applications through a network (220).

[0059] The processor (314, 334) may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. Instructions may be provided to the processor (314, 334) by a memory (312, 332) or a communication module (316, 336). For example, the processor (314, 334) may be configured to execute instructions received according to program code stored in a storage device such as the memory (312, 332).

[0060] The communication module (316, 336) may provide a configuration or function for the user terminal (210) and the information processing system (230) to communicate with each other via the network (220), and may provide a configuration or function for the user terminal (210) and / or the information processing system (230) to communicate with another user terminal or another system (e.g., a separate cloud system, etc.). For example, a request or data (e.g., a knowledge graph creation request, etc.) generated by the processor (314) of the user terminal (210) according to a program code stored in a recording device such as a memory (312) may be transmitted to the information processing system (230) via the network (220) under the control of the communication module (316). Conversely, a control signal or command provided under the control of the processor (334) of the information processing system (230) can be received by the user terminal (210) through the communication module (316) of the user terminal (210) via the communication module (336) and the network (220).

[0061] The input / output interface (318) may be a means for interfacing with an input / output device (320). As an example, the input device may include a device such as a camera, keyboard, microphone, mouse, etc., including an audio sensor and / or an image sensor, and the output device may include a device such as a display, a speaker, a haptic feedback device, etc. As another example, the input / output interface (318) may be a means for interfacing with a device that has a configuration or function integrated into one for performing input and output, such as a touch screen. For example, when the processor (314) of the user terminal (210) processes a command of a computer program loaded into the memory (312), a service screen configured using information and / or data provided by the information processing system (230) or another user terminal may be displayed on the display through the input / output interface (318). In FIG. 3, the input / output device (320) is illustrated as not being included in the user terminal (210), but is not limited thereto, and may be configured as a single device with the user terminal (210). In addition, the input / output interface (338) of the information processing system (230) may be a means for interfacing with a device (not shown) for input or output that is connected to the information processing system (230) or that the information processing system (230) may include. In FIG. 3, the input / output interfaces (318, 338) are illustrated as elements configured separately from the processors (314, 334), but are not limited thereto, and the input / output interfaces (318, 338) may be configured to be included in the processors (314, 334).

[0062] The user terminal (210) and the information processing system (230) may include more components than those shown in FIG. 3. However, there is no need to explicitly illustrate most of the conventional components. In one embodiment, the user terminal (210) may be implemented to include at least some of the input / output devices (320) described above. In addition, the user terminal (210) may further include other components, such as a transceiver, a Global Positioning System (GPS) module, a camera, various sensors, a database, and the like. For example, if the user terminal (210) is a smartphone, it may include components that a smartphone generally includes, and various components, such as an acceleration sensor, a gyro sensor, a microphone module, a camera module, various physical buttons, buttons using a touch panel, input / output ports, and a vibrator for vibration, may be implemented to be further included in the user terminal (210).

[0063] While a program or application for a knowledge graph creation service, etc. is running, the processor (314) can receive text, images, videos, voices and / or actions, etc. input or selected through an input device such as a camera, microphone, including a touch screen, keyboard, audio sensor and / or image sensor connected to an input / output interface (318), and can store the received text, images, videos, voices and / or actions, etc. in a memory (312) or provide them to an information processing system (230) through a communication module (316) and a network (220).

[0064] The processor (314) of the user terminal (210) may be configured to manage, process, and / or store information and / or data received from an input / output device (320), another user terminal, an information processing system (230), and / or multiple external systems. The information and / or data processed by the processor (314) may be provided to the information processing system (230) via a communication module (316) and a network (220). The processor (314) of the user terminal (210) may transmit the information and / or data to the input / output device (320) via an input / output interface (318) and output the information and / or data. For example, the processor (314) may output or display the received information and / or data on a screen associated with the user terminal (210).

[0065] The processor (334) of the information processing system (230) may be configured to manage, process, and / or store information and / or data received from multiple user terminals (210) and / or multiple external systems. Information and / or data processed by the processor (334) may be provided to the user terminal (210) via a communication module (336) and a network (220).

[0066] In FIGS. 2 and 3, an environment in which a user terminal and an information processing system communicate with each other to automatically generate a knowledge graph is exemplarily described, but the present invention is not limited thereto, and an environment in which an input / output interface and / or an input / output device is connected to the information processing system without communication with the user terminal may be provided.

[0067] FIG. 4 is a diagram illustrating an example of a machine learning model being trained according to one embodiment of the present disclosure. In one embodiment, the machine learning model may be pre-trained to generate a knowledge graph. Here, the machine learning model may be pre-trained to generate a plurality of entities associated with the input data and relationships between the plurality of entities based on metadata extracted from the input data. Here, the machine learning model may be, but is not limited to, a Large Language Model (LLM).

[0068] In one embodiment, a domain-specific machine learning model (430) may be generated by fine-tuning a pre-trained machine learning model (410). Specifically, data from a database (420) associated with a content management system may be used as training data. Here, the data in the database (420) may be pre-annotated with a domain corresponding to the data. Accordingly, the pre-trained machine learning model (410) may be fine-tuned using data from a specific domain (e.g., autonomous driving, healthcare, etc.), thereby generating a domain-specific machine learning model (430) optimized for the specific domain. Additionally, this training may be performed periodically at a preset time. Accordingly, machine learning models specialized for each of a plurality of predetermined domains may be generated, and the plurality of predetermined domains may be added as the amount of data increases.

[0069] FIG. 5 is a diagram illustrating an example of a functional configuration of an information processing system (230) for generating a knowledge graph according to one embodiment of the present disclosure. In one embodiment, the information processing system (230) may include a domain-specific machine learning model (510) trained in the manner described above with reference to FIG. 4. Alternatively, the trained domain-specific machine learning model (510) may be included in a device that is accessible by wire and / or wirelessly by the information processing system (230). In addition, the information processing system (230) may access and receive a distributed data set (550) through a data pipeline (520). In this case, the information processing system (230) may preprocess the distributed data set (550), extract metadata from the distributed data set (550), and transmit the preprocessed metadata to the domain-specific machine learning model (510).

[0070] In one embodiment, a domain-specific machine learning model (510) can identify entities from input data and define relationships between entities. Accordingly, the information processing system (230) can transmit the entities and relationships between entities generated by the domain-specific machine learning model (510) to a knowledge graph generator (530). In this case, the knowledge graph generator (530) can generate a knowledge graph based on the entities and relationships between the entities. An example of the knowledge graph generator generating a knowledge graph is described in detail below with reference to FIG. 6. Additionally, the generated knowledge graph can be stored in a database (540) associated with the knowledge graph.

[0071] Although not illustrated in FIG. 5, the information processing system (230) may further include an index generator that generates an index corresponding to an entity of the knowledge graph. An example of the information processing system (230) generating an index using the index generator is described in detail below with reference to FIG. 7.

[0072] This configuration allows the components and data performing functions in the information processing system to be distributed. This significantly increases the speed at which massive amounts of data can be processed to create knowledge graphs, and greatly simplifies system expansion to handle massive amounts of data.

[0073] FIG. 6 is a diagram illustrating an example of a knowledge graph generator (530) generating a knowledge graph according to one embodiment of the present disclosure. In one embodiment, the knowledge graph generator (or 530 of FIG. 5) (530) may generate a local knowledge graph (620) based on a plurality of entities generated from a domain-specific machine learning model and relationships between the plurality of entities. Here, the generated local knowledge graph (620) may be associated with a domain for which the machine learning model is specialized. In this case, the local knowledge graph (620) may be a knowledge graph in which a plurality of entities are nodes and relationships between the plurality of entities are edges.

[0074] In one embodiment, the knowledge graph generator (530) can build a global knowledge graph (630) based on the generated local knowledge graph (620). Specifically, the knowledge graph generator (530) can collect instance nodes from a local knowledge graph (620) associated with a specific domain. In addition, the knowledge graph generator (530) can extract relationships between entities within a predetermined range centered on the collected instance nodes. That is, the knowledge graph generator (530) can extract relationships between instance nodes of a local knowledge graph within a predetermined range centered on the instance nodes and nodes of an existing global knowledge graph. Here, the instance nodes can be determined based on the purpose and range of the domain associated with the local knowledge graph, data availability, etc. Additionally, the knowledge graph generator (530) can build a global knowledge graph (630) by connecting and integrating the extracted entities into an existing global knowledge graph based on the relationships between the entities. This process of building a global knowledge graph can be automatically performed at predetermined intervals. Additionally, the generated local knowledge graph (620) and the constructed global knowledge graph (630) can be transmitted to and stored in a database (640) associated with the knowledge graph.

[0075] With this configuration, the global knowledge graph can indicate which local knowledge graphs are associated with multiple entities containing entities and / or relationships. This allows for easy exploration of the domains corresponding to multiple entities containing specific entities and / or relationships.

[0076] FIG. 7 is a diagram illustrating an example of generating an index corresponding to an entity of a knowledge graph (720, 730) according to one embodiment of the present disclosure. In one embodiment, an index generator (740) may generate an index corresponding to each of a plurality of entities included in a knowledge graph based on a local knowledge graph (720) and a global knowledge graph (730) stored in a first database (710) associated with the knowledge graph. Here, the index generator (740) may be included in the information processing system (230). Specifically, the index generator (740) may embed each of the plurality of entities included in the knowledge graph (720, 730) into a vector. Here, any embedding algorithm already known in the field related to vector embedding may be used to embed the entities into vectors. Additionally, the index generator (740) can map the embedded vectors to a vector space corresponding to the knowledge graph (720, 730). Accordingly, the embedded vectors can be used as indices, and similarities between embedded vectors can be calculated using cosine similarity, Euclidean distance, etc.

[0077] In one embodiment, the embedded vector (or index) may be stored in a second database (750) associated with the index. When entities or relationships between entities in the knowledge graph (720, 730) change, the changes may be sequentially logged. Furthermore, the changes logged may be asynchronously transmitted to the index generator (740), thereby generating an index based on the changes.

[0078] This configuration allows for the creation of an index by embedding entities and their relationships in a knowledge graph as vectors. Consequently, by numerically representing data within the knowledge graph, the desired data can be quickly retrieved and processed. Furthermore, the performance of systems utilizing the knowledge graph can be significantly improved.

[0079] FIG. 8 is a flowchart illustrating an example of a method (800) according to one embodiment of the present disclosure. In one embodiment, the method (800) may be performed by at least one processor. The method (800) may begin with the processor receiving an input data set (S810). Thereafter, the processor may identify a domain associated with the input data set (S820).

[0080] Thereafter, the processor may generate a local knowledge graph based on the input data set using a machine learning model associated with the domain (S830). Specifically, the processor may generate a plurality of entities and relationships between the plurality of entities associated with the input data set using the machine learning model. Furthermore, the processor may generate a local knowledge graph associated with the domain based on the plurality of entities and the relationships between the plurality of entities. Here, the machine learning model may be pre-trained to generate a plurality of entities and relationships between the plurality of entities associated with the input data based on metadata extracted from the input data. Furthermore, the machine learning model may be trained using a knowledge base document in which a predetermined domain is annotated.

[0081] Thereafter, the processor can build a global knowledge graph based on the local knowledge graph (S840). Specifically, the processor can extract relationships between entities within a predetermined range, centered around instance nodes in the local knowledge graph. Furthermore, the processor can integrate the local knowledge graphs to build a global knowledge graph based on the relationships between the extracted entities.

[0082] In one embodiment, the processor may generate an index corresponding to each of the multiple entities included in the global knowledge graph. Specifically, the processor may embed each of the multiple entities included in the global knowledge graph into a vector. Furthermore, the processor may map the embedded vector to the global knowledge graph. Here, the step of embedding into a vector may be performed asynchronously by sequentially logging changes in the global knowledge graph.

[0083] The above-described method may be provided as a computer program stored on a computer-readable recording medium for execution on a computer. The medium may be one that continuously stores a computer-executable program or one that temporarily stores it for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or multiple hardware combinations, and is not limited to a medium directly connected to a computer system, but may also be distributed over a network. Examples of the medium may include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and those configured to store program instructions, including ROM, RAM, and flash memory. In addition, examples of other media may include recording or storage media managed by app stores that distribute applications, sites that supply or distribute various software, servers, etc.

[0084] The methods, operations, or techniques of the present disclosure may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. Those skilled in the art will appreciate that the various exemplary logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various exemplary components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software will depend on the particular application and the design requirements imposed on the overall system. Those skilled in the art may implement the described functionality in various ways for each particular application, but such implementations should not be construed as departing from the scope of the present disclosure.

[0085] In a hardware implementation, the processing units used to perform the techniques may be implemented within one or more ASICs, DSPs, GPUs, digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, a computer, or a combination thereof.

[0086] Accordingly, the various exemplary logical blocks, modules, and circuits described in connection with the present disclosure may be implemented or performed by any combination of a general-purpose processor, a DSP, an ASIC, an FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or those designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

[0087] In a firmware and / or software implementation, the techniques may be implemented as instructions stored on a computer-readable medium, such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, a compact disc (CD), a magnetic or optical data storage device, etc. The instructions may be executable by one or more processors and may cause the processor(s) to perform certain aspects of the functionality described herein.

[0088] When implemented in software, the techniques may be stored on or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media, including any medium that facilitates transfer of a computer program from one place to another. Storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. In addition, any connection is suitably made to a computer-readable medium.

[0089] For example, if the software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, digital subscriber line, or wireless technologies such as infrared, radio, and microwave are included within the definition of media. Disk and disc, as used herein, includes compact discs, laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs, where disks usually reproduce data magnetically, whereas discs reproduce data optically using lasers. Combinations of the above should also be included within the scope of computer-readable media.

[0090] A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium may be coupled to the processor such that the processor can read information from, and write information to, the storage medium. Alternatively, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. Alternatively, the processor and the storage medium may reside as discrete components in the user terminal.

[0091] While the embodiments described above have been described as utilizing aspects of the presently disclosed subject matter in one or more standalone computer systems, the present disclosure is not limited thereto and may be implemented in conjunction with any computing environment, such as a network or distributed computing environment. Furthermore, aspects of the present disclosure may be implemented in multiple processing chips or devices, and storage may be similarly affected across multiple devices. Such devices may include personal computers, network servers, and portable devices.

[0092] While the present disclosure has been described in connection with certain embodiments herein, various modifications and variations may be made without departing from the scope of the present disclosure, which would be apparent to those skilled in the art. Furthermore, such modifications and variations are intended to fall within the scope of the claims appended to this specification.

Claims

1. A method for automatically generating a knowledge graph, performed by at least one processor, A step of receiving an input data set; A step of identifying a domain associated with the above input data set; A step of generating a local knowledge graph based on the input data set using a machine learning model associated with the domain; and A step of constructing a global knowledge graph based on the above local knowledge graph; A method for automatically generating a knowledge graph, including:

2. In paragraph 1, A method for automatically generating a knowledge graph, wherein the machine learning model is pre-trained to generate a plurality of entities associated with the input data and relationships between the plurality of entities based on metadata extracted from the input data.

3. In paragraph 1, The above machine learning model is a method for automatically generating a knowledge graph, which is learned using a knowledge base document annotated with a predetermined domain.

4. In paragraph 1, The steps of generating the above local knowledge graph are: A step of generating a plurality of entities associated with the input data set and relationships between the plurality of entities using the machine learning model; and A step of generating a local knowledge graph associated with the domain based on the plurality of entities and the relationships between the plurality of entities. A method for automatically generating a knowledge graph, including:

5. In paragraph 1, The steps for building the above global knowledge graph are: A step of extracting relationships between entities within a predetermined range centered on an instance node of the local knowledge graph; and A step of constructing the global knowledge graph by integrating the local knowledge graph based on the relationships between the extracted entities; A method for automatically generating a knowledge graph, including:

6. In paragraph 1, A step of generating an index corresponding to each of a plurality of entities included in the global knowledge graph; A method for automatically generating a knowledge graph, which further includes:

7. In paragraph 6, The steps for creating the above index are: A step of embedding each of the plurality of entities included in the above global knowledge graph into a vector; and A step of mapping the above embedded vector to the global knowledge graph. A method for automatically generating a knowledge graph, including:

8. In paragraph 7, A method for automatically generating a knowledge graph, wherein the step of embedding into the above vector is performed asynchronously by sequentially recording changes in the global knowledge graph in a log.

9. A computer-readable, non-transitory recording medium recording commands for executing the method according to paragraph 1 on a computer.

10. As a system, Communication module; memory; and At least one processor connected to said memory and configured to execute at least one computer-readable program contained in said memory, At least one program above, Receive an input data set, Identify the domain associated with the above input data set, Using a machine learning model associated with the domain, a local knowledge graph is generated based on the input data set, A system comprising commands for constructing a global knowledge graph based on the local knowledge graph.

Citation Information

Patent Citations

  • Generation of data related to underrepresented data based on received data input

    JP2020057365A

  • Method and system for generating knowledge graphs automatically

    KR102603767B1

  • Discovery of implicit relational knowledge by mining relational paths in structured data

    US20170213136A1

  • Deep symbolic validation of information extraction systems

    US20200218968A1

  • Automatic knowledge graph construction

    US20220067590A1