WO2023172025A1 - 시계열적 정보를 인코딩하는 모델을 사용하여 개체-쌍 사이의 연관성 관련 정보를 예측하는 방법 및 이를 이용하여 생성되는 예측 시스템 - Google Patents

시계열적 정보를 인코딩하는 모델을 사용하여 개체-쌍 사이의 연관성 관련 정보를 예측하는 방법 및 이를 이용하여 생성되는 예측 시스템 Download PDF

Info

Publication number
WO2023172025A1
WO2023172025A1 PCT/KR2023/003092 KR2023003092W WO2023172025A1 WO 2023172025 A1 WO2023172025 A1 WO 2023172025A1 KR 2023003092 W KR2023003092 W KR 2023003092W WO 2023172025 A1 WO2023172025 A1 WO 2023172025A1
Authority
WO
WIPO (PCT)
Prior art keywords
embedding vector
entity
path
entities
query
Prior art date
Application number
PCT/KR2023/003092
Other languages
English (en)
French (fr)
Inventor
박원표
한석진
김태용
구희정
Original Assignee
주식회사 스탠다임
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 스탠다임 filed Critical 주식회사 스탠다임
Publication of WO2023172025A1 publication Critical patent/WO2023172025A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B15/00ICT specially adapted for analysing two-dimensional or three-dimensional molecular structures, e.g. structural or functional relations or structure alignment
    • G16B15/30Drug targeting using structural data; Docking or binding prediction
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/30Data warehousing; Computing architectures

