WO2021054512A1 - System and method for reinforcing knowledge base - Google Patents

System and method for reinforcing knowledge base Download PDF

Info

Publication number
WO2021054512A1
WO2021054512A1 PCT/KR2019/013640 KR2019013640W WO2021054512A1 WO 2021054512 A1 WO2021054512 A1 WO 2021054512A1 KR 2019013640 W KR2019013640 W KR 2019013640W WO 2021054512 A1 WO2021054512 A1 WO 2021054512A1
Authority
WO
WIPO (PCT)
Prior art keywords
predicate
vector
knowledge base
entity
context
Prior art date
Application number
PCT/KR2019/013640
Other languages
French (fr)
Korean (ko)
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 WO2021054512A1 publication Critical patent/WO2021054512A1/en

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/36Creation of semantic tools, e.g. ontology or thesauri
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the technical idea of the present invention relates to a knowledge base, and in detail, to a system and method for reinforcing a knowledge base.
  • the present invention is derived from research conducted and conducted by Saltlux Co., Ltd. as part of the SW Computing Source Technology Development Project (SW) of the Ministry of Science, ICT and Future Planning. [Research Period: 2019.01.01 ⁇ 2019.12.31, Research management professional institution: Information and Communication Technology Promotion Center, Research project name: WiseKB: Development of self-learning knowledge base and reasoning technology based on understanding big data, project serial number: 2013-0 -00109]
  • SW SW Computing Source Technology Development Project
  • a knowledge base can be built that stores knowledge data and provides the stored knowledge data.
  • the knowledge base may include structured knowledge data, and the knowledge data may be generated in various ways. Due to the vast amount of knowledge, curation work by humans to build a knowledge base may be limited.
  • predicates representing relationships between entities may have a relatively small number when compared to entities, but curation of the same predicate, that is, multiple expressions representing the same meaning, or new predicates. It may not be practically easy to verify and add through.
  • the technical idea of the present invention provides a knowledge reinforcement system and method for reinforcing predicates included in a knowledge base.
  • a system for reinforcing knowledge data of a knowledge base includes a predicate extraction unit for extracting a predicate from input data, and an entity for extracting an entity from input data.
  • An entity extracting unit a context extracting unit that extracts the context of an entity including a predicate from the input data, a predicate evaluation unit that obtains a predicate score vector from the predicate, the entity, and the context based on the learned artificial neural network, and the predicate score vector.
  • It may include a knowledge base update unit that determines whether to update the knowledge base based on the determination result, and updates the knowledge base based on the predicate according to the determination result.
  • the predicate evaluating unit may obtain a predicate score vector from a plurality of contexts each corresponding to the plurality of entities and the plurality of entities extracted from the input data and including the predicate.
  • the predicate evaluating unit may obtain vectors corresponding to the predicate, entity, and context with reference to the word vector model, and provide the obtained vectors to the artificial neural network.
  • the predicate evaluation unit may obtain a semantic vector from the entity and context based on the learned first artificial neural network, and based on the learned second artificial neural network, the semantic Predicate score vectors can be obtained from vectors and predicates.
  • the predicate score vector may include a first vector indicating the degree of matching between the predicate and the regular predicates included in the knowledge base, and a second vector indicating the possibility of new generation of the predicate.
  • the expression type of the regular predicate corresponding to the maximum value is Predicates can be added.
  • the knowledge base update unit adds the predicate as a new regular predicate to the knowledge base when the maximum value among the values included in the predicate score vector is greater than or equal to a predefined reference value and is included in the second vector. can do.
  • the knowledge base update unit may terminate the update of the knowledge base based on the predicate when the maximum value among values included in the predicate score vector is less than a predefined reference value.
  • a method for reinforcing knowledge data of a knowledge base includes extracting a context of an entity including a predicate, an entity, and a predicate from the input data, based on the learned artificial neural network. , Obtaining a predicate score vector from the predicate, entity and context, determining whether to update the knowledge base based on the predicate score vector, and updating the knowledge base based on the predicate according to the determination result.
  • the predicate score vector may include a first vector indicating a degree of matching between the predicate and regular predicates included in the knowledge base, and a second vector indicating the possibility of new generation of the predicate.
  • the obtaining of the predicate score vector includes obtaining a semantic vector from the entity and context based on the learned first artificial neural network, and the learned second artificial neural network. Based on the semantic vector and the predicate score vector from the predicate.
  • a new predicate can be easily verified and added to a knowledge base using machine learning.
  • the knowledge base can be effectively reinforced by adding expressions of predicates and new predicates with high reliability, and the reliability and utilization of the knowledge base can be remarkably increased. have.
  • the effects obtainable in the exemplary embodiments of the present invention are not limited to the above-mentioned effects, and other effects not mentioned are common knowledge in the technical field to which the exemplary embodiments of the present invention belong from the following description. It can be clearly derived and understood by those who have. That is, unintended effects of implementing the exemplary embodiments of the present invention may also be derived from the exemplary embodiments of the present invention by a person having ordinary skill in the art.
  • FIG. 1 is a block diagram showing a system and an input/output relationship thereof according to an exemplary embodiment of the present invention.
  • 2A, 2B and 2C show examples in which a predicate is added to a knowledge base according to exemplary embodiments of the present invention.
  • FIG. 3 is a block diagram showing a predicate evaluating unit according to an exemplary embodiment of the present invention.
  • Fig. 4 is a block diagram showing a vector generator according to an exemplary embodiment of the present invention.
  • FIG. 5 is a diagram illustrating an example of an operation of a predicate evaluation unit according to an exemplary embodiment of the present invention.
  • Fig. 6 is a flow chart showing a method for reinforcing a knowledge base according to an exemplary embodiment of the present invention.
  • Fig. 7 is a flow chart showing a method for reinforcing a knowledge base according to an exemplary embodiment of the present invention.
  • Fig. 8 is a flow chart showing a method for reinforcing a knowledge base according to an exemplary embodiment of the present invention.
  • a component indicated or described as a single block may be a hardware block or a software block.
  • each of the components may be an independent hardware block that transmits and receives signals from each other, or may be a software block executed by at least one processor.
  • the software block may include a series of instructions executable by at least one processor and/or source code from which such instructions may be generated through compilation, and an optical storage medium (eg, CD, DVD, etc.), a semiconductor memory It may be stored in a computer-readable non-transitory storage medium such as a device (eg, flash memory, EPROM, etc.), a magnetic disk device (eg, a hard disk drive, a magnetic tape, etc.).
  • “system” or “database” may refer to a computing system including at least one processor and a memory accessed by the processor.
  • the knowledge base reinforcement system 100 may receive input data 200 and may be communicatively connected with the knowledge base 300.
  • the knowledge base reinforcement system 100 may communicate with the knowledge base 300 through a network, or may communicate with each other through a dedicated channel for one-to-one communication.
  • the knowledge base augmentation system 100 may include a knowledge base 300.
  • the input data 200 may refer to data including various types of information.
  • the knowledge base augmentation system 100 may collect the input data 200 through the Internet.
  • the input data 200 may be an information document provided by Wikipedia.org, an article provided by a press company homepage, or documents created by a social networking service (SNS). May be.
  • the knowledge base enhancement system 100 may receive the input data 200 through a local network, or may receive the input data 200 stored in the storage medium by accessing the storage medium.
  • the input data 200 may include text, and the knowledge base reinforcement system 100 may determine whether to add a predicate included in the text of the input data 200 to the knowledge base 300. .
  • the knowledge base 300 may include knowledge (or knowledge data) structured based on an ontology.
  • Ontology is a representation of things that exist or can be recognized by humans in a form that can be handled by a computer.
  • Ontology components are, for example, entities (E) (or instances), classes (C), and attributes. It can contain (property; P) and value (V).
  • the ontology components may further include a relationship, a function term, a restriction, a rule, an event, and the like.
  • the relationship may represent, as a non-limiting example, an entity-entity relationship, an entity-class relationship, an entity-attribute relationship, an entity-value (number, text, etc.) relationship.
  • the relationship may be expressed as a predicate outside of the knowledge base 300 (eg, the real world). For example, it may be a predicate representing a relationship between entities "Suwon” and “Daegu", from “Suwon and Daegu meet in the final" to "match”.
  • the knowledge base 300 may store vast amounts of knowledge data based on an ontology.
  • the knowledge base 300 may include knowledge data expressed using a Resource Description Framework (RDF).
  • RDF Resource Description Framework
  • a triple may be used as a unit of knowledge data, and the knowledge base 300 may return a triple in response to a query, such as a SPARQL Protocol and RDF Query Language (SPARQL) query.
  • a triple may be composed of a "subject-predicate-object", and an entity may be not only a subject of a triple, but also an object, and may be a predicate in some embodiments.
  • the knowledge data stored in the knowledge base 300 may be referred to as a knowledge graph.
  • the entity and the predicate may each have a unique identifier, such as a Uniform Resource Identifier (URI), and may be accessed by the Unified Resource Identifier.
  • URI Uniform Resource Identifier
  • Entities and predicates (or relationships) may have various expressions (or expressions), for example, as will be described later with reference to Figs. 2A, 2B and 2C, and expressions corresponding to the same entity or the same predicate can be found in the knowledge base ( 300) can be critical in increasing its usefulness.
  • the knowledge base 300 when the knowledge base 300 is used in a question answering system, the user's query may have a vast format and expression, and in order to recognize such a vast expression and provide a response, the knowledge base 300 It may contain multiple expressions corresponding to an object, that is, an entity or a predicate.
  • the knowledge base 300 may associate these expressions with an entity or a predicate using a predicate (or relationship), such as “label”.
  • the knowledge base 300 may include triples such as "eat-label-eat” and "eat-label-take” in relation to the predicate "eat”, as will be described later with reference to FIG. 2B. I can.
  • the knowledge base reinforcement system 100 can reinforce the knowledge base 300 by automatically verifying the predicate based on the input data 200 and adding it to the knowledge base 300, Accordingly, the usefulness of the knowledge base 300 may be remarkably improved.
  • the knowledge base reinforcement system 100 may include a preprocessor 110, a predicate evaluation unit 120, and a knowledge base update unit 130, as shown in FIG. 1.
  • the preprocessor 110 may extract an entity (ENT), a predicate (PRE), and a context (CTX) from the input data 200.
  • the entity extracting unit 112 may extract an entity (ENT) from the input data 200
  • the predicate extracting unit 114 may extract a predicate ( PRE) may be extracted
  • the context extracting unit 116 may extract a context (CTX) from the input data 200.
  • the entity (ENT), the predicate (PRE), and the context (CTX) are individually extracted, different from that shown in Fig. 1, in the process of commonly processing the input data 200, the entity (ENT) , Predicate (PRE) and context (CTX) may be extracted.
  • the context (CTX) is a unit including an entity (ENT) and a predicate (PRE) in the input data 200, and a length may be determined according to a predefined window size. For example, in the above-described example "Suwon and Daegu meet in the final", “Suwon” and “Daegu” may be extracted as an entity (ENT), and “Attached” as a predicate (PRE) may be extracted, and the context As (CTX), "Finals/In/Suwon/Daegu/Meet" can be extracted.
  • the entity (ENT), predicate (PRE), and context (CTX) may be extracted from the input data 200 in any manner.
  • the preprocessor 110 may process text included in the input data 200 based on natural language processing including morpheme analysis and syntax analysis.
  • the preprocessor 110 may extract a triple through sentence analysis included in the text of the input data 200 based on dependency parsing and/or Semantic Role Labeling (SRL). .
  • SRL Semantic Role Labeling
  • the preprocessing unit 110 is a morpheme It may include at least one of an analysis unit, a syntax analysis unit, an entity name analysis unit, a filtering analysis unit, an intention analysis unit, a domain analysis unit), and a Semantic Role Labeling (SRL) unit.
  • An entity (ENT) and a predicate (PRE) may be extracted from the extracted triple, and a context (CTX) including the entity (ENT) and the predicate (PRE) may be extracted from the input data 200.
  • CTX context
  • the operation of extracting a triple from the input data 200 may be performed with reference to the knowledge base 300.
  • the extracted entity ENT may not match the entity included in the knowledge base 300.
  • the predicate (PRE) is extracted from the input data 200 based on the dependencies between words given in a sentence, that is, the roles of the words, the predicates included in the predicate (PRE) and the knowledge base 300 (in this specification) May be referred to as regular predicates) may be in an unknown state.
  • the predicate (PRE) may be one of the expression types of the regular predicate included in the knowledge base 300, may be a new expression type of the regular predicate included in the knowledge base 300, and the knowledge base 300 It may correspond to a predicate that needs to be added as a new regular predicate.
  • the predicate PRE may correspond to a predicate that is not added to the knowledge base 300 due to an error in the input data 200 and/or the preprocessor 110.
  • the predicate evaluation unit 120 may receive not only the predicate (PRE), but also an entity (ENT) and context (CTX) related to the predicate (PRE) from the preprocessing unit 110, and may receive an artificial neural network (ANN). Can be used to evaluate the predicate (PRE).
  • An artificial neural network may refer to a structure in which neurons (or neuron models) are interconnected. Artificial neurons can generate outputs by performing simple operations on input data, and outputs can be passed as inputs to other artificial neurons.
  • the predicate evaluation unit 120 may evaluate the predicate PRE based on machine learning, and is not limited to the name of the artificial neural network (ANN).
  • an artificial neural network may be referred to as a deep learning network, or a deep neural network (DNN), a convolution neural network (CNN), or a recurrent neural network. ; RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Deep Q-Network.
  • the predicate evaluation unit 120 may generate a predicate score vector (SCR) by evaluating a predicate (PRE), and the predicate score vector (SCR) is a predicate (PRE) and a knowledge base (300). ) Can represent relations with regular predicates included in ).
  • PRE predicate score vector
  • PRE predicate
  • knowledge base 300
  • Can represent relations with regular predicates included in An example of the predicate evaluation unit 120 will be described later with reference to FIGS. 3 and 5.
  • the knowledge base update unit 130 may receive a predicate score vector (SCR) from the predicate evaluation unit 120, and update the knowledge base 300 based on a predicate (PRE) based on the predicate score vector (SCR). You can do it.
  • the knowledge base update unit 130 may determine whether or not to update the knowledge base 300 and an update method based on the predicate score vector (SCR), and knowledge of the predicate (PRE) according to the determined update method. It can be added to the base 300.
  • SCR predicate score vector
  • PRE predicate score vector
  • FIGS. 2A, 2B and 2C show examples in which a predicate is added to a knowledge base according to exemplary embodiments of the present invention.
  • FIGS. 2A and 2B show an example in which a predicate is added as an expression form of a regular predicate
  • FIG. 2C shows an example in which a predicate is added as a new regular predicate.
  • overlapping contents will be omitted, and FIGS. 2A, 2B, and 2C will be described with reference to FIG. 1.
  • the knowledge base 300 may include “accept” as a regular predicate.
  • the regular predicate may have a plurality of phenotypes, for example, as shown in FIG. 2A, the regular predicate “accept” has the phenotypes “accept”, “accept”, etc. I can.
  • the regular predicate “accept” may form triples as the phenotypes "accept", "accept”, and the like "label” predicates, respectively.
  • the preprocessor 110 may extract "accept” as a predicate (PRE) from the input data 200, and the predicate evaluating part 120 has the most "accept” among the existing regular predicates.
  • PRE predicate
  • a predicate score vector (SCR) indicating a match may be provided to the knowledge base update unit 130. Accordingly, the knowledge base update unit 130 may obtain the URI of the entity “accept” from the knowledge base 300, and generate a new triple by connecting the obtained URI and “accept” with the predicate “label”. It can be added to the knowledge base 300.
  • SCR predicate score vector
  • the knowledge base 300 may include “lift” and “eat” as regular predicates.
  • the preprocessor 110 extracts “lift” as a predicate (PRE) from the input data 200, although “lift” already exists as the expression type of the regular predicate "lift”, the predicate evaluation unit 120
  • the knowledge base update unit (SCR) which indicates that "to hold” is “to hold”, which means to eat food or the like based on the entity (ENT) and the context (CTX), which best matches the regular predicate "eat” ( 130).
  • the knowledge base update unit 130 may obtain the URI of the entity "eat” from the knowledge base 300, and generate a new triple by connecting the obtained URI and "Listen” with the predicate "label” It can be added to the base 300.
  • the preprocessor 110 may extract “follow” or “follow” from the input data 200.
  • “Follow” is a term used in social network services, etc., and may be used as a meaning of establishing a relationship with another user, and the knowledge base 300 may not include a regular predicate corresponding thereto.
  • the predicate evaluating unit 120 determines that the predicate (PRE) “follows” or “follows” does not match any of the regular predicates included in the current knowledge base 300.
  • a predicate score vector (SCR) indicating non-matching may be provided to the knowledge base update unit 130.
  • the knowledge base update unit 130 may generate a new URI of "follow1" as a new regular predicate, or request the creation of a new URI from the knowledge base 300, and the new URI and "follow” and “follow” New triples may be created and added to the knowledge base 300 by connecting each of "follow” with the predicate "label”.
  • the knowledge base update unit 130 provides a predicate score vector (SCR) indicating that it does not match any of the regular predicates included in the knowledge base 300 from the predicate evaluation unit 120.
  • SCR predicate score vector
  • information including a predicate (PRE), an entity (ENT), and a context (CTX) may be provided externally or separately recorded for curation by the administrator.
  • the predicate evaluating unit 120 may receive an entity (ENT), a predicate (PRE), and a context (CTX) from the preprocessing unit 110, and obtain a predicate score vector (SCR). Can be printed.
  • the predicate evaluation unit 120 may include a vector generation unit 121 and an artificial neural network (ANN).
  • ANN artificial neural network
  • the vector generator 121 may generate vectors corresponding to each of the entity (ENT), the predicate (PRE), and the context (CTX) by referring to the word vector model 400.
  • the word vector model 400 may refer to a multidimensional space in which a word (or token, word, etc.) having meaning is expressed as a single coordinate, that is, a word vector, or a system that includes word vectors and updates word vectors. .
  • the word vector model 400 may include an artificial neural network, and may be learned by machine learning. Words that are semantically similar may be arranged adjacent to each other in a multidimensional space, and accordingly, word vectors corresponding to words that are semantically similar may have similar values.
  • the word vector model 400 may be included in the knowledge base reinforcement system 100, and the predicate evaluation unit 120 is applied to the word vector model 400 outside the knowledge base reinforcement system 100. You can also access it.
  • An example of the vector generator 121 will be described later with reference to FIG. 4.
  • the artificial neural network (ANN) receives vectors corresponding to the entities (ENT), predicates (PRE), and contexts (CTX) each having a meaning.
  • the vector generation unit 121 refers to the word vector model 400 and refers to an entity vector corresponding to an entity (ENT), a predicate (PRE), and a context (CTX).
  • a predicate vector (PRE') can be output.
  • the artificial neural network may be in a learned state based on samples of an entity vector (ENT'), a predicate vector (PRE'), and a context vector (CTX').
  • an artificial neural network may be trained based on reinforcement learning.
  • the predicate score vector (SCR) output from the artificial neural network (ANN) may indicate which regular predicate matches when the predicate (PRE) matches regular predicates, and the predicate (PRE ) May indicate that it corresponds to a new regular predicate, or it may indicate that it does not match any regular predicates including the new regular predicate.
  • the vector generator 40 includes an entity vector (ENT'), a context vector (CTX'), and a predicate vector (PRE) from an entity (ENT), a context (CTX), and a predicate (PRE). ') can be created.
  • the vector generation unit 40 may include an entity vector generation unit 41, a context vector generation unit 42, and a predicate vector generation unit 43. It will be explained with reference to 3.
  • the word vector model 400 of FIG. 3 may include a first word vector model 410 and a second word vector model 420, and the vector generator 40 is a first word vector model. Reference may be made to the model 410 and the second word vector model 420.
  • the first word vector model 410 may provide a word vector corresponding to a word included in text of the input data 200. Accordingly, the context vector generation unit 42 and the predicate vector generation unit 43 refer to the first word vector model 410, and the context vector (CTX') and the predicate vector ( PRE') can be created respectively.
  • the first word vector model 410 may be referred to as a word vector model for phenotype.
  • the second word vector model 420 may provide an entity vector representing an entity included in the knowledge base 300.
  • entity vector representing an entity included in the knowledge base 300.
  • “Suwon” and “Daegu” may mean sports teams related to a city rather than a corresponding city.
  • the entity vector generator 41 refers to the second word vector model 420 so that the entities extracted by the preprocessor 110 correspond to one of the entities included in the knowledge base 300. ') can be created.
  • the entity vector generator 41 may obtain a word vector corresponding to the entity ENT with reference to the first word vector model 410, and obtain the word vector with reference to the second word vector model 420
  • An entity vector (ENT') may be generated from the converted word vector and the context vector (CTX').
  • the entity vector generation unit 41 has knowledge due to the context vector (CTX') generated from the context (CTX) including the "final/in” from the above-described exemplary entities "Suwon” and "Daegu"
  • an entity vector ENT' corresponding to entities representing a sports team rather than entities representing a city may be generated.
  • the entity vector ENT' while learning the artificial neural network (ANN), the entity vector ENT' may be directly provided by the user by curation.
  • the second word vector model 420 may be referred to as an entity linking model.
  • the predicate evaluating unit 120 includes an entity vector (ENT'), a predicate vector (PRE'), and a context respectively corresponding to an entity (ENT), a predicate (PRE), and a context (CTX).
  • ENT entity vector
  • PRE predicate vector
  • CTX context vector
  • a vector (CTX') can be received and a predicate score vector (SCR) can be output.
  • SCR predicate score vector
  • the predicate evaluation unit 120 may receive a plurality of vector pairs each composed of an entity (ENT) and a context (CTX) including the same, and the vector generation unit 121 is a word vector model 400 ), a plurality of vector pairs and corresponding vectors may be generated.
  • the vector generator 121 includes a first vector pair (PAIR1) and a second context vector consisting of a first context vector (CTX1') and a first entity vector (ENT1').
  • a second vector pair PAIR2 consisting of (CTX2') and a second entity vector ENT2' may be generated.
  • the first context vector CTX1 ′ and the second context vector CTX2 ′ may commonly include a vector corresponding to an expression similar to the predicate vector PRE′ or the predicate vector PRE′.
  • the predicate evaluation unit 120 may include a first artificial neural network ANN1 and a second artificial neural network ANN2.
  • the first predicate evaluation unit ANN1 may receive a first vector pair PAIR1 and a second vector pair PAIR2, and may generate a semantic vector SEM′ therefrom.
  • the semantic vector (SEM') may represent the meaning of the entities (ENT1, ENT2) and the predicate (PRE) in the contexts (CTX1, CTX2), and 2 related to the predicate (PRE) due to two or more vector pairs. It may have a meaning including the above usage aspects. As shown in FIG.
  • the second artificial neural network ANN2 may receive a semantic vector SEM' and a predicate vector PRE', and may output a predicate score vector SCR.
  • a first vector pair (PAIR1), a second vector pair (PAIR2), and a predicate vector (PRE') in one artificial neural network eg, ANN of FIG. 3 May be provided.
  • the first artificial neural network (ANN1) is trained by passing the errors generated from the predicate score vector (SCR) in the training step to the first artificial neural network (ANN1) through the second artificial neural network (ANN2). I can.
  • the predicate score vector SCR may include a first vector V1 representing a degree of matching with regular predicates included in the knowledge base 300 and a second vector V2 corresponding to a new regular predicate.
  • the first vector V1 corresponds to n regular predicates, respectively. It may include n elements (RP 1 , RP 2 , RP 3 ,..., RP n ), and the second vector V2 may include one element (R n+1 ).
  • Fig. 6 is a flow chart showing a method for reinforcing a knowledge base according to an exemplary embodiment of the present invention.
  • the method for reinforcing the knowledge base may include a plurality of steps S20, S40, S60, and S80.
  • the method of FIG. 6 may be performed by the knowledge base augmentation system 100 of FIG. 1, and FIG. 6 will be described below with reference to FIG. 1.
  • step S20 an operation of extracting a predicate (PRE), an entity (ENT), and a context (CTX) may be performed.
  • the preprocessor 110 may process text included in the input data 200 in natural language.
  • the predicate (PRE), the entity (ENT), and the context (CTX) may be referred to the knowledge base 300. Can be extracted.
  • step S40 an operation of obtaining a predicate score vector (SCR) may be performed.
  • the predicate evaluation unit 120 uses the learned artificial neural network (ANN) to obtain a predicate score vector (SCR) from the predicate (PRE), entity (ENT), and context (CTX) extracted in step S20. can do.
  • ANN learned artificial neural network
  • SCR predicate score vector
  • PRE predicate
  • ENT entity
  • CTX context
  • step S60 an operation of determining whether to update the knowledge base 300 may be performed.
  • the knowledge base updater 130 may determine whether to reflect the predicate PRE to the knowledge base 300 based on values included in the predicate score vector SCR.
  • the knowledge base updater 130 may determine whether to reflect the predicate PRE to the knowledge base 300 based on a maximum value among values included in the predicate score vector SCR.
  • An example of step S60 will be described with reference to FIG. 8. As shown in FIG. 6, when it is determined that the knowledge base 300 is updated, step S80 may follow, while otherwise, the method of FIG. 6 may end.
  • step S80 an operation of adding the predicate PRE to the knowledge base 300 may be performed.
  • the knowledge base update unit 130 may add a predicate (PRE) as an expression type of a regular predicate included in the knowledge base 300, as described above with reference to FIGS. 2A and 2B, and FIG. 2C
  • a new regular predicate different from the regular predicates included in the knowledge base 300 may be generated, and a predicate (PRE) may be added as a phenotype of the new regular predicate.
  • PRE predicate
  • An example of step S80 will be described later with reference to FIG. 8.
  • Fig. 7 is a flow chart showing a method for reinforcing a knowledge base according to an exemplary embodiment of the present invention. Specifically, the flowchart of FIG. 7 shows an example of step S40 of FIG. 6. As described above with reference to FIG. 6, an operation of obtaining a predicate score vector (SCR) may be performed in step S40' of FIG. 7. As shown in FIG. 7, step S40' may include steps S42 and S44. In some embodiments, step S40' may be performed by the predicate evaluating unit 120, and FIG. 7 will be described below with reference to FIGS. 3 and 5.
  • SCR predicate score vector
  • step S42 an operation of obtaining a semantic vector (SEM') from the entity (ENT) and the context (CTX) may be performed.
  • the vector generator 121 may generate an entity vector ENT' and a context vector CTX' from the entity ENT and the context CTX.
  • the entity vector ENT' and the context vector CTX' may be provided to the first artificial neural network ANN1, and the first artificial neural network ANN1 may output a semantic vector SEM'.
  • the vector generator 121 may receive a plurality of entities and a plurality of contexts, and may generate a plurality of vector pairs.
  • a plurality of vector pairs may be provided to the first artificial neural network ANN1, and the first artificial neural network ANN1 may output a semantic vector SEM'.
  • step S44 an operation of obtaining a predicate score vector SCR from the semantic vector SEM' and the predicate PRE may be performed.
  • the vector generator 121 may generate a predicate vector PRE' from the predicate PRE.
  • the second artificial neural network ANN2 may receive a semantic vector SEM' and a predicate vector PRE', and may output a predicate score vector SCR.
  • Fig. 8 is a flow chart showing a method for reinforcing a knowledge base according to an exemplary embodiment of the present invention. Specifically, the flowchart of FIG. 8 shows examples of steps S60 and S80 of FIG. 6. As described above with reference to FIG. 6, it may be determined whether the knowledge base 300 is updated in step S60' of FIG. 8, and an operation of adding a predicate (PRE) to the knowledge base 300 in step S80' is performed. Can be done. As shown in FIG. 8, step S60' may include steps S62 and S64, and step S80' may include steps S82, S84, and S86. In some embodiments, the method of FIG. 8 may be performed by the knowledge base update unit 130 of FIG. 1, and FIG. 8 will be described below with reference to FIGS. 1 and 5.
  • PRE predicate
  • step S62 an operation of detecting a maximum value among elements included in the predicate score vector SCR may be performed.
  • the predicate score vector (SCR) may include n+1 elements (RP 1 ,..., RP n+1 ), and the knowledge base update unit 130 may detect a maximum value RP k of n+1 elements RP 1 ,..., RP n+1 (1 ⁇ k ⁇ n+1).
  • the knowledge base update unit 130 may further detect not only the largest value (which may be referred to as the first maximum value) but also the second largest value (which may be referred to as the second maximum value). May be.
  • step S64 an operation of comparing a maximum value among elements of the predicate score vector SCR with a predefined criterion may be performed.
  • the knowledge base update unit 130 may compare the maximum value RP k detected in step S62 with the threshold value THR.
  • the maximum value RP k is greater than or equal to the threshold value THR, that is, when the predicate PRE has a high degree of matching with a specific regular predicate or a new regular predicate
  • step S82 of step S80' follows. can do.
  • step S80' may not be performed.
  • the knowledge base update unit 130 compares the difference between the first maximum value and the second maximum value detected in step S62 with a predefined reference. Can be. Accordingly, when the first maximum value and the second maximum value exceed a predefined criterion, step S80' may be subsequently performed, while otherwise, step S80' may not be performed.
  • step S82 an operation of determining whether the detected maximum value belongs to the first vector V1 of the predicate score vector SCR may be performed.
  • a knowledge base update unit 130 may check whether or not the index k is 1 or greater than n corresponding to the maximum value k RP.
  • the predicate PRE is one of the regular predicates of the knowledge base 300 (that is, a regular predicate corresponding to RP k). )
  • step S84 may be performed subsequently.
  • the predicate (PRE) corresponds to the new normal predicate. If so, it may be performed subsequent to step S86.
  • step S84 an operation of adding the predicate PRE to the expression type of the kth regular predicate may be performed.
  • the knowledge base update unit 130 may add a predicate (PRE) to the expression type of the kth regular predicate corresponding to the maximum value RP k among n regular predicates. Accordingly, a triple including the kth regular predicate and the predicate PRE connected by the predicate “label” may be added to the knowledge base 300.
  • PRE predicate
  • step S86 an operation of adding the predicate PRE as an n+1th regular predicate may be performed.
  • the knowledge base update unit 130 may add a predicate (PRE) as an n+1th regular predicate different from the existing n regular predicates as a new regular predicate.
  • PRE predicate
  • a URI of an entity corresponding to the n+1th regular predicate may be generated, and a corresponding entity connected by the predicate “label” and a triple including the predicate PRE may be added to the knowledge base 300.
  • the knowledge base updater 130 may determine whether to update the knowledge base 300 and an update method using a plurality of threshold values, differently from that shown in FIG. 8.
  • the knowledge base update unit 130 may include a threshold value used when determining whether to add to one of the existing regular predicates, that is, a threshold value at which elements included in the first vector V1 are compared, and A threshold value used when determining whether to add as a new regular predicate, that is, a threshold value at which elements included in the second vector V2 are compared may be set differently.
  • the knowledge base update unit 130 may calculate not only the maximum value of the elements of the predicate score vector (SCR), but also statistical characteristics, such as average and variance, and calculate the calculated values at least one It is also possible to determine whether or not to update and how to update by comparing with a threshold value.
  • SCR predicate score vector

Abstract

A system for reinforcing knowledge data of a knowledge base according to an exemplary embodiment of the present invention may comprise: a predicate extraction unit for extracting a predicate from input data; an entity extraction unit for extracting an entity from the input data; a context extracting unit for extracting a context of an entity including a predicate from the input data; a predicate evaluation unit for acquiring a predicate score vector from a predicate, an entity, and a context on the basis of a learned artificial neural network; and a knowledge base update unit for determining whether to update the knowledge base on the basis of the predicate score vector, and updating the knowledge base on the basis of the predicate according to a result of the determination.

Description

지식 베이스 보강을 위한 시스템 및 방법Systems and methods for reinforcing knowledge base
본 발명의 기술적 사상은 지식 베이스에 관한 것으로서, 자세하게는 지식 베이스 보강을 위한 시스템 및 방법에 관한 것이다.The technical idea of the present invention relates to a knowledge base, and in detail, to a system and method for reinforcing a knowledge base.
본 발명은 미래창조과학부 SW컴퓨팅원천기술개발사업(SW)의 일환으로 (주)솔트룩스가 주관하고 연구하여 수행된 연구로부터 도출된 것이다. [연구기간: 2019.01.01~2019.12.31, 연구관리 전문기관: 정보통신기술진흥센터, 연구과제명: WiseKB: 빅데이터 이해 기반 자가학습형 지식베이스 및 추론 기술 개발, 과제 고유번호: 2013-0-00109]The present invention is derived from research conducted and conducted by Saltlux Co., Ltd. as part of the SW Computing Source Technology Development Project (SW) of the Ministry of Science, ICT and Future Planning. [Research Period: 2019.01.01~2019.12.31, Research management professional institution: Information and Communication Technology Promotion Center, Research project name: WiseKB: Development of self-learning knowledge base and reasoning technology based on understanding big data, project serial number: 2013-0 -00109]
지식 데이터를 저장하고 저장된 지식 데이터를 제공하는 지식 베이스(knowledge base)가 구축될 수 있다. 예를 들면, 지식 베이스는 구조화된 지식 데이터를 포함할 수 있고, 지식 데이터는 다양한 방식으로 생성될 수 있다. 방대한 양의 지식에 기인하여, 지식 베이스 구축을 위하여 사람에 의한 큐레이션 작업은 한계가 있을 수 있다. 예를 들면, 지식 베이스에서 엔티티들 사이 관계를 나타내는 술어(predicate)는 엔티티와 비교할 때 상대적으로 적은 수를 가질 수 있으나, 동일한 술어, 즉 동일한 의미를 나타내는 다수의 표현들 또는 신규 술어를 큐레이션 작업을 통해서 검증하고 추가하는 것은 현실적으로 용이하지 아니할 수 있다.A knowledge base can be built that stores knowledge data and provides the stored knowledge data. For example, the knowledge base may include structured knowledge data, and the knowledge data may be generated in various ways. Due to the vast amount of knowledge, curation work by humans to build a knowledge base may be limited. For example, in the knowledge base, predicates representing relationships between entities may have a relatively small number when compared to entities, but curation of the same predicate, that is, multiple expressions representing the same meaning, or new predicates. It may not be practically easy to verify and add through.
본 발명의 기술적 사상은, 지식 베이스에 포함된 술어들을 보강하기 위한 지식 보강 시스템 및 방법을 제공한다.The technical idea of the present invention provides a knowledge reinforcement system and method for reinforcing predicates included in a knowledge base.
상기와 같은 목적을 달성하기 위하여, 본 발명의 기술적 사상에 따라, 지식 베이스의 지식 데이터를 보강하기 위한 시스템은, 입력 데이터로부터 술어(predicate)를 추출하는 술어 추출부, 입력 데이터로부터 엔티티를 추출하는 엔티티 추출부, 입력 데이터로부터 술어를 포함하는 엔티티의 컨텍스트를 추출하는 컨텍스트 추출부, 학습된 인공 신경망에 기초하여, 술어, 엔티티 및 컨텍스트로부터 술어 점수 벡터를 획득하는 술어 평가부, 및 술어 점수 벡터에 기초하여 지식 베이스의 갱신 여부를 판정하고, 판정 결과에 따라 술어에 기초하여 지식 베이스를 갱신하는 지식 베이스 갱신부를 포함할 수 있다.In order to achieve the above object, according to the technical idea of the present invention, a system for reinforcing knowledge data of a knowledge base includes a predicate extraction unit for extracting a predicate from input data, and an entity for extracting an entity from input data. An entity extracting unit, a context extracting unit that extracts the context of an entity including a predicate from the input data, a predicate evaluation unit that obtains a predicate score vector from the predicate, the entity, and the context based on the learned artificial neural network, and the predicate score vector. It may include a knowledge base update unit that determines whether to update the knowledge base based on the determination result, and updates the knowledge base based on the predicate according to the determination result.
본 발명의 예시적 실시예에 따라, 술어 평가부는, 입력 데이터로부터 추출된 복수의 엔티티들 및 복수의 엔티티들에 각각 대응하고 술어를 포함하는 복수의 컨텍스트들로부터 술어 점수 벡터를 획득할 수 있다.According to an exemplary embodiment of the present invention, the predicate evaluating unit may obtain a predicate score vector from a plurality of contexts each corresponding to the plurality of entities and the plurality of entities extracted from the input data and including the predicate.
본 발명의 예시적 실시예에 따라, 술어 평가부는, 워드 벡터 모델을 참조하여 술어, 엔티티 및 컨텍스트에 대응하는 벡터들을 획득하고, 획득된 벡터들을 인공 신경망에 제공할 수 있다.According to an exemplary embodiment of the present invention, the predicate evaluating unit may obtain vectors corresponding to the predicate, entity, and context with reference to the word vector model, and provide the obtained vectors to the artificial neural network.
본 발명의 예시적 실시예에 따라, 술어 평가부는, 학습된 제1 인공 신경망에 기초하여, 엔티티 및 컨텍스트로부터 시맨틱(semantic) 벡터를 획득할 수 있고, 학습된 제2 인공 신경망에 기초하여, 시맨틱 벡터 및 술어로부터 술어 점수 벡터를 획득할 수 있다.According to an exemplary embodiment of the present invention, the predicate evaluation unit may obtain a semantic vector from the entity and context based on the learned first artificial neural network, and based on the learned second artificial neural network, the semantic Predicate score vectors can be obtained from vectors and predicates.
본 발명의 예시적 실시예에 따라, 술어 점수 벡터는, 술어와 지식 베이스에 포함된 정규 술어들 사이 매칭 정도를 나타내는 제1 벡터, 및 술어의 신규 생성 가능성을 나타내는 제2 벡터를 포함할 수 있다.According to an exemplary embodiment of the present invention, the predicate score vector may include a first vector indicating the degree of matching between the predicate and the regular predicates included in the knowledge base, and a second vector indicating the possibility of new generation of the predicate. .
본 발명의 예시적 실시예에 따라, 지식 베이스 갱신부는, 술어 점수 벡터에 포함된 값들 중 최대값이 미리 정의된 기준치 이상이고 제1 벡터에 포함된 경우, 최대값에 대응하는 정규 술어의 표현형에 술어를 추가할 수 있다.According to an exemplary embodiment of the present invention, when the maximum value among the values included in the predicate score vector is greater than or equal to a predefined reference value and is included in the first vector, the expression type of the regular predicate corresponding to the maximum value is Predicates can be added.
본 발명의 예시적 실시예에 따라, 지식 베이스 갱신부는, 술어 점수 벡터에 포함된 값들 중 최대값이 미리 정의된 기준치 이상이고 제2 벡터에 포함된 경우, 술어를 신규 정규 술어로서 지식 베이스에 추가할 수 있다.According to an exemplary embodiment of the present invention, the knowledge base update unit adds the predicate as a new regular predicate to the knowledge base when the maximum value among the values included in the predicate score vector is greater than or equal to a predefined reference value and is included in the second vector. can do.
본 발명의 예시적 실시예에 따라, 지식 베이스 갱신부는, 술어 점수 벡터에 포함된 값들 중 최대값이 미리 정의된 기준치 미만인 경우, 술어에 기초한 지식 베이스의 갱신을 종료할 수 있다.According to an exemplary embodiment of the present invention, the knowledge base update unit may terminate the update of the knowledge base based on the predicate when the maximum value among values included in the predicate score vector is less than a predefined reference value.
본 발명의 기술적 사상의 일측면에 따라, 지식 베이스의 지식 데이터를 보강하기 위한 방법은, 입력 데이터로부터, 술어, 엔티티 및 술어를 포함하는 엔티티의 컨텍스트를 추출하는 단계, 학습된 인공 신경망에 기초하여, 술어, 엔티티 및 컨텍스트로부터 술어 점수 벡터를 획득하는 단계, 술어 점수 벡터에 기초하여, 지식 베이스의 갱신 여부를 판정하는 단계, 및 판정 결과에 따라, 술어에 기초하여 지식 베이스를 갱신하는 단계를 포함할 수 있고, 술어 점수 벡터는, 술어와 지식 베이스에 포함된 정규 술어들 사이 매칭 정도를 나타내는 제1 벡터, 및 술어의 신규 생성 가능성을 나타내는 제2 벡터를 포함할 수 있다.According to an aspect of the technical idea of the present invention, a method for reinforcing knowledge data of a knowledge base includes extracting a context of an entity including a predicate, an entity, and a predicate from the input data, based on the learned artificial neural network. , Obtaining a predicate score vector from the predicate, entity and context, determining whether to update the knowledge base based on the predicate score vector, and updating the knowledge base based on the predicate according to the determination result. The predicate score vector may include a first vector indicating a degree of matching between the predicate and regular predicates included in the knowledge base, and a second vector indicating the possibility of new generation of the predicate.
본 발명의 예시적 실시예에 따라, 술어 점수 벡터를 획득하는 단계는, 학습된 제1 인공 신경망에 기초하여, 엔티티 및 컨텍스트로부터 시맨틱(semantic) 벡터를 획득하는 단계, 및 학습된 제2 인공 신경망에 기초하여, 시맨틱 벡터 및 술어로부터 술어 점수 벡터를 획득하는 단계를 포함할 수 있다.According to an exemplary embodiment of the present invention, the obtaining of the predicate score vector includes obtaining a semantic vector from the entity and context based on the learned first artificial neural network, and the learned second artificial neural network. Based on the semantic vector and the predicate score vector from the predicate.
본 발명의 기술적 사상에 따른 시스템 및 방법에 의하면, 기계 학습을 이용하여 동일한 술어에 대응하는 표현들이 용이하게 검증되고 지식 베이스에 추가될 수 있다.According to the system and method according to the technical idea of the present invention, expressions corresponding to the same predicate can be easily verified and added to a knowledge base using machine learning.
또한, 본 발명의 기술적 사상에 따른 시스템 및 방법에 의하면, 기계 학습을 이용하여 신규 술어가 용이하게 검증되고 지식 베이스에 추가될 수 있다.Further, according to the system and method according to the technical idea of the present invention, a new predicate can be easily verified and added to a knowledge base using machine learning.
또한, 본 발명의 기술적 사상에 따른 시스템 및 방법에 의하면, 술어의 표현들 및 신규 술어가 높은 신뢰도로 추가됨으로써 지식 베이스가 유효하게 보강될 수 있고, 지식 베이스의 신뢰도 및 활용도가 현저하게 상승할 수 있다.In addition, according to the system and method according to the technical idea of the present invention, the knowledge base can be effectively reinforced by adding expressions of predicates and new predicates with high reliability, and the reliability and utilization of the knowledge base can be remarkably increased. have.
본 발명의 예시적 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 기재로부터 본 발명의 예시적 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 발명의 예시적 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 발명의 예시적 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.The effects obtainable in the exemplary embodiments of the present invention are not limited to the above-mentioned effects, and other effects not mentioned are common knowledge in the technical field to which the exemplary embodiments of the present invention belong from the following description. It can be clearly derived and understood by those who have. That is, unintended effects of implementing the exemplary embodiments of the present invention may also be derived from the exemplary embodiments of the present invention by a person having ordinary skill in the art.
도 1은 본 발명의 예시적 실시예에 따른 시스템 및 그 입출력 관계를 나타내는 블록도이다.1 is a block diagram showing a system and an input/output relationship thereof according to an exemplary embodiment of the present invention.
도 2a, 도 2b 및 도 2c는 본 발명의 예시적 실시예들에 따라 술어가 지식 베이스에 추가되는 예시들을 나타낸다.2A, 2B and 2C show examples in which a predicate is added to a knowledge base according to exemplary embodiments of the present invention.
도 3은 본 발명의 예시적 실시예에 따른 술어 평가부를 나타내는 블록도이다.3 is a block diagram showing a predicate evaluating unit according to an exemplary embodiment of the present invention.
도 4는 본 발명의 예시적 실시예에 따른 벡터 생성부를 나타내는 블록도이다.Fig. 4 is a block diagram showing a vector generator according to an exemplary embodiment of the present invention.
도 5는 본 발명의 예시적 실시예에 따라 술어 평가부의 동작의 예시를 나타내는 도면이다.5 is a diagram illustrating an example of an operation of a predicate evaluation unit according to an exemplary embodiment of the present invention.
도 6는 본 발명의 예시적 실시예에 따라 지식 베이스 보강을 위한 방법을 나타내는 순서도이다.Fig. 6 is a flow chart showing a method for reinforcing a knowledge base according to an exemplary embodiment of the present invention.
도 7은 본 발명의 예시적 실시예에 따라 지식 베이스 보강을 위한 방법을 나타내는 순서도이다.Fig. 7 is a flow chart showing a method for reinforcing a knowledge base according to an exemplary embodiment of the present invention.
도 8은 본 발명의 예시적 실시예에 따른 지식 베이스 보강을 위한 방법을 나타내는 순서도이다.Fig. 8 is a flow chart showing a method for reinforcing a knowledge base according to an exemplary embodiment of the present invention.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Embodiments of the present invention are provided to more completely describe the present invention to those with average knowledge in the art. In the present invention, various modifications may be made and various forms may be applied, and specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to a specific form disclosed, it should be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention. In describing each drawing, similar reference numerals are used for similar elements. In the accompanying drawings, the dimensions of the structures are shown to be enlarged or reduced compared to the actual one for clarity of the present invention.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수개의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance the possibility of the presence or addition.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 아니하는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein including technical or scientific terms have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should be interpreted as an ideal or excessively formal meaning unless explicitly defined in this application. It doesn't work.
이하 도면 및 설명에서, 하나의 블록으로 표시 또는 설명되는 구성요소는 하드웨어 블록 또는 소프트웨어 블록일 수 있다. 예를 들면, 구성요소들 각각은 서로 신호를 주고 받는 독립적인 하드웨어 블록일 수도 있고, 또는 적어도 하나의 프로세서에서 실행되는 소프트웨어 블록일 수도 있다. 소프트웨어 블록은 적어도 하나의 프로세서에 의해서 실행가능한 일련의 명령어들 및/또는 컴파일을 통해서 그러한 명령어들이 생성될 수 있는 소스 코드를 포함할 수 있고, 광학 기억 매체(예컨대, CD, DVD 등), 반도체 메모리 장치(예컨대, 플래시 메모리, EPROM 등), 자기 디스크 장치(예컨대, 하드 디스크 드라이브, 자기 테이프 등) 등과 같은 컴퓨터로 독출가능한 비일시적인 저장 매체, 예컨대 에 저장될 수 있다. 또한, 본 명세서에서 "시스템" 또는 "데이터베이스"는 적어도 하나의 프로세서 및 프로세서에 의해서 액세스되는 메모리를 포함하는 컴퓨팅 시스템을 지칭할 수 있다.In the following drawings and description, a component indicated or described as a single block may be a hardware block or a software block. For example, each of the components may be an independent hardware block that transmits and receives signals from each other, or may be a software block executed by at least one processor. The software block may include a series of instructions executable by at least one processor and/or source code from which such instructions may be generated through compilation, and an optical storage medium (eg, CD, DVD, etc.), a semiconductor memory It may be stored in a computer-readable non-transitory storage medium such as a device (eg, flash memory, EPROM, etc.), a magnetic disk device (eg, a hard disk drive, a magnetic tape, etc.). In addition, in the present specification, “system” or “database” may refer to a computing system including at least one processor and a memory accessed by the processor.
도 1은 본 발명의 예시적 실시예에 따른 시스템 및 그 입출력 관계를 나타내는 블록도이다. 도 1에 도시된 바와 같이, 지식 베이스 보강 시스템(100)은 입력 데이터(200)를 수신할 수 있고, 지식 베이스(300)와 통신가능하게 연결될 수 있다. 일부 실시예들에서, 지식 베이스 보강 시스템(100)은 지식 베이스(300)와 네트워크를 통해서 상호 통신할 수도 있고, 일대일 통신을 위한 전용 채널을 통해서 상호 통신할 수도 있다. 일부 실시예들에서, 지식 베이스 보강 시스템(100)은 지식 베이스(300)를 포함할 수도 있다.1 is a block diagram showing a system and an input/output relationship thereof according to an exemplary embodiment of the present invention. As shown in FIG. 1, the knowledge base reinforcement system 100 may receive input data 200 and may be communicatively connected with the knowledge base 300. In some embodiments, the knowledge base reinforcement system 100 may communicate with the knowledge base 300 through a network, or may communicate with each other through a dedicated channel for one-to-one communication. In some embodiments, the knowledge base augmentation system 100 may include a knowledge base 300.
입력 데이터(200)는 다양한 정보를 포함하는 데이터를 지칭할 수 있다. 일부 실시예들에서, 지식 베이스 보강 시스템(100)은 인터넷을 통해서 입력 데이터(200)를 수집할 수 있다. 예를 들면, 입력 데이터(200)는 위키백과(wikipedia.org)에서 제공하는 정보 문서일 수도 있고, 언론사 홈페이지에서 제공하는 기사일 수도 있으며, 소셜 네트워크 서비스(social networking service; SNS)에서 작성된 문서들일 수도 있다. 또한, 일부 실시예들에서, 지식 베이스 보강 시스템(100)은 로컬 네트워크를 통해서 입력 데이터(200)를 수신할 수도 있고, 저장 매체에 액세스함으로써 저장 매체에 저장된 입력 데이터(200)를 수신할 수도 있다. 입력 데이터(200)는 텍스트를 포함할 수 있고, 지식 베이스 보강 시스템(100)은 입력 데이터(200)의 텍스트에 포함된 술어(predicate)를 지식 베이스(300)에 추가할지 여부를 판단할 수 있다.The input data 200 may refer to data including various types of information. In some embodiments, the knowledge base augmentation system 100 may collect the input data 200 through the Internet. For example, the input data 200 may be an information document provided by Wikipedia.org, an article provided by a press company homepage, or documents created by a social networking service (SNS). May be. In addition, in some embodiments, the knowledge base enhancement system 100 may receive the input data 200 through a local network, or may receive the input data 200 stored in the storage medium by accessing the storage medium. . The input data 200 may include text, and the knowledge base reinforcement system 100 may determine whether to add a predicate included in the text of the input data 200 to the knowledge base 300. .
지식 베이스(300)는 온톨로지에 기초하여 구조화된 지식(또는 지식 데이터)을 포함할 수 있다. 온톨로지(ontology)는 실존하거나 사람이 인식 가능한 것들을 컴퓨터에서 다룰 수 있는 형태로 표현한 것으로서, 온톨로지 구성요소들은, 예컨대 엔티티(entity; E)(또는 인스턴스(instance)), 클래스(class; C), 속성(property; P), 값(value; V)을 포함할 수 있다. 추가적으로, 온톨로지 구성요소들은, 관계(relation), 함수 텀(function term), 제한(restriction), 규칙(rule), 사건(event) 등을 더 포함할 수 있다. 관계는, 비제한적인 예시로서 엔티티-엔티티 관계, 엔티티-클래스 관계, 엔티티-속성 관계, 엔티티-값(숫자, 텍스트 등) 관계 등을 나타낼 수 있다. 관계는 지식 베이스(300)의 외부(예컨대, 현실 세계)에서, 술어로 표현될 수 있다. 예를 들면, "결승전에서 수원과 대구가 맞붙는다"에서 "맞붙는다"는 엔티티들 "수원" 및 "대구" 사이 관계를 나타내는 술어일 수 있다.The knowledge base 300 may include knowledge (or knowledge data) structured based on an ontology. Ontology is a representation of things that exist or can be recognized by humans in a form that can be handled by a computer. Ontology components are, for example, entities (E) (or instances), classes (C), and attributes. It can contain (property; P) and value (V). Additionally, the ontology components may further include a relationship, a function term, a restriction, a rule, an event, and the like. The relationship may represent, as a non-limiting example, an entity-entity relationship, an entity-class relationship, an entity-attribute relationship, an entity-value (number, text, etc.) relationship. The relationship may be expressed as a predicate outside of the knowledge base 300 (eg, the real world). For example, it may be a predicate representing a relationship between entities "Suwon" and "Daegu", from "Suwon and Daegu meet in the final" to "match".
지식 베이스(300)는 온톨로지에 기반하여 방대한 지식 데이터를 저장할 수 있고, 예컨대 지식 베이스(300)는 RDF(Resource Description Framework)를 사용하여 표현된 지식 데이터를 포함할 수 있다. 일 실시예들에서, 지식 데이터 단위로서 트리플(triple)이 사용될 수 있고, 지식 베이스(300)는 쿼리, 예컨대 SPARQL(SPARQL Protocol and RDF Query Language) 쿼리에 응답하여 트리플을 반환할 수 있다. 트리플은 "주어-술어-목적어"로 구성될 수 있고, 엔티티는 트리플의 주어뿐만 아니라 목적어도 될 수 있고, 일부 실시예들에서 술어도 될 수 있다. 이에 따라, 지식 베이스(300)에 저장된 지식 데이터는 지식 그래프로서 지칭될 수도 있다. 엔티티 및 술어는 고유한 식별자, 예컨대 통합 자원 식별자(Uniform Resource Identifier; URI)를 각각 가질 수 있고, 통합 자원 식별자에 의해서 액세스될 수 있다.The knowledge base 300 may store vast amounts of knowledge data based on an ontology. For example, the knowledge base 300 may include knowledge data expressed using a Resource Description Framework (RDF). In one embodiment, a triple may be used as a unit of knowledge data, and the knowledge base 300 may return a triple in response to a query, such as a SPARQL Protocol and RDF Query Language (SPARQL) query. A triple may be composed of a "subject-predicate-object", and an entity may be not only a subject of a triple, but also an object, and may be a predicate in some embodiments. Accordingly, the knowledge data stored in the knowledge base 300 may be referred to as a knowledge graph. The entity and the predicate may each have a unique identifier, such as a Uniform Resource Identifier (URI), and may be accessed by the Unified Resource Identifier.
엔티티 및 술어(또는 관계)는, 예컨대 도 2a, 도 2b 및 도 2c를 참조하여 후술되는 바와 같이, 다양한 표현(또는 표현형)들을 가질 수 있고, 동일한 엔티티 또는 동일한 술어에 대응하는 표현들은 지식 베이스(300)의 유용성을 높이는데 중대할 수 있다. 예를 들면, 지식 베이스(300)가 질의 응답 시스템에 사용되는 경우, 사용자의 질의는 그 형식 및 표현이 방대할 수 있고, 그러한 방대한 표현을 인식하고 응답을 제공하기 위하여 지식 베이스(300)는 동일한 대상, 즉 엔티티 또는 술어에 대응하는 다수의 표현들을 포함할 수 있다. 지식 베이스(300)는 이러한 표현들을 술어(또는 관계), 예컨대 "label"을 사용하여 엔티티 또는 술어와 연결시킬 수 있다. 예를 들면, 지식 베이스(300)는, 도 2b를 참조하여 후술되는 바와 같이, 술어 "eat"와 관련하여 "eat-label-먹다", "eat-label-섭취하다"과 같은 트리플들을 포함할 수 있다.Entities and predicates (or relationships) may have various expressions (or expressions), for example, as will be described later with reference to Figs. 2A, 2B and 2C, and expressions corresponding to the same entity or the same predicate can be found in the knowledge base ( 300) can be critical in increasing its usefulness. For example, when the knowledge base 300 is used in a question answering system, the user's query may have a vast format and expression, and in order to recognize such a vast expression and provide a response, the knowledge base 300 It may contain multiple expressions corresponding to an object, that is, an entity or a predicate. The knowledge base 300 may associate these expressions with an entity or a predicate using a predicate (or relationship), such as “label”. For example, the knowledge base 300 may include triples such as "eat-label-eat" and "eat-label-take" in relation to the predicate "eat", as will be described later with reference to FIG. 2B. I can.
도면들을 참조하여 후술되는 바와 같이, 지식 베이스 보강 시스템(100)은 입력 데이터(200)에 기초하여 자동으로 술어를 검증하고 지식 베이스(300)에 추가함으로써 지식 베이스(300)를 보강할 수 있고, 이에 따라 지식 베이스(300)의 유용성이 현저하게 향상될 수 있다. 지식 베이스 보강 시스템(100)은, 도 1에 도시된 바와 같이, 전처리부(110), 술어 평가부(120) 및 지식 베이스 갱신부(130)를 포함할 수 있다.As will be described later with reference to the drawings, the knowledge base reinforcement system 100 can reinforce the knowledge base 300 by automatically verifying the predicate based on the input data 200 and adding it to the knowledge base 300, Accordingly, the usefulness of the knowledge base 300 may be remarkably improved. The knowledge base reinforcement system 100 may include a preprocessor 110, a predicate evaluation unit 120, and a knowledge base update unit 130, as shown in FIG. 1.
전처리부(110)는 입력 데이터(200)로부터 엔티티(ENT), 술어(PRE) 및 컨텍스트(CTX)를 추출할 수 있다. 예를 들면, 도 1에 도시된 바와 같이, 엔티티 추출부(112)는 입력 데이터(200)로부터 엔티티(ENT)를 추출할 수 있고, 술어 추출부(114)는 입력 데이터(200)로부터 술어(PRE)를 추출할 수 있으며, 컨텍스트 추출부(116)는 입력 데이터(200)로부터 컨텍스트(CTX)를 추출할 수 있다. 일부 실시예들에서, 엔티티(ENT), 술어(PRE) 및 컨텍스트(CTX)가 개별적으로 추출되는 도 1에 도시된 바와 상이하게, 입력 데이터(200)를 공통적으로 처리하는 과정에서 엔티티(ENT), 술어(PRE) 및 컨텍스트(CTX)가 추출될 수도 있다. 컨텍스트(CTX)는 입력 데이터(200)에서 엔티티(ENT) 및 술어(PRE)를 포함하는 단위로서, 미리 정의된 윈도우 크기에 따라 길이가 결정될 수 있다. 예를 들면, 전술된 예시 "결승전에서 수원과 대구가 맞붙는다"에서 엔티티(ENT)로서 "수원", "대구"가 추출될 수 있고, 술어(PRE)로서 "맞붙는다"가 추출될 수 있으며, 컨텍스트(CTX)로서 "결승전/에서/수원/대구/맞붙는다"가 추출될 수 있다. The preprocessor 110 may extract an entity (ENT), a predicate (PRE), and a context (CTX) from the input data 200. For example, as shown in FIG. 1, the entity extracting unit 112 may extract an entity (ENT) from the input data 200, and the predicate extracting unit 114 may extract a predicate ( PRE) may be extracted, and the context extracting unit 116 may extract a context (CTX) from the input data 200. In some embodiments, the entity (ENT), the predicate (PRE), and the context (CTX) are individually extracted, different from that shown in Fig. 1, in the process of commonly processing the input data 200, the entity (ENT) , Predicate (PRE) and context (CTX) may be extracted. The context (CTX) is a unit including an entity (ENT) and a predicate (PRE) in the input data 200, and a length may be determined according to a predefined window size. For example, in the above-described example "Suwon and Daegu meet in the final", "Suwon" and "Daegu" may be extracted as an entity (ENT), and "Attached" as a predicate (PRE) may be extracted, and the context As (CTX), "Finals/In/Suwon/Daegu/Meet" can be extracted.
엔티티(ENT), 술어(PRE) 및 컨텍스트(CTX)는 입력 데이터(200)로부터 임의의 방식으로 추출될 수 있다. 예를 들면, 전처리부(110)는 형태소 분석 및 구문 분석을 포함하는 자연어 처리에 기초하여 입력 데이터(200)에 포함된 텍스트를 처리할 수 있다. 일부 실시예들에서, 전처리부(110)는 의존성 파싱(dependency parsing) 및/또는 SRL(Semantic Role Labeling)에 기초하여 입력 데이터(200)의 텍스트에 포함된 문장 분석을 통해서 트리플이 추출될 수 있다. 예를 들면, 본원과 동일한 출원인에 의해서 출원되고 본 명세서에 전체로서 참조되어 포함되는, 한국특허출원 제10-2018-0150093호에서 설명된 "자연어 이해부"와 같이, 전처리부(110)는 형태소 분석부, 구문 분석부, 개체명 분석부, 필터링 분석부, 의도 분석부, 도메인 분석부) 및 시맨틱 롤 라벨링(Semantic Role Labeling; SRL)부 중 적어도 하나를 포함할 수 있다. 추출된 트리플로부터 엔티티(ENT) 및 술어(PRE)가 추출될 수 있고, 엔티티(ENT) 및 술어(PRE)를 포함하는 컨텍스트(CTX)가 입력 데이터(200)로부터 추출될 수 있다. 일부 실시예들에서, 도 1에서 점선 화살표로 표시된 바와 같이, 입력 데이터(200)로부터 트리플을 추출하는 동작은 지식 베이스(300)를 참조하여 수행될 수 있다. 일부 실시예들에서, 도 4를 참조하여 후술되는 바와 같이, 추출된 엔티티(ENT)는 지식 베이스(300)에 포함된 엔티티와 일치하지 아니할 수도 있다.The entity (ENT), predicate (PRE), and context (CTX) may be extracted from the input data 200 in any manner. For example, the preprocessor 110 may process text included in the input data 200 based on natural language processing including morpheme analysis and syntax analysis. In some embodiments, the preprocessor 110 may extract a triple through sentence analysis included in the text of the input data 200 based on dependency parsing and/or Semantic Role Labeling (SRL). . For example, like the "natural language understanding unit" described in Korean Patent Application No. 10-2018-0150093, filed by the same applicant as the present application and incorporated herein by reference in its entirety, the preprocessing unit 110 is a morpheme It may include at least one of an analysis unit, a syntax analysis unit, an entity name analysis unit, a filtering analysis unit, an intention analysis unit, a domain analysis unit), and a Semantic Role Labeling (SRL) unit. An entity (ENT) and a predicate (PRE) may be extracted from the extracted triple, and a context (CTX) including the entity (ENT) and the predicate (PRE) may be extracted from the input data 200. In some embodiments, as indicated by a dotted arrow in FIG. 1, the operation of extracting a triple from the input data 200 may be performed with reference to the knowledge base 300. In some embodiments, as described later with reference to FIG. 4, the extracted entity ENT may not match the entity included in the knowledge base 300.
술어(PRE)는 문장 내에 주어진 단어들 사이 의존관계, 즉 단어들의 역할들에 기초하여 입력 데이터(200)로부터 추출되었으므로, 술어(PRE) 및 지식 베이스(300)에 포함된 술어들(본 명세서에서 정규 술어들로서 지칭될 수 있다) 사이 관계는 불명인 상태일 수 있다. 예를 들면, 술어(PRE)는 지식 베이스(300)에 포함된 정규 술어의 표현형들 중 하나일 수도 있고, 지식 베이스(300)에 포함된 정규 술어의 신규 표현형일 수도 있으며, 지식 베이스(300)에 신규 정규 술어로서 추가가 필요한 술어에 대응할 수도 있다. 또한, 술어(PRE)는 입력 데이터(200) 및/또는 전처리부(110)의 오류에 기인하여 지식 베이스(300)에 추가가 불필요한 술어에 대응할 수도 있다. Since the predicate (PRE) is extracted from the input data 200 based on the dependencies between words given in a sentence, that is, the roles of the words, the predicates included in the predicate (PRE) and the knowledge base 300 (in this specification) May be referred to as regular predicates) may be in an unknown state. For example, the predicate (PRE) may be one of the expression types of the regular predicate included in the knowledge base 300, may be a new expression type of the regular predicate included in the knowledge base 300, and the knowledge base 300 It may correspond to a predicate that needs to be added as a new regular predicate. In addition, the predicate PRE may correspond to a predicate that is not added to the knowledge base 300 due to an error in the input data 200 and/or the preprocessor 110.
술어 평가부(120)는 전처리부(110)로부터 술어(PRE)뿐만 아니라, 술어(PRE)와 관계된 엔티티(ENT) 및 컨텍스트(CTX)를 수신할 수 있고, 인공 신경망(Artificial Neural Network; ANN)을 사용하여 술어(PRE)를 평가할 수 있다. 인공 신경망은 뉴런(neuron)(또는 뉴런 모델)들이 상호 연결된 집합들을 구현하는 구조를 지칭할 수 있다. 인공 뉴런은 입력 데이터에 대한 단순 연산들을 수행함으로써 출력을 생성할 수 있고, 출력은 다른 인공 뉴런에 입력으로서 전달될 수 있다. 술어 평가부(120)는 기계 학습(machine learning)에 기초하여 술어(PRE)를 평가할 수 있고, 인공 신경망(ANN)의 명칭에 제한되지 아니한다. 예를 들면, 인공 신경망(ANN)은 딥 러닝(deep learning) 네트워크로서 지칭될 수도 있고, 심층 신경망(Deep Neural Network; DNN), 합성곱 신경망(Convolution Neural Network; CNN), 순환 신경망(Recurrent Neural Network; RNN), 제한 볼츠만 머신(Restricted Boltzmann Machine; RBM), 심층 신뢰 신경망(Deep Belief Network; DBN), 심층 Q-네트워크(Deep Q-Network)를 포함할 수도 있다. 도 1에 도시된 바와 같이, 술어 평가부(120)는 술어(PRE)를 평가함으로써 술어 점수 벡터(SCR)를 생성할 수 있고, 술어 점수 벡터(SCR)는 술어(PRE) 및 지식 베이스(300)에 포함된 정규 술어들과의 관계를 나타낼 수 있다. 술어 평가부(120)의 예시는 도 3 및 도 5를 참조하여 후술될 것이다.The predicate evaluation unit 120 may receive not only the predicate (PRE), but also an entity (ENT) and context (CTX) related to the predicate (PRE) from the preprocessing unit 110, and may receive an artificial neural network (ANN). Can be used to evaluate the predicate (PRE). An artificial neural network may refer to a structure in which neurons (or neuron models) are interconnected. Artificial neurons can generate outputs by performing simple operations on input data, and outputs can be passed as inputs to other artificial neurons. The predicate evaluation unit 120 may evaluate the predicate PRE based on machine learning, and is not limited to the name of the artificial neural network (ANN). For example, an artificial neural network (ANN) may be referred to as a deep learning network, or a deep neural network (DNN), a convolution neural network (CNN), or a recurrent neural network. ; RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Deep Q-Network. As shown in FIG. 1, the predicate evaluation unit 120 may generate a predicate score vector (SCR) by evaluating a predicate (PRE), and the predicate score vector (SCR) is a predicate (PRE) and a knowledge base (300). ) Can represent relations with regular predicates included in ). An example of the predicate evaluation unit 120 will be described later with reference to FIGS. 3 and 5.
지식 베이스 갱신부(130)는 술어 평가부(120)로부터 술어 점수 벡터(SCR)를 수신할 수 있고, 술어 점수 벡터(SCR)에 기초하여 술어(PRE)에 기초한 지식 베이스(300)의 갱신을 수행할 수 있다. 예를 들면, 지식 베이스 갱신부(130)는 술어 점수 벡터(SCR)에 기초하여 지식 베이스(300)의 갱신 여부 및 갱신 방식을 판정할 수 있고, 판정된 갱신 방식에 따라 술어(PRE)를 지식 베이스(300)에 추가할 수 있다. 지식 베이스 갱신부(130)의 동작의 예시는 도 8을 참조하여 후술될 것이다.The knowledge base update unit 130 may receive a predicate score vector (SCR) from the predicate evaluation unit 120, and update the knowledge base 300 based on a predicate (PRE) based on the predicate score vector (SCR). You can do it. For example, the knowledge base update unit 130 may determine whether or not to update the knowledge base 300 and an update method based on the predicate score vector (SCR), and knowledge of the predicate (PRE) according to the determined update method. It can be added to the base 300. An example of the operation of the knowledge base update unit 130 will be described later with reference to FIG. 8.
도 2a, 도 2b 및 도 2c는 본 발명의 예시적 실시예들에 따라 술어가 지식 베이스에 추가되는 예시들을 나타낸다. 구체적으로, 도 2a 및 도 2b는 정규 술어의 일 표현형으로서 술어가 추가되는 예시를 나타내고, 도 2c는 신규 정규 술어로서 술어가 추가되는 예시를 나타낸다. 이하에서, 도 2a, 도 2b 및 도 2c에 대한 설명 중 상호 중복되는 내용은 생략될 것이며, 도 2a, 도 2b 및 도 2c는 도 1을 참조하여 설명될 것이다.2A, 2B and 2C show examples in which a predicate is added to a knowledge base according to exemplary embodiments of the present invention. Specifically, FIGS. 2A and 2B show an example in which a predicate is added as an expression form of a regular predicate, and FIG. 2C shows an example in which a predicate is added as a new regular predicate. Hereinafter, in the description of FIGS. 2A, 2B, and 2C, overlapping contents will be omitted, and FIGS. 2A, 2B, and 2C will be described with reference to FIG. 1.
도 2a를 참조하면, 지식 베이스(300)는 정규 술어로서 "accept"를 포함할 수 있다. 도 1을 참조하여 전술된 바와 같이, 정규 술어는 복수의 표현형들을 가질 수 있고, 예컨대 도 2a에 도시된 바와 같이, 정규 술어 "accept"는 표현형들 "인정하다", "받아들이다" 등을 가질 수 있다. 지식 베이스(300)에서 정규 술어 "accept"는 표현형들 "인정하다", "받아들이다" 등과 "label" 술어로서 트리플들을 각각 형성할 수 있다. 전처리부(110)는 술어(PRE)로서 "수락하다"를 입력 데이터(200)로부터 추출할 수 있고, 술어 평가부(120)는 "수락하다"가 기존의 정규 술어들 중 "accept"에 가장 부합하는 것을 나타내는 술어 점수 벡터(SCR)를 지식 베이스 갱신부(130)에 제공할 수 있다. 이에 따라, 지식 베이스 갱신부(130)는 엔티티 "accept"의 URI를 지식 베이스(300)로부터 획득할 수 있고, 획득된 URI 및 "수락하다"를 술어 "label"로 연결함으로써 신규 트리플을 생성하여 지식 베이스(300)에 추가할 수 있다.Referring to FIG. 2A, the knowledge base 300 may include “accept” as a regular predicate. As described above with reference to FIG. 1, the regular predicate may have a plurality of phenotypes, for example, as shown in FIG. 2A, the regular predicate “accept” has the phenotypes “accept”, “accept”, etc. I can. In the knowledge base 300, the regular predicate "accept" may form triples as the phenotypes "accept", "accept", and the like "label" predicates, respectively. The preprocessor 110 may extract "accept" as a predicate (PRE) from the input data 200, and the predicate evaluating part 120 has the most "accept" among the existing regular predicates. A predicate score vector (SCR) indicating a match may be provided to the knowledge base update unit 130. Accordingly, the knowledge base update unit 130 may obtain the URI of the entity “accept” from the knowledge base 300, and generate a new triple by connecting the obtained URI and “accept” with the predicate “label”. It can be added to the knowledge base 300.
도 2b를 참조하면, 지식 베이스(300)는 정규 술어로서 "lift" 및 "eat"를 포함할 수 있다. 전처리부(110)가 술어(PRE)로서 "들다"를 입력 데이터(200)로부터 추출하는 경우, 비록 정규 술어 "lift"의 표현형으로서 "들다"가 이미 존재하지만, 술어 평가부(120)는 술어 "들다"가 엔티티(ENT) 및 컨텍스트(CTX)에 기초하여 음식 등을 먹는다는 의미의 "들다"로서 정규 술어 "eat"에 가장 부합하는 것을 나타내는 술어 점수 벡터(SCR)를 지식 베이스 갱신부(130)에 제공할 수 있다. 이에 따라, 지식 베이스 갱신부(130)는 엔티티 "eat"의 URI를 지식 베이스(300)로부터 획득할 수 있고, 획득된 URI 및 "들다"를 술어 "label"로 연결함으로써 신규 트리플을 생성하여 지식 베이스(300)에 추가할 수 있다.Referring to FIG. 2B, the knowledge base 300 may include “lift” and “eat” as regular predicates. When the preprocessor 110 extracts "lift" as a predicate (PRE) from the input data 200, although "lift" already exists as the expression type of the regular predicate "lift", the predicate evaluation unit 120 The knowledge base update unit (SCR), which indicates that "to hold" is "to hold", which means to eat food or the like based on the entity (ENT) and the context (CTX), which best matches the regular predicate "eat" ( 130). Accordingly, the knowledge base update unit 130 may obtain the URI of the entity "eat" from the knowledge base 300, and generate a new triple by connecting the obtained URI and "Listen" with the predicate "label" It can be added to the base 300.
도 2c를 참조하면, 전처리부(110)는 "팔로잉하다" 또는 "팔로우하다"를 입력 데이터(200)로부터 추출할 수 있다. "팔로우(follow)"는 소셜 네트워크 서비스 등에서 사용되는 용어로서 다른 사용자와 관계를 맺는 의미로 사용될 수 있고, 지식 베이스(300)는 이에 대응하는 정규 술어를 포함하지 아니한 상태일 수 있다. 술어 평가부(120)는 엔티티(ENT) 및 컨텍스트(CTX)에 기초하여 술어(PRE) "팔로잉하다" 또는 "팔로우하다"가 현재 지식 베이스(300)에 포함된 정규 술어들 중 어느 것과도 부합하지 아니함을 나타내는 술어 점수 벡터(SCR)를 지식 베이스 갱신부(130)에 제공할 수 있다. 이에 따라, 지식 베이스 갱신부(130)는 신규 정규 술어로서 "follow1"의 신규 URI를 생성하거나, 지식 베이스(300)에 신규 URI의 생성을 요청할 수 있고, 신규 URI 및 "팔로잉하다" 및 "팔로우하다"를 술어 "label"로 각각 연결함으로써 신규 트리플들을 생성하여 지식 베이스(300)에 추가할 수 있다. 일부 실시예들에서, 지식 베이스 갱신부(130)는 지식 베이스(300)에 포함된 정규 술어들 중 어느 것과도 부합하지 아니함을 나타내는 술어 점수 벡터(SCR)가 술어 평가부(120)로부터 제공되는 경우, 관리자의 큐레이션을 위하여 술어(PRE), 엔티티(ENT) 및 컨텍스트(CTX) 등을 포함하는 정보를 외부로 제공하거나 별도로 기록할 수도 있다.Referring to FIG. 2C, the preprocessor 110 may extract "follow" or "follow" from the input data 200. "Follow" is a term used in social network services, etc., and may be used as a meaning of establishing a relationship with another user, and the knowledge base 300 may not include a regular predicate corresponding thereto. Based on the entity (ENT) and the context (CTX), the predicate evaluating unit 120 determines that the predicate (PRE) “follows” or “follows” does not match any of the regular predicates included in the current knowledge base 300. A predicate score vector (SCR) indicating non-matching may be provided to the knowledge base update unit 130. Accordingly, the knowledge base update unit 130 may generate a new URI of "follow1" as a new regular predicate, or request the creation of a new URI from the knowledge base 300, and the new URI and "follow" and "follow" New triples may be created and added to the knowledge base 300 by connecting each of "follow" with the predicate "label". In some embodiments, the knowledge base update unit 130 provides a predicate score vector (SCR) indicating that it does not match any of the regular predicates included in the knowledge base 300 from the predicate evaluation unit 120. In this case, information including a predicate (PRE), an entity (ENT), and a context (CTX) may be provided externally or separately recorded for curation by the administrator.
도 3은 본 발명의 예시적 실시예에 따른 술어 평가부(120)를 나타내는 블록도이다. 도 1을 참조하여 전술된 바와 같이, 술어 평가부(120)는 전처리부(110)로부터 엔티티(ENT), 술어(PRE) 및 컨텍스트(CTX)를 수신할 수 있고, 술어 점수 벡터(SCR)를 출력할 수 있다. 도 3에 도시된 바와 같이, 술어 평가부(120)는 벡터 생성부(121) 및 인공 신경망(ANN)을 포함할 수 있다. 이하에서, 도 3은 도 1을 참조하여 설명될 것이다.3 is a block diagram showing a predicate evaluating unit 120 according to an exemplary embodiment of the present invention. As described above with reference to FIG. 1, the predicate evaluating unit 120 may receive an entity (ENT), a predicate (PRE), and a context (CTX) from the preprocessing unit 110, and obtain a predicate score vector (SCR). Can be printed. As shown in FIG. 3, the predicate evaluation unit 120 may include a vector generation unit 121 and an artificial neural network (ANN). In the following, FIG. 3 will be described with reference to FIG. 1.
벡터 생성부(121)는 워드 벡터 모델(400)을 참조하여 엔티티(ENT), 술어(PRE) 및 컨텍스트(CTX)에 각각 대응하는 벡터들을 생성할 수 있다. 워드 벡터 모델(400)은, 의미를 가지는 워드(또는 토큰, 단어 등)가 하나의 좌표, 즉 워드 벡터로 표현되는 다차원 공간, 또는 워드 벡터들을 포함하고 워드 벡터들을 갱신하는 시스템을 지칭할 수 있다. 일부 실시예들에서, 워드 벡터 모델(400)은 인공 신경망을 포함할 수 있고, 기계 학습에 의해서 학습될 수도 있다. 의미상 유사한 워드들은 다차원 공간에서 인접하게 배치될 수 있고, 이에 따라 의미상 유사한 워드들에 대응하는 워드 벡터들은 유사한 값들을 가질 수 있다. 일부 실시예들에서, 워드 벡터 모델(400)은 지식 베이스 보강 시스템(100)에 포함될 수도 있고, 술어 평가부(120)는 지식 베이스 보강 시스템(100)의 외부에 있는 워드 벡터 모델(400)에 액세스할 수도 있다. 벡터 생성부(121)의 예시는 도 4를 참조하여 후술될 것이다.The vector generator 121 may generate vectors corresponding to each of the entity (ENT), the predicate (PRE), and the context (CTX) by referring to the word vector model 400. The word vector model 400 may refer to a multidimensional space in which a word (or token, word, etc.) having meaning is expressed as a single coordinate, that is, a word vector, or a system that includes word vectors and updates word vectors. . In some embodiments, the word vector model 400 may include an artificial neural network, and may be learned by machine learning. Words that are semantically similar may be arranged adjacent to each other in a multidimensional space, and accordingly, word vectors corresponding to words that are semantically similar may have similar values. In some embodiments, the word vector model 400 may be included in the knowledge base reinforcement system 100, and the predicate evaluation unit 120 is applied to the word vector model 400 outside the knowledge base reinforcement system 100. You can also access it. An example of the vector generator 121 will be described later with reference to FIG. 4.
인공 신경망(ANN)이 술어 점수 벡터(SCR)를 적절하게 출력하기 위하여, 인공 신경망(ANN)은 각각 의미를 가지는 엔티티(ENT), 술어(PRE) 및 컨텍스트(CTX)에 대응하는 벡터들을 수신할 수 있다. 예를 들면, 도 3에 도시된 바와 같이, 벡터 생성부(121)는 워드 벡터 모델(400)을 참조하여 엔티티(ENT), 술어(PRE) 및 컨텍스트(CTX)에 각각 대응하는 엔티티 벡터(ENT'), 술어 벡터(PRE') 및 컨텍스트 벡터(CTX')를 출력할 수 있다. 인공 신경망(ANN)은 엔티티 벡터(ENT'), 술어 벡터(PRE') 및 컨텍스트 벡터(CTX')의 샘플들에 기초하여 학습된 상태일 수 있다. 일부 실시예들에서, 인공 신경망(ANN)은 강화 학습에 기초하여 훈련될 수 있다. 도 1을 참조하여 전술된 바와 같이, 인공 신경망(ANN)이 출력하는 술어 점수 벡터(SCR)는 술어(PRE)가 정규 술어들에 매칭하는 경우 어느 정규 술어에 매칭하는지를 나타낼 수 있고, 술어(PRE)가 신규 정규 술어에 대응함을 나타낼 수도 있으며, 신규 정규 술어를 포함하는 어떠한 정규 술어들에도 매칭되지 아니함을 나타낼 수도 있다.In order for the artificial neural network (ANN) to properly output the predicate score vector (SCR), the artificial neural network (ANN) receives vectors corresponding to the entities (ENT), predicates (PRE), and contexts (CTX) each having a meaning. I can. For example, as shown in FIG. 3, the vector generation unit 121 refers to the word vector model 400 and refers to an entity vector corresponding to an entity (ENT), a predicate (PRE), and a context (CTX). '), a predicate vector (PRE'), and a context vector (CTX') can be output. The artificial neural network (ANN) may be in a learned state based on samples of an entity vector (ENT'), a predicate vector (PRE'), and a context vector (CTX'). In some embodiments, an artificial neural network (ANN) may be trained based on reinforcement learning. As described above with reference to FIG. 1, the predicate score vector (SCR) output from the artificial neural network (ANN) may indicate which regular predicate matches when the predicate (PRE) matches regular predicates, and the predicate (PRE ) May indicate that it corresponds to a new regular predicate, or it may indicate that it does not match any regular predicates including the new regular predicate.
도 4는 본 발명의 예시적 실시예에 따라 벡터 생성부(40)를 나타내는 블록도이다. 도 3을 참조하여 전술된 바와 같이, 벡터 생성부(40)는 엔티티(ENT), 컨텍스트(CTX) 및 술어(PRE)로부터 엔티티 벡터(ENT'), 컨텍스트 벡터(CTX') 및 술어 벡터(PRE')를 생성할 수 있다. 도 4에 도시된 바와 같이, 벡터 생성부(40)는 엔티티 벡터 생성부(41), 컨텍스트 벡터 생성부(42) 및 술어 벡터 생성부(43)를 포함할 수 있고, 이하에서 도 4는 도 3을 참조하여 설명될 것이다.4 is a block diagram showing a vector generator 40 according to an exemplary embodiment of the present invention. As described above with reference to FIG. 3, the vector generator 40 includes an entity vector (ENT'), a context vector (CTX'), and a predicate vector (PRE) from an entity (ENT), a context (CTX), and a predicate (PRE). ') can be created. As shown in FIG. 4, the vector generation unit 40 may include an entity vector generation unit 41, a context vector generation unit 42, and a predicate vector generation unit 43. It will be explained with reference to 3.
일부 실시예들에서, 도 3의 워드 벡터 모델(400)은 제1 워드 벡터 모델(410) 및 제2 워드 벡터 모델(420)을 포함할 수 있고, 벡터 생성부(40)는 제1 워드 벡터 모델(410) 및 제2 워드 벡터 모델(420)을 참조할 수 있다. 제1 워드 벡터 모델(410)은 입력 데이터(200)의 텍스트에 포함된 워드에 대응하는 워드 벡터를 제공할 수 있다. 이에 따라, 컨텍스트 벡터 생성부(42) 및 술어 벡터 생성부(43)는 제1 워드 벡터 모델(410)을 참조하여 컨텍스트(CTX) 및 술어(PRE)로부터 컨텍스트 벡터(CTX') 및 술어 벡터(PRE')를 각각 생성할 수 있다. 일부 실시예들에서, 제1 워드 벡터 모델(410)은 표현형을 위한 워드 벡터 모델로서 지칭될 수 있다.In some embodiments, the word vector model 400 of FIG. 3 may include a first word vector model 410 and a second word vector model 420, and the vector generator 40 is a first word vector model. Reference may be made to the model 410 and the second word vector model 420. The first word vector model 410 may provide a word vector corresponding to a word included in text of the input data 200. Accordingly, the context vector generation unit 42 and the predicate vector generation unit 43 refer to the first word vector model 410, and the context vector (CTX') and the predicate vector ( PRE') can be created respectively. In some embodiments, the first word vector model 410 may be referred to as a word vector model for phenotype.
제2 워드 벡터 모델(420)은 지식 베이스(300)에 포함된 엔티티를 나타내는 엔티티 벡터를 제공할 수 있다. 예를 들면, 전술된 예시 "결승전에서 수원과 대구가 맞붙는다"에서, "수원", "대구"는 해당 도시를 의미하기 보다, 도시를 연고로 하는 스포츠 팀들을 의미할 수 있다. 전처리부(110)가 추출한 엔티티들이 지식 베이스(300)에 포함된 엔티티들 중 하나의 엔티티에 대응되도록, 엔티티 벡터 생성부(41)는 제2 워드 벡터 모델(420)을 참조하여 엔티티 벡터(ENT')를 생성할 수 있다. 예를 들면, 엔티티 벡터 생성부(41)는 제1 워드 벡터 모델(410)을 참조하여 엔티티(ENT)에 대응하는 워드 벡터를 획득할 수 있고, 제2 워드 벡터 모델(420)을 참조하여 획득된 워드 벡터 및 컨텍스트 벡터(CTX')로부터 엔티티 벡터(ENT')를 생성할 수 있다. 이에 따라, 엔티티 벡터 생성부(41)는 전술된 예시의 엔티티 "수원", "대구"로부터, "결승전/에서"를 포함하는 컨텍스트(CTX)로부터 생성된 컨텍스트 벡터(CTX')에 기인하여 지식 베이스(300)에 포함된 엔티티들 중 도시를 의미하는 엔티티들이 아니라 스포츠 팀을 나타내는 엔티티들에 대응하는 엔티티 벡터(ENT')를 생성할 수 있다. 일부 실시예들에서, 인공 신경망(ANN)을 학습하는 동안 엔티티 벡터(ENT')는 큐레이션에 의해서 사용자에 의해 직접 제공될 수도 있다. 일부 실시예들에서, 제2 워드 벡터 모델(420)은 엔티티 링킹(linking) 모델로서 지칭될 수 있다.The second word vector model 420 may provide an entity vector representing an entity included in the knowledge base 300. For example, in the above-described example "Suwon and Daegu meet in the final", "Suwon" and "Daegu" may mean sports teams related to a city rather than a corresponding city. The entity vector generator 41 refers to the second word vector model 420 so that the entities extracted by the preprocessor 110 correspond to one of the entities included in the knowledge base 300. ') can be created. For example, the entity vector generator 41 may obtain a word vector corresponding to the entity ENT with reference to the first word vector model 410, and obtain the word vector with reference to the second word vector model 420 An entity vector (ENT') may be generated from the converted word vector and the context vector (CTX'). Accordingly, the entity vector generation unit 41 has knowledge due to the context vector (CTX') generated from the context (CTX) including the "final/in" from the above-described exemplary entities "Suwon" and "Daegu" Among the entities included in the base 300, an entity vector ENT' corresponding to entities representing a sports team rather than entities representing a city may be generated. In some embodiments, while learning the artificial neural network (ANN), the entity vector ENT' may be directly provided by the user by curation. In some embodiments, the second word vector model 420 may be referred to as an entity linking model.
도 5는 본 발명의 예시적 실시예에 따라 술어 평가부(120)의 동작의 예시를 나타내는 도면이다. 도 3을 참조하여 전술된 바와 같이, 술어 평가부(120)는 엔티티(ENT), 술어(PRE) 및 컨텍스트(CTX)에 각각 대응하는 엔티티 벡터(ENT'), 술어 벡터(PRE') 및 컨텍스트 벡터(CTX')를 수신할 수 있고, 술어 점수 벡터(SCR)를 출력할 수 있다. 이하에서, 도 5는 도 3을 참조하여 설명될 것이다.5 is a diagram illustrating an example of an operation of the predicate evaluating unit 120 according to an exemplary embodiment of the present invention. As described above with reference to FIG. 3, the predicate evaluating unit 120 includes an entity vector (ENT'), a predicate vector (PRE'), and a context respectively corresponding to an entity (ENT), a predicate (PRE), and a context (CTX). A vector (CTX') can be received and a predicate score vector (SCR) can be output. In the following, FIG. 5 will be described with reference to FIG. 3.
일부 실시예들에서, 술어 평가부(120)는 엔티티(ENT) 및 이를 포함하는 컨텍스트(CTX)로 각각 구성된 복수의 벡터 쌍들을 수신할 수 있고, 벡터 생성부(121)는 워드 벡터 모델(400)을 참조하여 복수의 벡터 쌍들과 각각 대응하는 벡터들을 생성할 수 있다. 예를 들면, 도 5에 도시된 바와 같이, 벡터 생성부(121)는 제1 컨텍스트 벡터(CTX1') 및 제1 엔티티 벡터(ENT1')로 구성된 제1 벡터 쌍(PAIR1) 및 제2 컨텍스트 벡터(CTX2') 및 제2 엔티티 벡터(ENT2')로 구성된 제2 벡터 쌍(PAIR2)을 생성할 수 있다. 제1 컨텍스트 벡터(CTX1') 및 제2 컨텍스트 벡터(CTX2')는 술어 벡터(PRE') 또는 술어 벡터(PRE')와 유사한 표현에 대응하는 벡터를 공통적으로 포함할 수 있다.In some embodiments, the predicate evaluation unit 120 may receive a plurality of vector pairs each composed of an entity (ENT) and a context (CTX) including the same, and the vector generation unit 121 is a word vector model 400 ), a plurality of vector pairs and corresponding vectors may be generated. For example, as shown in FIG. 5, the vector generator 121 includes a first vector pair (PAIR1) and a second context vector consisting of a first context vector (CTX1') and a first entity vector (ENT1'). A second vector pair PAIR2 consisting of (CTX2') and a second entity vector ENT2' may be generated. The first context vector CTX1 ′ and the second context vector CTX2 ′ may commonly include a vector corresponding to an expression similar to the predicate vector PRE′ or the predicate vector PRE′.
일부 실시예들에서, 술어 평가부(120)는 제1 인공 신경망(ANN1) 및 제2 인공 신경망(ANN2)을 포함할 수 있다. 도 5에 도시된 바와 같이, 제1 술어 평가부(ANN1)는 제1 벡터 쌍(PAIR1) 및 제2 벡터 쌍(PAIR2)을 수신할 수 있고, 그로부터 시맨틱 벡터(SEM')를 생성할 수 있다. 시맨틱 벡터(SEM')는 컨텍스트들(CTX1, CTX2)에서 엔티티들(ENT1, ENT2) 및 술어(PRE)가 사용되는 의미를 나타낼 수 있고, 2이상의 벡터 쌍들에 기인하여 술어(PRE)와 관련된 2이상의 사용 태양들을 포함하는 의미를 가질 수 있다. 도 5에 도시된 바와 같이, 제2 인공 신경망(ANN2)은 시맨틱 벡터(SEM') 및 술어 벡터(PRE')를 수신할 수 있고, 술어 점수 벡터(SCR)를 출력할 수 있다. 일부 실시예들에서, 도 5에 도시된 바와 상이하게, 하나의 인공 신경망(예컨대, 도 3의 ANN)에 제1 벡터 쌍(PAIR1), 제2 벡터 쌍(PAIR2) 및 술어 벡터(PRE')가 제공될 수도 있다. 일부 실시예들에서, 제1 인공 신경망(ANN1)은 훈련 단계에서 술어 점수 벡터(SCR)로부터 발생된 오차들이 제2 인공 신경망(ANN2)을 통과하여 제1 인공 신경망(ANN1)에 도달함으로써 훈련될 수 있다.In some embodiments, the predicate evaluation unit 120 may include a first artificial neural network ANN1 and a second artificial neural network ANN2. As shown in FIG. 5, the first predicate evaluation unit ANN1 may receive a first vector pair PAIR1 and a second vector pair PAIR2, and may generate a semantic vector SEM′ therefrom. . The semantic vector (SEM') may represent the meaning of the entities (ENT1, ENT2) and the predicate (PRE) in the contexts (CTX1, CTX2), and 2 related to the predicate (PRE) due to two or more vector pairs. It may have a meaning including the above usage aspects. As shown in FIG. 5, the second artificial neural network ANN2 may receive a semantic vector SEM' and a predicate vector PRE', and may output a predicate score vector SCR. In some embodiments, different from that shown in FIG. 5, a first vector pair (PAIR1), a second vector pair (PAIR2), and a predicate vector (PRE') in one artificial neural network (eg, ANN of FIG. 3) May be provided. In some embodiments, the first artificial neural network (ANN1) is trained by passing the errors generated from the predicate score vector (SCR) in the training step to the first artificial neural network (ANN1) through the second artificial neural network (ANN2). I can.
술어 점수 벡터(SCR)는 지식 베이스(300)에 포함된 정규 술어들과의 매칭 정도를 나타내는 제1 벡터(V1) 및 신규 정규 술어에 대응하는 제2 벡터(V2)를 포함할 수 있다. 예를 들면, 도 5에 도시된 바와 같이, 지식 베이스(300)가 n개의 정규 술어들을 포함하는 경우(n은 1보다 큰 정수), 제1 벡터(V1)는 n개의 정규 술어들에 각각 대응하는 n개의 원소들(RP1, RP2, RP3,..., RPn)을 포함할 수 있고, 제2 벡터(V2)는 하나의 원소(Rn+1)를 포함할 수 있다. 술어 점수 벡터(SCR)의 값에 따라 지식 베이스(300)를 갱신하는 동작의 예시가 도 8을 참조하여 후술될 것이다.The predicate score vector SCR may include a first vector V1 representing a degree of matching with regular predicates included in the knowledge base 300 and a second vector V2 corresponding to a new regular predicate. For example, as shown in FIG. 5, when the knowledge base 300 includes n regular predicates (n is an integer greater than 1), the first vector V1 corresponds to n regular predicates, respectively. It may include n elements (RP 1 , RP 2 , RP 3 ,..., RP n ), and the second vector V2 may include one element (R n+1 ). An example of an operation of updating the knowledge base 300 according to the value of the predicate score vector SCR will be described later with reference to FIG. 8.
도 6은 본 발명의 예시적 실시예에 따라 지식 베이스 보강을 위한 방법을 나타내는 순서도이다. 도 6에 도시된 바와 같이, 지식 베이스 보강을 위한 방법은 복수의 단계들(S20, S40, S60, S80)을 포함할 수 있다. 일부 실시예들에서, 도 6의 방법은 도 1의 지식 베이스 보강 시스템(100)에 의해서 수행될 수 있고, 이하에서 도 6은 도 1을 참조하여 설명될 것이다.Fig. 6 is a flow chart showing a method for reinforcing a knowledge base according to an exemplary embodiment of the present invention. As shown in FIG. 6, the method for reinforcing the knowledge base may include a plurality of steps S20, S40, S60, and S80. In some embodiments, the method of FIG. 6 may be performed by the knowledge base augmentation system 100 of FIG. 1, and FIG. 6 will be described below with reference to FIG. 1.
단계 S20에서, 술어(PRE), 엔티티(ENT) 및 컨텍스트(CTX)를 추출하는 동작이 수행될 수 있다. 예를 들면, 전처리부(110)는 입력 데이터(200)에 포함된 텍스트를 자연어 처리할 수 있고, 예컨대 지식 베이스(300)를 참조하여 술어(PRE), 엔티티(ENT) 및 컨텍스트(CTX)를 추출할 수 있다. In step S20, an operation of extracting a predicate (PRE), an entity (ENT), and a context (CTX) may be performed. For example, the preprocessor 110 may process text included in the input data 200 in natural language. For example, the predicate (PRE), the entity (ENT), and the context (CTX) may be referred to the knowledge base 300. Can be extracted.
단계 S40에서, 술어 점수 벡터(SCR)를 획득하는 동작이 수행될 수 있다. 예를 들면, 술어 평가부(120)는 학습된 인공 신경망(ANN)을 사용하여, 단계 S20에서 추출된 술어(PRE), 엔티티(ENT) 및 컨텍스트(CTX)로부터 술어 점수 벡터(SCR)를 획득할 수 있다. 단계 S40의 예시는 도 7을 참조하여 후술될 것이다.In step S40, an operation of obtaining a predicate score vector (SCR) may be performed. For example, the predicate evaluation unit 120 uses the learned artificial neural network (ANN) to obtain a predicate score vector (SCR) from the predicate (PRE), entity (ENT), and context (CTX) extracted in step S20. can do. An example of step S40 will be described later with reference to FIG. 7.
단계 S60에서, 지식 베이스(300)의 갱신 여부를 판정하는 동작이 수행될 수 있다. 예를 들면, 지식 베이스 갱신부(130)는 술어 점수 벡터(SCR)에 포함된 값들에 기초하여 술어(PRE)를 지식 베이스(300)에 반영할지 여부를 판정할 수 있다. 일부 실시예들에서, 지식 베이스 갱신부(130)는 술어 점수 벡터(SCR)에 포함된 값들 중 최대값에 기초하여 술어(PRE)를 지식 베이스(300)에 반영할지 여부를 판정할 수 있다. 단계 S60의 예시는 도 8을 참조하여 설명될 것이다. 도 6에 도시된 바와 같이, 지식 베이스(300)의 갱신이 판정된 경우 단계 S80이 후속할 수 있는 한편, 그렇지 아니한 경우 도 6의 방법은 종료할 수 있다.In step S60, an operation of determining whether to update the knowledge base 300 may be performed. For example, the knowledge base updater 130 may determine whether to reflect the predicate PRE to the knowledge base 300 based on values included in the predicate score vector SCR. In some embodiments, the knowledge base updater 130 may determine whether to reflect the predicate PRE to the knowledge base 300 based on a maximum value among values included in the predicate score vector SCR. An example of step S60 will be described with reference to FIG. 8. As shown in FIG. 6, when it is determined that the knowledge base 300 is updated, step S80 may follow, while otherwise, the method of FIG. 6 may end.
단계 S80에서, 술어(PRE)를 지식 베이스(300)에 추가하는 동작이 수행될 수 있다. 예를 들면, 지식 베이스 갱신부(130)는 도 2a 및 도 2b를 참조하여 전술된 바와 같이, 지식 베이스(300)에 포함된 정규 술어의 표현형으로서 술어(PRE)를 추가할 수도 있고, 도 2c를 참조하여 전술된 바와 같이, 지식 베이스(300)에 포함된 정규 술어들과 상이한 신규 정규 술어를 생성하고 신규 정규 술어의 표현형으로서 술어(PRE)를 추가할 수도 있다. 단계 S80의 예시는 도 8을 참조하여 후술될 것이다.In step S80, an operation of adding the predicate PRE to the knowledge base 300 may be performed. For example, the knowledge base update unit 130 may add a predicate (PRE) as an expression type of a regular predicate included in the knowledge base 300, as described above with reference to FIGS. 2A and 2B, and FIG. 2C As described above with reference to, a new regular predicate different from the regular predicates included in the knowledge base 300 may be generated, and a predicate (PRE) may be added as a phenotype of the new regular predicate. An example of step S80 will be described later with reference to FIG. 8.
도 7은 본 발명의 예시적 실시예에 따라 지식 베이스 보강을 위한 방법을 나타내는 순서도이다. 구체적으로, 도 7의 순서도는 도 6의 단계 S40의 예시를 나타낸다. 도 6를 참조하여 전술된 바와 같이, 도 7의 단계 S40'에서 술어 점수 벡터(SCR)를 획득하는 동작이 수행될 수 있다. 도 7에 도시된 바와 같이, 단계 S40'은 단계 S42 및 단계 S44를 포함할 수 있다. 일부 실시예들에서, 단계 S40'은 술어 평가부(120)에 의해서 수행될 수 있고, 이하에서 도 7은 도 3 및 도 5를 참조하여 설명될 것이다.Fig. 7 is a flow chart showing a method for reinforcing a knowledge base according to an exemplary embodiment of the present invention. Specifically, the flowchart of FIG. 7 shows an example of step S40 of FIG. 6. As described above with reference to FIG. 6, an operation of obtaining a predicate score vector (SCR) may be performed in step S40' of FIG. 7. As shown in FIG. 7, step S40' may include steps S42 and S44. In some embodiments, step S40' may be performed by the predicate evaluating unit 120, and FIG. 7 will be described below with reference to FIGS. 3 and 5.
단계 S42에서, 엔티티(ENT) 및 컨텍스트(CTX)로부터 시맨틱 벡터(SEM')를 획득하는 동작이 수행될 수 있다. 예를 들면, 벡터 생성부(121)는 엔티티(ENT) 및 컨텍스트(CTX)로부터 엔티티 벡터(ENT') 및 컨텍스트 벡터(CTX')를 생성할 수 있다. 엔티티 벡터(ENT') 및 컨텍스트 벡터(CTX')는 제1 인공 신경망(ANN1)에 제공될 수 있고, 제1 인공 신경망(ANN1)은 시맨틱 벡터(SEM')를 출력할 수 있다. 또한, 도 5를 참조하여 전술된 바와 같이, 벡터 생성부(121)는 복수의 엔티티들 및 복수의 컨텍스트들을 수신할 수 있고, 복수의 벡터 쌍들을 생성할 수도 있다. 복수의 벡터 쌍들을 제1 인공 신경망(ANN1)에 제공될 수 있고, 제1 인공 신경망(ANN1)은 시맨틱 벡터(SEM')를 출력할 수 있다.In step S42, an operation of obtaining a semantic vector (SEM') from the entity (ENT) and the context (CTX) may be performed. For example, the vector generator 121 may generate an entity vector ENT' and a context vector CTX' from the entity ENT and the context CTX. The entity vector ENT' and the context vector CTX' may be provided to the first artificial neural network ANN1, and the first artificial neural network ANN1 may output a semantic vector SEM'. In addition, as described above with reference to FIG. 5, the vector generator 121 may receive a plurality of entities and a plurality of contexts, and may generate a plurality of vector pairs. A plurality of vector pairs may be provided to the first artificial neural network ANN1, and the first artificial neural network ANN1 may output a semantic vector SEM'.
단계 S44에서, 시맨틱 벡터(SEM') 및 술어(PRE)로부터 술어 점수 벡터(SCR)를 획득하는 동작이 수행될 수 있다. 예를 들면, 벡터 생성부(121)는 술어(PRE)로부터 술어 벡터(PRE')를 생성할 수 있다. 제2 인공 신경망(ANN2)은 시맨틱 벡터(SEM') 및 술어 벡터(PRE')를 수신할 수 있고, 술어 점수 벡터(SCR)를 출력할 수 있다. In step S44, an operation of obtaining a predicate score vector SCR from the semantic vector SEM' and the predicate PRE may be performed. For example, the vector generator 121 may generate a predicate vector PRE' from the predicate PRE. The second artificial neural network ANN2 may receive a semantic vector SEM' and a predicate vector PRE', and may output a predicate score vector SCR.
도 8은 본 발명의 예시적 실시예에 따른 지식 베이스 보강을 위한 방법을 나타내는 순서도이다. 구체적으로, 도 8의 순서도는 도 6의 단계 S60 및 단계 S80의 예시들을 나타낸다. 도 6를 참조하여 전술된 바와 같이, 도 8의 단계 S60'에서 지식 베이스(300)의 갱신 여부가 판정될 수 있고, 단계 S80'에서 술어(PRE)를 지식 베이스(300)에 추가하는 동작이 수행될 수 있다. 도 8에 도시된 바와 같이, 단계 S60'은 단계 S62 및 단계 S64를 포함할 수 있고, 단계 S80'은 단계 S82, 단계 S84 및 단계 S86을 포함할 수 있다. 일부 실시예들에서, 도 8의 방법은 도 1의 지식 베이스 갱신부(130)에 의해서 수행될 수 있고, 이하에서 도 8은 도 1 및 도 5를 참조하여 설명될 것이다.Fig. 8 is a flow chart showing a method for reinforcing a knowledge base according to an exemplary embodiment of the present invention. Specifically, the flowchart of FIG. 8 shows examples of steps S60 and S80 of FIG. 6. As described above with reference to FIG. 6, it may be determined whether the knowledge base 300 is updated in step S60' of FIG. 8, and an operation of adding a predicate (PRE) to the knowledge base 300 in step S80' is performed. Can be done. As shown in FIG. 8, step S60' may include steps S62 and S64, and step S80' may include steps S82, S84, and S86. In some embodiments, the method of FIG. 8 may be performed by the knowledge base update unit 130 of FIG. 1, and FIG. 8 will be described below with reference to FIGS. 1 and 5.
단계 S62에서, 술어 점수 벡터(SCR)에 포함된 원소들 중 최대값을 검출하는 동작이 수행될 수 있다. 예를 들면, 도 5를 참조하여 전술된 바와 같이, 술어 점수 벡터(SCR)는 n+1개의 원소들(RP1,..., RPn+1)을 포함할 수 있고, 지식 베이스 갱신부(130)는 n+1개의 원소들(RP1,..., RPn+1) 중 최대값 RPk를 검출할 수 있다(1≤k≤n+1). 일부 실시예들에서, 지식 베이스 갱신부(130)는 가장 큰 값(제1 최대값으로 지칭될 수 있다)뿐만 아니라 두 번째로 큰 값(제2 최대값으로 지칭될 수 있다)을 더 검출할 수도 있다.In step S62, an operation of detecting a maximum value among elements included in the predicate score vector SCR may be performed. For example, as described above with reference to FIG. 5, the predicate score vector (SCR) may include n+1 elements (RP 1 ,..., RP n+1 ), and the knowledge base update unit 130 may detect a maximum value RP k of n+1 elements RP 1 ,..., RP n+1 (1≤k≤n+1). In some embodiments, the knowledge base update unit 130 may further detect not only the largest value (which may be referred to as the first maximum value) but also the second largest value (which may be referred to as the second maximum value). May be.
단계 S64에서, 술어 점수 벡터(SCR)의 원소들 중 최대값을 미리 정의된 기준과 비교하는 동작이 수행될 수 있다. 예를 들면, 도 8에 도시된 바와 같이, 지식 베이스 갱신부(130)는 단계 S62에서 검출된 최대값 RPk를 문턱값(THR)과 비교할 수 있다. 도 8에 도시된 바와 같이, 최대값 RPk가 문턱값(THR) 이상인 경우, 즉 술어(PRE)가 특정 정규 술어 또는 신규 정규 술어와의 매칭 정도가 높은 경우, 단계 S80'의 단계 S82가 후속할 수 있다. 다른 한편으로, 최대값 RPk가 문턱값(THR) 미만인 경우, 즉 술어(PRE)가 지식 베이스(300)에 포함된 n개의 정규 술어들 중 어느 것과도 현저하게 매칭되지 아니하고 신규 정규 술어와도 현저하게 매칭되지 아니하는 경우, 단계 S80'이 수행되지 아니할 수 있다. 일부 실시예들에서, 도 8에 도시된 바와 상이하게, 지식 베이스 갱신부(130)는 단계 S62에서 검출된 제1 최대값 및 제2 최대값의 차이를 미리 정의된 기준과 비교하는 동작이 수행될 수 있다. 이에 따라, 제1 최대값 및 제2 최대값이 미리 정의된 기준을 초과하는 경우 단계 S80'이 후속하여 수행될 수 있는 한편, 그렇지 아니한 경우 단계 S80'이 수행되지 아니할 수 있다.In step S64, an operation of comparing a maximum value among elements of the predicate score vector SCR with a predefined criterion may be performed. For example, as shown in FIG. 8, the knowledge base update unit 130 may compare the maximum value RP k detected in step S62 with the threshold value THR. As shown in FIG. 8, when the maximum value RP k is greater than or equal to the threshold value THR, that is, when the predicate PRE has a high degree of matching with a specific regular predicate or a new regular predicate, step S82 of step S80' follows. can do. On the other hand, when the maximum value RP k is less than the threshold value (THR), that is, the predicate (PRE) does not remarkably match any of the n regular predicates included in the knowledge base 300, and even with the new regular predicate. If not significantly matched, step S80' may not be performed. In some embodiments, differently from that shown in FIG. 8, the knowledge base update unit 130 compares the difference between the first maximum value and the second maximum value detected in step S62 with a predefined reference. Can be. Accordingly, when the first maximum value and the second maximum value exceed a predefined criterion, step S80' may be subsequently performed, while otherwise, step S80' may not be performed.
단계 S82에서, 검출된 최대값이 술어 점수 벡터(SCR)의 제1 벡터(V1)에 속하는지 여부를 판정하는 동작이 수행될 수 있다. 예를 들면, 지식 베이스 갱신부(130)는 최대값 RPk에 대응하는 인덱스 k가 1이상 n이하인지 여부를 체크할 수 있다. 도 8에 도시된 바와 같이, 최대값 RPk가 제1 벡터(V1)에 속하는 경우, 즉 술어(PRE)가 지식 베이스(300)의 정규 술어들 중 하나(즉, RPk에 대응하는 정규 술어)에 대응하는 경우, 단계 S84가 후속하여 수행될 수 있다. 다른 한편으로, 최대값 RPk가 제1 벡터(V1)에 속하지 아니하는 경우(또는 최대값 RPk가 제2 벡터(V2)에 속하는 경우), 즉 술어(PRE)가 신규 정규 술어에 대응하는 경우, 단계 S86에 후속하여 수행될 수 있다.In step S82, an operation of determining whether the detected maximum value belongs to the first vector V1 of the predicate score vector SCR may be performed. For example, a knowledge base update unit 130 may check whether or not the index k is 1 or greater than n corresponding to the maximum value k RP. As shown in FIG. 8, when the maximum value RP k belongs to the first vector V1, that is, the predicate PRE is one of the regular predicates of the knowledge base 300 (that is, a regular predicate corresponding to RP k). ), step S84 may be performed subsequently. On the other hand, if the maximum value RP k does not belong to the first vector (V1) (or if the maximum value RP k belongs to the second vector (V2)), that is, the predicate (PRE) corresponds to the new normal predicate. If so, it may be performed subsequent to step S86.
단계 S84에서, 술어(PRE)를 제k 정규 술어의 표현형에 추가하는 동작이 수행될 수 있다. 예를 들면, 지식 베이스 갱신부(130)는 n개의 정규 술어들 중 최대값 RPk에 대응하는 제k 정규 술어의 표현형에 술어(PRE)를 추가할 수 있다. 이에 따라, 술어 "label"로 연결된 제k 정규 술어 및 술어(PRE)를 포함하는 트리플이 지식 베이스(300)에 추가될 수 있다.In step S84, an operation of adding the predicate PRE to the expression type of the kth regular predicate may be performed. For example, the knowledge base update unit 130 may add a predicate (PRE) to the expression type of the kth regular predicate corresponding to the maximum value RP k among n regular predicates. Accordingly, a triple including the kth regular predicate and the predicate PRE connected by the predicate “label” may be added to the knowledge base 300.
다른 한편으로, 단계 S86에서, 술어(PRE)를 제n+1 정규 술어로 추가하는 동작이 수행될 수 있다. 예를 들면, 지식 베이스 갱신부(130)는 신규 정규 술어로서 기존 n개의 정규 술어들과 상이한 제n+1 정규 술어로서 술어(PRE)를 추가할 수 있다. 이에 따라, 제n+1 정규 술어에 대응하는 엔티티의 URI가 생성될 수 있고, 술어 "label"로 연결된 해당 엔티티 및 술어(PRE)를 포함하는 트리플이 지식 베이스(300)에 추가될 수 있다.On the other hand, in step S86, an operation of adding the predicate PRE as an n+1th regular predicate may be performed. For example, the knowledge base update unit 130 may add a predicate (PRE) as an n+1th regular predicate different from the existing n regular predicates as a new regular predicate. Accordingly, a URI of an entity corresponding to the n+1th regular predicate may be generated, and a corresponding entity connected by the predicate “label” and a triple including the predicate PRE may be added to the knowledge base 300.
일부 실시예들에서, 지식 베이스 갱신부(130)는, 도 8에 도시된 바와 상이하게, 복수의 문턱값들을 사용하여 지식 베이스(300)의 갱신 여부 및 갱신 방식을 판정할 수도 있다. 예를 들면, 지식 베이스 갱신부(130)는 기존 정규 술어들 중 하나의 표현형으로 추가할지 여부를 판정할 때 사용하는 문턱값, 즉 제1 벡터(V1)에 포함된 원소들이 비교되는 문턱값 및 신규 정규 술어로서 추가할지 여부를 판정할 때 사용하는 문턱값, 즉 제2 벡터(V2)에 포함된 원소가 비교되는 문턱값을 상이하게 설정할 수 있다. 또한, 일부 실시예들에서, 지식 베이스 갱신부(130)는 술어 점수 벡터(SCR)의 원소들의 최대값뿐만 아니라 통계적 특성, 예컨대 평균, 분산 등을 산출할 수 있고, 산출된 값들을 적어도 하나의 문턱값과 비교하여 갱신 여부 및 갱신 방식을 판정할 수도 있다.In some embodiments, the knowledge base updater 130 may determine whether to update the knowledge base 300 and an update method using a plurality of threshold values, differently from that shown in FIG. 8. For example, the knowledge base update unit 130 may include a threshold value used when determining whether to add to one of the existing regular predicates, that is, a threshold value at which elements included in the first vector V1 are compared, and A threshold value used when determining whether to add as a new regular predicate, that is, a threshold value at which elements included in the second vector V2 are compared may be set differently. In addition, in some embodiments, the knowledge base update unit 130 may calculate not only the maximum value of the elements of the predicate score vector (SCR), but also statistical characteristics, such as average and variance, and calculate the calculated values at least one It is also possible to determine whether or not to update and how to update by comparing with a threshold value.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들이 설명되었으나, 이는 단지 본 발명의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, exemplary embodiments have been disclosed in the drawings and specification. In the present specification, embodiments have been described using specific terms, but these are only used for the purpose of describing the technical idea of the present invention, and are not used to limit the meaning or the scope of the present invention described in the claims. . Therefore, those of ordinary skill in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical scope of the present invention should be determined by the technical spirit of the appended claims.

Claims (10)

  1. 지식 베이스의 지식 데이터를 보강하기 위한 시스템으로서,As a system to reinforce the knowledge data of the knowledge base,
    입력 데이터로부터 술어(predicate)를 추출하도록 구성된 술어 추출부;A predicate extraction unit configured to extract a predicate from input data;
    상기 입력 데이터로부터 엔티티를 추출하도록 구성된 엔티티 추출부;An entity extracting unit configured to extract an entity from the input data;
    상기 입력 데이터로부터 상기 술어를 포함하는 상기 엔티티의 컨텍스트를 추출하도록 구성된 컨텍스트 추출부;A context extracting unit configured to extract a context of the entity including the predicate from the input data;
    학습된 인공 신경망에 기초하여, 상기 술어, 상기 엔티티 및 상기 컨텍스트로부터 술어 점수 벡터를 획득하도록 구성된 술어 평가부; 및A predicate evaluation unit configured to obtain a predicate score vector from the predicate, the entity, and the context based on the learned artificial neural network; And
    상기 술어 점수 벡터에 기초하여 상기 지식 베이스의 갱신 여부를 판정하고, 판정 결과에 따라 상기 술어에 기초하여 상기 지식 베이스를 갱신하도록 구성된 지식 베이스 갱신부를 포함하는 시스템.And a knowledge base update unit configured to determine whether to update the knowledge base based on the predicate score vector, and update the knowledge base based on the predicate according to a determination result.
  2. 청구항 1에 있어서,The method according to claim 1,
    상기 술어 평가부는, 상기 입력 데이터로부터 추출된 복수의 엔티티들 및 상기 복수의 엔티티들에 각각 대응하고 상기 술어를 포함하는 복수의 컨텍스트들로부터 상기 술어 점수 벡터를 획득하도록 구성된 것을 특징으로 하는 시스템.And the predicate evaluating unit is configured to obtain the predicate score vector from a plurality of entities extracted from the input data and a plurality of contexts each corresponding to the plurality of entities and including the predicate.
  3. 청구항 1에 있어서,The method according to claim 1,
    상기 술어 평가부는, 워드 벡터 모델을 참조하여 상기 술어, 상기 엔티티 및 상기 컨텍스트에 대응하는 벡터들을 획득하고, 획득된 벡터들을 상기 인공 신경망에 제공하도록 구성된 것을 특징으로 하는 시스템.And the predicate evaluation unit is configured to obtain vectors corresponding to the predicate, the entity, and the context by referring to a word vector model, and to provide the obtained vectors to the artificial neural network.
  4. 청구항 1에 있어서,The method according to claim 1,
    상기 술어 평가부는,The predicate evaluation unit,
    학습된 제1 인공 신경망에 기초하여, 상기 엔티티 및 상기 컨텍스트로부터 시맨틱(semantic) 벡터를 획득하고,Based on the learned first artificial neural network, obtain a semantic vector from the entity and the context,
    학습된 제2 인공 신경망에 기초하여, 상기 시맨틱 벡터 및 상기 술어로부터 상기 술어 점수 벡터를 획득하도록 구성된 것을 특징으로 하는 시스템.And obtaining the predicate score vector from the semantic vector and the predicate based on the learned second artificial neural network.
  5. 청구항 1에 있어서,The method according to claim 1,
    상기 술어 점수 벡터는,The predicate score vector is,
    상기 술어와 상기 지식 베이스에 포함된 정규 술어들 사이 매칭 정도를 나타내는 제1 벡터; 및A first vector indicating a degree of matching between the predicate and regular predicates included in the knowledge base; And
    상기 술어의 신규 생성 가능성을 나타내는 제2 벡터를 포함하는 것을 특징으로 하는 시스템. And a second vector indicating the possibility of new generation of the predicate.
  6. 청구항 5에 있어서,The method of claim 5,
    상기 지식 베이스 갱신부는, 상기 술어 점수 벡터에 포함된 값들 중 최대값이 미리 정의된 기준치 이상이고 상기 제1 벡터에 포함된 경우, 상기 최대값에 대응하는 정규 술어의 표현형에 상기 술어를 추가하도록 구성된 것을 특징으로 하는 시스템.The knowledge base update unit is configured to add the predicate to a phenotype of a regular predicate corresponding to the maximum value when a maximum value among values included in the predicate score vector is greater than or equal to a predefined reference value and is included in the first vector. A system, characterized in that.
  7. 청구항 5에 있어서,The method of claim 5,
    상기 지식 베이스 갱신부는, 상기 술어 점수 벡터에 포함된 값들 중 최대값이 미리 정의된 기준치 이상이고 상기 제2 벡터에 포함된 경우, 상기 술어를 신규 정규 술어로서 상기 지식 베이스에 추가하도록 구성된 것을 특징으로 하는 시스템.The knowledge base update unit is configured to add the predicate to the knowledge base as a new regular predicate when a maximum value among values included in the predicate score vector is greater than or equal to a predefined reference value and is included in the second vector. System.
  8. 청구항 5에 있어서,The method of claim 5,
    상기 지식 베이스 갱신부는, 상기 술어 점수 벡터에 포함된 값들 중 최대값이 미리 정의된 기준치 미만인 경우, 상기 술어에 기초한 지식 베이스의 갱신을 종료하는 것을 특징으로 하는 시스템.The knowledge base update unit, when a maximum value among values included in the predicate score vector is less than a predefined reference value, terminates updating the knowledge base based on the predicate.
  9. 지식 베이스의 지식 데이터를 보강하기 위한 방법으로서,As a method to reinforce the knowledge data of the knowledge base,
    입력 데이터로부터, 술어, 엔티티 및 상기 술어를 포함하는 상기 엔티티의 컨텍스트를 추출하는 단계;Extracting, from input data, a predicate, an entity, and the context of the entity including the predicate;
    학습된 인공 신경망에 기초하여, 상기 술어, 상기 엔티티 및 상기 컨텍스트로부터 술어 점수 벡터를 획득하는 단계;Obtaining a predicate score vector from the predicate, the entity, and the context based on the learned artificial neural network;
    상기 술어 점수 벡터에 기초하여, 상기 지식 베이스의 갱신 여부를 판정하는 단계; 및Determining whether to update the knowledge base based on the predicate score vector; And
    판정 결과에 따라, 상기 술어에 기초하여 상기 지식 베이스를 갱신하는 단계를 포함하고,In accordance with the determination result, including the step of updating the knowledge base based on the predicate,
    상기 술어 점수 벡터는,The predicate score vector is,
    상기 술어와 상기 지식 베이스에 포함된 정규 술어들 사이 매칭 정도를 나타내는 제1 벡터; 및A first vector indicating a degree of matching between the predicate and regular predicates included in the knowledge base; And
    상기 술어의 신규 생성 가능성을 나타내는 제2 벡터를 포함하는 것을 특징으로 하는 방법. And a second vector indicating the possibility of a new generation of the predicate.
  10. 청구항 9에 있어서,The method of claim 9,
    상기 술어 점수 벡터를 획득하는 단계는,Obtaining the predicate score vector,
    학습된 제1 인공 신경망에 기초하여, 상기 엔티티 및 상기 컨텍스트로부터 시맨틱(semantic) 벡터를 획득하는 단계; 및Obtaining a semantic vector from the entity and the context based on the learned first artificial neural network; And
    학습된 제2 인공 신경망에 기초하여, 상기 시맨틱 벡터 및 상기 술어로부터 상기 술어 점수 벡터를 획득하는 단계를 포함하는 것을 특징으로 하는 방법.And obtaining the predicate score vector from the semantic vector and the predicate based on the learned second artificial neural network.
PCT/KR2019/013640 2019-09-18 2019-10-17 System and method for reinforcing knowledge base WO2021054512A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190114967A KR102324196B1 (en) 2019-09-18 2019-09-18 System and method for consolidating knowledge base
KR10-2019-0114967 2019-09-18

Publications (1)

Publication Number Publication Date
WO2021054512A1 true WO2021054512A1 (en) 2021-03-25

Family

ID=74883198

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/013640 WO2021054512A1 (en) 2019-09-18 2019-10-17 System and method for reinforcing knowledge base

Country Status (2)

Country Link
KR (1) KR102324196B1 (en)
WO (1) WO2021054512A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113128689A (en) * 2021-04-27 2021-07-16 中国电力科学研究院有限公司 Entity relationship path reasoning method and system for regulating knowledge graph

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496561B2 (en) * 2001-01-18 2009-02-24 Science Applications International Corporation Method and system of ranking and clustering for document indexing and retrieval
KR20090112157A (en) * 2008-04-23 2009-10-28 재단법인서울대학교산학협력재단 Ranking processing method for semantic web resources
WO2012040676A1 (en) * 2010-09-24 2012-03-29 International Business Machines Corporation Using ontological information in open domain type coercion
KR20160108886A (en) * 2015-03-09 2016-09-21 포항공과대학교 산학협력단 Method and apparatus for expanding knowledge base using open information extraction
KR20170089142A (en) * 2016-01-26 2017-08-03 경북대학교 산학협력단 Generating method and system for triple data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496561B2 (en) * 2001-01-18 2009-02-24 Science Applications International Corporation Method and system of ranking and clustering for document indexing and retrieval
KR20090112157A (en) * 2008-04-23 2009-10-28 재단법인서울대학교산학협력재단 Ranking processing method for semantic web resources
WO2012040676A1 (en) * 2010-09-24 2012-03-29 International Business Machines Corporation Using ontological information in open domain type coercion
KR20160108886A (en) * 2015-03-09 2016-09-21 포항공과대학교 산학협력단 Method and apparatus for expanding knowledge base using open information extraction
KR20170089142A (en) * 2016-01-26 2017-08-03 경북대학교 산학협력단 Generating method and system for triple data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113128689A (en) * 2021-04-27 2021-07-16 中国电力科学研究院有限公司 Entity relationship path reasoning method and system for regulating knowledge graph

Also Published As

Publication number Publication date
KR102324196B1 (en) 2021-11-11
KR20210033345A (en) 2021-03-26

Similar Documents

Publication Publication Date Title
US11042794B2 (en) Extensible validation framework for question and answer systems
Pandita et al. Inferring method specifications from natural language API descriptions
WO2021049706A1 (en) System and method for ensemble question answering
US9684709B2 (en) Building features and indexing for knowledge-based matching
CN108874380A (en) Method, logical inference machine and the class brain artificial intelligence service platform of computer simulation human brain learning knowledge
WO2020111314A1 (en) Conceptual graph-based query-response apparatus and method
KR20220028038A (en) Derivation of multiple semantic expressions for utterances in a natural language understanding framework
CN110581864B (en) Method and device for detecting SQL injection attack
US20220245353A1 (en) System and method for entity labeling in a natural language understanding (nlu) framework
Sellam et al. Deepbase: Deep inspection of neural networks
Feng et al. Probing and fine-tuning reading comprehension models for few-shot event extraction
CN110096599A (en) The generation method and device of knowledge mapping
US20220245361A1 (en) System and method for managing and optimizing lookup source templates in a natural language understanding (nlu) framework
WO2021054512A1 (en) System and method for reinforcing knowledge base
Zhao et al. Knowledge-enhanced self-supervised prototypical network for few-shot event detection
Mezghanni et al. Deriving ontological semantic relations between Arabic compound nouns concepts
WO2022121146A1 (en) Method and apparatus for determining importance of code segment
Heres Source code plagiarism detection using machine learning
CN113553411B (en) Query statement generation method and device, electronic equipment and storage medium
US20220229990A1 (en) System and method for lookup source segmentation scoring in a natural language understanding (nlu) framework
US20220229986A1 (en) System and method for compiling and using taxonomy lookup sources in a natural language understanding (nlu) framework
WO2016117920A1 (en) Knowledge represention expansion method and apparatus
Nguyen et al. Systematic knowledge acquisition for question analysis
Ashfaq et al. An intelligent analytics approach to minimize complexity in ambiguous software requirements
WO2023085500A1 (en) System and method for knowledge extraction based on graph reading

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: 19945937

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19945937

Country of ref document: EP

Kind code of ref document: A1