Definitions

  • the present invention uses values output from a model encoding time-series information as learning data, a method for generating a prediction model generated by learning the learning data to predict information related to associations between objects, and using the generated prediction model. This relates to a prediction system that performs prediction.
  • selecting the target gene or protein targeted by the drug is the most important initial step.
  • the correct target that effectively treats the disease must be selected to increase the success rate in future clinical trials. You can.
  • selecting a target simply collects data from multiple databases and simply presents the connection between previously disclosed data, thereby going beyond the content of existing data and selecting a new target for new drug development. There were many problems with this.
  • the related prior art is as follows.
  • Korean Patent Document No. 10-2035658 relates to a candidate recommendation system for new drug re-creation, which extracts drug and disease trait information and gene association information from the literature information DB and genome information DB, which are large amounts of big data, and drugs from these.
  • - Construct a drug/disease-disease similarity matrix, calculate the drug-disease edge score based on literature information and the drug-disease edge score based on genome information according to the similarity matrix, and calculate the final prediction score for the drug-disease edge from these.
  • the calculations are performed to recommend candidates for new drug re-creation.
  • Japanese Patent Publication No. 2019-220149 relates to a system for outputting genes given priority for arbitrary disease queries.
  • Data including diseases, genes, disease-related phenotypes, and biological pathways are stored in a plurality of databases.
  • GCAS graph convolution-based relevance scoring
  • HANRD heterogeneous relevance network
  • the present inventors utilize a knowledge graph constructed according to existing knowledge, use an encoding model that highlights features of time-series data such as paths between entity-pairs, and identify entities in the process of using the encoding model.
  • an algorithm that allows the embedding value of the node to change during the learning process, we have developed the present invention to predict association-related information between queried entity-pairs with high accuracy.
  • Patent Document 1 Korean Patent Document No. 10-2035658 (2019.10.23.)
  • Patent Document 2 Japanese Patent Publication No. 2019-220149 (2019.12.26.)
  • the purpose of the present invention is to provide a method and system that can predict with high accuracy genes or proteins that can be targets of drugs for treating specific diseases using a machine learning algorithm.
  • the purpose is to provide a method and system that makes it possible to discover new, previously unknown target genes or proteins by predicting genes or proteins related to the queried disease according to a machine learning algorithm.
  • the purpose is to provide a method and system that reduces computational throughput and minimizes computational time by selectively learning highly important paths rather than training all collected data into an artificial neural network model.
  • the embedding vector output from a model that encodes time-series information is used as learning data
  • the embedding vector for identifying objects (nodes) included in the learning data is an embedding vector obtained from existing knowledge, and an embedding vector obtained from existing knowledge
  • the purpose is to provide a method and system with higher prediction performance compared to existing models, as it includes all embedding vectors whose values change.
  • the purpose is to provide a method and system to solve fitting problems.
  • a method and system has the advantage of being able to obtain prediction results in a kind of virtual experiment environment by further performing calculations in a situation where the addition or deletion of one or more of nodes, edges, and paths is reflected according to user input.
  • the purpose is to provide.
  • One embodiment of the present invention for achieving the above object is to output information related to the relationship between the queried entities when a pair of random entities is queried by a model creation terminal, or to output information related to the relationship between the queried entities.
  • a step of learning training data to generate an association prediction model that outputs entities related to the queried entity, wherein the arbitrary entity pair is disease-gene, gene-disease, disease-drug, drug.
  • the learning data includes an embedding vector output from the query encoding model and the query encoding model as a pair of random entities is input to the query encoding model.
  • the embedding vector output from the path encoding model is input to the query-path encoding model, so the embedding output from the query-path encoding model Provides a method for predicting associations between entities, including vectors.
  • the pair of random entities is input to the query encoding model in the form of a query embedding vector
  • the query embedding vector includes an entity embedding vector for identifying an entity of the pair of random entities, and It may include a positional embedding vector to identify the location of the entity embedding vector.
  • the query embedding vector is a first query embedding vector calculated using a query type embedding vector and a first positional embedding vector for identifying the location of the query type embedding vector, and the random
  • a first node type embedding vector indicating the type to which one of the pairs of entities corresponds, an entity embedding vector for identifying the one entity, and a second node for identifying the location of the entity embedding vector.
  • a second query embedding vector calculated using a shunt embedding vector and a second node type embedding vector indicating the type to which the other object of the pair of random entities corresponds, and an entity embedding for identifying the other entity. It may include a vector, and a third query embedding vector calculated using a third positional embedding vector to identify the location of the entity embedding vector.
  • the entity embedding vector is an embedding result of a knowledge graph, and includes a first entity embedding vector whose value is fixed even when learning is performed, and a second entity embedding vector whose value changes through learning. It may have been calculated using .
  • the first to third query embedding vectors are the sum of the embedding vectors of the embedding vectors used in the operation
  • the entity embedding vector is the first entity embedding vector and the second entity embedding vector used in the operation. It may be a concatenate embedding vector of embedding vectors.
  • the knowledge graph may express at least two entities among diseases, genes, drugs, and organs, and relationships between the at least two entities.
  • the path is input to the path encoding model in the form of a path embedding vector, wherein the path embedding vector includes an embedding vector for identifying a path between the arbitrary entity-pair and the arbitrary entity-pair. It may include a positional embedding vector for identifying the location of the embedding vector for identifying the path between the pair.
  • the path embedding vector is a first path embedding vector calculated using a path type embedding vector and a fourth positional embedding vector for identifying the location of the path type embedding vector, and the random object.
  • a first node type embedding vector indicating the type to which one of the entities corresponds, an entity embedding vector for identifying the one entity, and a fifth positional embedding vector for identifying the location of the entity embedding vector.
  • the entity embedding vector is an embedding result of a knowledge graph, and uses a first entity embedding vector whose value is fixed even when learning is performed and a second entity embedding vector whose value changes through learning. It may have been calculated as follows.
  • the first to sixth path embedding vectors are the sum of the embedding vectors of the embedding vectors used in the computation, and the entity embedding vector is the first and second entity embedding vectors used in the computation. It may be a concatenate embedding vector of vectors.
  • a plurality of paths are input to the path encoding model for each pair of random entities, the input multiple paths are some of the paths of the pair of random entities, and a preset path type.
  • the multiple paths included in (metapath) it may be some paths extracted based on the order in which the path score calculated by a preset method is high.
  • the path types are classified based on the number of edges constituting the path, the order of edges, and a combination of edge types, and the preset path types may be at least some of the classified path types. .
  • the path score calculates the edge score of each edge included in the path using the embedding result of the node and edge type, and calculates the edge score of all edges included in the path of a pair of random entities. It may be calculated using edge scores.
  • the association-related information between the queried entity-pairs may include at least one of the presence or absence of association and the degree of association between the queried entity-pairs.
  • the query-path encoding model may be stacked with respect to the query encoding model and the path encoding model.
  • the relevance prediction model may be configured to output a score indicating the degree of relevance for each entity associated with the queried entity when a random entity is queried.
  • the relevance prediction model may be configured to sort and output the related entities in descending order of the score.
  • the step of learning training data to generate the correlation prediction model includes a first learning step of training first training data to an artificial neural network model to generate a first association prediction model, and predicting the first association. It may include a second learning step of training second training data to generate a second correlation prediction model using the model.
  • the first learning data includes an embedding vector output from the query encoding model when a pair of objects consisting of an object excluding the object of interest among a pair of random objects is input to the query encoding model, and the object of interest.
  • the embedding vector output from the path encoding model is input to the query-path encoding model, so that the query-path encoding model
  • the output embedding vector may be included.
  • the second learning data includes an embedding vector output from the query encoding model as a pair of objects consisting of the object of interest among pairs of random objects is input to the query encoding model, and the object of interest.
  • the embedding vector output from the path encoding model is input to the query-path encoding model, and the embedding vector output from the query-path encoding model is input to the path encoding model. It can be included.
  • the second learning step may be performed after the first learning step.
  • a query entity-pair or a query entity is input through an input unit of a prediction terminal, and the query entity-pair is queried by a processor of the prediction terminal to a correlation prediction model generated by the model creation terminal.
  • the step may further include calculating association-related information between pairs of queried entities, which are values output from the association prediction model, or computing entities associated with the query entity when an entity is queried in the association prediction model.
  • the method further includes the step of deleting or adding one or more nodes among predefined nodes, or deleting or adding a new edge that is not predefined, wherein the prediction terminal determines whether the one or more nodes are deleted or added.
  • the new edge may be configured to perform an operation on information related to the association between any pair of entities queried based on the deleted or added dataset or on entities associated with the queried entity.
  • the method may further include outputting associations-related information calculated by the processor or entities associated with a query entity through an output unit of the prediction terminal.
  • the present invention is a system for predicting associations between entities using a prediction model generated according to the above-described method, comprising an input unit configured to receive a query entity-pair or query entity from the outside, and an association generated by the model generating terminal.
  • a processor configured to calculate association-related information between a query entity-pair input through the input unit or entities associated with a query entity, and output entities associated with the association-related information or query entity calculated by the processor.
  • a correlation prediction system between entities is provided, including a prediction terminal and an output unit configured to do so.
  • the present invention provides a computer program stored on a computer-readable recording medium for executing the above-described method.
  • genes or proteins related to the queried disease are predicted according to a machine learning algorithm, it is possible to discover new, previously unknown target genes or proteins.
  • the computational throughput can be reduced and the computational time can be minimized.
  • the embedding vector output from a model that encodes time-series information is used as learning data
  • the embedding vector for identifying objects (nodes) included in the learning data is an embedding vector obtained from existing knowledge, and an embedding vector obtained from existing knowledge As it includes all embedding vectors whose values change, the prediction performance is higher than that of existing models.
  • the learning stage is divided into two stages, and the learning data in each learning stage is configured differently, so that other objects related to the object of interest can be predicted with high accuracy. Specifically, by first learning the training data excluding the object of interest and secondly learning the training data consisting only of the object of interest to create a correlation prediction model, other objects related to the object of interest can be predicted with high accuracy.
  • calculations can be further performed in a situation where the addition or deletion of one or more of nodes, edges, and paths is reflected according to user input, which has the advantage of obtaining prediction results in a kind of virtual experiment environment.
  • FIG. 1 is a schematic block diagram for explaining a system according to an embodiment of the present invention.
  • FIG. 2 is a schematic block diagram illustrating a data processing process by a first processor in the system of FIG. 1.
  • Figure 3 is a diagram for explaining a knowledge graph constructed in a system according to an embodiment of the present invention.
  • Figure 4 is a diagram for explaining nodes and edges used in the process of building a knowledge graph according to the present invention.
  • FIG. 5 is a diagram for explaining a data processing process by a second processor in the system of FIG. 1.
  • FIG. 6 is a diagram illustrating an embedding vector input to the query encoding model of FIG. 5 and an embedding vector output accordingly.
  • FIG. 7 is a diagram illustrating an embedding input to the path encoding model of FIG. 5 and an embedding vector output accordingly.
  • Figure 8 is a diagram showing the embedding vectors input to the query-path encoding model of Figure 5, the embedding vectors output accordingly, and how they are learned.
  • Figure 9 is a flow chart to explain the data processing process by the first processor in an embodiment of the present invention.
  • Figure 10 is a flowchart for explaining a data processing process by a second processor and a learning process by a learning processor in an embodiment of the present invention.
  • FIG. 11 is a flowchart illustrating the process of predicting association-related information between queried entity-pairs using the association prediction model generated in FIG. 10 .
  • 12 and 13 are flowcharts for explaining another embodiment of the present invention in which the learning step is divided into two steps and different data is learned in each learning step.
  • entity means a word or symbol, and may include the name of the disease, the name of the gene, the name of the protein, and the name of the drug.
  • entity-pair refers to data consisting of pairs of entities, and data consisting of different types of entities (disease-gene, gene-disease, disease-drug, drug-disease, gene-drug, drug-gene etc.).
  • the term “gene” refers to an individual unit of genetic information composed of a specific base sequence in a genome composed of DNA or RNA, and genetic information composed of a specific amino acid sequence in a genome composed of protein as well as DNA and RNA. It is a concept that also includes individual units of .
  • protein which is the result of translation of the genome, is also included in the term “gene” of the present invention.
  • a system includes a model creation terminal 100 and a prediction terminal 200.
  • the model generation terminal 100 is a terminal configured to generate a prediction model used in the present invention.
  • the model creation terminal 100 includes a communication unit 110, an input unit 120, a first processor 130, a second processor 140, a control unit 150, an output unit 160, and a memory ( 170) and a learning processor 180. That is, the model creation terminal 100 may be a computing device having communication/input/computation/output functions, and may be implemented as various electronic devices such as servers, desktop PCs, laptop PCs, tablet PCs, etc.
  • the communication unit 110 is configured for communication with an external device, and data may be transmitted and received with the external device through the communication unit 110.
  • the input unit 120 transmits commands or data to be used for components (e.g., processor, learning processor) of the model creation terminal 100 to an external (e.g., user) of the model creation terminal 100. It can be received from.
  • the input unit 120 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or a digital pen (eg, stylus pen).
  • control unit 150 may control one or more other components (eg, hardware or software components) of the model creation terminal 100 connected to the processor by executing software, for example.
  • the first processor 130, the second processor 140, and the learning processor 180 may perform data processing or calculation functions, and as at least part of the data processing or calculation function, other components Commands or data received from may be stored in volatile memory, commands or data stored in volatile memory may be processed, and resultant data may be stored in non-volatile memory. Additionally, the learning processor 180 may include a hardware structure specialized for processing artificial intelligence models.
  • the output unit 160 can output information processed or calculated in the model creation terminal 100 to the outside, and a display, speaker, etc. may be included here.
  • the memory 170 can store various data used in the model creation terminal 100.
  • Data may include, for example, input data or output data for software and instructions related thereto.
  • the prediction terminal 200 which will be described later, may also be implemented in the form of a computing device, and may include the components included in the model creation terminal 100 as is or at least some of them.
  • the learning processor 180 of the model creation terminal 100 learns training data and generates a correlation prediction model that outputs information related to the association between the queried entity-pairs. Below, we will describe in detail how the learning data used to create the correlation prediction model is structured.
  • Learning data is preprocessed and generated by the first processor 130 and the second processor 140 of the model creation terminal 100.
  • the first processor 130 defines nodes, edges, and paths, generates a knowledge graph consisting of the defined nodes and edges, embeds the generated knowledge graph, and uses the embedding result to create paths of arbitrary entity-pairs. It is configured to extract some paths of high importance.
  • the first processor 130 includes a data collection unit 131, a natural language processing unit 132, a node definition unit 133, an ID granting unit 134, an edge definition unit 135, and a path definition unit. (136), an embedding unit 137, a path score calculation unit 138, and a path extraction unit 139.
  • the data collection unit 131 is configured to collect data from multiple databases (D1, D2, ... Dn).
  • Data collected by the data collection unit 131 may be, for example, gene expression data, drug-protein binding data, data itemizing information described in papers, document data, etc., but is not limited to the above-mentioned forms and is disease-related data. , the format is not limited as long as it includes gene-related data and drug-related data.
  • the system according to the embodiment of the present invention can be connected to a plurality of databases (D1, D2, ... Dn) (can be connected to each other by the communication unit of the model creation terminal), and a plurality of databases (D1, D2 , ... Dn) may be a public database, but is not limited to this and may also be a private database, and may include a thesis database, a medical information database, a pharmaceutical information database, and a search portal database.
  • the data collection unit 131 collects first data related to a disease, second data related to a gene, and third data related to a drug (compound) from each of a plurality of databases (D1, D2, ... Dn). can be collected.
  • the data collection unit 131 may collect the path as fourth data that is different from the first to third data, and documents (e.g., papers, etc.) that serve as the basis for determining that there is a relationship between the data. ) can be collected as another type of fifth data (for example, the ID assigned to each relevant paper in a specific database) to refer to the paper.
  • the first data is data related to the disease, such as name data of the disease, anatomy data of the disease (for example, anatomical data of the body in which the disease occurs, in the case of liver cancer, this may include the liver), and May include disease symptom data.
  • name data of the disease for example, name data of the disease
  • anatomy data of the disease for example, anatomical data of the body in which the disease occurs, in the case of liver cancer, this may include the liver
  • name data of the disease for example, anatomical data of the body in which the disease occurs, in the case of liver cancer, this may include the liver
  • May include disease symptom data May include disease symptom data.
  • the second data is data related to the gene, including name data of the gene, gene ontology data of the gene, anatomical data of the gene (e.g., body tissue information in which the gene is expressed, genes related to liver cancer).
  • name data of the gene e.g., name data of the gene
  • gene ontology data of the gene e.g., anatomical data of the gene (e.g., body tissue information in which the gene is expressed, genes related to liver cancer).
  • anatomical data of the gene e.g., body tissue information in which the gene is expressed, genes related to liver cancer.
  • liver may be included
  • biological pathway data of the gene e.g., liver may be included
  • gene ontology data is the biological process data of the gene.
  • Anatomical data may be included in first data or second data. For example, if the data includes that gene A is expressed in tissue B, tissue B may be collected as second data that is gene-related data. , if the data includes that disease C occurs in tissue D, tissue D may be collected as first data that is disease-related data.
  • the third data is data related to the drug and may include name data of the drug, pharmacologic class data of the drug, and side effect data of the drug.
  • name data of the drug e.g., name data of the drug
  • pharmacologic class data of the drug e.g., drug name data
  • side effect data of the drug e.g., drug effect data
  • it is a concept that includes not only terms referring to the drug itself, but also all terms necessary to provide information related to the drug.
  • the natural language processing unit 132 extracts entities from the text included in the document data through a preset natural language processing algorithm from the document data collected by the data collection unit 131, and derives relationships between the entities. It is configured to do so.
  • the relationships between entities extracted by the natural language processing unit 132 and the derived entities may be defined as nodes and edges, respectively, and detailed descriptions will be provided later.
  • the natural language processing unit 132 sets disease-related terms included in the document data as the first entity, gene-related terms as the second entity, and compound-related terms as the third entity. It is configured to recognize and extract terms that describe the relationship between the first entity to the third entity, respectively, as the fourth entity.
  • the natural language processing unit 132 sets and extracts the entities necessary for prediction, such as recognizing and extracting the path included in the document data as the fifth entity and the data referring to the document that was the basis for the relevance judgment as the sixth entity. can do.
  • the natural language processing unit 132 is configured to use the extracted entities to derive relationships between entities using a preset method.
  • Extraction of entities and derivation of relationships between entities by the natural language processing unit 132 according to the present invention may be performed using a pre-trained neural network model. That is, the neural network model is configured to, for example, learn learning data in which the first to sixth entities are each labeled, extract the first to sixth entities from the queried document data, and derive relationships between the entities. It can be.
  • terms to be extracted are stored in advance in an index dictionary, and then only the pre-stored terms are extracted from the text.
  • the text contains a term that is not previously stored in the index dictionary, it cannot be extracted, and ultimately, the system can only be built within the existing known range.
  • the neural network model learns labeled training data to determine which part of the text corresponds to which of the set objects, so it is not pre-trained. For terms, it is possible to extract entities by considering the form of the term itself or its context. Therefore, it is possible to extract entities from categories known through existing papers as well as new categories and derive relationships between entities.
  • the node defining unit 133, the edge defining unit 135, and the path defining unit 136 are configured to define nodes and edges, which are components of the knowledge graph, and further define a path. do.
  • the node regulation unit 133 may group first data among the data collected by the data collection unit 131 into disease name data, disease anatomical data, disease symptom data, etc., and may group the collected second data into disease name data, disease anatomical data, disease symptom data, etc.
  • Data can be grouped into name data of genes, biological process data of genes, anatomical data of genes, intracellular location data of genes, molecular function data of genes, biological pathway data of genes, etc., and collected third data.
  • the types can be classified into a total of 11 groups by grouping them into drug name data, drug pharmacological classification data, and drug side effect data (see FIG. 4). However, the number is not limited to the above and various types of groups (eg, fifth data and sixth data) may be added.
  • the node defining unit 113 may group each entity extracted through the natural language processing unit 112 according to a predetermined method and define each as a node.
  • the node defining unit 133 divides the first to third entities extracted through the natural language processing unit 132 and the first to third data collected from multiple databases into the first to third nodes, respectively. It is defined as (see Figure 3). In another embodiment, the node defining unit 133 divides the first to third entities, the fifth entity, and the sixth entity, and the first to third data, fifth data, and sixth data into the first to third entities, respectively. It can also be defined as 5 nodes. As will be described later, the edge definition unit 135 defines the relationship between the first and third entities and the relationship between the first and third data derived through the natural language processing unit 132 as an edge.
  • edge defining unit 135 may define the relationship between the first to third objects, the fifth object and the sixth object, and the relationship between the first data to the third data, the fifth data and the sixth data as edges. there is.
  • An example of nodes defined according to an embodiment of the present invention and edges connecting the nodes is shown in FIG. 3.
  • the node defining unit 133 defines the data included in the grouped data as each node according to its type.
  • the node defining unit 133 defines the first data (object) as each node for each type, defines the second data (object) as each node for each type, and defines the third data (object) as each node.
  • Each type is defined as a node, and the fifth data and sixth data are defined as nodes for each type.
  • the ID granting unit 134 is configured to grant a unique ID to each of the nodes defined by the node defining unit 133.
  • the ID granting unit 134 assigns a unique ID to each arbitrary term representing each node, such as a synonym and abbreviation of the arbitrary term. It is configured to assign the same ID as the arbitrary term to terms that can be determined to be the same as .
  • alpha-fetoprotein is also referred to by the abbreviation AFP, and both alpha-fetoprotein and AFP can be assigned an ID of 174.
  • AFP is also a synonym for the gene TRIM26, that is, AFP may be given an ID of 7726, which is the same as the ID of TRIM26.
  • AFP is given two IDs, 174 and 7726.
  • the ID granting unit 134 gives an ID (174) that matches the full name of the AFP, rather than an ID (7726) that matches the abbreviation. It is assigned as the AFP ID.
  • a unique ID is mapped and stored for each node in the memory 170, and the ID granting unit 134 assigns a unique ID to each node using the IDs stored in the memory 170. .
  • the edge defining unit 135 defines the relationship between nodes defined by the node defining unit 133 as an edge.
  • An edge refers to a connection relationship between nodes, and the edge defining unit 135 defines the relationship between nodes included in the collected data as an edge connecting the corresponding node-pair.
  • document data contains the text "In patients with breast cancer, lump symptoms may occur, and treatment may be performed using the hormonal drug tamoxifen," then there is a node called “breast cancer” and a node called “lumpy”.
  • One edge connecting the nodes may be defined, and one edge connecting the node “breast cancer” and the node “tamoxifen hormone drug” may be defined.
  • the edge defining unit 135 can define the relationship between nodes as an edge using the first data, second data, and third data collected by the data collection unit 131, and the node defining unit 133 and Likewise, defined edges can be grouped.
  • edges 3 and 4 show edges defined by edge definition 135 and grouped and typed.
  • the edges defined by the edge regulation unit 135 are a disease-gene relationship edge (Disease-Target), a gene-drug relationship edge (Target-Compound), and a disease-drug relationship edge (Disease-Compound). , can be divided into gene-related edges (Target-related), disease-related edges (Disease-related), and drug-related edges (Compound-related).
  • Figure 4 shows the edge type (metaedge) that categorizes each edge.
  • the disease-gene relationship edge includes the gene-disease relationship edge type (associated) and the gene-disease regulation relationship edge type (downregulated_in, upregulated_in).
  • the gene-drug relationship edge includes the drug-gene binding relationship edge type (binds_to) and the drug-gene regulation relationship edge type (downregulated_by, upregulated_by).
  • the disease-drug relationship edge includes drug-disease treatment relationship edge types (treats).
  • Gene-related edges are gene-anatomical data regulation/expression relationship edge types (expressed_low, expressed_in, expressed_high), gene covariation relationship edge types (covaries), and gene participation relationship edge types (biological_process, cellular_component, molecular_function). , involved_in), interrelationship edge types (PPI, PDI) between genes or proteins, and genetic interference-gene regulation relationship edge types (regulates).
  • Disease-related edges include disease-anatomical data relationship edge type (occurs_in), disease-symptom relationship edge type (presents), and disease co-occurrence similarity relationship edge type (mentioned_with).
  • Drug-related edges include drug-side effect relationship edge type (causes), drug structural similarity relationship edge type (similar_to), and drug-pharmacological classification relationship edge type (categorized_in).
  • the edge defining unit 135 can classify edges into 24 groups.
  • the number is not limited to the above and various types of groups can be added.
  • the path defining unit 136 includes one or more, specifically two or more, edges defined by the edge defining unit 135, and defines the edges that are included as being connected to each other as a path.
  • the path defining unit 136 is connected to the node defined by the node defining unit 133 and the edge defining unit 135 for each node-pair, with each node forming the node-pair as an end. What is connected to each other through defined edges is defined as a path.
  • the minimum unit path among the paths defined by the path regulation unit 136 may be composed of node - edge - node - edge - node, and in another example, node - edge - node - edge - node - edge - A path consisting of nodes, etc. may be defined.
  • a path can be defined as a path in which node-pairs are connected to each other, but are connected by 2 or more and 5 or less edges (edges). More specifically, node-pairs are connected to each other, but are connected by 2 or more edges. Things (edges) connected to three or less edges can also be defined as a path. Node-pairs connected by four or more edges can be excluded from valid paths, because if nodes are connected to each other through multiple steps, the relationship can be considered weak.
  • a plurality of path types may be determined depending on the number of combinations of the number, order, and type (shown in FIG. 4) of edges constituting the path.
  • the path "AKT1 - associates - Alzheimer's disease-resembles - Parkinson's disease” has the same path type as "Gene - associates - Disease - resembles - Disease".
  • a path containing the A(type a)-B(type b) edge can be specified as (a,b) type
  • the path containing the edge A(type a)-B(type b)-C(type c) Paths containing can be defined as (a,b,c) types and can be treated as different types.
  • the path definition unit 136 may classify some of the multiple path types into preset path types (metapaths). As will be described later, path types that do not correspond to the preset path types are excluded from the learning process according to the present invention.
  • the path regulation unit 136 may set a path type including an edge type in the order Disease -mentioned_with - Disease - associates_with - Gene as a preset path type among a plurality of path types, and in another example, Disease
  • the path type including the edge type in the order of - treated_by - Compound - binds_to - Gene - interacts_with - Gene can be set to the preset path type.
  • the present invention is not particularly limited to this, and a preset path type may be set by the system administrator.
  • the path regulation unit 136 selects an edge type in the order Disease - treated by - Compound - downregulates - Gene - regulated by - Gene among a plurality of path types determined according to the number, order, and number of combinations of types of edges.
  • the path type including and the path type including the edge type in the order of Disease - downregulates - Gene - upregulated by - Compound - binds to - Gene may not be set to the preset path type.
  • a path type that is excluded from the preset path type can be set by the system administrator, and biologically meaningless or less important paths among the paths connecting arbitrary node-pairs are excluded from the learning process, thereby learning Efficiency can be improved and calculation accuracy can be improved.
  • the embedding unit 137 includes a node defined by the node defining unit 133, an edge defined by the edge defining unit 135, an edge type (metaedge), a path defined by the path defining unit 116, and a preset Perform embedding for one or more of the path types (metapaths).
  • the embedding unit 137 performs embedding for each of the node defined by the node defining unit 133 and the edge type defined by the edge defining unit 135.
  • the embedding unit 137 initializes all nodes defined by the node defining unit 133 into real vectors each composed of k random variables.
  • k may be 128.
  • edge types defined by the edge defining unit 135 are initialized into real vectors each composed of k random variables.
  • k may be 128.
  • edge definition unit 135 it is determined whether a random node-pair is connected to each other by an edge having an edge type defined by the edge definition unit 135, and injected as supervised learning label data. If any pair of nodes (source node, target node) are connected to each other by an edge having an edge type defined by the edge regulation unit 135, data of 1 will be injected, and if they are not connected to each other, data of 0 will be injected. It will be.
  • the prediction function which takes three k-dimensional vectors (source node, target node, and edge type) as input, adjusts the k-dimensional vector to match the actual connection.
  • the prediction function may be a model such as TransE, HolE, or DistMult, but is not limited to this and various prediction function models may be applied to the present invention.
  • k-dimensional real vectors corresponding to each node are calculated as the embedding results of the corresponding node and edge type.
  • each node can be mapped into one point in a k-dimensional space.
  • edge types can be embedded together in the k-dimensional space.
  • the path score calculation unit 138 is configured to calculate the scores of edges included in the path according to a preset method and calculate the scores of the paths using the calculated edge scores.
  • each edge included in the path is calculated using each node and edge type embedded in the embedding unit 137. That is, each edge included in the path has a k-dimensional real vector (mapping) of the corresponding edge type and k-dimensional real vectors of the start and end nodes of the edge, and the corresponding edge score can be calculated from these real vectors.
  • the prediction function used in the embedding unit 137 can be applied, and the similarity of each node mapping can also be applied.
  • the calculation method based on the similarity of the node mappings is a method in which the higher the similarity between nodes mapped in a k-dimensional space, the higher the score is given to the edge connecting the corresponding nodes.
  • a similarity calculation method a method of calculating the angle between vectors (more specifically, a method of calculating the cosine value of two vectors) can be applied. This is an example, so various methods of calculating similarity between vectors can be applied. I would say it can be done.
  • the score of the path can be calculated by adding up the edge scores of each of the n edges, and for a path that includes n+1 edges, n+1.
  • the score of the corresponding path can be calculated by adding up the scores of each edge.
  • the path extraction unit 139 is configured to extract some of the paths defined by the path definition unit 136 based on the path score calculated by the path score calculation unit 138.
  • the path extractor 139 extracts some paths for each preset path type (metapath) among the paths of any node-pair (entity-pair).
  • path types can be classified according to the number, order, and type of edges included in the path.
  • a path containing the edges A (type a) - B (type b) can be specified as type (a,b), and A (type a) - B (type b) - C (type c).
  • Paths containing edges can be defined as (a,b,c) types and can be treated as different types.
  • some paths are selected for each path type in descending order of score using the path score calculated by the path score calculation unit 138.
  • Can be extracted and as an example, five paths can be extracted for each path type. However, it should be understood that the number of paths is not limited to 5 and less than 5 or more than 5 paths can be extracted.
  • the second processor 140 is configured to generate learning data to be learned by the learning processor 180 using the embedding vector calculated by the first processor 130 and the extracted path.
  • the second processor 140 is characterized in that it generates learning data using a model that encodes time-series information.
  • a model that encodes time-series information refers to a model that compresses the input sequence into a single vector representation (context vector), but encodes the input sequence so that the time-series characteristics of the input sequence are revealed in the compressed vector expression.
  • the present invention uses a positional vector.
  • the first is the first encoding model and the second is the second encoding model.
  • the first encoding model is a model that encodes time-series information
  • the second encoding model does not encode time-series information. A detailed explanation of this will be provided later.
  • the first encoding model can be divided into two encoding models.
  • the first is the query encoding model, which is used to specify which entity-pair connection the path used for learning is.
  • the query embedding vector is: query vector (first query embedding vector) - an embedding vector that specifies one object among a pair of random objects (second query embedding vector) - specifies the other object among a pair of random objects It is composed in the order of the embedding vector (third query embedding vector).
  • the first query embedding vector is calculated using the query type embedding vector and the first positional embedding vector to identify the location of the query type embedding vector.
  • the query type embedding vector and the first positional embedding vector may be a summed embedding vector of .
  • Each embedding vector can be expressed as a k-dimensional vector value.
  • the query type embedding vector and the first positional embedding vector can be vector values of the same dimension, and the first query embedding vector can be generated through the process of simply adding them. You can.
  • the second query embedding vector identifies the first node type embedding vector indicating the type to which any one of the pairs of entities of types including diseases, genes, and drugs corresponds, and any one of the entities. It is calculated using an entity embedding vector to identify the location of the entity embedding vector, and a second positional embedding vector to identify the location of the entity embedding vector. Specifically, the sum of the first node type embedding vector, the entity embedding vector, and the second positional embedding vector is calculated. It can be. Taking FIG. 6 as an example, when an entity has Alzheimer's disease, a node type embedding vector indicating “disease” may correspond to the first node type embedding vector.
  • an entity embedding vector it may be calculated using a first entity embedding vector and a second entity embedding vector, and more specifically, it may be a concatenate embedding vector of the first entity embedding vector and the second entity embedding vector.
  • “combining” is a different concept from “summation” in which a k-dimensional embedding vector and a k-dimensional embedding vector are added to obtain the result of an embedding vector that maintains the k dimension.
  • the embedding vectors generated through “combining” the embedding vectors generated through “summing” are embedding vectors of the same dimension.
  • the first entity embedding vector refers to an embedding vector that refers to (identifies) an entity among the embedding results generated by the embedding unit 137 of the first processor 130. That is, the first entity embedding vector corresponds to an embedding vector that refers to one of the above-mentioned entities among the node and edge type embedding results, and even if learning is performed by the learning processor 180, its value is fixed. It is an element (that does not change).
  • the second entity embedding vector refers to an embedding vector that refers to one of the entities. However, when learning is performed by the learning processor 180, it is an element whose value changes (the corresponding embedding vector value changes in the process of adjusting the weights to maximize prediction performance), and the randomly selected embedding vector value This can be applied to the second object embedding vector.
  • the first entity embedding vector (information based on already known knowledge) obtained using existing knowledge is set as a fixed value
  • the second entity embedding vector the value of which can be adjusted to maximize prediction performance during the learning process
  • the third query embedding vector is similar in shape to the second query embedding vector.
  • the second query embedding vector is an embedding vector used to specify one entity among the pair of random entities
  • the third query embedding vector is used to specify the other entity among the pair of random entities. It differs only in that it is an embedding vector.
  • the third query embedding vector is a second node type embedding vector indicating the type to which another entity corresponds, an entity embedding vector for identifying another entity, and a third node type embedding vector for identifying the location of the entity embedding vector. It may be calculated using a sional embedding vector, and more specifically, it may be the sum of the second node type embedding vector, the entity embedding vector, and the third positional embedding vector.
  • the query embedding vector is composed of a first query embedding vector, a second query embedding vector, and a third query embedding vector, and when these are input to the query encoding model, a context vector, which is one compressed expression, is output.
  • a context vector which is one compressed expression
  • the path embedding vector is different in that it is an embedding vector for specifying the paths of an arbitrary entity-pair, and the form of the embedding vector itself is similar.
  • the path embedding vector includes a path type embedding vector (first path embedding vector), an embedding vector specifying one entity among a pair of random entities (second path embedding vector), and an embedding vector specifying an edge type (third path embedding vector).
  • path embedding vector), an embedding vector (fourth path embedding vector) specifying an object connected to one of the entities by an edge, an embedding vector (fifth path embedding vector) specifying an edge type, and an embedding vector specifying the other entity. may include an embedding vector (sixth path embedding vector).
  • the length of the path embedding vector can vary. However, it may have a minimum path embedding vector of the first path embedding vector to the sixth path embedding vector (the first path embedding vector to the sixth path embedding vector is 2 edges between any object-pair and 1 (corresponds to an embedding vector when it has a path leading from node (referring to one entity) - edge - node - edge - node (referring to another entity), containing nodes).
  • the first path embedding vector is calculated using a path type embedding vector and a fourth positional embedding vector to identify the position of the path type embedding vector, and specifically, the sum of the path type embedding vector and the fourth positional embedding vector. It can be a vector.
  • the second path embedding vector includes a first node type embedding vector indicating the type of the one entity, an entity embedding vector for specifying the one entity, and a fifth positional embedding vector for identifying the location of the entity embedding vector. It is calculated using a vector, and specifically may be the sum embedding of the first node type embedding vector, the entity embedding vector, and the fifth positional embedding vector.
  • the entity embedding vector of the second path embedding vector is calculated using the first entity embedding vector and the second entity embedding vector as described above. Specifically, it may be a combined embedding vector of the first entity embedding vector and the second entity embedding vector. there is.
  • the third path embedding vector is an edge included in the path and a first edge type embedding vector for specifying the edge type to which the edge connected to one of the entities corresponds, and a first edge type embedding vector for identifying the location of the first edge type embedding vector. It is calculated using a 6-positional embedding vector, and specifically, it may be the sum of the first edge-type embedding vector and the sixth positional embedding vector.
  • the fourth path embedding vector is a second node type embedding vector indicating the type of the object connected to the one entity by an edge, an entity embedding vector for specifying the entity, and a seventh path for identifying the location of the entity embedding vector. It is calculated using a sional embedding vector, and specifically, it may be the sum of the second node type embedding vector, the entity embedding vector, and the seventh positional embedding vector.
  • the fifth path embedding vector is an embedding vector for specifying an edge connected to the entity specified in the fourth path embedding vector, and has a similar form to the third path embedding vector.
  • the sixth path embedding vector is an embedding vector for specifying another entity and has a similar form to the second path embedding vector and the fourth path embedding vector.
  • the path embedding vector includes the first to sixth path embedding vectors (may include more path embedding vectors depending on the number of edges making up the path), and these are input to the path encoding model, one A context vector, which is a compressed representation, is output.
  • the context vector embedding vector
  • the embedding vector output from the query encoding model for each random object-pair and the embedding vectors output from the path encoding model are all included in the query-path encoding model. is input, and a context vector, a single compressed representation, is output from the encoder.
  • the embedding vector output from the query encoding model and the embedding vector output from the path encoding model are respectively input as embeddings of the query-path encoding model (as the first query embedding to the third query embedding into the query encoding model). It is similar to inputting the constructed query embedding and inputting the path embedding composed of the first to sixth path embeddings into the path encoding model).
  • the embedding vectors input to the query encoding model and the path encoding model each include positional embeddings
  • the embedding vectors input to the query-path encoding model do not include positional embeddings.
  • the embedding vectors input to the query-path encoding model are intended to specify high-importance paths between arbitrary entity-pairs, and are independent without having a time-series relationship with each other.
  • the context vector (embedding vector) output from the query-path encoding model corresponds to an embedding vector that reflects only the highly important paths between arbitrary entity-pairs.
  • the embedding vector output from the query-path encoding model contains all information on the highly important path among i) a pair of random entities and ii) a path between the pair of random entities. That is, in the present invention, the learning data trained by the learning processor 180 in a random artificial neural network model includes i) a random entity-pair ii) a high-importance path among the paths between the random entity-pair, As a random entity-pair is queried, the learning data is used to output information related to the association between a random entity-pair (existence or absence of association and degree of association, etc.), or when a random entity is queried, to output entities related to the queried entity. You will learn.
  • the direction that maximizes the probability of predicting information related to the association between the queried entity-pairs when a random entity-pair is queried, or when a random entity is queried The parameters of the artificial neural network model are adjusted in a way that maximizes the probability of predicting entities related to the queried entity, and when parameter adjustment is completed, a correlation prediction model can be created.
  • the artificial neural network models are DNN (Deep Neural Network), CNN (Convolutional Neural Network), DCNN (Deep Convolutional Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), and SSD. It may be a model based on (Single Shot Detector), MLP (Multi-layer Perceptron), or Attention Mechanism, but is not limited to this and various artificial neural network models can be applied to the present invention.
  • a correlation prediction model can be created through two-step learning.
  • the two stages of learning are identical in that they use the query encoding model, path encoding model, and query-path encoding model.
  • the first learning step is a step of learning a general dataset.
  • the general dataset may be a dataset excluding objects of interest.
  • the entity of interest may be a metabolic disease, a mechanism associated with a metabolic disease, or a symptom associated with a metabolic disease.
  • the dataset related to the remaining entity pairs excluding the entity of interest (obesity-related disease) (obesity-related entity-pairs excluding the entity of interest (obesity-related disease)
  • the path related to the remaining object pairs excluding the object of interest may be, for example, a path in which biological significance occurs at the level of a general disease.
  • the embedding vector output from the query-path encoding model is used for learning.
  • the embedding vector output from the query-path encoding model contains information on i) any object-pair excluding the object of interest, and ii) the highly important path among the paths between the object-pairs.
  • the artificial neural network model outputs information related to the relationship between random entity-pairs (existence or absence of association and degree of association, etc.) as a random entity-pair is input, or when a random entity is queried, it outputs entities related to the queried entity.
  • the embedding vector is learned to do so.
  • the model created through the first learning step is referred to as the first correlation prediction model.
  • the second learning step is a step of learning or optimizing using the model created in the first learning step.
  • the second learning step uses a dataset related to pairs of objects including the object of interest excluded from the learning target in the first learning step for learning.
  • the entity of interest is a metabolic disease, specifically an obesity-related disease, an entity-pair containing the entity of interest, and a dataset associated with the entity-pair (pair of entities containing the entity of interest (obesity-related disease)
  • the path associated with the entity-pair including the entity of interest may be a biological path specific to the entity of interest.
  • disease 1 - edge 1 - disease 2 - edge 2 - source 1 (data referring to documents that mention a link between disease 2 and disease 3)
  • disease 3 - edge 3 - the path to the gene is specific to the entity of interest. It may be a biological pathway.
  • the biological path specific to the entity of interest may be of several types, and may be a type included in a preset path type (metapath).
  • the embedding vector output from the query encoding model and the path encoding model is input to the query-path encoding model, and the embedding vector output from the query-path encoding model is used for learning.
  • the embedding vector output from the query-path encoding model includes i) an object-pair that is only related to the object of interest among any object-pairs, and ii) information on the highly important path among the paths between the object-pairs. I'm doing it.
  • the first association prediction model generated in the first learning step outputs information related to the association (existence or absence of association and degree of association, etc.) between a random entity-pair as a random entity-pair is input, or when a random entity is queried.
  • the embedding vector is learned to output entities associated with the queried entity.
  • a final prediction model can be created, and the model that has completed the second learning step is referred to as the second correlation prediction model.
  • the second relevance prediction model generated in this way may be transmitted to the prediction terminal 200.
  • the mechanism of the specific disease may be different from the mechanism common to many general diseases.
  • the level of the correct answer set (labeled data) and the path through which biological meaning occurs (metapath) may be different.
  • different levels of the correct answer set mean different quantity and quality of data. Differences in data quality can result in differences in the level of recognition as target genes/proteins for each disease. For example, if the disease is cancer, it can be considered a target gene when the relevant gene is removed to affect the progression of the cancer. On the other hand, if the disease is Alzheimer's disease, the mechanism has not yet been clearly identified, so if there is a relationship with beta-amyloid, it can be considered a target gene. It can be viewed as a gene.
  • the learning step is divided into a first learning step, which is a step of learning general data (e.g., the entire correct answer set for a general disease), and a first learning step, which is a step of learning general data (e.g., the entire correct answer set for a general disease) ) can be configured as a second learning step in which data specific to ) is learned.
  • it includes the process of learning by distinguishing between the entire correct answer set and preset path types (metapaths) for general diseases, and the correct answer sets for specific symptoms (phenotypes) and preset path types that have commonality in diseases related to specific symptoms. can do.
  • the prediction terminal 200 receives the correlation prediction model generated by the model generation terminal 100, and when a query target object-pair is input from the outside through the input unit 220, the processor 250 processes the input query target object.
  • -Pairs are input into the input layer of the correlation prediction model, and at least one correlation-related information among the presence or absence of correlation and the degree of correlation between the object-pairs being queried is output through the output layer of the correlation prediction model.
  • an arbitrary entity can be input from the outside through the input unit 220, and the processor 250 inputs the input entity into the input layer of the relevance prediction model and provides information related to the query object through the output layer of the relevance prediction model. Objects are output.
  • the object associated with the query object may be a different type of object than the queried object (in other words, if the type of the queried object is “disease”, the types of the output object are other than “disease”). could be “genes”, “drugs”, etc.).
  • the relevance prediction model can output a score indicating the degree of relevance for each object related to the queried entity. More specifically, the related entities may be sorted and output in order of high or low scores.
  • Information output through the output layer of the correlation prediction model may be output in the form of information visible from the outside through the output unit 260 of the prediction terminal 200.
  • the system according to an embodiment of the present invention can further collect data from the user database (Du).
  • “User database (Du)” refers to a database that stores datasets obtained by users of the system through experiments, etc.
  • the data collection unit 131 can add more data from the user database (Du) to the graph database built by collecting data from multiple databases (D1, D2, ... Dn), and this can be verified through experiments, etc. Since it can include data that confirms relationships between disease-protein pairs, for example, the accuracy of prediction can be further improved, and it has the advantage of being able to obtain prediction results that reflect the research context.
  • the present invention provides a specific method of manipulation by a user command through the input unit of the model creation terminal 100 or the prediction terminal 200 in a graph database built using data collected from an existing public database. This can be done.
  • information on changes in gene expression is added when a specific disease occurs, and information on changes in gene expression (increased or decreased expression) is added when a specific drug is administered.
  • Manipulations such as adding information on proteins that bind to specific drugs, adding or removing specific gene nodes, etc. can be performed.
  • by calculating the prediction model created based on the data reflecting the manipulation it is possible to check the effect of the transformation applied by the user on the result.
  • the above manipulation is preferably performed in a category different from the content of data presented in existing public databases (D1, D2, ... Dn). For example, if it is assumed that it has already been disclosed that the probability of developing disease B increases when the expression of gene A increases, the existing graph database will not be modified even if manipulation is performed according to the above content. Because. On the other hand, if a new category of data other than the category of data presented in the existing public database is added (for example, in the existing data, it is not known at all that C drug inhibits the expression of the A gene, but this information is added) ), modifications to existing graph databases can be made. Through the above manipulation, it is possible to compare the results in the existing database and the modified database manipulated by the user, and thus it is possible to check how much the manipulation authorized by the user affected the results.
  • a command to perform an operation after adding or deleting a random node may be input through the input unit.
  • a command to perform an operation after adding or deleting an edge or a path which is not limited to a node, may be input.
  • calculations using an artificial neural network model can be performed assuming that additional nodes desired by the system user exist or do not exist.
  • a specific command to perform calculations after deleting the "CHD1" node is sent through the input unit.
  • the prediction model can perform operations in a situation where the CHD1 node and edges corresponding to the relationship between the CHD1 node and an arbitrary node are deleted.
  • genes or proteins of high importance related to the queried disease can be output.
  • edges connecting the deleted node and other nodes may also be deleted.
  • the operation can be performed in the situation where the added node and the relationship between the added node and any node have been added, and the data desired by the user can be added. It is possible to obtain the results in the virtual environment that occurs by removing or removing.
  • the resulting information transformed according to the above operation can be separately stored in the user database Du of each user, and since the user database Du can only be accessed by the corresponding user, security can also be maintained.
  • the system according to the present invention may be provided with a search function as well as a query command.
  • a database browsing function may be provided in which data containing the entered search term is output when a search term to be searched is entered.
  • it is configured to search for additional information about the components of the prediction result and critical path output as a result of the query command, and is obtained by expanding not only the data containing the queried search word but also the information connected to the search word. It is also possible.
  • one of the database built according to the present invention and the modified database (a database built by further collecting user data from the user database, a database built by reflecting user operations) is selected, and various nodes and edges within the selected database are searched. This makes it possible to obtain the necessary information.
  • system according to the present invention is equipped with a verification function, making it possible to indirectly verify performance.
  • the data collection unit 131 collects one or more of first data related to a disease, second data related to a gene or protein, and third data related to a drug from a plurality of databases D1 to Dn.
  • the node defining unit 133, the edge defining unit 135, and the path defining unit 136 define nodes, edges, and paths using the collected first to fifth data.
  • the embedding unit 137 performs embedding so that the specified node and edge types are vectorized into real numbers in a k-dimensional space.
  • the path score calculation unit 138 calculates the score of each edge included in the path using the embedding result, and calculates the path score of each path using the calculated edge score.
  • the path extraction unit 139 extracts a plurality of paths for each preset path type of the node-pair. Paths extracted by the path extractor 139 are used for learning, and paths that are not extracted (paths of low importance) are excluded from learning.
  • first to third query embedding vectors for specifying an arbitrary entity-pair are input to the query encoding model, and then an embedding vector corresponding to the query embedding input from the query encoding model is output.
  • the first to sixth path embedding vectors for specifying the path extracted by the path extractor 139 among the paths between arbitrary entity pairs are input to the path encoding model, and accordingly, the path embedding vector is input to the path encoding model.
  • An embedding vector corresponding to the path embedding input from the encoding model is output.
  • the embedding vector output from the query encoding model and the embedding vectors output from the path encoding model are input to the query-path encoding model, and corresponding embedding vectors are output from the query-path encoding model.
  • high-importance paths for different entity-pairs may be input to the query-path encoding model.
  • the learning processor 180 learns the embedding vectors output from the query-path encoding model and outputs information related to the association between the queried entity-pairs when querying a random entity-pair, or when a random entity is queried.
  • a correlation prediction model is created that outputs objects related to the queried object.
  • BCE Loss Binary Cross Entropy Loss
  • the process of learning highly important paths between multiple entity-pairs is repeated multiple times (learning data is epoched multiple times).
  • learning is performed by randomly sampling some of the high-priority paths (in the present invention, random sampling is performed with a probability of 75%). It will be performed.
  • the correlation prediction model generated by the model generation terminal 100 can be transmitted and stored in the prediction terminal 200, and external input commands such as the mouse and keyboard of the prediction terminal 200 are converted into commands executable on the computer. Entity-pairs are queried through an input unit 220 configured to transform.
  • the processor 250 of the prediction terminal 200 calculates information related to the association between the queried entity-pairs using the association prediction model stored in the memory 240. Specifically, the queried entity-pair is input to the input layer of the correlation prediction model, and information related to the association between the queried entity-pairs is output through the output layer. Additionally, the queried entity is input to the input layer of the correlation prediction model, and entities related to the input entity are output through the output layer.
  • the correlation-related information output from the prediction model may be output in the form of information that can be viewed by the user through the output unit 260, such as a monitor or display device. For example, only information on the presence/absence of association between queried entity-pairs may be output through the output unit 260, and information on the probability value of association between queried entity-pairs may be output through the output unit 260. It may also be printed.
  • a verification experiment was conducted to verify the excellence of the correlation prediction model built according to the present invention.
  • the disease-gene that is the subject of evaluation is a specific gene that is already known to be related to the disease, and the relationship-related information output when the disease-gene pair is queried in the relationship prediction model according to an embodiment of the present invention. This means information that can be confirmed to be accurate.
  • the disease-genes subject to evaluation were queried against the control group and the correlation prediction model according to the present invention, respectively, and the prediction accuracy was evaluated by mAP (mean average precision).
  • mAP mean average precision
  • the average precision is measured to determine how accurately the association between the queried disease-genes is predicted, and the average is calculated. Performance evaluation of each model was performed.
  • the prediction accuracy was 40.12% in the control group and 69.19% in the present invention, and it was confirmed that the prediction accuracy of the correlation prediction model created according to the present invention was significantly higher than that of the existing model.
  • All or at least part of the configuration of the system according to an embodiment of the present invention may be implemented in the form of a hardware module or a software module, or may be implemented in a combination of a hardware module and a software module.
  • a software module can be understood as, for example, instructions executed by a processor that controls operations within the system, and these instructions may be mounted on memory within the system.
  • the method according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination.
  • Program instructions recorded on the medium may be specially designed and constructed for the present invention or may be known and usable by those skilled in the art of computer software.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks.
  • program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
  • the hardware devices described above may be configured to operate as one or more software modules to carry out the operations of the present invention, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computational Linguistics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Chemical & Material Sciences (AREA)
  • Epidemiology (AREA)
  • Pharmacology & Pharmacy (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Medicinal Chemistry (AREA)
  • Public Health (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 시계열적 정보를 인코딩하는 모델에서 출력되는 값을 학습 데이터로 사용하고, 개체 사이의 연관성 관련 정보를 예측하도록 학습 데이터를 학습함으로써 생성되는 예측 모델의 생성 방법, 그리고 생성된 예측 모델을 사용하여 예측을 수행하는 예측 시스템에 관한 것이다.

Description

시계열적 정보를 인코딩하는 모델을 사용하여 개체-쌍 사이의 연관성 관련 정보를 예측하는 방법 및 이를 이용하여 생성되는 예측 시스템
본 발명은 시계열적 정보를 인코딩하는 모델에서 출력되는 값을 학습 데이터로 사용하고, 개체 사이의 연관성 관련 정보를 예측하도록 학습 데이터를 학습함으로써 생성되는 예측 모델의 생성 방법, 그리고 생성된 예측 모델을 사용하여 예측을 수행하는 예측 시스템에 관한 것이다.
신약 개발 단계에서 약물이 목표로 하는 타겟 유전자 또는 단백질을 선정하는 것은 초기의 가장 중요한 단계로, 타겟을 변조(modulation)하였을 때 해당 질병이 효과적으로 치료되는 올바른 타겟을 선정하여야 향후 임상에서의 성공률을 높일 수 있다.
신약 임상 시험 단계까지 도달하기 위해서는 막대한 인력과 비용이 소모되며, 해당 질병을 효과적으로 치료하기 위해 초기 단계에서 타겟을 선정하는 것은 매우 중요하다고 할 수 있다.
종래 기술에서, 타겟을 선정하는 것은 다수의 데이터베이스로부터 데이터를 단순히 수집하고, 기존에 공개되었던 데이터들의 연결 관계를 단순히 제시하는 것에 불과하여 기존 데이터의 내용을 뛰어넘어 신약 개발을 위해 새로운 타겟을 선정하는 것에 많은 문제점이 존재하였다.
관련된 종래 기술을 살피면 다음과 같다.
한국등록특허문헌 제10-2035658호는 신약 재창출 후보 추천 시스템에 관한 것으로, 대용량의 빅데이터인 문헌정보 DB 및 유전체정보 DB로부터 약물 및 질병의 형질 정보와 유전자 연관 정보를 추출하고, 이들로부터 약물-약물/질병-질병 유사도 매트릭스를 구성하고, 유사도 매트릭스에 따라 문헌정보 기반의 약물-질병 엣지 점수와 유전체정보 기반의 약물-질병 엣지 점수를 연산하여, 이들로부터 약물-질병 엣지의 최종 예측 점수를 연산하여 신약 재창출 후보를 추천하는 내용을 제시한다.
하지만, 인공신경망 모델을 이용하는 것이 아니어서 추천의 정확도가 떨어지고, 출력의 정보가 상이하며, 다수의 데이터베이스로부터 데이터를 통합하는 과정에서 데이터를 단순히 선형적으로 통합하기 때문에 연관성이 적은 데이터들 간의 관계를 확인하기 어렵다는 단점이 있다.
일본공개특허문헌 제2019-220149호는 임의의 질병 쿼리에 대한 우선순위가 부여된 유전자를 출력하는 시스템에 관한 것으로, 질병, 유전자, 질병과 관련된 표현형 및 생물학적 경로를 포함하는 데이터들을 복수의 데이터베이스들로부터 수집하고, 수집된 데이터를 이용하여 그래프 데이터베이스를 구축하며, 그래프 컨볼루션에 기반한 관련성 스코어링(GCAS)를 적용하여 추정 관련성을 도출하고, 추정 관련성을 그래프 데이터베이스에 추가하여 이종 관련성 네트워크(HANRD)를 작성하며, 임의의 질병 쿼리에 대해 우선순위가 부여된 유전자를 출력하는 내용을 제시한다.
여러 다른 종류들로 이루어진 네트워크(heterogeneous network)를 구성했다는 점에서 유사하나, 다수의 데이터베이스들로부터 여러 유형의 노드와 엣지를 수집하였음에도 실질적으로 유형을 구분하여 사용하지 않고 노드 간의 연결이 되어 있는지 없는지만 고려하였으며, 특정 맥락 없이 주어진 노드의 근방 전체에 대한 정보를 사용하고, 인공신경망 모델을 이용하는 것이 아니어서 결과의 정확도가 떨어지는 단점이 존재한다.
이에, 본 발명자들은 기존 지식에 따라 구성된 지식 그래프를 활용하면서도, 개체-쌍 사이의 경로와 같은 시계열성 데이터의 특징이 부각되는 인코딩 모델을 사용하고, 상기 인코딩 모델을 사용하는 과정에서 개체들을 식별하기 위한 노드의 임베딩 값이 학습 과정에서 변화되도록 하는 알고리즘을 채택함으로써, 질의되는 개체-쌍 사이의 연관성 관련 정보를 높은 정확도로 예측하는 본 발명을 개발하기에 이르렀다.
(특허문헌 1) 한국등록특허문헌 제10-2035658호 (2019.10.23.)
(특허문헌 2) 일본공개특허문헌 제2019-220149호 (2019.12.26.)
상기한 과제를 해결하기 위해 본 발명은 기계학습 알고리즘을 이용하여 특정 질병 치료 약물의 타겟이 될 수 있는 유전자 또는 단백질을 높은 정확도로 예측하는 것이 가능한 방법 및 시스템을 제공하는 것에 그 목적이 있다.
또한, 기계학습 알고리즘에 따라 질의된 질병과 관련된 유전자 또는 단백질을 예측하기 때문에 기존에 알려지지 않은 새로운 타겟 유전자 또는 단백질을 발굴하는 것이 가능한 방법 및 시스템을 제공하는 것에 그 목적이 있다.
또한, 수집된 모든 데이터를 인공신경망 모델에 학습시키는 것이 아닌, 중요도 높은 경로를 선택적으로 학습시킴에 따라 연산 처리량의 감소 및 연산 시간이 최소화되는 방법 및 시스템을 제공하는 것에 그 목적이 있다.
또한, 시계열적 정보를 인코딩하는 모델에서 출력되는 임베딩 벡터를 학습 데이터로 사용하고, 학습 데이터에 포함되어 있으면서 개체(노드)를 식별하기 위한 임베딩 벡터가 기존 지식으로부터 획득된 임베딩 벡터와, 학습에 의해 그 값이 변화하는 임베딩 벡터를 모두 포함함에 따라, 기존 모델 대비 예측 성능이 높은 방법 및 시스템을 제공하는 것에 그 목적이 있다.
또한, 학습 데이터를 다수회 학습하는 과정에서, 하나의 학습 사이클마다 모든 학습 데이터를 학습하는 것이 아닌 랜덤 샘플링을 통해 일부의 학습 데이터를 학습함으로써 학습 데이터의 양이 증가되고, 생성된 예측 모델의 오버피팅 문제가 해결되는 방법 및 시스템을 제공하는 것에 그 목적이 있다.
또한, 다수의 데이터베이스로부터 수집한 데이터에 국한되는 것이 아닌, 해당 사용자 계정 접속을 통해 사용자 데이터베이스로부터 추가의 데이터를 더 수집하여 더 수집된 데이터까지도 반영하여 예측에 이용할 수 있어 해당 연구자가 자신의 연구 컨텍스트가 반영된 예측 결과를 획득하는 것이 가능한 방법 및 시스템을 제공하는 것에 그 목적이 있다.
또한, 사용자 입력에 따라 노드, 엣지 및 경로 중 하나 이상의 추가 또는 삭제가 반영된 상황에서의 연산이 더 수행될 수 있어, 일종의 가상 실험 환경에서의 예측 결과를 획득할 수 있다는 장점을 갖는 방법 및 시스템을 제공하는 것에 그 목적이 있다.
상기한 목적을 달성하기 위한 본 발명의 일 실시예는, 모델 생성 단말에 의해, 임의의 개체(entity)의 쌍(pair)이 질의되는 경우 질의된 개체 사이의 연관성 관련 정보를 출력하거나, 임의의 개체가 질의되는 경우 질의된 개체와 연관된 개체들을 출력하는 연관성 예측 모델이 생성되도록 학습 데이터를 학습하는 단계를 포함하고, 상기 임의의 개체의 쌍은 질병-유전자, 유전자-질병, 질병-약물, 약물-질병, 유전자-약물 및 약물-유전자 중 하나 이상의 쌍을 포함하는 것이며, 상기 학습 데이터는, 임의의 개체의 쌍이 질의 인코딩 모델에 입력됨에 따라 상기 질의 인코딩 모델에서 출력되는 임베딩 벡터 및 상기 질의 인코딩 모델에 입력된 임의의 개체의 쌍을 서로 연결하는 경로가 경로 인코딩 모델에 입력됨에 따라 상기 경로 인코딩 모델에서 출력되는 임베딩 벡터가 질의-경로 인코딩 모델에 입력됨에 따라 상기 질의-경로 인코딩 모델에서 출력되는 임베딩 벡터를 포함하는, 개체 간의 연관성 예측 방법을 제공한다.
일 실시예에 있어서, 상기 임의의 개체의 쌍은 질의 임베딩 벡터의 형태로 상기 질의 인코딩 모델에 입력되고, 상기 질의 임베딩 벡터는, 상기 임의의 개체의 쌍의 개체를 식별하기 위한 개체 임베딩 벡터 및 상기 개체 임베딩 벡터의 위치를 식별하기 위한 포지셔널 임베딩 벡터를 포함할 수 있다.
일 실시예에 있어서, 상기 질의 임베딩 벡터는, 질의 타입 임베딩 벡터와 상기 질의 타입 임베딩 벡터의 위치를 식별하기 위한 제1 포지셔널(positional) 임베딩 벡터를 이용하여 연산된 제1 질의 임베딩 벡터, 상기 임의의 개체의 쌍 중 어느 하나의 개체가 해당하는 타입을 나타내는 제1 노드 타입 임베딩 벡터와, 상기 어느 하나의 개체를 식별하기 위한 개체 임베딩 벡터, 그리고 상기 개체 임베딩 벡터의 위치를 식별하기 위한 제2 포지셔널 임베딩 벡터를 이용하여 연산된 제2 질의 임베딩 벡터 및 상기 임의의 개체의 쌍 중 다른 하나의 개체가 해당하는 타입을 나타내는 제2 노드 타입 임베딩 벡터와, 상기 다른 하나의 개체를 식별하기 위한 개체 임베딩 벡터, 그리고 상기 개체 임베딩 벡터의 위치를 식별하기 위한 제3 포지셔널 임베딩 벡터를 이용하여 연산된 제3 질의 임베딩 벡터를 포함할 수 있다.
일 실시예에 있어서, 상기 개체 임베딩 벡터는, 지식 그래프의 임베딩 결과값이면서, 학습이 이루어지더라도 그 값이 고정된 제1 개체 임베딩 벡터 및 학습에 의해 값이 변화하는 제2 개체 임베딩 벡터;를 이용하여 연산된 것일 수 있다.
일 실시예에 있어서, 상기 제1 질의 임베딩 벡터 내지 상기 제3 질의 임베딩 벡터는 연산에 사용된 임베딩 벡터들의 합산 임베딩 벡터들이고, 상기 개체 임베딩 벡터는 연산에 사용되는 제1 개체 임베딩 벡터와 제2 개체 임베딩 벡터의 결합(concatenate) 임베딩 벡터일 수 있다.
일 실시예에 있어서, 상기 지식 그래프는, 질병, 유전자, 약물 및 장기 중 적어도 2개의 개체와, 상기 적어도 2개의 개체 간의 관계가 표현되어 있는 것일 수 있다.
일 실시예에 있어서, 상기 경로는 경로 임베딩 벡터의 형태로 상기 경로 인코딩 모델에 입력되고, 상기 경로 임베딩 벡터는, 상기 임의의 개체-쌍 사이의 경로를 식별하기 위한 임베딩 벡터 및 상기 임의의 개체-쌍 사이의 경로를 식별하기 위한 임베딩 벡터의 위치를 식별하기 위한 포지셔널 임베딩 벡터를 포함할 수 있다.
일 실시예에 있어서, 상기 경로 임베딩 벡터는, 경로 타입 임베딩 벡터와 상기 경로 타입 임베딩 벡터의 위치를 식별하기 위한 제4 포지셔널 임베딩 벡터를 이용하여 연산된 제1 경로 임베딩 벡터, 상기 임의의 개체의 쌍 중 어느 하나의 개체가 해당하는 타입을 나타내는 제1 노드 타입 임베딩 벡터, 상기 어느 하나의 개체를 식별하기 위한 개체 임베딩 벡터, 그리고 상기 개체 임베딩 벡터의 위치를 식별하기 위한 제5 포지셔널 임베딩 벡터를 이용하여 연산된 제2 경로 임베딩 벡터, 엣지들이 그 특성에 따라 구분된 하나 이상의 엣지 유형(metaedge) 중, 상기 어느 하나의 개체에 연결된 엣지의 유형을 식별하기 위한 제1 엣지 타입 임베딩 벡터와 상기 제1 엣지 타입 임베딩 벡터의 위치를 식별하기 위한 제6 포지셔널 임베딩 벡터를 이용하여 연산된 제3 경로 임베딩 벡터, 상기 어느 하나의 개체에 해당하는 노드와 엣지로 연결된 노드에 해당하는 개체가 해당하는 타입을 나타내는 제3 노드 타입 임베딩 벡터, 상기 개체를 식별하기 위한 개체 임베딩 벡터, 그리고 상기 개체 임베딩 벡터의 위치를 식별하기 위한 제7 포지셔널 임베딩 벡터를 이용하여 연산된 제4 경로 임베딩 벡터, 상기 제4 경로 임베딩 벡터에 포함된 개체 및 상기 임의의 개체의 쌍 중 다른 하나의 개체를 서로 연결하는 엣지의 유형을 식별하기 위한 제2 엣지 타입 임베딩 벡터와, 상기 제2 엣지 타입 임베딩 벡터의 위치를 식별하기 위한 제8 포지셔널 임베딩 벡터를 이용하여 연산된 제5 경로 임베딩 벡터 및 상기 임의의 개체의 쌍 중 다른 하나의 개체가 해당하는 타입을 나타내는 제2 노드 타입 임베딩 벡터, 상기 다른 하나의 개체를 식별하기 위한 개체 임베딩 벡터, 그리고 상기 개체 임베딩 벡터의 위치를 식별하기 위한 제9 포지셔널 임베딩 벡터를 이용하여 연산된 제6 경로 임베딩 벡터를 포함할 수 있다.
일 실시예에 있어서, 상기 개체 임베딩 벡터는, 지식 그래프의 임베딩 결과값이면서, 학습이 이루어지더라도 그 값이 고정된 제1 개체 임베딩 벡터 및 학습에 의해 값이 변화하는 제2 개체 임베딩 벡터를 이용하여 연산된 것일 수 있다.
일 실시예에 있어서, 상기 제1 경로 임베딩 벡터 내지 제6 경로 임베딩 벡터는 연산에 사용된 임베딩 벡터들의 합산 임베딩 벡터들이고, 상기 개체 임베딩 벡터는 연산에 사용되는 제1 개체 임베딩 벡터와 제2 개체 임베딩 벡터의 결합(concatenate) 임베딩 벡터일 수 있다.
일 실시예에 있어서, 상기 경로 인코딩 모델에는, 임의의 개체의 쌍마다 다수 개의 경로가 입력되고, 상기 입력되는 다수 개의 경로는 임의의 개체의 쌍의 경로들 중 일부의 경로이며, 기 설정된 경로 유형(metapath)에 포함된 다수의 경로 중 기 설정된 방법에 의해 연산된 경로 스코어가 높은 순서에 기초하여 추출된 일부의 경로일 수 있다.
일 실시예에 있어서, 상기 경로 유형은 경로를 구성하는 엣지의 개수, 엣지의 순서 및 엣지 유형의 조합에 기초하여 구분지어지며, 상기 기 설정된 경로 유형은 구분지어진 경로 유형 중 적어도 일부의 유형일 수 있다.
일 실시예에 있어서, 상기 경로 스코어는, 노드 및 엣지 유형의 임베딩 결과값을 이용하여, 경로에 포함된 각각의 엣지들의 엣지 스코어를 연산하고, 임의의 개체의 쌍의 경로에 포함된 모든 엣지들의 엣지 스코어를 이용하여 연산된 것일 수 있다.
일 실시예에 있어서, 상기 질의된 개체-쌍 사이의 연관성 관련 정보는, 상기 질의된 개체-쌍 사이의 연관성 유무 및 연관성 정도 중 적어도 어느 하나를 포함할 수 있다.
일 실시예에 있어서, 상기 질의-경로 인코딩 모델은, 상기 질의 인코딩 모델과 상기 경로 인코딩 모델에 대해 적층(stacked)되어 있는 것일 수 있다.
일 실시예에 있어서, 상기 연관성 예측 모델은 임의의 개체가 질의되는 경우 질의된 개체와 연관된 개체들 각각마다 연관성 정도를 나타내는 점수를 출력하도록 구성될 수 있다.
일 실시예에 있어서, 상기 연관성 예측 모델은 상기 점수가 높은 순으로 상기 연관된 개체들을 정렬하여 출력하도록 구성될 수 있다.
일 실시예에 있어서, 상기 연관성 예측 모델이 생성되도록 학습 데이터를 학습하는 단계는, 제1 연관성 예측 모델이 생성되도록 인공신경망 모델에 제1 학습 데이터를 학습시키는 제1 학습 단계 및 상기 제1 연관성 예측 모델을 사용하여 제2 연관성 예측 모델이 생성되도록 제2 학습 데이터를 학습시키는 제2 학습 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 제1 학습 데이터는, 임의의 개체의 쌍 중 관심 개체를 제외한 개체로 이루어진 개체의 쌍이 상기 질의 인코딩 모델에 입력됨에 따라 상기 질의 인코딩 모델에서 출력되는 임베딩 벡터, 그리고 상기 관심 개체를 제외한 개체로 이루어진 개체의 쌍을 서로 연결하는 경로가 상기 경로 인코딩 모델에 입력됨에 따라 상기 경로 인코딩 모델에서 출력되는 임베딩 벡터가 상기 질의-경로 인코딩 모델에 입력됨에 따라 상기 질의-경로 인코딩 모델에서 출력되는 임베딩 벡터를 포함할 수 있다.
일 실시예에 있어서, 상기 제2 학습 데이터는, 임의의 개체의 쌍 중 상기 관심 개체로 이루어진 개체의 쌍이 상기 질의 인코딩 모델에 입력됨에 따라 상기 질의 인코딩 모델에서 출력되는 임베딩 벡터, 그리고 상기 관심 개체로 이루어진 개체의 쌍을 서로 연결하는 경로가 상기 경로 인코딩 모델에 입력됨에 따라 상기 경로 인코딩 모델에서 출력되는 임베딩 벡터가 상기 질의-경로 인코딩 모델에 입력됨에 따라 상기 질의-경로 인코딩 모델에서 출력되는 임베딩 벡터를 포함할 수 있다.
일 실시예에 있어서, 상기 제2 학습 단계는 상기 제1 학습 단계 이후에 수행될 수 있다.
일 실시예에 있어서, 질의 개체-쌍 또는 질의 개체가 예측 단말의 입력부를 통해 입력되는 단계, 상기 예측 단말의 프로세서에 의해, 상기 모델 생성 단말에 의해 생성된 연관성 예측 모델에 질의 개체-쌍이 질의되는 경우 상기 연관성 예측 모델에서 출력되는 값인 질의된 임의의 개체의 쌍 사이의 연관성 관련 정보가 연산되거나, 상기 연관성 예측 모델에 개체가 질의되는 경우 질의 개체와 연관된 개체들이 연산되는 단계를 더 포함할 수 있다.
일 실시예에 있어서, 미리 규정된 노드들 중 하나 이상의 노드가 삭제 또는 추가되거나, 미리 규정되지 않은 새로운 엣지가 삭제 또는 추가되는 단계를 더 포함하며, 상기 예측 단말은, 상기 하나 이상의 노드가 삭제 또는 추가되거나, 상기 새로운 엣지가 삭제 또는 추가된 데이터셋에 기초하여 질의된 임의의 개체의 쌍 사이의 연관성 관련 정보 또는 질의된 개체와 연관된 개체들의 연산을 수행하도록 구성될 수 있다.
일 실시예에 있어서, 상기 예측 단말의 출력부를 통해, 상기 프로세서에서 연산된 연관성 관련 정보 또는 질의 개체와 연관된 개체들이 출력되는 단계를 더 포함할 수 있다.
또한, 본 발명은 전술한 방법에 따라 생성된 예측 모델을 사용하여 개체 간의 연관성을 예측하는 시스템으로서, 외부에서 질의 개체-쌍 또는 질의 개체를 입력받도록 구성된 입력부, 상기 모델 생성 단말에 의해 생성된 연관성 예측 모델을 이용하여, 상기 입력부를 통해 입력된 질의 개체-쌍 사이의 연관성 관련 정보 또는 질의 개체와 연관된 개체들을 연산하도록 구성된 프로세서 및 상기 프로세서에 의해 연산된 연관성 관련 정보 또는 질의 개체와 연관된 개체들을 출력하도록 구성된 출력부를 포함하는, 예측 단말을 포함하는, 개체 간의 연관성 예측 시스템을 제공한다.
또한, 본 발명은 전술한 방법을 실행하도록 컴퓨터 판독 가능한 기록 매체에 저장된, 컴퓨터 프로그램을 제공한다.
본 발명에 따르면, 기계학습 알고리즘을 이용하여 특정 질병 치료 약물의 타겟이 될 수 있는 유전자 또는 단백질을 높은 정확도로 예측하는 것이 가능하다.
또한, 기계학습 알고리즘에 따라 질의된 질병과 관련된 유전자 또는 단백질을 예측하기 때문에 기존에 알려지지 않은 새로운 타겟 유전자 또는 단백질을 발굴하는 것이 가능하다.
또한, 수집된 모든 데이터를 인공신경망 모델에 학습시키는 것이 아닌, 중요도 높은 경로를 선택적으로 학습시킴에 따라 연산 처리량의 감소 및 연산 시간이 최소화될 수 있다.
또한, 시계열적 정보를 인코딩하는 모델에서 출력되는 임베딩 벡터를 학습 데이터로 사용하고, 학습 데이터에 포함되어 있으면서 개체(노드)를 식별하기 위한 임베딩 벡터가 기존 지식으로부터 획득된 임베딩 벡터와, 학습에 의해 그 값이 변화하는 임베딩 벡터를 모두 포함함에 따라, 기존 모델 대비 예측 성능이 높다.
또한, 학습 단계가 2개의 단계로 구분되고, 각 학습 단계에서의 학습 데이터를 서로 다르게 구성하여 관심 개체와 관련된 다른 개체를 높은 정확도로 예측할 수 있다. 구체적으로, 관심 개체가 배제된 학습 데이터를 1차 학습하고, 관심 개체로만 이루어진 학습 데이터를 2차 학습하여 연관성 예측 모델을 생성함으로써, 관심 개체와 관련된 다른 개체를 높은 정확도로 예측할 수 있다.
또한, 학습 데이터를 다수회 학습하는 과정에서, 하나의 학습 사이클마다 모든 학습 데이터를 학습하는 것이 아닌 랜덤 샘플링을 통해 일부의 학습 데이터를 학습함으로써 학습 데이터의 양이 증가되고, 생성된 예측 모델의 오버피팅 문제가 해결된다.
또한, 다수의 데이터베이스로부터 수집한 데이터에 국한되는 것이 아닌, 해당 사용자 계정 접속을 통해 사용자 데이터베이스로부터 추가의 데이터를 더 수집하여 더 수집된 데이터까지도 반영하여 예측에 이용할 수 있어 해당 연구자가 자신의 연구 컨텍스트가 반영된 예측 결과를 획득하는 것이 가능하다.
또한, 사용자 입력에 따라 노드, 엣지 및 경로 중 하나 이상의 추가 또는 삭제가 반영된 상황에서의 연산이 더 수행될 수 있어, 일종의 가상 실험 환경에서의 예측 결과를 획득할 수 있다는 장점을 갖는다.
도 1은 본 발명의 실시예에 따른 시스템을 설명하기 위한 개략적인 블록도이다.
도 2는 도 1의 시스템에서 제1 프로세서에 의한 데이터 처리 과정을 설명하기 위한 개략적인 블록도이다.
도 3은 본 발명의 실시예에 따른 시스템에서 구축된 지식 그래프를 설명하기 위한 도면이다.
도 4는 본 발명에 따른 지식 그래프의 구축 과정에서 사용되는 노드들과, 엣지들을 설명하기 위한 도면이다.
도 5는 도 1의 시스템에서 제2 프로세서에 의한 데이터 처리 과정을 설명하기 위한 도면이다.
도 6은 도 5의 질의 인코딩 모델에 입력되는 임베딩 벡터와, 이에 따라 출력되는 임베딩 벡터를 설명하기 위한 도면이다.
도 7은 도 5의 경로 인코딩 모델에 입력되는 임베딩과, 이에 따라 출력되는 임베딩 벡터를 설명하기 위한 도면이다.
도 8은 도 5의 질의-경로 인코딩 모델에 입력되는 임베딩 벡터와, 이에 따라 출력되는 임베딩 벡터, 그리고 이들이 학습되는 모습을 나타낸 도면이다.
도 9는 본 발명의 실시예에서 제1 프로세서에 의한 데이터 처리 과정을 설명하기 위한 순서도이다.
도 10은 본 발명의 실시예에서 제2 프로세서에 의한 데이터 처리 과정, 그리고 러닝 프로세서에 의한 학습 과정을 설명하기 위한 순서도이다.
도 11은 도 10에서 생성된 연관성 예측 모델을 사용하여 질의되는 개체-쌍 사이의 연관성 관련 정보를 예측하는 과정을 설명하기 위한 순서도이다.
도 12 및 13은 학습 단계가 2개의 단계로 구분되고, 각 학습 단계에서 서로 다른 데이터를 학습하는 본 발명의 다른 실시예를 설명하기 위한 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
이하에서, 용어 "개체(entity)"는 단어나 기호 등을 의미하며, 질병의 명칭, 유전자의 명칭, 단백질의 명칭 및 약물의 명칭이 여기에 포함될 수 있다. 마찬가지로, "개체-쌍"은 개체들의 쌍으로 이루어진 데이터를 의미하며, 서로 다른 유형의 개체로 이루어진 데이터(질병-유전자, 유전자-질병, 질병-약물, 약물-질병, 유전자-약물, 약물-유전자 등)를 의미한다.
이하에서, 용어 "유전자"는 DNA나 RNA로 이루어진 유전체에서 특정 염기서열로 이루어진 유전정보의 개별적 단위를 지칭하는 것으로, DNA와 RNA뿐만 아니라 단백질(protein)로 이루어진 유전체에서 특정 아미노산서열로 이루어진 유전정보의 개별적 단위 역시 포함하는 개념이다. 또한, 유전체의 번역결과인 단백질(protein) 역시 본 발명의 "유전자"에 포함되는 개념이다.
1. 시스템의 설명
도 1을 참조하여, 본 발명의 실시예에 따른 시스템을 구체적으로 설명한다.
본 발명의 실시예에 따른 시스템은 모델 생성 단말(100) 및 예측 단말(200)을 포함한다.
모델 생성 단말(100)은 본 발명에서 사용되는 예측 모델을 생성하도록 구성된 단말이다.
도 1을 참조하면, 모델 생성 단말(100)은 통신부(110), 입력부(120), 제1 프로세서(130), 제2 프로세서(140), 제어부(150), 출력부(160), 메모리(170) 및 러닝 프로세서(180)를 포함한다. 즉, 모델 생성 단말(100)은 일 예로 통신/입력/연산/출력 기능을 갖는 컴퓨팅 장치일 수 있으며, 일 예로 서버, 데스크탑 PC, 노트북 PC, 태블릿 PC 등과 같은 다양한 전자 장치로 구현될 수 있다.
일 실시예에서, 통신부(110)는 외부 기기와의 통신을 위한 구성으로, 통신부(110)를 통해 외부 기기와의 데이터 송수신이 가능할 수 있다.
일 실시예에서, 입력부(120)는 모델 생성 단말(100)의 구성요소(예를 들어, 프로세서, 러닝 프로세서)에 사용될 명령 또는 데이터를 모델 생성 단말(100)의 외부(예를 들어, 사용자)로부터 수신할 수 있다. 입력부(120)는, 예를 들면, 마이크, 마우스, 키보드, 키(예를 들어, 버튼), 또는 디지털 펜(예를 들어, 스타일러스 펜)을 포함할 수 있다.
일 실시예에서, 제어부(150)는, 예를 들면 소프트웨어를 실행하여 프로세서에 연결된 모델 생성 단말(100)의 하나 이상의 다른 구성요소(예를 들어, 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있다.
일 실시예에서, 제1 프로세서(130), 제2 프로세서(140) 및 러닝 프로세서(180)는, 데이터 처리 또는 연산 기능을 수행할 수 있으며, 데이터 처리 또는 연산 기능의 적어도 일부로서, 다른 구성요소로부터 수신된 명령 또는 데이터를 휘발성 메모리에 저장하고, 휘발성 메모리에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다. 또한, 러닝 프로세서(180)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다.
출력부(160)는 모델 생성 단말(100)에서 처리 또는 연산된 정보를 외부로 출력할 수 있으며, 디스플레이, 스피커 등이 여기에 포함될 수 있다.
메모리(170)는 모델 생성 단말(100)에서 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어 및 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다.
후술하는 예측 단말(200) 역시 컴퓨팅 장치의 형태로 구현될 수 있으며, 모델 생성 단말(100)에 포함된 구성요소를 그대로 포함하거나 적어도 일부를 포함할 수 있다.
모델 생성 단말(100)의 러닝 프로세서(180)는 학습 데이터를 학습하여, 질의되는 개체-쌍 사이의 연관성 관련 정보를 출력하는 연관성 예측 모델을 생성하게 된다. 이하에서는, 연관성 예측 모델을 생성하는 데 사용되는 학습 데이터가 어떻게 구성되는지에 대해 구체적으로 설명한다.
학습 데이터는 모델 생성 단말(100)의 제1 프로세서(130)와 제2 프로세서(140)에 의해 전처리 및 생성된다.
제1 프로세서(130)는 노드, 엣지, 경로를 규정하고, 규정된 노드와 엣지로 이루어진 지식 그래프를 생성하며, 생성된 지식 그래프를 임베딩하고, 임베딩 결과를 이용하여 임의의 개체-쌍의 경로들 중 중요도 높은 일부 경로를 추출하도록 구성된다.
도 2를 참조하면, 제1 프로세서(130)는 데이터 수집부(131), 자연어 처리부(132), 노드 규정부(133), ID 부여부(134), 엣지 규정부(135), 경로 규정부(136), 임베딩부(137), 경로 스코어 연산부(138) 및 경로 추출부(139)를 포함한다.
데이터 수집부(131)는 다수의 데이터베이스(D1, D2, … Dn)로부터 데이터를 수집하도록 구성된다. 데이터 수집부(131)에 의해 수집되는 데이터는 일 예로 유전자 발현 데이터, 약물-단백질 결합 데이터, 논문에 기재된 정보를 항목화한 데이터, 문서 데이터 등일 수 있으나, 상기한 형태에 제한되지 않고 질병 관련 데이터, 유전자 관련 데이터 및 약물 관련 데이터를 포함하는 것이면 그 형식은 제한되지 않는다.
이를 위해, 본 발명의 실시예에 따른 시스템은 다수의 데이터베이스(D1, D2, … Dn)와 통신 연결될 수 있으며(모델 생성 단말의 통신부에 의해 상호 통신 연결될 수 있음), 다수의 데이터베이스(D1, D2, … Dn)는 공개된 데이터베이스일 수 있으나, 이에 제한되지 않고 비공개 데이터베이스일 수도 있으며, 논문 데이터베이스, 의학 정보 데이터베이스, 약학 정보 데이터베이스 및 검색 포털 데이터베이스 등을 포함할 수 있다.
데이터 수집부(131)는 다수의 데이터 베이스(D1, D2, … Dn) 각각으로부터 질병(disease)과 관련된 제1 데이터, 유전자(gene)와 관련된 제2 데이터 및 약물(compound)과 관련된 제3 데이터를 수집할 수 있다. 또한, 데이터 수집부(131)는 경로(pathway)를 제1 내지 제3 데이터와는 다른 제4 데이터로 수집할 수 있으며, 상기 데이터들 간에 연관성 있다고 판단한 근거가 되는 문서(예를 들어, 논문 등)를 지칭하기 위한 데이터(예를 들어, 특정 데이터베이스에서 해당 논문 각각에 부여된 ID)를 또 다른 유형의 제5 데이터로 수집할 수 있다.
제1 데이터는 질병과 관련된 데이터로서, 질병의 명칭 데이터, 질병의 해부학적(anatomy) 데이터(예를 들어, 질병이 발병하는 신체의 해부학적 데이터, 간암의 경우 간이 여기에 해당할 수 있음) 및 질병의 증상 데이터를 포함할 수 있다. 즉, 질병 자체를 지칭하는 용어뿐만 아니라, 질병과 관련된 정보를 제공하는데 필요한 모든 용어를 포함하는 개념이다.
제2 데이터는 유전자와 관련된 데이터로서, 유전자의 명칭 데이터, 유전자의 유전자 온톨로지(gene ontology) 데이터, 유전자의 해부학적 데이터(예를 들어, 유전자가 발현되는 신체 조직 정보, 간암과 관련성이 있는 유전자를 찾기 위해 간에서 발현이 높은 유전자들을 우선적으로 고려할 경우 간이 여기에 해당할 수 있음) 및 유전자의 생물학적 경로(biological pathway) 데이터를 포함할 수 있으며, 유전자 온톨로지 데이터는 유전자의 생물학적 과정(biological process) 데이터, 유전자의 세포 내 위치(cellular component) 데이터 및 유전자의 분자 기능(molecular function) 데이터를 포함할 수 있다. 즉, 유전자 자체를 지칭하는 용어뿐만 아니라, 유전자와 관련된 정보를 제공하는데 필요한 모든 용어를 포함하는 개념이다.
해부학적 데이터는 제1 데이터 또는 제2 데이터에 포함될 수 있는데, 예를 들어 데이터에 A 유전자가 B 조직에서 발현한다라는 내용이 포함된 경우, B 조직은 유전자 관련 데이터인 제2 데이터로 수집될 수 있고, 데이터에 C 질병이 D 조직에서 발병된다는 내용이 포함된 경우, D 조직은 질병 관련 데이터인 제1 데이터로 수집될 수 있다.
제3 데이터는 약물과 관련된 데이터로서, 약물의 명칭 데이터, 약물의 약리학적 분류(pharmacologic class) 데이터 및 약물의 부작용(side effect) 데이터를 포함할 수 있다. 즉, 약물 자체를 지칭하는 용어뿐만 아니라, 약물과 관련된 정보를 제공하는데 필요한 모든 용어를 포함하는 개념이다.
하지만, 상기한 유형에 한정되지 않고 각각 질병, 유전자, 약물과 관련된 데이터, 그리고 질병, 유전자 및 단백질 간의 관계를 예측하는 데 필요한 데이터이면 어느 것이든 포함할 수 있다고 할 것이다.
자연어 처리부(132)는 데이터 수집부(131)에 의해 수집된 문서 데이터로부터 기설정된 자연어 처리 알고리즘을 통해, 문서 데이터에 포함된 텍스트(text)로부터 개체들을 추출하고, 개체와 개체들 간의 관계를 도출하도록 구성된다.
자연어 처리부(132)에 의해 추출된 개체와, 도출된 개체들 간의 관계는 각각 노드와 엣지로 규정될 수 있으며, 자세한 설명은 후술한다.
즉, 자연어 처리부(132)는 문서 데이터에 포함된 질병(disease) 관련 용어를 제1 개체로, 유전자(gene) 관련 용어를 제2 개체로, 약물(compound) 관련 용어를 제3 개체로, 제1 개체 내지 제3 개체 간의 관계를 설명하는 용어를 제4 개체로 각각 인식하여 추출하도록 구성된다. 또한, 자연어 처리부(132)는 문서 데이터에 포함된 경로를 제5 개체로, 연관성 판단의 근거가 된 문서를 지칭하는 데이터를 제6 개체로 인식하여 추출하는 등, 예측에 필요한 개체를 설정하여 추출할 수 있다.
그리고, 자연어 처리부(132)는 추출된 개체들을 이용하여, 기설정된 방법으로 개체들 간의 관계를 도출하도록 구성된다.
본 발명에 따른 자연어 처리부(132)에 의한 개체들의 추출, 개체들 간의 관계 도출은 사전 학습된 신경망(Neural Network) 모델을 이용하여 수행될 수 있다. 즉, 신경망 모델은 예를 들어, 제1 개체 내지 제6 개체들이 각각 레이블링된 학습 데이터를 학습하여, 질의되는 문서 데이터로부터 제1 개체 내지 제6 개체를 추출하고, 개체들 간의 관계를 도출하도록 구성될 수 있다.
종래 기술에 따를 경우, 추출의 대상이 되는 용어를 미리 색인 사전에 저장해 놓은 후, 미리 저장된 용어만을 텍스트로부터 추출하게 된다. 이 경우, 색인 사전에 미리 저장되지 않은 용어가 텍스트에 포함되어 있다면, 이를 추출하지 못하고 결국에는 기존에 알려진 범위 내에서만 시스템 구축이 가능하다.
하지만, 본 발명의 경우 색인 사전에 저장된 용어를 추출하는 것이 아닌, 예를 들어, 신경망 모델이 텍스트의 어느 부분이 설정된 개체 중 어느 개체에 해당하는지 레이블링된 학습 데이터를 학습하기 때문에, 사전 학습되지 않은 용어에 대해서도 용어 자체의 형태나 전후 맥락 등을 고려하여 개체를 추출하는 것이 가능하다. 따라서, 기존의 논문을 통해 알려진 범주뿐만 아니라, 새로운 범주에서의 개체 추출 및 개체 간의 관계 도출이 가능하다.
노드 규정부(133), 엣지 규정부(135), 경로 규정부(136)는 각각 지식 그래프의 구성요소인 노드(node) 및 엣지(edge)를 규정하고, 나아가 경로(path)를 규정하도록 구성된다.
노드 규정부(133)는 데이터 수집부(131)에 의해 수집된 데이터들 중 제1 데이터를 질병의 명칭 데이터, 질병의 해부학적 데이터, 질병의 증상 데이터 등으로 그룹화할 수 있으며, 수집된 제2 데이터를 각각 유전자의 명칭 데이터, 유전자의 생물학적 과정 데이터, 유전자의 해부학적 데이터, 유전자의 세포 내 위치 데이터, 유전자의 분자 기능 데이터, 유전자의 생물학적 경로 데이터 등으로 그룹화할 수 있고, 수집된 제3 데이터를 약물의 명칭 데이터, 약물의 약리학적 분류 데이터, 약물의 부작용 데이터로 그룹화하여 총 11개의 그룹으로 그 유형을 분류할 수 있다(도 4 참조). 하지만, 상기한 개수에 제한되지 않고 다양한 유형의 그룹(예를 들어, 제5 데이터 및 제6 데이터)이 추가될 수 있다.
다른 실시예에서는, 노드 규정부(113)는 자연어 처리부(112)를 통해 추출된 개체 각각을 미리 결정된 방법에 따라 그룹화하며, 각각을 노드로 규정할 수도 있다.
즉, 노드 규정부(133)는 자연어 처리부(132)를 통해 추출된 제1 개체 내지 제3 개체와, 다수의 데이터베이스들로부터 수집된 제1 데이터 내지 제3 데이터를 각각 제1 노드 내지 제3 노드로 규정하게 된다(도 3 참조). 다른 실시예에서는, 노드 규정부(133)가 제1 개체 내지 제3 개체, 제5 개체 및 제6 개체, 그리고 제1 데이터 내지 제3 데이터, 제5 데이터 및 제6 데이터를 각각 제1 내지 제5 노드로 규정할 수도 있다. 후술하겠지만, 엣지 규정부(135)는 자연어 처리부(132)를 통해 도출된 제1 개체 내지 제3 개체 간의 관계, 제1 데이터 내지 제3 데이터 간의 관계를 엣지로 규정하게 된다. 또한, 엣지 규정부(135)는 제1 개체 내지 제3 개체, 제5 개체 및 제6 개체 간의 관계, 제1 데이터 내지 제3 데이터, 제5 데이터 및 제6 데이터 간의 관계를 엣지로 규정할 수도 있다. 본 발명의 일 실시예에 따라 규정된 노드들과, 노드들을 연결하는 엣지들의 예시가 도 3에 도시된다.
또한, 노드 규정부(133)는 그룹화된 데이터들 내에 포함된 데이터들을 그 종류에 따라 각각의 노드로 규정한다.
즉, 노드 규정부(133)는 제1 데이터(개체)를 그 종류마다 각각의 노드로 규정하고, 제2 데이터(개체)를 그 종류마다 각각의 노드로 규정하며, 제3 데이터(개체)를 그 종류마다 각각 노드로 규정하고, 제5 데이터 및 제6 데이터를 그 종류마다 각각 노드로 규정한다.
ID 부여부(134)는 노드 규정부(133)에 의해 규정된 노드들 각각에 고유의 ID를 부여하도록 구성된다.
즉, 본 발명에 따른 ID 부여부(134)는 각각의 노드를 나타내는 임의의 용어에 각각 고유의 ID를 부여하게 되는데, 상기 임의의 용어의 동의어(synonym) 및 축약어(abbreviation) 등 상기 임의의 용어와 동일하다고 판단될 수 있는 용어들에도 상기 임의의 용어와 동일한 ID를 부여하도록 구성된다.
한편, 임의의 용어에 2개 이상의 ID가 부여되는 경우가 있을 수 있다. 예를 들어, alpha-fetoprotein의 경우 AFP라는 축약어로도 지칭되며, alpha-fetoprotein과 AFP는 모두 174라는 ID가 부여될 수 있다.
AFP는 TRIM26이라는 유전자의 동의어에도 해당하는데, 즉 AFP는 TRIM26의 ID와 동일한 7726라는 ID가 부여될 수도 있다.
즉, AFP는 174 및 7726이라는 2개의 ID가 부여되는데, 이 경우 ID 부여부(134)는 축약어에 매칭되는 ID(7726)이 아닌 AFP의 풀 네임(full name)에 매칭되는 ID(174)를 AFP의 ID로 부여하게 된다.
메모리(170)에는 각각의 노드마다 고유의 ID가 매핑(mapping)되어 저장되어 있으며, ID 부여부(134)는 메모리(170)에 저장된 ID들을 이용하여 각각의 노드에 고유의 ID를 부여하게 된다.
엣지 규정부(135)는 노드 규정부(133)에 의해 규정된 노드 간의 관계를 엣지로 규정한다.
엣지란 노드와 노드 사이를 잇는 연결관계를 의미하며, 엣지 규정부(135)는 수집된 데이터들에 포함된 노드와 노드 사이의 관계를 해당 노드-쌍을 서로 연결하는 엣지로 규정하게 된다.
예를 들어 문서 데이터가 "유방암 환자의 경우 멍울 증상이 발생할 수 있으며, 타목시펜 호르몬제 약물을 사용하여 치료가 수행될 수 있다"라는 텍스트를 포함하는 경우, "breast cancer"라는 노드와 "멍울"이라는 노드를 연결하는 하나의 엣지가 규정될 수 있으며, "breast cancer" 노드와 "타목시펜 호르몬제"라는 노드를 연결하는 하나의 엣지가 규정될 수 있다.
이렇듯, 엣지 규정부(135)는 데이터 수집부(131)가 수집한 제1 데이터, 제2 데이터 및 제3 데이터를 이용하여 노드 간의 관계를 엣지로 규정할 수 있으며, 노드 규정부(133)와 마찬가지로 규정된 엣지들을 그룹화할 수 있다.
도 3 및 4에는 엣지 규정부(135)에 의해 규정되고 그룹화 및 유형화된 엣지들이 도시된다.
도 3을 참조하면, 엣지 규정부(135)에 의해 규정된 엣지는 질병-유전자 관계 엣지(Disease-Target), 유전자-약물 관계 엣지(Target-Compound), 질병-약물 관계 엣지(Disease-Compound), 유전자 관련 엣지(Target-related), 질병 관련 엣지(Disease-related) 및 약물 관련 엣지(Compound-related)로 구분될 수 있다.
도 4에는 각 엣지를 유형화한 엣지 유형(metaedge)이 도시된다.
구체적으로, 질병-유전자 관계 엣지(Disease-Target)는, 유전자-질병 관련성 엣지 유형(associated) 및 유전자-질병 조절 관계 엣지 유형(downregulated_in, upregulated_in)을 포함한다.
유전자-약물 관계 엣지(Target-Compound)는 약물-유전자 결합 관계 엣지 유형(binds_to) 및 약물-유전자 조절 관계 엣지 유형(downregulated_by, upregulated_by)을 포함한다.
질병-약물 관계 엣지(Disease-Compound)는 약물-질병 치료 관계 엣지 유형(treats)을 포함한다.
유전자 관련 엣지(Target-related)는 유전자-해부학적 데이터 조절/발현 관계 엣지 유형(expressed_low, expressed_in, expressed_high), 유전자의 공변 관계 엣지 유형(covaries), 유전자의 참여 관계 엣지 유형(biological_process, cellular_component, molecular_function, involved_in), 유전자 또는 단백질 간 상호관계 엣지 유형(PPI, PDI) 및 유전 간섭-유전자 조절 관계 엣지 유형(regulates)을 포함한다.
질병 관련 엣지(Disease-related)는 질병-해부학적 데이터 관계 엣지 유형(occurs_in), 질병-증상 관계 엣지 유형(presents) 및 질병 동시발생 유사성 관계 엣지 유형(mentioned_with)을 포함한다.
약물 관련 엣지(Compound-related)는 약물-부작용 관계 엣지 유형(causes), 약물 구조적 유사성 관계 엣지 유형(similar_to), 약물-약리학적 분류 관계 엣지 유형(categorized_in)을 포함한다.
즉, 엣지 규정부(135)는 엣지들을 24개의 그룹으로 그 유형을 분류할 수 있다. 하지만, 상기한 개수에 제한되지 않고 다양한 유형의 그룹이 추가될 수 있음을 이해하여야 할 것이다.
경로 규정부(136)는 엣지 규정부(135)에 의해 규정된 엣지를 1개 이상, 구체적으로는 2개 이상 포함하되, 포함된 엣지들이 서로 연결된 것을 경로로 규정한다.
보다 구체적으로, 경로 규정부(136)는 노드-쌍(pair)마다, 노드-쌍을 이루는 노드를 각각 말단으로 하여, 노드 규정부(133)에 의해 규정된 노드와 엣지 규정부(135)에 의해 규정된 엣지들로 서로 연결된 것을 경로로 규정하게 된다.
즉, 경로 규정부(136)에 의해 규정되는 경로 중 최소 단위의 경로는, 노드 - 엣지 - 노드 - 엣지 - 노드로 구성될 수 있으며, 다른 예에서 노드 - 엣지 - 노드 - 엣지 - 노드 - 엣지 - 노드 등으로 구성된 경로가 규정될 수도 있다.
보다 구체적으로는, 노드-쌍이 서로 연결되되, 2개 이상 5개 이하의 엣지들로 연결되는 것(엣지들)을 경로로 규정할 수 있으며, 더욱 구체적으로는 노드-쌍이 서로 연결되되, 2개 이상 3개 이하의 엣지들로 연결되는 것(엣지들)을 경로로 규정할 수도 있다. 4개 이상의 엣지들로 연결된 노드-쌍들은 유효한 경로에서 제외될 수 있는데, 다수의 단계를 거쳐 노드 간이 서로 연결되는 경우, 그 관련성이 약하다고 볼 수 있기 때문이다.
경로 규정부(136)에 의해 규정된 경로들은, 경로를 구성하는 엣지들의 개수, 순서 및 유형(도 4에 도시된)의 조합 경우의 수에 따라 다수의 경로 유형이 결정될 수 있다.
예를 들어, "AKT1 - associates - Alzheimer's disease-resembles - Parkinson's disease"라는 경로는 "Gene - associates - Disease - resembles - Disease"와 같은 경로 유형을 갖는다. 다시 말해, A(a 유형)-B(b 유형) 엣지를 포함하는 경로는 (a,b) 유형으로 규정될 수 있으며, A(a 유형)-B(b 유형)-C(c 유형) 엣지를 포함하는 경로는 (a,b,c) 유형으로 규정될 수 있으며, 서로 다른 유형으로 취급될 수 있다.
또한, 경로 규정부(136)는 다수의 경로의 유형들 중 일부를 기 설정된 경로 유형(metapath)으로 분류할 수 있다. 후술하겠지만, 기 설정된 경로 유형에 해당되지 않은 경로 유형들은 본 발명에 따른 학습 과정에서 배제된다.
예를 들어, 경로 규정부(136)는 다수의 경로 유형들 중, Disease -mentioned_with - Disease - associates_with - Gene 순서의 엣지 유형을 포함하는 경로 유형을 기 설정된 경로 유형으로 설정할 수 있으며, 다른 예에서는 Disease - treated_by - Compound - binds_to - Gene - interacts_with - Gene 순서의 엣지 유형을 포함하는 경로 유형을 기 설정된 경로 유형으로 설정할 수 있다. 본 발명에서는 특별히 이에 제한되지 않고, 시스템 관리자에 의해 기 설정된 경로 유형이 설정될 수도 있으며, 임의의 노드-쌍을 연결하는 경로들 중 생물학적으로 의미가 있는 경로들만을 학습시킴에 따라 학습의 효율과 정확도가 향상될 수 있다.
또한, 경로 규정부(136)는 엣지들의 개수, 순서 및 유형의 조합 경우의 수에 따라 결정되는 다수의 경로 유형들 중 Disease - treated by - Compound - downregulates - Gene - regulated by - Gene 순서의 엣지 유형을 포함하는 경로 유형과, Disease - downregulates - Gene - upregulated by - Compound - binds to - Gene의 순서의 엣지 유형을 포함하는 경로 유형은 기 설정된 경로 유형으로 설정하지 않을 수 있다. 이 역시, 시스템 관리자에 의해 기 설정된 경로 유형에서 배제되는 경로 유형이 설정될 수 있으며, 임의의 노드-쌍을 연결하는 경로들 중 생물학적으로 의미가 없거나 중요도가 떨어지는 경로들은 학습 과정에서 배제됨으로써, 학습의 효율이 향상되고 연산의 정확도가 향상될 수 있다.
임베딩부(137)는 노드 규정부(133)에 의해 규정된 노드, 엣지 규정부(135)에 의해 규정된 엣지와 엣지 유형(metaedge) 및 경로 규정부(116)에 의해 규정된 경로와 기 설정된 경로 유형(metapath) 중 하나 이상에 대해 임베딩(embedding)을 수행한다.
보다 구체적으로는 임베딩부(137)는 노드 규정부(133)에 규정된 노드와, 엣지 규정부(135)에 의해 규정된 엣지 유형 각각에 대해 임베딩(embedding)을 수행한다.
이하에서는, 임베딩부(137)에 의한 임베딩 방법의 일 예를 설명한다.
먼저, 임베딩부(137)는 노드 규정부(133)에 의해 규정된 전체 노드를 각각 k개의 랜덤 변수로 구성된 실수 벡터로 초기화한다. 여기서 k는 128일 수 있다. 하지만, 이에 제한되지 않고 64, 256, 512, 1024 등 다양한 랜덤 변수로 구성된 실수 벡터로 초기화하는 것이 가능하다.
다음, 엣지 규정부(135)에 의해 규정된 전체 엣지 유형을 각각 k개의 랜덤 변수로 구성된 실수 벡터로 초기화한다. 여기서 k는 128일 수 있다. 하지만, 이에 제한되지 않고 64, 256, 512, 1024 등 다양한 랜덤 변수로 구성된 실수 벡터로 초기화하는 것이 가능하다.
다음, 임의의 노드-쌍이 엣지 규정부(135)에 의해 규정된 엣지 유형을 가지는 엣지로 서로 연결되어 있는지 여부를 판단하여 지도 학습 레이블 데이터로 주입한다. 임의의 노드 쌍(소스 노드, 타겟 노드)이 엣지 규정부(135)에 의해 규정된 엣지 유형을 가지는 엣지로 서로 연결되는 경우 1의 데이터가 주입될 것이며, 서로 연결되지 않을 경우 0의 데이터가 주입될 것이다.
3개의 k차원 벡터(소스 노드, 타겟 노드, 엣지 유형)를 입력으로 하는 예측 함수가 실제 연결 여부와 일치되도록 k차원 벡터를 조정한다. 여기서, 예측 함수는 TransE, HolE 또는 DistMult 등의 모델일 수 있으나, 이에 제한되지 않고 다양한 예측 함수 모델이 본 발명에 적용될 수 있다.
조정이 완료되면 각각의 노드에 대응하는 k차원의 실수 벡터들이 해당 노드와 엣지 유형의 임베딩 결과로 산출된다.
상기한 방법 이외에도 다양한 임베딩 방법이 수행될 수 있으며, 임베딩부(137)에 의한 임베딩 결과, 각각의 노드는 k차원 공간 상에서 하나의 점으로 사상될 수 있다. 또한, 임베딩부(137)에 의한 임베딩의 결과로서, 제1 노드 내지 제3 노드 각각이 k차원 공간 상에서 사상될 뿐만 아니라, 엣지 유형들이 함께 k차원 공간에 임베딩될 수 있다.
경로 스코어 연산부(138)는 경로에 포함된 엣지들의 스코어를 기 설정된 방법에 따라 연산하고, 연산된 엣지 스코어를 이용하여 경로들의 스코어를 연산하도록 구성된다.
경로에 포함된 각각의 엣지들의 스코어는 임베딩부(137)에서 임베딩된 각각의 노드들과 엣지 유형을 이용하여 연산된다. 즉, 경로에 포함되는 각각의 엣지는 해당 엣지 유형의 k차원 실수 벡터(사상) 및 엣지의 시작과 끝 노드들의 k차원 실수 벡터를 가지며, 이 실수 벡터들로부터 해당 엣지 스코어가 계산될 수 있다. 구체적인 연산 방식의 예시로 임베딩부(137)에서 사용된 예측 함수가 적용될 수 있으며, 각각의 노드 사상들의 유사도(similarity) 역시 적용될 수 있다.
상기 노드 사상들의 유사도에 기반한 계산 방식은 k차원 공간 상에 사상된 노드 간의 유사도가 높을수록 해당 노드들을 연결하는 엣지에 높은 스코어가 부여되는 방식이다. 유사도 연산 방식으로는 벡터와 벡터 사이의 각도를 연산하는 방식(보다 구체적으로는 두 벡터의 cosine값을 연산하는 방식)이 적용될 수 있으며, 이는 예시이므로 벡터 간의 유사도를 연산할 수 있는 다양한 방식이 적용될 수 있다고 할 것이다.
n(n은 1 이상의 정수)개의 엣지를 포함하는 경로의 경우 n개 엣지 각각의 엣지 스코어를 합산하여 해당 경로의 스코어가 연산될 수 있으며, n+1개의 엣지를 포함하는 경로의 경우 n+1개 엣지 각각의 스코어를 합산하여 해당 경로의 스코어가 연산될 수 있다.
경로 추출부(139)는 경로 스코어 연산부(138)이 연산한 경로 스코어에 기초하여, 경로 규정부(136)에 의해 규정된 경로들 중 일부를 추출하도록 구성된다.
구체적으로, 경로 추출부(139)는 임의의 노드-쌍(개체-쌍)의 경로들 중 기 설정된 경로 유형(metapath)마다 일부의 경로를 추출한다.
전술한 바와 같이, 경로 유형은 경로에 포함된 엣지들의 개수, 순서 및 유형에 따라 분류될 수 있다. 예를 들어, A(a 유형)-B(b 유형) 엣지를 포함하는 경로는 (a,b) 유형으로 규정될 수 있으며, A(a 유형)-B(b 유형)-C(c 유형) 엣지를 포함하는 경로는 (a,b,c) 유형으로 규정될 수 있으며, 서로 다른 유형으로 취급될 수 있다.
보다 구체적으로는 임의의 노드-쌍의 경로들 중 기 설정된 경로 유형을 갖는 경로들에 대해, 경로 스코어 연산부(138)가 연산한 경로 스코어를 이용하여, 스코어가 높은 순으로 경로 유형마다 일부의 경로를 추출할 수 있으며, 일 예로 경로의 유형마다 5개의 경로를 추출할 수 있다. 하지만, 5개에 제한되지 않고 5개 미만 또는 5개 초과의 개수의 경로가 추출될 수 있음을 이해하여야 할 것이다.
제2 프로세서(140)는 제1 프로세서(130)에 의해 연산된 임베딩 벡터, 추출된 경로를 이용하여 러닝 프로세서(180)에 학습될 학습 데이터를 생성하도록 구성된다.
도 5 내지 8을 참조하여, 이를 구체적으로 설명한다.
제2 프로세서(140)는 시계열적 정보를 인코딩하는 모델을 사용하여 학습 데이터를 생성하는 점에 특징이 있다.
시계열적 정보를 인코딩하는 모델이란, 입력 시퀀스를 하나의 벡터 표현(context vector)으로 압축하되, 압축된 벡터 표현에서 입력 시퀀스의 시계열적 특징이 드러나도록 입력 시퀀스를 인코딩하는 모델을 의미한다. 입력 시퀀스의 시계열적 특징을 드러내기 위해, 본 발명에서는 포지셔널 벡터(positional vector)를 사용한다.
본 발명에서는 크게 2개의 인코딩 모델이 사용된다. 첫째는, 제1 인코딩 모델이고 둘째는 제2 인코딩 모델인데, 제1 인코딩 모델에서 출력되는 값이 제2 인코딩 모델의 입력값으로 입력되는 두 층의 인코딩 모델 구조(즉, 적층(stacked) 인코딩 모델)를 채택하였다. 여기에서, 제1 인코딩 모델이 시계열적 정보를 인코딩하는 모델이며, 제2 인코딩 모델은 시계열적 정보를 인코딩하지 않는다. 이에 대한 자세한 설명은 후술한다.
제1 인코딩 모델은 2개의 인코딩 모델로 나누어질 수 있다.
첫째는 질의 인코딩 모델로, 학습에 사용되는 경로가 어떠한 개체-쌍을 연결하는 경로인지를 특정하기 위해 사용된다.
도 6을 참조하면, 임의의 개체의 쌍은 질의 임베딩 벡터의 형태로 질의 인코딩 모델에 입력된다.
질의 임베딩 벡터는, 쿼리 벡터(제1 질의 임베딩 벡터) - 임의의 개체의 쌍 중 어느 하나의 개체를 특정하는 임베딩 벡터(제2 질의 임베딩 벡터) - 임의의 개체의 쌍 중 다른 하나의 개체를 특정하는 임베딩 벡터(제3 질의 임베딩 벡터) 순으로 구성된다.
제1 질의 임베딩 벡터는, 질의 타입 임베딩 벡터와 질의 타입 임베딩 벡터의 위치를 식별하기 위한 제1 포지셔널(positional) 임베딩 벡터를 이용하여 연산되는데, 구체적으로 질의 타입 임베딩 벡터와 제1 포지셔널 임베딩 벡터의 합산 임베딩 벡터일 수 있다. 각각의 임베딩 벡터는 k차원의 벡터 값으로 표현될 수 있는데, 질의 타입 임베딩 벡터와 제1 포지셔널 임베딩 벡터는 동일한 차원의 벡터 값일 수 있으며, 이들을 단순히 더하는 과정을 통해 제1 질의 임베딩 벡터가 생성될 수 있다.
제2 질의 임베딩 벡터는, 질병, 유전자 및 약물을 포함하는 타입(type) 중 임의의 개체의 쌍 중 어느 하나의 개체가 해당하는 타입을 나타내는 제1 노드 타입 임베딩 벡터와, 어느 하나의 개체를 식별하기 위한 개체 임베딩 벡터, 그리고 개체 임베딩 벡터의 위치를 식별하기 위한 제2 포지셔널 임베딩 벡터를 이용하여 연산되는데, 구체적으로 제1 노드 타입 임베딩 벡터, 개체 임베딩 벡터 및 제2 포지셔널 임베딩 벡터의 합산 임베딩일 수 있다. 도 6을 예로 들면, 어느 하나의 개체가 Alzheimer's disease인 경우, "질병"을 지칭하는 노드 타입 임베딩 벡터가, 제1 노드 타입 임베딩 벡터에 해당될 수 있다.
개체 임베딩 벡터의 경우, 제1 개체 임베딩 벡터와 제2 개체 임베딩 벡터를 이용하여 연산되는 것일 수 있고, 보다 구체적으로는 제1 개체 임베딩 벡터와 제2 개체 임베딩 벡터의 결합(concatenate) 임베딩 벡터일 수 있다. 여기에서, "결합"이란 k차원의 임베딩 벡터와 k차원의 임베딩 벡터가 합산되어 k차원이 유지되는 임베딩 벡터의 결과값을 얻는 "합산"과는 다른 개념으로, k/2차원의 임베딩 벡터와 k/2차원의 임베딩 벡터의 결합을 통해 k차원의 임베딩 벡터의 결과값을 얻게 되는 연산 과정을 의미한다(즉, 차원이 합산되는 결과를 얻게 됨). 본 발명에서, "합산"을 통해 생성되는 임베딩 벡터 "결합"을 통해 생성되는 임베딩 벡터는 동일한 차원의 임베딩 벡터인 것이 바람직하다.
제1 개체 임베딩 벡터는 제1 프로세서(130)의 임베딩부(137)에 의해 생성된 임베딩 결과값 중, 상기 어느 하나의 개체를 지칭(식별)하는 임베딩 벡터를 의미한다. 즉, 제1 개체 임베딩 벡터란 노드와 엣지 유형의 임베딩 결과값 중, 상기 어느 하나의 개체를 지칭하는 임베딩 벡터에 해당하며, 이후 러닝 프로세서(180)에 의해 학습이 이루어지더라도 그 값이 고정된(변화하지 않는) 요소이다.
제2 개체 임베딩 벡터는, 제1 개체 임베딩 벡터와 마찬가지로 상기 어느 하나의 개체를 지칭하는 임베딩 벡터를 의미한다. 다만, 러닝 프로세서(180)에 의해 학습이 이루어지는 경우 그 값이 변화하는 요소이며(예측 성능이 최대가 되도록, 가중치를 조절하는 과정에서 해당 임베딩 벡터 값이 변화하게 됨), 랜덤 선별된 임베딩 벡터 값이 제2 개체 임베딩 벡터에 적용될 수 있다.
본 발명에서는, 기존의 지식을 활용하여 획득된 제1 개체 임베딩 벡터(이미 알려진 지식을 기반으로 한 정보)를 고정값으로 하고, 학습 과정에서 예측 성능이 최대가 되도록 그 값이 조정될 수 있는 제2 개체 임베딩 벡터 모두를 활용함으로써, 기존 지식에 따른 정보와 인공지능을 활용함으로써 획득되는 2가지 장점을 모두 취하게 된다. 따라서, 종래 기술 대비 예측 성능이 현저히 상승되는 효과가 달성된다.
제3 질의 임베딩 벡터는 제2 질의 임베딩 벡터와 형태는 유사하다. 다만, 제2 질의 임베딩 벡터가 임의의 개체의 쌍 중 어느 하나의 개체를 특정하기 위해 사용되는 임베딩 벡터이고, 제3 질의 임베딩 벡터는 상기 임의의 개체의 쌍 중 다른 하나의 개체를 특정하기 위해 사용되는 임베딩 벡터라는 점에서만 다르다.
즉, 제3 질의 임베딩 벡터는 다른 하나의 개체가 해당하는 타입을 나타내는 제2 노드 타입 임베딩 벡터, 다른 하나의 개체를 식별하기 위한 개체 임베딩 벡터, 그리고 개체 임베딩 벡터의 위치를 식별하기 위한 제3 포지셔널 임베딩 벡터를 이용하여 연산되는 것일 수 있고, 보다 구체적으로 제2 노드 타입 임베딩 벡터, 개체 임베딩 벡터 및 제3 포지셔널 임베딩 벡터의 합산 임베딩 벡터일 수 있다.
이와 같이, 질의 임베딩 벡터가 제1 질의 임베딩 벡터, 제2 질의 임베딩 벡터 및 제3 질의 임베딩 벡터로 구성되고, 이들이 질의 인코딩 모델에 입력되면, 하나의 압축된 표현인 컨텍스트 벡터가 출력된다. 즉, 질의 인코딩 모델에서 출력되는 컨텍스트 벡터(임베딩 벡터)를 통해 임의의 개체-쌍을 특정하면서도, 임의의 개체-쌍이 어느 순서로 배치되어 있는지 구별되는 것이 가능하다(A와 B 개체의 쌍이더라도, A-B 개체 쌍인지 또는 B-A 개체 쌍인지 구별될 수 있음).
다음, 도 7을 참조하여 경로 인코딩 모델에 입력되는 경로 임베딩 벡터를 구체적으로 설명한다.
질의 임베딩 벡터가 임의의 개체-쌍을 특정하기 위한 임베딩 벡터였다면, 경로 임베딩 벡터는 임의의 개체-쌍의 경로들을 특정하기 위한 임베딩 벡터라는 점에서 차이가 있고 임베딩 벡터의 형태 자체는 유사하다.
경로 임베딩 벡터는, 경로 타입 임베딩 벡터(제1 경로 임베딩 벡터), 임의의 개체의 쌍 중 어느 하나의 개체를 특정하는 임베딩 벡터(제2 경로 임베딩 벡터), 엣지 유형을 특정하는 임베딩 벡터(제3 경로 임베딩 벡터), 상기 어느 하나의 개체와 엣지로 연결된 개체를 특정하는 임베딩 벡터(제4 경로 임베딩 벡터), 엣지 유형을 특정하는 임베딩 벡터(제5 경로 임베딩 벡터) 및 상기 다른 하나의 개체를 특정하는 임베딩 벡터(제6 경로 임베딩 벡터)를 포함할 수 있다.
임의의 개체-쌍 간의 경로 길이는 다양할 수 있기 때문에(어떤 경로는 2개의 엣지로만 구성되어 있을 수 있으나, 다른 경로는 3개 이상의 엣지로 구성되어 있을 수 있음), 경로 임베딩 벡터의 길이는 다양할 수 있으나, 제1 경로 임베딩 벡터 내지 제6 경로 임베딩 벡터의 최소 경로 임베딩 벡터를 가질 수 있다(제1 경로 임베딩 벡터 내지 제6 경로 임베딩 벡터는, 임의의 개체-쌍 사이에 2개의 엣지와 1개의 노드를 포함하는, 노드(어느 하나의 개체를 지칭) - 엣지 - 노드 - 엣지 - 노드(다른 하나의 개체를 지칭)로 이어지는 경로를 가질 경우의 임베딩 벡터에 해당함).
제1 경로 임베딩 벡터는 경로 타입 임베딩 벡터와, 경로 타입 임베딩 벡터의 위치를 식별하기 위한 제4 포지셔널 임베딩 벡터를 이용하여 연산되고, 구체적으로 경로 타입 임베딩 벡터와 제4 포지셔널 임베딩 벡터의 합산 임베딩 벡터일 수 있다.
제2 경로 임베딩 벡터는 상기 어느 하나의 개체의 타입을 나타내는 제1 노드 타입 임베딩 벡터, 상기 어느 하나의 개체를 특정하기 위한 개체 임베딩 벡터, 그리고 개체 임베딩 벡터의 위치를 식별하기 위한 제5 포지셔널 임베딩 벡터를 이용하여 연산되고, 구체적으로 제1 노드 타입 임베딩 벡터, 개체 임베딩 벡터 및 제5 포지셔널 임베딩 벡터의 합산 임베딩일 수 있다. 제2 경로 임베딩 벡터의 개체 임베딩 벡터는, 전술한 것처럼 제1 개체 임베딩 벡터와 제2 개체 임베딩 벡터를 이용하여 연산되는데, 구체적으로 제1 개체 임베딩 벡터와 제2 개체 임베딩 벡터의 결합 임베딩 벡터일 수 있다.
제3 경로 임베딩 벡터는 경로에 포함된 엣지이면서 상기 어느 하나의 개체와 연결된 엣지가 해당하는 엣지 유형을 특정하기 위한 제1 엣지 타입 임베딩 벡터와, 제1 엣지 타입 임베딩 벡터의 위치를 식별하기 위한 제6 포지셔널 임베딩 벡터를 이용하여 연산되고, 구체적으로 제1 엣지 타입 임베딩 벡터와 제6 포지셔널 임베딩 벡터의 합산 임베딩 벡터일 수 있다.
제4 경로 임베딩 벡터는 상기 어느 하나의 개체와 엣지로 연결된 개체의 타입을 나타내는 제2 노드 타입 임베딩 벡터, 상기 개체를 특정하기 위한 개체 임베딩 벡터, 그리고 개체 임베딩 벡터의 위치를 식별하기 위한 제7 포지셔널 임베딩 벡터를 이용하여 연산되고, 구체적으로 제2 노드 타입 임베딩 벡터, 개체 임베딩 벡터 및 제7 포지셔널 임베딩 벡터의 합산 임베딩 벡터일 수 있다.
제5 경로 임베딩 벡터는 제4 경로 임베딩 벡터에서 특정된 개체와 연결된 엣지를 특정하기 위한 임베딩 벡터로, 제3 경로 임베딩 벡터와 유사한 형태를 갖는다.
제6 경로 임베딩 벡터는 다른 하나의 개체를 특정하기 위한 임베딩 벡터로, 제2 경로 임베딩 벡터 및 제4 경로 임베딩 벡터와 유사한 형태를 갖는다.
이와 같이, 경로 임베딩 벡터가 제1 경로 내지 제6 경로 임베딩 벡터를 포함하고(경로를 이루는 엣지의 개수에 따라 더 많은 경로 임베딩 벡터를 포함할 수 있음), 이들이 경로 인코딩 모델에 입력되면, 하나의 압축된 표현인 컨텍스트 벡터가 출력된다. 즉, 경로 인코딩 모델에서 출력되는 컨텍스트 벡터(임베딩 벡터)를 통해 임의의 개체-쌍 사이의 경로를 특정하면서도, 어떤 노드와 어떤 엣지가 어떤 순서로 경로가 구성되는지 특정하는 것이 가능하다..
임의의 개체-쌍마다 질의 인코딩 모델에서 출력되는 임베딩 벡터와, 경로 인코딩 모델에서 출력되는 임베딩 벡터들(경로가 다수개이므로 각각의 경로마다 임베딩 벡터가 출력될 수 있음) 모두가 질의-경로 인코딩 모델에 입력되고, 하나의 압축된 표현인 컨텍스트 벡터가 인코더에서 출력된다.
도 5를 참조하면, 질의 인코딩 모델에서 출력되는 임베딩 벡터 및 경로 인코딩 모델에서 출력되는 임베딩 벡터들이 질의-경로 인코딩 모델의 임베딩으로 각각 입력된다(질의 인코딩 모델에 제1 질의 임베딩 내지 제3 질의 임베딩으로 구성된 질의 임베딩이 입력되는 것과, 경로 인코딩 모델에 제1 경로 임베딩 내지 제6 경로 임베딩으로 구성된 경로 임베딩이 입력되는 것과 유사함).
한편, 질의 인코딩 모델과 경로 인코딩 모델에 입력되는 임베딩 벡터들이 각각 포지셔널 임베딩을 포함하는 반면, 질의-경로 인코딩 모델에 입력되는 임베딩 벡터들은 포지셔널 임베딩을 포함하지 않는다. 질의-경로 인코딩 모델에 입력되는 임베딩 벡터들은 임의의 개체-쌍 사이의 중요도 높은 경로들을 특정하기 위한 것이므로, 서로 간에 시계열적인 관계를 가지지 않고 독립적이기 때문이다.
즉, 질의-경로 인코딩 모델에서 출력되는 컨텍스트 벡터(임베딩 벡터)는 임의의 개체-쌍 사이의 중요도 높은 경로들만이 반영된 임베딩 벡터에 해당한다.
한편, 임의의 개체-쌍마다 생물학적으로 의미가 있는 다수 개의 경로가 존재한다. 본 발명에서는, 임의의 개체-쌍마다의 기 설정된 경로 유형 중, 경로 추출부(139)에 의해 추출된 경로만이 질의-경로 인코딩 모델에 입력된다.
질의-경로 인코딩 모델에서 출력되는 임베딩 벡터는 i) 임의의 개체의-쌍 ii) 상기 임의의 개체의-쌍 사이의 경로 중 중요도 높은 경로의 정보를 모두 포함하고 있다. 즉, 본 발명에서 러닝 프로세서(180)에 의해 임의의 인공신경망 모델에 학습되는 학습 데이터에 i) 임의의 개체-쌍 ii) 상기 임의의 개체의-쌍 사이의 경로 중 중요도 높은 경로가 포함되고, 임의의 개체-쌍이 질의됨에 따라 임의의 개체-쌍 사이의 연관성 관련 정보(연관성 유무 및 연관성 정도 등)를 출력하거나, 임의의 개체가 질의되는 경우 질의된 개체와 연관된 개체들을 출력하도록 상기 학습 데이터를 학습하게 된다. 즉, 질의-경로 인코딩 모델에서 출력되는 임베딩 벡터들을 학습하여, 임의의 개체-쌍이 질의되는 경우 질의된 개체-쌍 사이의 연관성 관련 정보를 예측하는 확률이 최대화 되는 방향 또는 임의의 개체가 질의되는 경우 질의된 개체와 연관된 개체들을 예측하는 확률이 최대화되는 방향으로 인공신경망 모델의 파라미터가 조정되고, 파라미터의 조정이 완료되면 연관성 예측 모델이 생성될 수 있다.
여기서, 인공신경망 모델은 DNN(Deep Neural Network), CNN(Convolutional Neural Network), DCNN(Deep Convolutional Neural Network), RNN(Recurrent Neural Network), RBM(Restricted Boltzmann Machine), DBN(Deep Belief Network), SSD(Single Shot Detector), MLP (Multi-layer Perceptron) 또는 어텐션 메커니즘(Attention Mechanism)을 기반으로 한 모델일 수 있으나, 이에 제한되지 않고 다양한 인공신경망 모델이 본 발명에 적용될 수 있다.
한편, 본 발명의 다른 실시예에서는 2단계의 학습을 통해 연관성 예측 모델을 생성할 수 있다. 2단계의 학습 모두 질의 인코딩 모델, 경로 인코딩 모델 및 질의-경로 인코딩 모델을 사용한다는 점은 동일하다.
제1 학습 단계는, 일반적인(general) 데이터셋을 학습하는 단계이다. 상기 일반적인 데이터셋은 관심 개체를 제외한 데이터셋일 수 있다. 예를 들어, 관심 개체가 대사성 질환(metabolic disease), 대사성 질환과 관련있는 기전 또는 대사성 질환과 관련있는 증상일 수 있다. 구체적으로, 관심 개체가 비만 관련 질환일 경우, 관심 개체(비만 관련 질환)를 제외한 나머지 개체의 쌍과 관련된 데이터셋(관심 개체(비만 관련 질환)를 제외한 개체-쌍, 그리고 상기 개체-쌍과 관련된 경로 중 기 설정된 경로 유형(metapath)에 포함된 중요도 높은 경로)만이 질의 인코딩 모델 및 경로 인코딩 모델을 통과하여 질의-경로 인코딩 모델로 입력된다. 여기에서, 관심 개체를 제외한 나머지 개체의 쌍과 관련된 경로는, 예를 들어 일반적인 질병 수준에서 생물학적 의미가 발생하는 경로일 수 있다.
질의-경로 인코딩 모델에서 출력되는 임베딩 벡터가 학습에 사용된다. 다시 말하면, 질의-경로 인코딩 모델에서 출력되는 임베딩 벡터는 i) 임의의 개체-쌍 중 관심 개체를 제외한 개체-쌍, 그리고 ii) 상기 개체-쌍 사이의 경로 중 중요도 높은 경로의 정보를 포함하고 있다. 인공신경망 모델은, 임의의 개체-쌍이 입력됨에 따라 임의의 개체-쌍 사이의 연관성 관련 정보(연관성 유무 및 연관성 정도 등)를 출력하거나, 임의의 개체가 질의되는 경우 질의된 개체와 연관된 개체들을 출력하도록 상기 임베딩 벡터를 학습한다.
제1 학습 단계를 통해 생성되는 모델을 제1 연관성 예측 모델로 지칭한다.
제2 학습 단계는, 제1 학습 단계에서 생성된 모델을 이용하여 학습 또는 최적화하는 단계이다.
구체적으로, 제2 학습 단계는 제1 학습 단계에서 학습 대상에서 배제된 관심 개체를 포함하는 개체의 쌍과 관련된 데이터셋을 학습에 사용한다. 예를 들어, 관심 개체가 대사성 질환, 구체적으로 비만 관련 질환일 경우, 관심 개체를 포함하는 개체-쌍, 그리고 상기 개체-쌍과 관련된 데이터셋(관심 개체(비만 관련 질환)를 포함하는 개체의 쌍과 관련된 경로 중 기 설정된 경로 유형에 포함된 중요도 높은 경로)만이 질의 인코딩 모델 및 경로 인코딩 모델을 통과하여 질의-경로 인코딩 모델로 입력된다. 여기에서, 관심 개체를 포함하는 개체-쌍과 관련된 경로는, 관심 개체에 특이적인 생물학적인 경로일 수 있다. 일 예로, 질병 1 - 엣지 1 - 질병 2 - 엣지 2 - 출처 1(질병 2와 질병 3 간에 연관성 있다고 언급된 문서를 지칭하는 데이터) - 질병 3 - 엣지 3 - 유전자에 이르는 경로가 관심 개체에 특이적인 생물학적인 경로일 수 있다. 여기서, 관심 개체에 특이적인 생물학적인 경로는 여러 유형일 수 있으며, 기 설정된 경로 유형(metapath)에 포함된 유형일 수 있다.
질의 인코딩 모델 및 경로 인코딩 모델에서 출력되는 임베딩 벡터는 질의-경로 인코딩 모델로 입력되고, 질의-경로 인코딩 모델에서 출력되는 임베딩 벡터가 학습에 사용된다. 다시 말하면, 질의-경로 인코딩 모델에서 출력되는 임베딩 벡터는 i) 임의의 개체-쌍 중 관심 개체와만 관련 있는 개체-쌍, 그리고 ii) 상기 개체-쌍 사이의 경로 중 중요도 높은 경로의 정보를 포함하고 있다. 제1 학습 단계에서 생성된 제1 연관성 예측 모델은 임의의 개체-쌍이 입력됨에 따라 임의의 개체-쌍 사이의 연관성 관련 정보(연관성 유무 및 연관성 정도 등)를 출력하거나, 임의의 개체가 질의되는 경우 질의된 개체와 연관된 개체들을 출력하도록 상기 임베딩 벡터를 학습한다. 이를 통해, 최종 예측 모델이 생성될 수 있으며, 제2 학습 단계까지 마친 모델을 제2 연관성 예측 모델로 지칭한다. 본 발명의 다른 실시예에서는, 이렇게 생성된 제2 연관성 예측 모델이 예측 단말(200)에 전송될 수 있다.
본 발명의 다른 실시예에서, 학습 단계를 2개의 단계로 구분하고, 각 학습 단계에서 학습의 대상이 되는 데이터를 서로 다르게 함으로써, 관심 개체와 관련된 다른 개체를 더 높은 정확도로 예측하는 것이 가능하다.
예를 들어, 관심 개체가 특정 질병일 경우, 다수의 일반적인 질병이 공통적으로 갖는 기전과 상기 특정 질병이 갖는 기전이 다를 수 있다. 또한, 질병마다 또는 특정 증상을 공유하는 질병군마다, 정답 셋(labeled data)의 수준과 생물학적 의미가 발생하는 경로(metapath)는 다를 수 있다. 여기에서, 정답 셋의 수준이 다르다는 것은 데이터의 양과 질이 다르다는 의미를 포함한다. 데이터의 질의 차이는 질병마다 타겟 유전자/단백질로 인정하는 수준의 차이가 될 수 있다. 예를 들어, 질병이 암일 경우, 해당 유전자를 제거하여 암의 진행에 영향을 주었을 때 타겟 유전자로 볼 수 있는 한편, 질병이 알츠하이머병일 경우 아직 기전이 확실히 규명되지 않으므로 베타 아밀로이드와의 관련성이 있다면 타겟 유전자로 볼 수 있다.
즉, 특정 질병에 대한 타겟 유전자/단백질을 예측하고자 할 때, 모든 질병-타겟 쌍을 하나의 배치에서 학습시키면 예측 성능이 낮아질 수 있다. 따라서, 본 발명의 다른 실시예에서, 학습 단계를 일반적인(general) 데이터(예컨대, 일반적인 질병에 대한 전체 정답 셋)를 학습하는 단계인 제1 학습 단계와, 특정 증상(phenotype) 또는 특정 질병(군)에 특이적인 데이터를 학습하는 제2 학습 단계로 구성할 수 있다. 구체적으로, 일반적인 질병에 대한 전체 정답 셋 및 기 설정된 경로 유형(metapath)과, 특정 증상(phenotype)에서의 정답 셋과 특정 증상 관련 질환에서 공통성을 갖는 기 설정된 경로 유형을 구분하여 학습하는 과정을 포함할 수 있다.
예측 단말(200)은 모델 생성 단말(100)에 의해 생성된 연관성 예측 모델을 전달받고, 입력부(220)를 통해 외부에서 질의 대상 개체-쌍이 입력되는 경우, 프로세서(250)는 입력된 질의 대상 개체-쌍을 연관성 예측 모델의 입력층에 입력하고, 연관성 예측 모델의 출력층을 통해 질의 대상 개체-쌍 사이의 연관성 유무 및 연관성 정도 중 적어도 하나의 연관성 관련 정보가 출력된다. 또한, 입력부(220)를 통해 외부에서 임의의 개체가 입력될 수 있으며, 프로세서(250)는 입력된 개체를 연관성 예측 모델의 입력층에 입력하고, 연관성 예측 모델의 출력층을 통해 질의 대상 개체와 연관된 개체들이 출력된다. 여기서, 질의 대상 개체와 연관된 개체는, 질의된 개체와는 다른 유형의 개체일 수 있다(다시 말하면, 질의된 개체의 유형이 “질병”일 경우, 출력되는 개체의 유형은 “질병”을 제외한 나머지 “유전자”, “약물” 등일 수 있음). 또한, 연관성 예측 모델은 질의된 개체와 연관된 개체들 각각마다 연관성 정도를 나타내는 점수를 출력할 수 있으며, 더욱 구체적으로는 점수가 높은 순 또는 낮은 순으로 연관된 개체들이 정렬되어 출력될 수도 있다. 연관성 예측 모델의 출력층을 통해 출력되는 정보는 예측 단말(200)의 출력부(260)를 통해 외부에서 시인 가능한 정보의 형태로 출력될 수 있다.
본 발명의 실시예에 따른 시스템은 사용자 데이터베이스(Du)로부터 데이터를 더 수집할 수 있다.
"사용자 데이터베이스(Du)"란 해당 시스템 사용자가 실험 등을 통해 확보한 데이터셋이 저장된 데이터베이스를 의미한다.
즉, 데이터 수집부(131)가 다수의 데이터베이스(D1, D2, … Dn)로부터 데이터를 수집하여 구축한 그래프 데이터베이스에 사용자 데이터베이스(Du)로부터 데이터를 더 추가할 수 있으며, 이는 실험 등을 통해 검증된 데이터, 예를 들어 질병-단백질 쌍 간의 관계를 확인한 데이터를 포함할 수 있기에 예측의 정확도가 더 향상될 수 있으며, 연구 컨텍스트가 반영된 예측 결과를 획득할 수 있다는 장점을 가진다.
사용자 데이터베이스(Du)는 프라이빗 데이터(private data)가 저장되어 있기 때문에, 사용자 데이터베이스(Du)의 사용자에 매칭되는 계정을 통해 시스템에 접속하여야만 해당 사용자 데이터베이스(Du)로부터 데이터 수집이 가능하도록 구성될 수 있다.
또한, 본 발명은 기존의 공개된 데이터베이스에서 수집된 데이터들을 이용하여 구축한 그래프 데이터베이스에, 모델 생성 단말(100) 또는 예측 단말(200)의 입력부를 통한 사용자 명령에 의해 특정 방식의 조작(manipulation)이 이루어질 수 있다.
본 발명의 실시예에 따르면, 특정 질병이 발병된 경우 유전자의 발현 변화된 정보(발현이 증가 또는 발현이 감소) 추가, 특정 약물을 투여한 경우 유전자의 발현 변화된 정보(발현이 증가 또는 발현이 감소) 추가, 특정 약물에 결합하는 단백질의 정보 추가, 특정 유전자 노드 추가 또는 제거 등의 조작이 이루어질 수 있다. 그리고, 해당 조작이 반영된 데이터에 기초하여 생성된 예측 모델의 연산이 이루어짐으로써 사용자가 가한 변형이 결과에 미치는 영향을 확인하는 것이 가능하다.
상기 조작은 기존의 공개 데이터베이스(D1, D2, … Dn)에서 제시된 데이터의 내용과는 다른 범주에서 수행되는 것이 바람직하다. 예를 들어, A 유전자의 발현이 증가하는 경우 B 질병의 발병 확률이 증가한다라는 내용이 이미 공개되어 있음이 가정된 경우, 상기 내용에 따른 조작을 수행하더라도 기존 구축된 그래프 데이터베이스의 변형이 이루어지지 않기 때문이다. 반면, 기존 공개 데이터베이스에 제시된 데이터의 범주가 아닌 새로운 범주의 데이터가 추가된다면(예를 들어, 기존의 데이터에는 C 약물이 A 유전자의 발현을 억제한다라는 내용이 전혀 알려지지 않았는데, 해당 내용을 추가하는 경우), 기존 구축된 그래프 데이터베이스의 변형이 이루어질 수 있다. 상기 조작을 통해, 기존 데이터베이스와 사용자에 의해 조작이 이루어진 변형 데이터베이스에서의 결과를 비교하는 것이 가능하며, 이에 따라 사용자가 인가한 조작이 결과에 얼마나 영향을 미친 것인지 확인하는 것이 가능하다.
예를 들어, 입력부를 통해 임의의 노드 추가 또는 삭제 후 연산 수행이라는 명령이 입력될 수 있다. 또한, 노드에 국한되는 것이 아닌 엣지, 나아가 경로의 추가 또는 삭제 후 연산 수행이라는 명령이 입력될 수도 있다. 즉, 시스템 사용자가 원하는 노드가 추가로 존재하거나, 존재하지 않는 것을 가정하여 인공신경망 모델에 의한 연산이 수행될 수 있으며, 일 예시로 구체적으로 입력부를 통해 "CHD1"노드 삭제 후 연산 수행이라는 명령이 입력되면 예측 모델은 CHD1 노드와 CHD1 노드와 임의의 노드 간의 관계에 해당하는 엣지들이 삭제된 상황에서의 연산을 수행할 수 있다. 다시 말하면, "CHD1"이 녹아웃(knockout)된 상황을 가정하여 질의된 질병과 관련된 중요도 높은 유전자 또는 단백질이 출력될 수 있는 것이다. 여기에서, 사용자 조작을 통해 노드가 삭제되는 경우, 삭제된 노드와 다른 노드를 연결하는 엣지 또한 함께 삭제될 수 있다.
시스템 사용자가 원하는 노드를 추가 후 연산 수행이라는 명령이 입력되면 반대로, 추가된 노드와, 추가된 노드와 임의의 노드 간의 관계가 추가된 상황에서의 연산을 수행할 수 있으며, 사용자가 원하는 데이터를 추가하거나 제거함에 따라 발생하는 가상 환경에서의 결과를 획득할 수 있게 된다.
상기 조작에 따라 변형되는 결과 정보는 각 사용자의 사용자 데이터베이스(Du)에 따로이 저장될 수 있으며, 사용자 데이터베이스(Du)는 해당 사용자만이 접근이 가능한 바, 보안성 역시 유지될 수 있다.
본 발명에 따른 시스템은 질의 명령뿐만 아니라, 검색 기능이 제공될 수도 있다. 즉, 탐색하고자 하는 검색어를 입력하면 입력된 검색어를 포함하는 데이터들이 출력되는 데이터베이스 브라우징 기능이 제공될 수 있다.
즉, 질의 명령의 결과로서 출력되는 예측 결과 및 중요 경로의 구성 요소들에 대해 추가 정보를 탐색할 수 있도록 구성되며, 질의된 검색어를 포함하는 데이터뿐 아니라 해당 검색어와 연결된 정보들을 확장해가면서 획득하는 것도 가능하다.
또한, 본 발명에 따라 구축된 데이터베이스 및 변형 데이터베이스(사용자 데이터베이스로부터 사용자 데이터를 더 수집하여 구축된 데이터베이스, 사용자 조작이 반영되어 구축된 데이터베이스) 중 하나를 선택하고, 선택된 데이터베이스 내의 다양한 노드와 엣지를 탐색하여 필요한 정보를 얻는 것이 가능하다.
또한, 본 발명에 따른 시스템은, 검증 기능이 구비되어 성능을 간접적으로 검증하는 것이 가능하다.
특정 시점을 기점으로 상기 특정 시점까지 다수의 공개 데이터베이스들(D1, D2, … Dn)에 저장된 데이터들을 수집하여 본 발명에 따른 시스템을 구축한 후, 상기 특정 시점 이후에 다수의 공개 데이터베이스들(D1, D2, … Dn)에 업데이트된 문서 데이터들을 수집하여 자연어 처리부(132)를 통해 문서 데이터들에서 개체와 개체들 간의 관계를 도출한다.
그리고, 본 발명에 따라 연관성 있다고 예측된 개체-쌍 중 특정 임계치 이상의 신뢰도로 예측한 개체-쌍이, 자연어 처리부(132)를 통해 추출된 개체-쌍에 포함되는 경우, 해당 개체-쌍이 실제 관련성 있는 것으로 교차 검증하는 것이 가능하다.
2. 방법의 설명
도 9 내지 11을 참조하여, 본 발명의 실시예에 따른 예측 모델 생성 방법 및 생성된 예측 모델을 이용한 예측 방법을 구체적으로 설명한다. 구체적인 설명은 전술하였으므로, 이하에서는 각 단계의 핵심적인 부분만 간략히 설명한다.
먼저, 도 9 및 10을 참조하여 모델 생성 단말(100)에 의해 예측 모델의 생성 방법을 구체적으로 설명한다.
데이터 수집부(131)가 다수의 데이터베이스(D1 내지 Dn)로부터 질병과 관련된 제1 데이터, 유전자 또는 단백질과 관련된 제2 데이터 및 약물과 관련된 제3 데이터 중 하나 이상을 수집한다.
다음, 노드 규정부(133), 엣지 규정부(135) 및 경로 규정부(136)가 수집된 제1 데이터 내지 제5 데이터를 이용하여 노드, 엣지 및 경로를 규정한다.
다음, 임베딩부(137)가 규정된 노드와 엣지 유형이 k차원 공간 상에 실수 벡터화되도록 임베딩을 수행한다.
다음, 경로 스코어 연산부(138)가 임베딩 결과값을 이용하여 경로에 포함된 엣지들의 스코어를 각각 연산하고, 연산된 엣지 스코어를 이용하여 각각의 경로의 경로 스코어를 연산한다.
다음, 경로 스코어 연산부(138)에 의해 연산된 경로 스코어에 기초하여, 경로 추출부(139)가 노드-쌍의 기 설정된 경로 유형마다 다수개의 경로를 추출하게 된다. 경로 추출부(139)에 의해 추출된 경로들이 학습에 사용되고, 추출되지 않은 경로(중요도가 낮은 경로)는 학습에서 배제된다.
다음, 도 10을 참조하여 시계열 인코딩 모델을 사용하여 학습 데이터를 생성하는 과정을 구체적으로 설명한다.
먼저, 질의 인코딩 모델에 임의의 개체-쌍을 특정하기 위한 제1 질의 임베딩 벡터 내지 제3 질의 임베딩 벡터가 입력되고, 이에 따라 질의 인코딩 모델에서 입력된 질의 임베딩에 대응하는 임베딩 벡터가 출력된다.
다음, 경로 인코딩 모델에 임의의 개체-쌍 사이의 경로들 중, 경로 추출부(139)에 의해 추출된 경로를 특정하기 위한 제1 경로 임베딩 벡터 내지 제6 경로 임베딩 벡터가 입력되고, 이에 따라 경로 인코딩 모델에서 입력된 경로 임베딩에 대응하는 임베딩 벡터가 출력된다. 도 10에 도시된 것처럼, 경로 추출부(139)에 의해 추출된 임의의 개체-쌍 사이의 경로는 다수개일 수 있으며, 이에 대응하는 개수의 경로 인코딩 모델이 사용되고, 최종적으로 다수개의 임베딩 벡터가 출력될 수 있다(다른 실시예에서는, 하나 또는 2개 이상의 경로 인코딩 모델이 사용될 수도 있음).
질의 인코딩 모델에서 출력된 임베딩 벡터와, 경로 인코딩 모델에서 출력된 임베딩 벡터들이 질의-경로 인코딩 모델에 입력되고, 이에 따라 질의-경로 인코딩 모델에서 대응하는 임베딩 벡터들이 출력된다.
본 발명에서는, 서로 다른 개체-쌍마다 중요도 높은 경로들이 질의-경로 인코딩 모델에 입력될 수 있으며, 다시 말하면 개체-쌍 각각마다 질의-경로 인코딩 모델에서 출력되는 임베딩 벡터들이 존재할 수 있다.
러닝 프로세서(180)는 질의-경로 인코딩 모델에서 출력되는 임베딩 벡터들을 학습하여, 임의의 개체-쌍을 질의하는 경우 질의된 개체-쌍 사이의 연관성 관련 정보를 출력하거나, 임의의 개체가 질의되는 경우 질의된 개체와 연관된 개체들을 출력하는 연관성 예측 모델을 생성하게 된다. 연관성 예측 모델 생성 과정에서 본 발명의 실시예에서는 개체-쌍 사이의 연관 관계가 있는지의 확률값을 추론하기 위해 Binary Cross Entropy Loss(BCE Loss)로 학습시킬 수 있다.
한편, 본 발명에서는 다수의 개체-쌍 사이의 중요도 높은 경로들을 학습하는 과정이 다수회 반복된다(학습 데이터들을 다수회 에포크(epoch)하게 됨). 각각의 학습 사이클마다, 어느 하나의 개체-쌍 사이의 모든 중요도 높은 경로들을 학습하는 것이 아니고, 중요도 높은 경로들 중 일부를 랜덤 샘플링하여(본 발명에서는 75%의 확률로 랜덤 샘플링하게 됨) 학습을 수행하게 된다. 이를 통해, 학습 데이터의 양이 증가하는 효과가 달성되고, 랜덤 샘플링 과정이 적용되지 않은 학습 과정에서 매번 고정된 데이터가 학습됨에 따라 발생하는 모델 오버피팅 문제가 해결될 수 있다.
다음, 도 11을 참조하여 예측 모델을 사용한 예측 방법을 구체적으로 설명한다.
모델 생성 단말(100)에 의해 생성된 연관성 예측 모델은 예측 단말(200)에 전송되어 저장될 수 있으며, 예측 단말(200)의 마우스, 키보드 등의 외부에서의 입력 명령을 컴퓨터에서 실행 가능한 명령으로 변환하도록 구성된 입력부(220)를 통해 개체-쌍이 질의된다.
예측 단말(200)의 프로세서(250)는 메모리(240)에 저장된 연관성 예측 모델을 사용하여 질의된 개체-쌍 사이의 연관성 관련 정보를 연산하게 된다. 구체적으로, 질의된 개체-쌍은 연관성 예측 모델의 입력층에 입력되고, 출력층을 통해 질의된 개체-쌍 사이의 연관성 관련 정보가 출력된다. 또한, 질의된 개체가 연관성 예측 모델의 입력층에 입력되고, 출력층을 통해 입력된 개체와 연관된 개체들이 출력된다.
예측 모델에서 출력된 연관성 관련 정보는 모니터, 디스플레이 장치 등의 출력부(260)를 통해 사용자가 시인 가능한 정보의 형태로서 출력될 수 있다. 예를 들어, 질의된 개체-쌍 사이의 연관성 유/무의 정보만이 출력부(260)를 통해 출력될 수 있으며, 질의된 개체-쌍 사이의 연관성 확률값의 정보가 출력부(260)를 통해 출력될 수도 있다.
3. 검증 실험
본 발명에 따라 구축되는 연관성 예측 모델의 우수성을 검증하기 위해 검증 실험을 실시하였다.
보다 구체적으로, 본 출원인에 의한 등록특허 제10-2225278호에 따른 예측 모델을 대조군으로 하여, 본 발명의 실시예에 따른 연관성 예측 모델의 우수성을 검증하는 실험을 실시하였다.
먼저, 평가의 대상이 되는 질병-유전자의 리스트들을 추려내었다. 여기서, 평가의 대상이 되는 질병-유전자란, 이미 특정 유전자가 해당 질병과 관련이 있다고 알려져 있어서, 해당 질병-유전자 쌍을 본 발명의 실시예에 따른 연관성 예측 모델에 질의하였을 때 출력되는 연관성 관련 정보가 정확한 것인지 확인할 수 있는 정보를 의미한다.
평가의 대상이 되는 질병-유전자들을 대조군과 본 발명에 따른 연관성 예측 모델에 각각 질의하였으며, 예측 정확도를 mAP(mean average precision)로 평가하였다. 즉, 대조군에 따른 예측 모델과 본 발명에 따른 연관성 예측 모델에, 질병-유전자들을 질의하였을 때, 질의된 질병-유전자 사이의 연관성을 얼마나 높은 정확도로 예측하였는지 average precision을 측정하고, 평균을 계산하여 각 모델의 성능 평가를 수행하였다.
검증 실험 결과, 대조군에서는 40.12%, 본 발명에서는 69.19%의 예측 정확도를 보였으며, 본 발명에 따라 생성된 연관성 예측 모델의 예측 정확도가 기존 모델 대비 현저히 높음을 확인하였다.
본 발명의 실시예에 따른 시스템의 구성 전체 내지 적어도 일부는 하드웨어 모듈 형태 또는 소프트웨어 모듈 형태로 구현되거나, 하드웨어 모듈과 소프트웨어 모듈이 조합된 형태로도 구현될 수 있다.
여기서, 소프트웨어 모듈이란, 예컨대, 시스템 내에서 연산을 제어하는 프로세서에 의해 실행되는 명령어로 이해될 수 있으며, 이러한 명령어는 시스템 내 메모리에 탑재된 형태를 가질 수 있을 것이다.
위 설명한 본 발명에 따른 방법은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명을 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 당업계에서 통상의 지식을 가진 자라면 이하의 청구범위에 기재된 본 발명의 사상 및 영역을 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
(부호의 설명)
100: 모델 생성 단말
110: 통신부
120: 입력부
130: 제1 프로세서
131: 데이터 수집부
132: 자연어 처리부
133: 노드 규정부
134: ID 부여부
135: 엣지 규정부
136: 경로 규정부
137: 임베딩부
138: 경로 스코어 연산부
139: 경로 추출부
140: 제2 프로세서
150: 제어부
160: 출력부
170: 메모리
180: 러닝 프로세서
200: 예측 단말
210: 통신부
220: 입력부
230: 제어부
240: 메모리
250: 프로세서
260: 출력부

Claims (26)

  1. 모델 생성 단말에 의해, 임의의 개체(entity)의 쌍(pair)이 질의되는 경우 질의된 개체 사이의 연관성 관련 정보를 출력하거나, 임의의 개체가 질의되는 경우 질의된 개체와 연관된 개체들을 출력하는 연관성 예측 모델이 생성되도록 학습 데이터를 학습하는 단계를 포함하고, 상기 임의의 개체의 쌍은 질병-유전자, 유전자-질병, 질병-약물, 약물-질병, 유전자-약물 및 약물-유전자 중 하나 이상의 쌍을 포함하는 것이며,
    상기 학습 데이터는,
    임의의 개체의 쌍이 질의 인코딩 모델에 입력됨에 따라 상기 질의 인코딩 모델에서 출력되는 임베딩 벡터 및 상기 질의 인코딩 모델에 입력된 임의의 개체의 쌍을 서로 연결하는 경로가 경로 인코딩 모델에 입력됨에 따라 상기 경로 인코딩 모델에서 출력되는 임베딩 벡터가 질의-경로 인코딩 모델에 입력됨에 따라 상기 질의-경로 인코딩 모델에서 출력되는 임베딩 벡터를 포함하는,
    개체 간의 연관성 예측 방법.
  2. 제1항에 있어서,
    상기 임의의 개체의 쌍은 질의 임베딩 벡터의 형태로 상기 질의 인코딩 모델에 입력되고,
    상기 질의 임베딩 벡터는,
    상기 임의의 개체의 쌍의 개체를 식별하기 위한 개체 임베딩 벡터 및 상기 개체 임베딩 벡터의 위치를 식별하기 위한 포지셔널 임베딩 벡터를 포함하는,
    개체 간의 연관성 예측 방법.
  3. 제2항에 있어서,
    상기 질의 임베딩 벡터는,
    질의 타입 임베딩 벡터와 상기 질의 타입 임베딩 벡터의 위치를 식별하기 위한 제1 포지셔널(positional) 임베딩 벡터를 이용하여 연산된 제1 질의 임베딩 벡터;
    상기 임의의 개체의 쌍 중 어느 하나의 개체가 해당하는 타입을 나타내는 제1 노드 타입 임베딩 벡터와, 상기 어느 하나의 개체를 식별하기 위한 개체 임베딩 벡터, 그리고 상기 개체 임베딩 벡터의 위치를 식별하기 위한 제2 포지셔널 임베딩 벡터를 이용하여 연산된 제2 질의 임베딩 벡터; 및
    상기 임의의 개체의 쌍 중 다른 하나의 개체가 해당하는 타입을 나타내는 제2 노드 타입 임베딩 벡터와, 상기 다른 하나의 개체를 식별하기 위한 개체 임베딩 벡터, 그리고 상기 개체 임베딩 벡터의 위치를 식별하기 위한 제3 포지셔널 임베딩 벡터를 이용하여 연산된 제3 질의 임베딩 벡터;를 포함하는,
    개체 간의 연관성 예측 방법.
  4. 제3항에 있어서,
    상기 개체 임베딩 벡터는,
    지식 그래프의 임베딩 결과값이면서, 학습이 이루어지더라도 그 값이 고정된 제1 개체 임베딩 벡터; 및
    학습에 의해 값이 변화하는 제2 개체 임베딩 벡터;를 이용하여 연산된 것인,
    개체 간의 연관성 예측 방법.
  5. 제4항에 있어서,
    상기 제1 질의 임베딩 벡터 내지 상기 제3 질의 임베딩 벡터는 연산에 사용된 임베딩 벡터들의 합산 임베딩 벡터들이고,
    상기 개체 임베딩 벡터는 연산에 사용되는 제1 개체 임베딩 벡터와 제2 개체 임베딩 벡터의 결합(concatenate) 임베딩 벡터인,
    개체 간의 연관성 예측 방법.
  6. 제4항에 있어서,
    상기 지식 그래프는,
    질병, 유전자, 약물 및 장기 중 적어도 2개의 개체와, 상기 적어도 2개의 개체 간의 관계가 표현되어 있는 것인,
    개체 간의 연관성 예측 방법.
  7. 제1항에 있어서,
    상기 경로는 경로 임베딩 벡터의 형태로 상기 경로 인코딩 모델에 입력되고,
    상기 경로 임베딩 벡터는,
    상기 임의의 개체-쌍 사이의 경로를 식별하기 위한 임베딩 벡터 및 상기 임의의 개체-쌍 사이의 경로를 식별하기 위한 임베딩 벡터의 위치를 식별하기 위한 포지셔널 임베딩 벡터를 포함하는,
    개체 간의 연관성 예측 방법.
  8. 제7항에 있어서,
    상기 경로 임베딩 벡터는,
    경로 타입 임베딩 벡터와 상기 경로 타입 임베딩 벡터의 위치를 식별하기 위한 제4 포지셔널 임베딩 벡터를 이용하여 연산된 제1 경로 임베딩 벡터;
    상기 임의의 개체의 쌍 중 어느 하나의 개체가 해당하는 타입을 나타내는 제1 노드 타입 임베딩 벡터, 상기 어느 하나의 개체를 식별하기 위한 개체 임베딩 벡터, 그리고 상기 개체 임베딩 벡터의 위치를 식별하기 위한 제5 포지셔널 임베딩 벡터를 이용하여 연산된 제2 경로 임베딩 벡터;
    엣지들이 그 특성에 따라 구분된 하나 이상의 엣지 유형(metaedge) 중, 상기 어느 하나의 개체에 연결된 엣지의 유형을 식별하기 위한 제1 엣지 타입 임베딩 벡터와 상기 제1 엣지 타입 임베딩 벡터의 위치를 식별하기 위한 제6 포지셔널 임베딩 벡터를 이용하여 연산된 제3 경로 임베딩 벡터;
    상기 어느 하나의 개체에 해당하는 노드와 엣지로 연결된 노드에 해당하는 개체가 해당하는 타입을 나타내는 제3 노드 타입 임베딩 벡터, 상기 개체를 식별하기 위한 개체 임베딩 벡터, 그리고 상기 개체 임베딩 벡터의 위치를 식별하기 위한 제7 포지셔널 임베딩 벡터를 이용하여 연산된 제4 경로 임베딩 벡터;
    상기 제4 경로 임베딩 벡터에 포함된 개체 및 상기 임의의 개체의 쌍 중 다른 하나의 개체를 서로 연결하는 엣지의 유형을 식별하기 위한 제2 엣지 타입 임베딩 벡터와, 상기 제2 엣지 타입 임베딩 벡터의 위치를 식별하기 위한 제8 포지셔널 임베딩 벡터를 이용하여 연산된 제5 경로 임베딩 벡터; 및
    상기 임의의 개체의 쌍 중 다른 하나의 개체가 해당하는 타입을 나타내는 제2 노드 타입 임베딩 벡터, 상기 다른 하나의 개체를 식별하기 위한 개체 임베딩 벡터, 그리고 상기 개체 임베딩 벡터의 위치를 식별하기 위한 제9 포지셔널 임베딩 벡터를 이용하여 연산된 제6 경로 임베딩 벡터;를 포함하는,
    개체 간의 연관성 예측 방법.
  9. 제8항에 있어서,
    상기 개체 임베딩 벡터는,
    지식 그래프의 임베딩 결과값이면서, 학습이 이루어지더라도 그 값이 고정된 제1 개체 임베딩 벡터; 및
    학습에 의해 값이 변화하는 제2 개체 임베딩 벡터;를 이용하여 연산된 것인,
    개체 간의 연관성 예측 방법.
  10. 제9항에 있어서,
    상기 제1 경로 임베딩 벡터 내지 제6 경로 임베딩 벡터는 연산에 사용된 임베딩 벡터들의 합산 임베딩 벡터들이고,
    상기 개체 임베딩 벡터는 연산에 사용되는 제1 개체 임베딩 벡터와 제2 개체 임베딩 벡터의 결합(concatenate) 임베딩 벡터인,
    개체 간의 연관성 예측 방법.
  11. 제1항에 있어서,
    상기 경로 인코딩 모델에는, 임의의 개체의 쌍마다 다수 개의 경로가 입력되고,
    상기 입력되는 다수 개의 경로는 임의의 개체의 쌍의 경로들 중 일부의 경로이며, 기 설정된 경로 유형(metapath)에 포함된 다수의 경로 중 기 설정된 방법에 의해 연산된 경로 스코어가 높은 순서에 기초하여 추출된 일부의 경로인,
    개체 간의 연관성 예측 방법.
  12. 제11항에 있어서,
    상기 경로 유형은 경로를 구성하는 엣지의 개수, 엣지의 순서 및 엣지 유형의 조합에 기초하여 구분지어지며, 상기 기 설정된 경로 유형은 구분지어진 경로 유형 중 적어도 일부의 유형인,
    개체 간의 연관성 예측 방법.
  13. 제11항에 있어서,
    상기 경로 스코어는,
    노드 및 엣지 유형의 임베딩 결과값을 이용하여, 경로에 포함된 각각의 엣지들의 엣지 스코어를 연산하고, 임의의 개체의 쌍의 경로에 포함된 모든 엣지들의 엣지 스코어를 이용하여 연산된 것인,
    개체 간의 연관성 예측 방법.
  14. 제1항에 있어서,
    상기 질의된 개체-쌍 사이의 연관성 관련 정보는,
    상기 질의된 개체-쌍 사이의 연관성 유무 및 연관성 정도 중 적어도 어느 하나를 포함하는,
    개체 간의 연관성 예측 방법.
  15. 제1항에 있어서,
    상기 질의-경로 인코딩 모델은, 상기 질의 인코딩 모델과 상기 경로 인코딩 모델에 대해 적층(stacked)되어 있는 것인,
    개체 간의 연관성 예측 방법.
  16. 제1항에 있어서,
    상기 연관성 예측 모델은 임의의 개체가 질의되는 경우 질의된 개체와 연관된 개체들 각각마다 연관성 정도를 나타내는 점수를 출력하도록 구성된,
    개체 간의 연관성 예측 방법.
  17. 제16항에 있어서,
    상기 연관성 예측 모델은 상기 점수가 높은 순으로 상기 연관된 개체들을 정렬하여 출력하도록 구성된,
    개체 간의 연관성 예측 방법.
  18. 제1항에 있어서,
    상기 연관성 예측 모델이 생성되도록 학습 데이터를 학습하는 단계는,
    제1 연관성 예측 모델이 생성되도록 인공신경망 모델에 제1 학습 데이터를 학습시키는 제1 학습 단계; 및
    상기 제1 연관성 예측 모델을 사용하여 제2 연관성 예측 모델이 생성되도록 제2 학습 데이터를 학습시키는 제2 학습 단계를 포함하는,
    개체 간의 연관성 예측 방법.
  19. 제18항에 있어서,
    상기 제1 학습 데이터는,
    임의의 개체의 쌍 중 관심 개체를 제외한 개체로 이루어진 개체의 쌍이 상기 질의 인코딩 모델에 입력됨에 따라 상기 질의 인코딩 모델에서 출력되는 임베딩 벡터, 그리고 상기 관심 개체를 제외한 개체로 이루어진 개체의 쌍을 서로 연결하는 경로가 상기 경로 인코딩 모델에 입력됨에 따라 상기 경로 인코딩 모델에서 출력되는 임베딩 벡터가 상기 질의-경로 인코딩 모델에 입력됨에 따라 상기 질의-경로 인코딩 모델에서 출력되는 임베딩 벡터를 포함하는,
    개체 간의 연관성 예측 방법.
  20. 제19항에 있어서,
    상기 제2 학습 데이터는,
    임의의 개체의 쌍 중 상기 관심 개체로 이루어진 개체의 쌍이 상기 질의 인코딩 모델에 입력됨에 따라 상기 질의 인코딩 모델에서 출력되는 임베딩 벡터, 그리고 상기 관심 개체로 이루어진 개체의 쌍을 서로 연결하는 경로가 상기 경로 인코딩 모델에 입력됨에 따라 상기 경로 인코딩 모델에서 출력되는 임베딩 벡터가 상기 질의-경로 인코딩 모델에 입력됨에 따라 상기 질의-경로 인코딩 모델에서 출력되는 임베딩 벡터를 포함하는,
    개체 간의 연관성 예측 방법.
  21. 제18항에 있어서,
    상기 제2 학습 단계는 상기 제1 학습 단계 이후에 수행되는,
    개체 간의 연관성 예측 방법.
  22. 제1항에 있어서,
    질의 개체-쌍 또는 질의 개체가 예측 단말의 입력부를 통해 입력되는 단계;
    상기 예측 단말의 프로세서에 의해, 상기 모델 생성 단말에 의해 생성된 연관성 예측 모델에 질의 개체-쌍이 질의되는 경우 상기 연관성 예측 모델에서 출력되는 값인 질의된 임의의 개체의 쌍 사이의 연관성 관련 정보가 연산되거나, 상기 연관성 예측 모델에 개체가 질의되는 경우 질의 개체와 연관된 개체들이 연산되는 단계를 더 포함하는,
    개체 간의 연관성 예측 방법.
  23. 제22항에 있어서,
    미리 규정된 노드들 중 하나 이상의 노드가 삭제 또는 추가되거나, 미리 규정되지 않은 새로운 엣지가 삭제 또는 추가되는 단계를 더 포함하며,
    상기 예측 단말은, 상기 하나 이상의 노드가 삭제 또는 추가되거나, 상기 새로운 엣지가 삭제 또는 추가된 데이터셋에 기초하여 질의된 임의의 개체의 쌍 사이의 연관성 관련 정보의 연산을 수행하도록 구성되는,
    개체 간의 연관성 예측 방법.
  24. 제22항에 있어서,
    상기 예측 단말의 출력부를 통해, 상기 프로세서에서 연산된 연관성 관련 정보 또는 질의 개체와 연관된 개체들이 출력되는 단계를 더 포함하는,
    개체 간의 연관성 예측 방법.
  25. 제1항 내지 제24항 중 어느 한 항에 따른 방법에 따라 생성된 예측 모델을 사용하여 개체 간의 연관성을 예측하는 시스템으로서,
    외부에서 질의 개체-쌍 또는 질의 개체를 입력받도록 구성된 입력부;
    상기 모델 생성 단말에 의해 생성된 연관성 예측 모델을 이용하여, 상기 입력부를 통해 입력된 질의 개체-쌍 사이의 연관성 관련 정보 또는 질의 개체와 연관된 개체들을 연산하도록 구성된 프로세서; 및
    상기 프로세서에 의해 연산된 연관성 관련 정보 또는 질의 개체와 연관된 개체들을 출력하도록 구성된 출력부;를 포함하는, 예측 단말을 포함하는,
    개체 간의 연관성 예측 시스템.
  26. 제1항 내지 제24항 중 어느 한 항에 따른 방법을 실행하도록 컴퓨터 판독 가능한 기록 매체에 저장된,
    컴퓨터 프로그램.
PCT/KR2023/003092 2022-03-07 2023-03-07 시계열적 정보를 인코딩하는 모델을 사용하여 개체-쌍 사이의 연관성 관련 정보를 예측하는 방법 및 이를 이용하여 생성되는 예측 시스템 WO2023172025A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0028764 2022-03-07
KR1020220028764A KR102452433B1 (ko) 2022-03-07 2022-03-07 시계열적 정보를 인코딩하는 모델을 사용하여 질의되는 개체-쌍 사이의 연관성 관련 정보를 예측하는 방법 및 이를 이용하여 구축되는 예측 시스템

Publications (1)

Publication Number Publication Date
WO2023172025A1 true WO2023172025A1 (ko) 2023-09-14

Family

ID=83598994

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/003092 WO2023172025A1 (ko) 2022-03-07 2023-03-07 시계열적 정보를 인코딩하는 모델을 사용하여 개체-쌍 사이의 연관성 관련 정보를 예측하는 방법 및 이를 이용하여 생성되는 예측 시스템

Country Status (2)

Country Link
KR (1) KR102452433B1 (ko)
WO (1) WO2023172025A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102452433B1 (ko) * 2022-03-07 2022-10-11 주식회사 스탠다임 시계열적 정보를 인코딩하는 모델을 사용하여 질의되는 개체-쌍 사이의 연관성 관련 정보를 예측하는 방법 및 이를 이용하여 구축되는 예측 시스템
CN116153528B (zh) * 2023-04-20 2023-07-14 武汉纺织大学 一种基于注意力机制和全局检索的药物推荐方法
KR102606267B1 (ko) * 2023-04-28 2023-11-29 주식회사 스탠다임 예측 신뢰도에 기반한 보정 기술을 이용하는 타겟 예측 방법 및 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160010276A (ko) * 2014-07-17 2016-01-27 한국과학기술원 네트워크 조절 모티프 발굴 시스템 및 그 방법
KR101839572B1 (ko) * 2017-11-21 2018-03-16 연세대학교 산학협력단 질병 관련 유전자 관계 분석 장치 및 방법
JP2019220149A (ja) * 2018-04-07 2019-12-26 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited 異種ネットワーク上でのグラフ畳込みに基づく遺伝子優先順位づけ
KR102203065B1 (ko) * 2019-09-03 2021-01-14 숭실대학교산학협력단 트리플 검증 장치 및 방법
KR102225278B1 (ko) * 2020-01-31 2021-03-10 주식회사 스탠다임 질의되는 개체와 관련되는 질병, 유전자 또는 단백질을 예측하는 방법 및 이를 이용하여 구축되는 예측 시스템
KR102452433B1 (ko) * 2022-03-07 2022-10-11 주식회사 스탠다임 시계열적 정보를 인코딩하는 모델을 사용하여 질의되는 개체-쌍 사이의 연관성 관련 정보를 예측하는 방법 및 이를 이용하여 구축되는 예측 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102035658B1 (ko) 2019-04-01 2019-10-23 한국과학기술정보연구원 신약 재창출 후보 추천 시스템 및 이 시스템의 각 기능을 실행시키기 위해 매체에 저장된 컴퓨터 프로그램

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160010276A (ko) * 2014-07-17 2016-01-27 한국과학기술원 네트워크 조절 모티프 발굴 시스템 및 그 방법
KR101839572B1 (ko) * 2017-11-21 2018-03-16 연세대학교 산학협력단 질병 관련 유전자 관계 분석 장치 및 방법
JP2019220149A (ja) * 2018-04-07 2019-12-26 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited 異種ネットワーク上でのグラフ畳込みに基づく遺伝子優先順位づけ
KR102203065B1 (ko) * 2019-09-03 2021-01-14 숭실대학교산학협력단 트리플 검증 장치 및 방법
KR102225278B1 (ko) * 2020-01-31 2021-03-10 주식회사 스탠다임 질의되는 개체와 관련되는 질병, 유전자 또는 단백질을 예측하는 방법 및 이를 이용하여 구축되는 예측 시스템
KR102452433B1 (ko) * 2022-03-07 2022-10-11 주식회사 스탠다임 시계열적 정보를 인코딩하는 모델을 사용하여 질의되는 개체-쌍 사이의 연관성 관련 정보를 예측하는 방법 및 이를 이용하여 구축되는 예측 시스템

Also Published As

Publication number Publication date
KR102452433B1 (ko) 2022-10-11

Similar Documents

Publication Publication Date Title
WO2023172025A1 (ko) 시계열적 정보를 인코딩하는 모델을 사용하여 개체-쌍 사이의 연관성 관련 정보를 예측하는 방법 및 이를 이용하여 생성되는 예측 시스템
WO2020190112A1 (en) Method, apparatus, device and medium for generating captioning information of multimedia data
WO2018174603A1 (ko) 인공 지능 기술 기반의 머신 러닝을 사용하는 특허 도면 이미지에 도면 부호의 설명이 표시되도록 처리하는 방법 및 장치
WO2020009297A1 (ko) 도메인 추출기반의 언어 이해 성능 향상장치및 성능 향상방법
WO2022065811A1 (en) Multimodal translation method, apparatus, electronic device and computer-readable storage medium
WO2021154060A1 (en) Method of predicting disease, gene or protein related to queried entity and prediction system built by using the same
WO2019177182A1 (ko) 속성 정보 분석을 통한 멀티미디어 컨텐츠 검색장치 및 검색방법
WO2018034426A1 (ko) 커널 rdr을 이용한 태깅 말뭉치 오류 자동수정방법
WO2017209564A1 (ko) 앱 리스트 제공 방법 및 그 장치
WO2012060532A1 (ko) 특허 평가 모델 생성 방법, 특허 평가 방법, 특허 분쟁 예측 모델 생성 방법, 특허 분쟁 예측 정보 생성 방법, 특허 라이센싱 예측 정보 생성 방법, 특허 리스크 헤징 정보 생성 방법 및 시스템
WO2022005188A1 (en) Entity recognition method, apparatus, electronic device and computer readable storage medium
WO2020101108A1 (ko) 인공지능 모델 플랫폼 및 인공지능 모델 플랫폼 운영 방법
WO2023080379A1 (ko) 다유전자 위험점수를 이용한 시간 의존 연관성 기반의 질환 발병 정보 생성 장치 및 그 방법
WO2020197257A1 (ko) 가시적 표현 요소를 이용한 번역 방법 및 그 장치
WO2020218635A1 (ko) 인공 지능을 이용한 음성 합성 장치, 음성 합성 장치의 동작 방법 및 컴퓨터로 판독 가능한 기록 매체
WO2021162481A1 (en) Electronic device and control method thereof
WO2023080276A1 (ko) 쿼리 기반 데이터베이스 연동 딥러닝 분산 시스템 및 그 방법
WO2015178716A1 (en) Search method and device
WO2023177150A1 (ko) 딥러닝 모델의 분산 훈련을 위한 전체 슬라이드 이미지 분배 방법 및 이를 수행하는 컴퓨팅 시스템
WO2023080586A1 (ko) 세포유리 핵산단편 위치별 서열 빈도 및 크기를 이용한 암 진단 방법
WO2020060161A1 (ko) 대화형 인터페이스를 이용한 통계 분석 시스템과 통계분석 방법
WO2023068821A1 (ko) 자기-지도 학습 기반의 다중 객체 추적 장치 및 방법
WO2021112647A1 (en) Method, apparatus and electronic device for determining word representation vector
WO2022145590A1 (ko) 피분석물의 크로마토그래피 분석 시 머무름 시간 예측 장치 및 방법
WO2024112153A1 (ko) 유기체 또는 host 추정 방법, 유기체 또는 host를 추정하는 모델의 획득 방법 및 이를 수행하는 컴퓨터 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23767126

Country of ref document: EP

Kind code of ref document: A1