WO2010050675A2 - 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법 - Google Patents

의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법 Download PDF

Info

Publication number
WO2010050675A2
WO2010050675A2 PCT/KR2009/005265 KR2009005265W WO2010050675A2 WO 2010050675 A2 WO2010050675 A2 WO 2010050675A2 KR 2009005265 W KR2009005265 W KR 2009005265W WO 2010050675 A2 WO2010050675 A2 WO 2010050675A2
Authority
WO
WIPO (PCT)
Prior art keywords
syntax tree
relation
verb
node
triple
Prior art date
Application number
PCT/KR2009/005265
Other languages
English (en)
French (fr)
Other versions
WO2010050675A3 (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 WO2010050675A2 publication Critical patent/WO2010050675A2/ko
Publication of WO2010050675A3 publication Critical patent/WO2010050675A3/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation

Definitions

  • the present invention relates to a method and system for automatically extracting information of a relation triple for constructing an ontology from sentences of grammatically correct written sentences.
  • the present invention has been devised to solve the above problems, and it is possible to automate a part of ontology construction work which is mostly operated manually, and to automatically reduce the cost and time, thereby automatically relying on the search of the dependent grammar syntax tree. It is an object to provide a triple extraction method.
  • a first step of parsing the target sentence to generate a dependent grammar syntax tree A second step of preprocessing the generated dependent grammar syntax tree after the first step and converting the dependency grammar syntax tree into a form for relationship extraction; And a third step of automatically searching for the dependency grammar syntax tree converted in the second step in a postorder manner and automatically extracting the relation triple.
  • the first step may include generating a dependency grammar syntax tree using a dependency grammar parser.
  • the second step may further include: displaying and constructing a term in the target sentence using a predefined term dictionary, recognizing an entity name that may be given in the dependent grammar syntax tree, and the dependent grammar syntax If there is a To-negative noun and the same noun in the tree, the step of displaying them separately, the process of processing the connected conjunction in the dependent grammar syntax tree, if there is a relational pronoun in the dependent grammar syntax tree, a noun that can substitute a relative pronoun The process of searching for, indicating the action to be used to group two or more relation triples for the same operation, and merging the negative or frequency information with the verb node it modifies.
  • connection conjunction when the parts of two words connected by the connection conjunction is the same, when the parts of the word is not a verb, characterized in that the two words are tied to a node of the grammar syntax tree dependent on the two words. do.
  • the process of processing the connected conjunctions if the two parts of the word connected by the connected conjunctions is the same, and if the parts of the word is a verb, characterized in that if the verbs all have a subject and an object, the sentences are divided. .
  • the process of processing the connected conjunction if the two parts of the word connected by the connected conjunction is the same part of speech, if the part of the word is a verb, only the first verb has a subject and if the following verb does not have a subject two verbs It is characterized by grouping into one node.
  • the process of processing the connected conjunction if the two parts of the word connected by the connected conjunction is the same part of speech, the part of the word is a verb, the first verb to hold both the subject and the object, the following verb If not, copy the subject, attach it to the lower verb, and divide the two sentences.
  • the process of searching for a noun that can substitute for the relative pronoun may be characterized by giving a link to a noun designated by the relative pronoun.
  • the action is a two node whose parts of speech are verbs, the subject and the object are connected to each other, and have one or more semantic relations, and a child node having one or more terms among the child nodes except the two nodes. If is present, the node is characterized by displaying as an Action.
  • each node in the dependent grammar syntax tree has three data structures: Reserved Term (hereinafter 'RT'), Reserved Clue (hereinafter 'RC') and Relation Queue (hereinafter 'RQ'). Holds only one term, the RC holds a string, and the RQ holds a list of Relation Blocks (where the Relation Block is a set of one or more relation triples).
  • FIG. 1 is a flow chart illustrating a relation triple extraction order according to the present invention.
  • 4 is a table illustrating definitions of words used in a relationship extraction process.
  • 5 is an illustration of case 1.1 of a rule.
  • 9 is an illustration of case 2.2.2 of a rule.
  • 11 is an example of b of case 2.2.3.1.1 of a rule.
  • FIG. 15 shows an example in which the RQ of the object is empty in case 2.2.3.1.2.1 of the rule.
  • 16 is an illustration of case 2.2.3.1.2.2 of the rule.
  • An object of the present invention is to extract a relational triple from a sentence that is correct in grammar and has solved all descriptive pronoun problems.
  • the present invention is focused on the fact that there can be any relationship between words connected to each other in the dependent syntax grammar tree of a sentence, and extracts the relation triples by searching the dependent syntax grammar tree in a postorder manner.
  • This relationship triple extraction may be performed by a computer program containing an algorithm for performing the contents described herein, or may be performed by a computer using a recording medium containing the algorithm.
  • the relationship triple is divided into three elements: ⁇ argument 1, set relationship, and argument 2>.
  • Arguments 1 and 2 are two related concepts, and the set relationship is the relationship between the arguments 1 and 2 It's kind.
  • the ⁇ argument 1 the set relationship, the argument 2> is expressed as [arg1, rel, arg2]
  • the argument 1 is expressed as 'arg1'
  • the argument 2 is expressed as 'arg2'
  • the set relationship is expressed as 'rel'.
  • Second step The generated dependency grammar syntax tree is preprocessed and converted into a form for relationship extraction.
  • Third step Automatically extract relation triples by searching the transformed dependent grammar syntax tree in a postorder fashion.
  • the dependency grammar syntax tree is generated using the dependency grammar parser for triple information extraction by clearly identifying the mathematical relations between words (see 1. Parsing of FIG. 3).
  • preprocessing is performed through the following seven processes (see 2. Preprocessing of FIG. 3).
  • the term 'term' means that there is a concept corresponding to the ontology to be constructed. For example, in the case of 'James buys a company', 'James' and 'company' become terms.
  • an entity name refers to an object that exists in real life, such as a person's name or an institution's name (e.g. 'James', 'Microsoft', etc.).
  • To-negative and the same nouns are themselves marked as Actions and must be associated with other subjects, and they can have their own subjects and objects. Therefore, To-negative and same-named verbs are marked separately for consideration in the extraction of relations for this special treatment.
  • connection connection Process the connection connection. This is because there is a case in which the connection is made with a connection, in the case of simple enumeration, and in the extracted relationship, the arguments 1 or 2 of the triples are shared. Also, when extracting a relationship, in case of enumeration type, the relationship is set by one verb, and the relationship setting is the same, but argument 1 or factor 2 can extract several other relationships and must deal with them.
  • Action is the concept of ontology to be created and expresses the action or changing state of something.
  • Action is used to group two or more relation triples for the same action.
  • the first result means that Samsung held a seminar and also that Samsung held something in London, but it does not mean that Samsung held a seminar in London-that is,
  • the results lose important content. This is because, although the two relationship triples actually describe the same behavior of Samsung, it is impossible to express that these two kinds of information describe the same behavior without using the concept of Action. Therefore, in the process of extracting the relationship, first, 'hold' is changed to 'Holding', which is a noun form, to express the action triplet to extract the relationship triple (Samsung, Process, Holding), and to use the two relationship triple as constraints of holding. The information of two triples is converted into one triple and expressed. (Result 2)
  • the condition of the node to be expressed as Action is as follows:
  • the part of the verb is a verb and basically the subject and the object are directly connected to each other and have one or more semantic relations. If there is a node with more than one term.
  • the extracting of the relation triple in the third step is performed in the following manner (see 3. Extracting Triplets in FIG. 3).
  • the dependency grammar syntax tree obtained through the preprocessing is searched in postorder to extract the relation triple.
  • Each node has three data structures: Reserved Term (RT), Reserved Clue (RC), and Relation Queue (RQ).
  • the Clue refers to all strings existing on a connection line connecting two terms having a relationship on a dependency syntax grammar tree. This is used to connect the information of the term or the relationship set at the bottom of the syntax tree with other information at the top of the syntax tree, respectively.
  • RT can hold only one term
  • RC can hold a string
  • RQ holds a list of relation blocks.
  • a relation block refers to one or more sets of relation triples (arg1, rel, arg2), and the relation triples held by the relation block conceptually share the same arg1.
  • adding a triple to the relation queue means making and inserting a relation block containing only one relation triple. Mark the first triple of the relation block RB as RB [1] and the second triple as RB [2]. (See Figure 4)
  • An object of the present invention is to extract a relational triple from a sentence that is correct in grammar and has solved all descriptive pronoun problems.
  • the present invention is focused on the fact that there can be any relationship between words connected to each other in the dependent syntax grammar tree of a sentence, and extracts the relation triples by searching the dependent syntax grammar tree in a postorder manner.
  • Such relationship triple extraction may be performed by a computer program containing an algorithm for performing the contents described herein, or may be performed by a computer using a recording medium containing the algorithm.
  • the relationship triple is divided into three elements: ⁇ argument 1, set relationship, and argument 2>.
  • Arguments 1 and 2 are two related concepts, and the set relationship is the relationship between the arguments 1 and 2 It's kind.
  • the ⁇ argument 1 the set relationship, the argument 2> is expressed as [arg1, rel, arg2]
  • the argument 1 is expressed as 'arg1'
  • the argument 2 is expressed as 'arg2'
  • the set relationship is expressed as 'rel'.
  • Second step The generated dependency grammar syntax tree is preprocessed and converted into a form for relationship extraction.
  • Third step Automatically extract relation triples by searching the transformed dependent grammar syntax tree in a postorder fashion.
  • the dependency grammar syntax tree is generated using the dependency grammar parser for triple information extraction by clearly identifying the mathematical relations between words (see 1. Parsing of FIG. 3).
  • preprocessing is performed through the following seven processes (see 2. Preprocessing of FIG. 3).
  • the term 'term' means that there is a concept corresponding to the ontology to be constructed. For example, in the case of 'James buys a company', 'James' and 'company' become terms.
  • an entity name refers to an object that exists in real life, such as a person's name or an institution's name (e.g. 'James', 'Microsoft', etc.).
  • To-negative and the same nouns are themselves marked as Actions and must be associated with other subjects, and they can have their own subjects and objects. Therefore, To-negative and same-named verbs are marked separately for consideration in the extraction of relations for this special treatment.
  • connection connection Process the connection connection. This is because there is a case in which the connection is made with a connection, in the case of simple enumeration, and in the extracted relationship, the arguments 1 or 2 of the triples are shared. Also, when extracting a relationship, in case of enumeration type, the relationship is set by one verb, and the relationship setting is the same, but argument 1 or argument 2 can extract several other relationships, and they have to deal with them.
  • Action is the concept of ontology to be created and expresses the action or changing state of something.
  • Action is used to group two or more relation triples for the same action.
  • the first result means that Samsung held a seminar and also that Samsung held something in London, but it does not mean that Samsung held a seminar in London-that is,
  • the results lose important content. This is because, although the two relationship triples actually describe the same behavior of Samsung, it is impossible to express that these two kinds of information describe the same behavior without using the concept of Action. Therefore, in the process of extracting the relationship, first, 'hold' is changed to 'Holding', which is a noun form, to express the action triplet to extract the relationship triple (Samsung, Process, Holding), and to use the two relationship triple as constraints of holding. The information of two triples is converted into one triple and expressed. (Result 2)
  • the condition of the node to be expressed as Action is as follows:
  • the part of the verb is a verb and basically the subject and the object are directly connected to each other and have one or more semantic relations. If there is a node with more than one term.
  • the extracting of the relation triple in the third step is performed in the following manner (see 3. Extracting Triplets in FIG. 3).
  • the dependency grammar syntax tree obtained through the preprocessing is searched in postorder to extract the relation triple.
  • Each node has three data structures: Reserved Term (RT), Reserved Clue (RC), and Relation Queue (RQ).
  • the Clue refers to all strings existing on a connection line connecting two terms having a relationship on a dependency syntax grammar tree. This is used to connect the information of the term or the relationship set at the bottom of the syntax tree with other information at the top of the syntax tree, respectively.
  • RT can hold only one term
  • RC can hold a string
  • RQ holds a list of relation blocks.
  • a relation block refers to one or more sets of relation triples (arg1, rel, arg2), and the relation triples held by the relation block conceptually share the same arg1.
  • adding a triple to the relation queue means making and inserting a relation block containing only one relation triple. Mark the first triple of the relation block RB as RB [1] and the second triple as RB [2]. (See Figure 4)
  • the node's Term is put in RT (see Fig. 5).
  • the term transmitted from the child node to establish the relationship with the target node has already been established with the other term. Therefore, it establishes a relationship between the target node and the delivered term, and gives a constraint on the established relationship using the contents of the delivered RQ.
  • RB [1] [arg1] is the term that has been passed, and (RB [1] [arg1], RB [1] [rel], RB [1] [arg2]), etc., have been set in advance. . (See Traverse 5 in Figure 8)
  • the target node itself does not have any information, and serves to convey information of the term located in the offspring, or to establish a relationship between the offspring.
  • At least one node whose RT or RQ is not Empty among the children by the Action node indication criterion necessarily exists.
  • two or more relation triples are calculated in a general manner, and it is difficult to indicate the association between the triples.
  • the target node is made into an action and the relations are expressed in the form of a formula for the target action.
  • the verb is transformed into Action form and the subject is connected in Process, and the object and information of other children are added as constraints. To do this, perform the following steps.
  • a node's RQ is not empty, that node is being modified by something.
  • the node that is modified in the classification system becomes a child of an unmodified node. That is, the unqualified side, that is, the side where RQ is Empty becomes 'arg1', and the side receiving the modifier, that is, the side where RQ is not empty, becomes 'arg2'. If neither node is modified, it naturally takes the form A is a B so that the subject is placed in place of arg1 and the object in arg2.
  • RT and RQ do not need to be empty but have relations with child nodes.
  • one child usually has contents in RT and RQ. Copies the contents of this child and adds the contents of the target node to clue. If the target node comes before the child node, add clue to the front. If it comes after, add clue to the back. This is usually the case with prepositions such as in or for.
  • the present invention can be effectively used in the field of information retrieval using a computer by automating a large part using a dependent grammar syntax tree in constructing ontology from general sentences.

Abstract

본 발명은 문법적으로 올바른 평서문의 문장으로부터 온톨로지를 구축하기 위한 관계 트리플의 정보를 자동으로 추출해내는 방법 및 시스템에 관한 것으로, 본 발명에 따른 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법은, 대상 문장을 구문 분석하여 의존 문법 구문 트리를 생성하는 제1 단계; 상기 제1 단계 후 생성된 의존 문법 구문 트리를 전처리하여 관계 추출을 위한 형태로 변환하는 제2 단계; 및, 상기 제2 단계에서 변환된 의존 문법 구문 트리를 포스트오더(postorder) 방식으로 탐색하여 자동으로 관계 트리플을 추출하는 제3 단계를 포함한다.

Description

의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법
본 발명은 문법적으로 올바른 평서문의 문장으로부터 온톨로지를 구축하기 위한 관계 트리플의 정보를 자동으로 추출해 내는 방법 및 시스템에 관한 것이다.
현재까지는 일반적으로 관계 트리플을 추출하기 위하여 문법적인 패턴(lexico-syntactic pattern)을 주로 사용하였다. Marti Hearst의 1992년 논문 'Automatic Acquisition of Hyponyms from Large Text Corpora'에 이러한 방식이 처음으로 제안되었다. 즉, 여러 가지의 문법적 패턴을 만들어 놓고, 주어진 문장의 형태가 정의된 패턴의 형태와 일치하면 그 패턴을 이용하여 관계 트리플을 추출하게 된다.
예를 들면, "The cat is a dog" 라는 문장으로부터 <cat, ISA, dog> 라는 형태의 트리플을 추출하기 위하여, 기존 방식으로는 ISA 패턴 "<인수 1> is a <인수 2>" 를 만들고, 이를 각 문장에 적용시키게 된다. 그러나 이런 방식은 크게 두 가지 문제점을 가지고 있다.
첫째, "London, which has the biggest airport in England, is a city." 와 같은 문장은 이런 문법적 패턴을 사용하여 정보를 추출할 수 없다. 설령 *와 같은 wildcard를 사용하더라도, "London" 과 "is" 사이에 너무나 많은 단어가 들어가 있어 적절히 걸러 내기가 불가능하다.
둘째, 이런 패턴을 사용하는 방식으로는 <인수 1, 설정된 관계, 인수 2>와 같은 형태의 트리플만을 추출해낼 수 있다. 즉, 인수 1과 인수 2를 추가적으로 수식하는 수식 관계의 정보는 모두 사라지게 된다.
본 발명은 상기한 바와 같은 과제를 해결하기 위해 안출된 것으로, 현재 대부분 수동으로 운영되는 온톨로지 구축 작업의 일정 부분을 자동화하여 비용 및 시간을 크게 절감할 수 있는 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법을 제공하는 것을 그 목적으로 한다.
상기한 바와 같은 목적을 달성하기 위한 본 발명에 따른 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법은,
대상 문장을 구문 분석하여 의존 문법 구문 트리를 생성하는 제1 단계; 상기 제1 단계 후 생성된 의존 문법 구문 트리를 전처리하여 관계 추출을 위한 형태로 변환하는 제2 단계; 및, 상기 제2 단계에서 변환된 의존 문법 구문 트리를 포스트오더(postorder) 방식으로 탐색하여 자동으로 관계 트리플을 추출하는 제3 단계를 포함한다.
또한, 상기 제1 단계는 의존 문법 구문 분석기를 이용하여 의존 문법 구문 트리를 생성하는 것을 특징으로 한다.
또한, 상기 제2 단계는, 미리 정의된 텀 사전을 이용하여 상기 대상 문장에서 텀을 표시하고 구축하는 과정, 상기 의존 문법 구문 트리에서 주어가 될 수 있는 개체명을 인식하는 과정, 상기 의존 문법 구문 트리에서 To-부정사 및 동명사가 있는 경우, 이를 별도로 표시하는 과정, 상기 의존 문법 구문 트리에서 연결 접속사를 처리하는 과정, 상기 의존 문법 구문 트리에 관계 대명사가 있는 경우, 관계 대명사를 대용할 수 있는 명사를 탐색하는 과정, 같은 동작에 대하여 2개 이상의 관계 트리플들을 하나로 묶는 데 사용할 Action을 표시하는 과정, 부정 또는 빈도의 정보를 그것이 수식하는 동사 노드에 합치는 과정을 포함한다.
여기서, 상기 연결 접속사를 처리하는 과정은, 상기 연결 접속사로 연결된 두 단어의 품사가 같고, 상기 단어의 품사가 동사가 아닐 때, 상기 두 단어를 의존 문법 구문 트리의 하나의 노드를 묶는 것을 특징으로 한다.
또한, 상기 연결 접속사를 처리하는 과정은, 상기 연결 접속사로 연결된 두 단어의 품사가 같고, 상기 단어의 품사가 동사인 경우, 상기 동사가 모두 주어와 목적어를 각각 보유하면 문장을 나누는 것을 특징으로 한다.
또한, 상기 연결 접속사를 처리하는 과정은, 상기 연결 접속사로 연결된 두 단어의 품사가 같고, 상기 단어의 품사가 동사인 경우, 먼저 나온 동사만 주어를 갖고 뒤에 나온 동사가 주어를 가지지 않으면 두 동사를 하나의 노드로 묶는 것을 특징으로 한다.
또한, 상기 연결 접속사를 처리하는 과정은, 상기 연결 접속사로 연결된 두 단어의 품사가 같고, 상기 단어의 품사가 동사인 경우, 먼저 나온 동사가 주어와 목적어를 모두 보유하고, 뒤에 나온 동사가 주어를 보유하지 않으면 주어를 복사하여 아래쪽 동사에 붙이고 두 문장을 나누는 것을 특징으로 한다.
또한, 상기 관계 대명사를 대용할 수 있는 명사를 탐색하는 과정은 상기 관계 대명사가 지칭하는 명사에 대하여 링크를 걸어주는 것을 특징으로 한다.
또한, 상기 Action을 표시하는 과정에서, 상기 Action은 품사가 동사인 두 노드로서 주어와 목적어가 연결되어 하나 이상의 의미 관계를 가지며, 상기 두 노드를 제외한 자식 노드들 중 하나 이상의 텀을 보유하는 자식 노드가 존재하는 경우 그 노드를 Action으로 표시하는 것을 특징으로 한다.
또한, 상기 Action으로 표시된 노드의 동사를 동명사로 변환하여 관계 트리플을 추출하고 상기 동명사를 사용하여 인수 1 또는 인수 2를 수식하는 구조로 변환하여 표현함으로써 2개의 트리플 정보를 하나의 트리플 정보로 변환하는 것을 특징으로 한다.
상기 제3 단계에서 상기 의존 문법 구문 트리에 있는 각각의 노드는 Reserved Term(이하 'RT), Reserved Clue(이하 'RC), Relation Queue(이하 'RQ')의 세가지 데이터 구조를 보유하며, 상기 RT는 하나의 텀만을 보유하며, 상기 RC는 문자열을 보유하며, 상기 RQ는 Relation Block(여기서, Relation Block은 관계 트리플이 1개 이상 모인 집합)의 리스트를 보유하는 것을 특징으로 한다.
상기한 바와 같은 본 발명에 따른 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법에 의하면,
일반적인 문장으로부터 온톨로지를 구축하는 데 있어서 상당 부분을 자동화함으로써 시간 및 비용을 크게 절감할 수 있다. 또한 일반적인 문법적 패턴 기반 방식을 사용하였을 때 나타나는 long-distance problem(문장 상에서 멀리 떨어져 있는 단어들간의 관계 트리플을 추출할 수 없는 문제)를 해소하는 효과가 있다.
도 1은 본 발명에 따른 관계 트리플 추출 순서를 도시한 순서도이다.
도 2는 Action의 개념을 사용할 때와 사용하지 않았을 때의 트리플 추출 예시이다.
도 3은 전체적인 관계 추출 과정의 예시이다.
도 4는 관계 추출 과정에서 사용된 단어들의 정의를 설명한 표이다.
도 5는 규칙의 case 1.1의 예시이다.
도 6은 규칙의 case 1.2.2의 예시이다.
도 7은 규칙의 case 1.2.3의 예시이다.
도 8은 규칙의 case 1.2.4의 예시이다.
도 9는 규칙의 case 2.2.2의 예시이다.
도 10은 규칙의 case 2.2.3.1.1의 a의 예시이다.
도 11은 규칙의 case 2.2.3.1.1의 b의 예시이다.
도 12는 규칙의 case 2.2.3.1.1의 c의 예시이다.
도 13은 규칙의 case 2.2.3.1.1의 d의 예시이다.
도 14는 규칙의 case 2.2.3.1.2.1에서 주어의 RQ가 Empty인 경우의 예시이다.
도 15는 규칙의 case 2.2.3.1.2.1에서 목적어의 RQ가 Empty인 경우의 예시이다.
도 16은 규칙의 case 2.2.3.1.2.2의 예시이다.
이하, 첨부된 도을 참조하여 본 발명의 실시예를 상세히 설명한다. 본 발명을 설명함에 있어서 관련된 공지기능 혹은 구성에 대한 구체적인 설명은 본 발명의 요지를 모호하게 하지 않기 위해 생략한다.
본 발명은 문법이 올바르고 모든 지시대명사 문제가 해결된 평서문을 대상으로 하여, 그 문장으로부터 관계 트리플을 추출하는 것을 목적으로 한다. 본 발명은 어떤 문장의 의존 구문 문법 트리에서 서로 연결되어 있는 단어들 사이에 어떠한 관계가 존재할 수 있다는 점에 착안하여, 의존 구문 문법 트리를 postorder 방식으로 검색하여 관계 트리플들을 추출해 낸다. 이러한 관계 트리플 추출은 본 명세서에서 기재된 내용을 수행하는 알고리즘이 수록된 컴퓨터 프로그램에 의해 수행될 수 있으며, 또는 알고리즘이 수록된 기록 매체를 이용하여 컴퓨터에 의해 수행될 수 있다.
관계 트리플은 <인수 1, 설정된 관계, 인수 2>의 세 가지 요소로 나뉘어져 있는데, 인수 1과 인수 2는 서로 관계가 있는 두 가지의 개념이며, 설정된 관계는 인수 1과 인수 2가 맺고 있는 관계의 종류이다.
이하, 상기 <인수 1, 설정된 관계, 인수 2>를 [arg1, rel, arg2]으로 표기하며, 인수 1은 'arg1', 인수 2는 'arg2', 설정된 관계는 'rel'으로도 표기한다.
대상 문장이 주어졌을 경우, 주어진 문장에서 관계 트리플을 추출하기 위하여 크게 아래의 세 가지 단계를 거친다(도 3 참조):
제1 단계; 대상 문장을 구문 분석하여 의존 문법 구문 트리를 생성한다.
제2 단계; 생성된 의존 문법 구문 트리를 전처리하여 관계 추출을 위한 형태로 변환한다.
제3 단계; 변환된 의존 문법 구문 트리를 포스트오더(postorder) 방식으로 탐색하여 자동으로 관계 트리플을 추출한다.
상기 제1 단계에서 단어 간의 수식 관계들을 명확히 파악하여 트리플 정보 추출을 위해 의존 문법 구문 트리는 의존 문법 구문 분석기를 이용하여 생성한다.(도 3의 1. Parsing 참조)
상기 제2 단계에서 전처리는 다음의 일곱 과정을 거친다.(도 3의 2. Preprocessing 참조)
1. 텀 표시 및 구축
미리 정의된 텀 사전을 이용하여 텀을 표시 및 구축한다. 여기서 '텀'이란, 실제 구축될 온톨로지에서 대응될 개념이 존재하는 것을 의미한다. 예를 들어, 'James buys a company'와 같은 경우, 'James'와 'company'가 텀이 된다.
2. 개체명 인식
개체명을 인식하고 표시한다. 여기서 개체명이란, 사람 이름, 기관 이름 등과 같이 실생활에 존재하는 어떤 물체와 대응되는 것을 말한다.(예: 'James', 'Microsoft' 등)
3. To-부정사 및 동명사 표시
To-부정사 및 동명사는 그 자체로써 Action으로 표시되어 다른 주어와 관계 설정이 되어야 하며, 또한 그 Action 자체의 주어 및 목적어를 따로 보유할 수 있다. 따라서 이러한 특수 처리를 해주기 위하여 To-부정사 및 동명사에 대해서는 별도의 표시를 하여 관계 추출 시 고려한다.
4. 연결접속사 처리
연결접속사에 대하여 처리해 준다. 연결접속사로 연결된 것의 경우, 단순 나열의 경우와, 추출된 관계에서 트리플의 인수 1 또는 인수 2들을 공유할 경우가 존재하기 때문이다. 또한 관계 추출 시, 나열형의 경우에는 하나의 동사로 인해 관계가 설정되어 관계 설정은 동일하지만 인수 1 또는 인수 2는 다른 여러 개의 관계가 추출될 수 있고, 이를 처리해 주어야 하기 때문이다.
의존 관계에서 연결접속사가 나타났을 경우, 다음과 같은 규칙에 따라 이를 처리한다.
(1) 연결된 두 단어의 품사가 같고, 동사가 아닐 때: 두 노드를 의존 문법 구문 트리의 한 노드로 묶는다.
(2) 연결된 두 단어의 품사가 같고, 동사일 때:
a. 두 동사가 모두 주어(subject), 목적어(object)를 각각 보유할 때: 문장을 자른다.
b. 먼저 나온 동사가 주어만 갖고, 뒤에 나온 동사가 주어를 가지지 않을 때: 주어를 공유하면서 뒤에 나온 동사의 목적어 또한 공유하는 경우이므로 두 동사를 한 노드로 묶는다.
c. 먼저 나온 동사가 주어와 목적어를 모두 보유하고, 뒤에 나온 동사가 주어를 보유하지 않을 때: 두 동사가 주어만 공유하는 경우이므로 주어를 복사하여 아래쪽 동사에 붙이고, 두 문장을 자른다.
5. 관계대명사 대용 해소
Triple 추출 시 문제가 생기지 않도록 which, who 등의 관계대명사에 대하여 대용어(anaphora) 문제를 해결하여 준다. 즉, 그것들이 지칭하고 있는 명사에 대하여 링크를 걸어준다.
6. Action의 표시
Action은 만들어질 온톨로지의 개념이며, 어떤 것의 동작 또는 바뀌는 상태를 표현한다. Action은 같은 동작에 대한 2개 또는 그 이상의 관계 트리플들을 하나로 묶어 주는 데 사용된다.
도 2를 참조하면, 첫번째 결과(Result 1)는 삼성이 세미나를 개최했고, 또한 삼성이 무엇인가를 런던에서 개최하였다는 것을 의미하나, 삼성이 런던에서 세미나를 개최했다는 것을 의미하지는 않는다 - 즉, 결과값이 중요한 내용들을 잃어버리게 된다. 이는 두 개의 관계 트리플이 실제로는 모두 삼성의 동일한 동작에 대하여 서술하고 있음에도 불구하고, Action의 개념을 사용하지 않고서는 이런 두 가지 종류의 정보가 같은 동작에 대하여 서술하고 있다는 것을 표현할 수 없기 때문이다. 따라서, 추후 관계 추출 과정에서 먼저 'hold'를 명사 형태인 'Holding'으로 바꾸어 Action임을 표현하여 관계 트리플 (Samsung, Process, Holding)을 추출하고, 두 개의 관계 트리플을 Holding의 제약 조건으로 사용하여, 2개의 트리플의 정보를 하나의 트리플로 변환하여 표현한다.(Result 2)
여기서, Action으로 표시해야 할 노드의 조건은 다음과 같다: 품사가 동사인 노드로서 기본적으로 주어와 목적어가 곧바로 연결되어 하나 이상의 의미 관계를 가지며, 또한 이 두 노드를 제외한 자식 노드들 중 자손에 하나 이상의 Term을 보유하는 노드가 존재할 경우.
7. 부정/빈도의 표시
부정/빈도의 정보를 그것이 수식하고 있는 동사 노드에 합친다. 부정/빈도의 정보는 그것이 수식하고 있는 동사 노드에서 추출된 관계 트리플의 의미 값에 큰 영향을 주기 때문이다.
상기 제3 단계의 자동으로 관계 트리플을 추출하는 단계는 다음과 같은 방식으로 수행한다.(도 3의 3. Extracting Triplets 참조)
전처리 과정을 통하여 얻어진 의존 문법 구문 트리는 postorder 방식으로 탐색하여 관계 트리플을 추출한다. 각 노드는 Reserved Term(RT), Reserved Clue(RC), Relation Queue(RQ)의 세 가지 데이터 구조를 보유한다. 상기 Clue는 의존 구문 문법 트리 상에서 관계가 설정된 두 텀을 연결하는 연결선 상에 존재하는 모든 문자열을 말한다. 이는 각각 구문 트리의 아래 쪽에 존재하는 텀 또는 아래에서 설정된 관계의 정보를 구문 트리의 윗 부분에서 다른 정보들과 연결해 주기 위하여 사용된다. 여기서 RT는 단 하나의 Term만을 보유할 수 있으며, RC는 문자열을 보유할 수 있고, RQ는 Relation Block의 List를 보유한다. Relation Block은 Relation Triple(arg1, rel, arg2)의 1개 또는 그 이상의 집합을 의미하며, Relation Block이 보유하는 Relation Triple은 개념적으로 서로 같은 arg1을 공유한다. 이하, 추가적인 언급이 없을 경우, Relation Queue에 Triple을 넣는다는 것은 Relation Triple을 단 하나 보유한 Relation Block을 제작하여 집어넣는 것을 의미한다. Relation Block RB의 첫 번째 트리플을 RB[1]로 표기하고, 두 번째 트리플을 RB[2]로 표기한다. (도 4 참조)
현재 탐색되고 있는 노드를 T, 대상 노드의 자식 노드를 C, 어떤 노드 A의 Term을 A[Term], RT를 A[RT], RC를 A[RC], RQ를 A[RQ]로 표현하도록 하자. 그러면 각 노드의 RT, RC 및 RQ를 다음의 경우에 따라서 바꾼다. Final Relation Queue(FRQ)는 최종 Relation set을 보유한다.
이하, 첨부된 도을 참조하여 본 발명의 실시예를 상세히 설명한다. 본 발명을 설명함에 있어서 관련된 공지기능 혹은 구성에 대한 구체적인 설명은 본 발명의 요지를 모호하게 하지 않기 위해 생략한다.
본 발명은 문법이 올바르고 모든 지시대명사 문제가 해결된 평서문을 대상으로 하여, 그 문장으로부터 관계 트리플을 추출하는 것을 목적으로 한다. 본 발명은 어떤 문장의 의존 구문 문법 트리에서 서로 연결되어 있는 단어들 사이에 어떠한 관계가 존재할 수 있다는 점에 착안하여, 의존 구문 문법 트리를 postorder 방식으로 검색하여 관계 트리플들을 추출해 낸다. 이러한 관계 트리플 추출은 본 명세서에서 기재된 내용을 수행하는 알고리즘이 수록된 컴퓨터 프로그램에 의해 수행될 수 있으며, 또는 알고리즘이 수록된 기록 매체를 이용하여 컴퓨터에 의해 수행될 수 있다.
관계 트리플은 <인수 1, 설정된 관계, 인수 2>의 세 가지 요소로 나뉘어져 있는데, 인수 1과 인수 2는 서로 관계가 있는 두 가지의 개념이며, 설정된 관계는 인수 1과 인수 2가 맺고 있는 관계의 종류이다.
이하, 상기 <인수 1, 설정된 관계, 인수 2>를 [arg1, rel, arg2]으로 표기하며, 인수 1은 'arg1', 인수 2는 'arg2', 설정된 관계는 'rel'으로도 표기한다.
대상 문장이 주어졌을 경우, 주어진 문장에서 관계 트리플을 추출하기 위하여 크게 아래의 세 가지 단계를 거친다(도 3 참조):
제1 단계; 대상 문장을 구문 분석하여 의존 문법 구문 트리를 생성한다.
제2 단계; 생성된 의존 문법 구문 트리를 전처리하여 관계 추출을 위한 형태로 변환한다.
제3 단계; 변환된 의존 문법 구문 트리를 포스트오더(postorder) 방식으로 탐색하여 자동으로 관계 트리플을 추출한다.
상기 제1 단계에서 단어 간의 수식 관계들을 명확히 파악하여 트리플 정보 추출을 위해 의존 문법 구문 트리는 의존 문법 구문 분석기를 이용하여 생성한다.(도 3의 1. Parsing 참조)
상기 제2 단계에서 전처리는 다음의 일곱 과정을 거친다.(도 3의 2. Preprocessing 참조)
1. 텀 표시 및 구축
미리 정의된 텀 사전을 이용하여 텀을 표시 및 구축한다. 여기서 '텀'이란, 실제 구축될 온톨로지에서 대응될 개념이 존재하는 것을 의미한다. 예를 들어, 'James buys a company'와 같은 경우, 'James'와 'company'가 텀이 된다.
2. 개체명 인식
개체명을 인식하고 표시한다. 여기서 개체명이란, 사람 이름, 기관 이름 등과 같이 실생활에 존재하는 어떤 물체와 대응되는 것을 말한다.(예: 'James', 'Microsoft' 등)
3. To-부정사 및 동명사 표시
To-부정사 및 동명사는 그 자체로써 Action으로 표시되어 다른 주어와 관계 설정이 되어야 하며, 또한 그 Action 자체의 주어 및 목적어를 따로 보유할 수 있다. 따라서 이러한 특수 처리를 해주기 위하여 To-부정사 및 동명사에 대해서는 별도의 표시를 하여 관계 추출 시 고려한다.
4. 연결접속사 처리
연결접속사에 대하여 처리해 준다. 연결접속사로 연결된 것의 경우, 단순 나열의 경우와, 추출된 관계에서 트리플의 인수 1 또는 인수 2들을 공유할 경우가 존재하기 때문이다. 또한 관계 추출 시, 나열형의 경우에는 하나의 동사로 인해 관계가 설정되어 관계 설정은 동일하지만 인수 1 또는 인수 2는 다른 여러 개의 관계가 추출될 수 있고, 이를 처리해 주어야 하기 때문이다.
의존 관계에서 연결접속사가 나타났을 경우, 다음과 같은 규칙에 따라 이를 처리한다.
(1) 연결된 두 단어의 품사가 같고, 동사가 아닐 때: 두 노드를 의존 문법 구문 트리의 한 노드로 묶는다.
(2) 연결된 두 단어의 품사가 같고, 동사일 때:
a. 두 동사가 모두 주어(subject), 목적어(object)를 각각 보유할 때: 문장을 자른다.
b. 먼저 나온 동사가 주어만 갖고, 뒤에 나온 동사가 주어를 가지지 않을 때: 주어를 공유하면서 뒤에 나온 동사의 목적어 또한 공유하는 경우이므로 두 동사를 한 노드로 묶는다.
c. 먼저 나온 동사가 주어와 목적어를 모두 보유하고, 뒤에 나온 동사가 주어를 보유하지 않을 때: 두 동사가 주어만 공유하는 경우이므로 주어를 복사하여 아래쪽 동사에 붙이고, 두 문장을 자른다.
5. 관계대명사 대용 해소
Triple 추출 시 문제가 생기지 않도록 which, who 등의 관계대명사에 대하여 대용어(anaphora) 문제를 해결하여 준다. 즉, 그것들이 지칭하고 있는 명사에 대하여 링크를 걸어준다.
6. Action의 표시
Action은 만들어질 온톨로지의 개념이며, 어떤 것의 동작 또는 바뀌는 상태를 표현한다. Action은 같은 동작에 대한 2개 또는 그 이상의 관계 트리플들을 하나로 묶어 주는 데 사용된다.
도 2를 참조하면, 첫번째 결과(Result 1)는 삼성이 세미나를 개최했고, 또한 삼성이 무엇인가를 런던에서 개최하였다는 것을 의미하나, 삼성이 런던에서 세미나를 개최했다는 것을 의미하지는 않는다 - 즉, 결과값이 중요한 내용들을 잃어버리게 된다. 이는 두 개의 관계 트리플이 실제로는 모두 삼성의 동일한 동작에 대하여 서술하고 있음에도 불구하고, Action의 개념을 사용하지 않고서는 이런 두 가지 종류의 정보가 같은 동작에 대하여 서술하고 있다는 것을 표현할 수 없기 때문이다. 따라서, 추후 관계 추출 과정에서 먼저 'hold'를 명사 형태인 'Holding'으로 바꾸어 Action임을 표현하여 관계 트리플 (Samsung, Process, Holding)을 추출하고, 두 개의 관계 트리플을 Holding의 제약 조건으로 사용하여, 2개의 트리플의 정보를 하나의 트리플로 변환하여 표현한다.(Result 2)
여기서, Action으로 표시해야 할 노드의 조건은 다음과 같다: 품사가 동사인 노드로서 기본적으로 주어와 목적어가 곧바로 연결되어 하나 이상의 의미 관계를 가지며, 또한 이 두 노드를 제외한 자식 노드들 중 자손에 하나 이상의 Term을 보유하는 노드가 존재할 경우.
7. 부정/빈도의 표시
부정/빈도의 정보를 그것이 수식하고 있는 동사 노드에 합친다. 부정/빈도의 정보는 그것이 수식하고 있는 동사 노드에서 추출된 관계 트리플의 의미 값에 큰 영향을 주기 때문이다.
상기 제3 단계의 자동으로 관계 트리플을 추출하는 단계는 다음과 같은 방식으로 수행한다.(도 3의 3. Extracting Triplets 참조)
전처리 과정을 통하여 얻어진 의존 문법 구문 트리는 postorder 방식으로 탐색하여 관계 트리플을 추출한다. 각 노드는 Reserved Term(RT), Reserved Clue(RC), Relation Queue(RQ)의 세 가지 데이터 구조를 보유한다. 상기 Clue는 의존 구문 문법 트리 상에서 관계가 설정된 두 텀을 연결하는 연결선 상에 존재하는 모든 문자열을 말한다. 이는 각각 구문 트리의 아래 쪽에 존재하는 텀 또는 아래에서 설정된 관계의 정보를 구문 트리의 윗 부분에서 다른 정보들과 연결해 주기 위하여 사용된다. 여기서 RT는 단 하나의 Term만을 보유할 수 있으며, RC는 문자열을 보유할 수 있고, RQ는 Relation Block의 List를 보유한다. Relation Block은 Relation Triple(arg1, rel, arg2)의 1개 또는 그 이상의 집합을 의미하며, Relation Block이 보유하는 Relation Triple은 개념적으로 서로 같은 arg1을 공유한다. 이하, 추가적인 언급이 없을 경우, Relation Queue에 Triple을 넣는다는 것은 Relation Triple을 단 하나 보유한 Relation Block을 제작하여 집어넣는 것을 의미한다. Relation Block RB의 첫 번째 트리플을 RB[1]로 표기하고, 두 번째 트리플을 RB[2]로 표기한다. (도 4 참조)
현재 탐색되고 있는 노드를 T, 대상 노드의 자식 노드를 C, 어떤 노드 A의 Term을 A[Term], RT를 A[RT], RC를 A[RC], RQ를 A[RQ]로 표현하도록 하자. 그러면 각 노드의 RT, RC 및 RQ를 다음의 경우에 따라서 바꾼다. Final Relation Queue(FRQ)는 최종 Relation set을 보유한다.
관계 트리플 추출은 아래 서술된 규칙에 의하여 진행된다.
Case 1. 대상 노드가 Term일 경우
Case 1.1 대상 노드의 자식이 없을 경우:
부모 노드로 정보를 전달하기 위하여 RT에 해당 노드의 Term을 넣는다.(도 5 참조)
Case 1.2 대상 노드의 자식이 존재할 경우
Case 1.2.1 대상 노드가 which, who 등에 의해 reference될 경우
자식 중 동사인 것의 RT 및 RQ 내용을 복사해 온다.
Case 1.2.2 대상 노드의 자식들의 RT및 RQ의 내용이 모두 Empty일 경우
자식 노드로부터 전달되어 온 정보가 존재하지 않는 경우이다. RT에 해당 노드의 Term을 넣는다. (도 6 참조)
Case 1.2.3 대상 노드의 자식들의 RT의 내용이 Empty가 아닌 것이 존재할 경우
자식 노드로부터 관계 설정에 사용될 텀이 전달되어 왔고, 이를 사용하여 현재 탐색중인 노드와의 관계를 설정해 주어야 할 경우이다. RT의 내용이 Empty가 아닌 자식 C에 대하여, T[RQ]에 다음의 관계를 추가한다: (도 7 참조)
Case 1.2.3.1 문장에서 T의 위치가 C의 앞일 경우: (T[Term], C[RC], C[RT])
Case 1.2.3.2 문장에서 C의 위치가 T의 앞일 경우: (C[RT], C[RC], T[Term])
Case 1.2.4 대상 노드의 자식들의 RQ가 Empty가 아닌 것이 존재할 경우
이 경우, 자식 노드로부터 대상 노드와 관계 설정이 되기 위하여 전달되어 온 텀이 이미 다른 텀과 관계 설정이 되어 있는 상태이다. 따라서 대상 노드와 전달되어 온 텀 간에 관계를 설정하고, 전달되어 온 텀의 RQ의 내용을 사용하여 설정된 관계에 대해 제한 조건을 준다.
Empty가 아닌 자식 C에 대하여, T[RQ]에 다음의 관계를 추가한다:
C[RQ]의 각각의 모든 원소 t에 대하여,
(T[Term], C[RC], RB[1][arg1] and (RB[1][rel] RB[1][arg2]) and (RB[2][rel] RB[2][arg2]) and ...)
(이하, (T[Term], C[RC], t[arg1] and (t[rel] t[arg2])와 같은 표기는 위와 같이 각각의 Relation Block의 모든 원소를 사용하여 제약 조건을 처리해 줌을 의미한다.)
이 경우, RB[1][arg1]은 전달되어 온 텀이고, (RB[1][arg1], RB[1][rel], RB[1][arg2]) 등은 미리 설정되어 있던 관계이다. (도 8의 Traverse 5 참조)
Case 2. 대상 노드가 텀이 아닐 경우
이 경우, 대상 노드 자체는 아무런 정보를 가지고 있지 않으며, 자손에 위치하는 텀의 정보를 위로 전달해 주거나, 또는 자손들간에 관계를 맺어 주는 역할을 한다.
Case 2.1 대상 노드의 자식이 없을 경우
자식으로부터 전해져 올 정보도 없고, 자신이 전달할 정보도 없다. 아무 일도 하지 않는다. (예: 관사)
Case 2.2 대상 노드의 자식이 존재할 경우
Case 2.2.1 대상 노드의 자식들의 RT및 RQ의 내용이 모두 Empty일 경우
이 경우 역시, 자식으로부터 전달되는 정보도 없고 부모 노드로 전달할 정보도 존재하지 않는 경우이다. 역시 아무 일도 하지 않는다.
Case 2.2.2 대상 노드가 To-부정사의 동사 부분 또는 동명사일 경우
이 경우는 대상 노드의 동사 부분을 Action으로 만들고, 대상 노드에 연결된 자식들을 새로이 만들어진 Action과 Triple로 만들어 준다. 또한 추출된 모든 관계들을 하나의 Relation Block으로 만들어 준다. 아래의 Traverse 4는 2개의 Triple이 하나의 Relation block으로 묶인 것을 나타내어 준다. (도 9의 Traverse 4 참조)
Case 2.2.3 대상 노드에 주어의 의존 관계를 가지는 자식 노드가 존재하며 조동사가 아닐 경우
Case 2.2.3.1 대상 노드에 목적어의 의존 관계를 가지는 자식 노드가 존재할 경우
Case 2.2.3.1.1 대상 노드가 Action 노드로 표시되어 있을 경우
이 경우, Action 노드 표시 기준에 의하여 자식들 중 RT또는 RQ가 Empty가 아닌 노드가 반드시 하나 이상 존재한다. 이런 경우, 일반적인 방법으로는 관계 트리플이 2가지 이상 산출되고, 이러한 트리플들 간의 연관성을 표시하기 힘들게 되므로, 대신 대상 노드를 Action로 만들고, 대상 Action에 대한 수식의 형태로 관계들을 표현해 주게 된다. 즉, 동사를 Action의 형태로 변형시킨 것과 주어를 Process의 관계로 연결해 주고, 제약 조건으로 목적어 및 다른 자식이 가지고 있는 정보를 추가한다. 이를 위해 다음의 과정을 수행한다.
RT또는 RQ가 Empty가 아닌 각각의 자식 노드들 C에 대하여, 다음을 T[RQ]에 추가한다.
주어의 의존 관계를 가지는 자식 노드를 S, 목적어의 의존 관계를 가지는 자식 노드를 O라고 하면 각각의 to(Triple of Object) in O[RQ], tc(Triple of Child) in C[RQ]에 대하여,
a. (S[RT], Process, T[Term](in Noun Form) AND (Objective O[Term]) AND (C[Clue] C[Term])) (도 10의 Traverse 6 참조)
b. (S[RT], Process, T[Term](in Noun Form) AND (Objective to[arg1] and (to[rel] to[arg2])) AND (C[Clue] C[Term])) (도 11의 Traverse 8 참조)
c. (S[RT], Process, T[Term](in Noun Form) AND (Objective O[Term]) AND (C[Clue] tc[arg1] and (tc[rel] tc[arg2])) (도 12의 Traverse 8 참조)
d. (S[RT], Process, T[Term](in Noun Form) AND (Objective to[arg1] and (to[rel] to[arg2])) AND (C[Clue] tc[arg1] and (tc[rel] tc[arg2])) (도 13의 Traverse 10 참조)
Case 2.2.3.1.2 대상 노드가 Action 노드가 아닐 경우
이 경우는 단순히 주어와 목적어간의 관계를 설정해 주면 된다.
Case 2.2.3.1.2.1 추출된 관계가 isA일 경우
어떤 노드의 RQ가 empty가 아니라는 것은 그 노드가 무엇인가에 의해 수식되고 있다는 뜻이다. isA관계에 의해 수식되는 노드와 수식되지 않는 노드가 묶일 경우, 분류 체계에서 수식되는 노드가 수식되지 않는 노드의 자식이 됨은 자명하다. 즉, 수식받지 않는 쪽, 다시 말해서 RQ가 Empty인 쪽이 'arg1'이 되고, 수식받는 쪽, 다시 말해 RQ가 Empty가 아닌 쪽이 'arg2'가 된다. 만약 두 노드가 모두 수식받지 않는다면, 자연스레 A is a B의 형태가 되므로 주어가 arg1, 목적어가 arg2의 자리에 위치하게 된다.
이를 실제로 나타내기 위해 아래와 같은 관계 설정 절차가 성립된다.(도 14의 Traverse 6 참조)
만약 S[RQ]가 empty일 경우, O[RQ]가 empty이면, (S[RT], isA, O[RT])를 추가하고, 아니면 O[RQ]의 각각의 트리플 to에 대하여 (S[RT], isA, to[arg1])과 (S[RT], to[설정된 관계], to[arg2])를 T[RQ]에 추가한다.
만약 S[RQ]가 empty가 아닐 경우, S[RQ]의 각각의 트리플 ts에 대하여 (O[RT], isA, ts[arg1])과 (O[RT], ts[rel], ts[arg2])를 T[RQ]에 추가한다. (도 15의 Traverse 6 참조)
Case 2.2.3.1.2.2 추출된 관계가 isA가 아닐 경우
이 경우는 단순히 주어와 목적어간 관계 설정을 해 주면 된다. 이 때, clue는 단순히 의존 구문 문법 트리 상에서 주어와 목적어의 사이에 있는 것으로 설정하여 준다. (도 16 참조)
다음을 T[RQ]에 추가한다:
(S[RT], S[RC] + T[term] + O[RC], O[RT]) (+는 String Concatenation(문자열 연결)을 의미한다.)
For each to(Triple of Object) in O[RQ],
(S[RT], S[RC] + T[term] + O[RC], to[arg1] AND (to[rel] to[arg2]))
Case 2.2.3.2 대상 노드에 목적어의 의존 관계를 가지는 자식 노드가 존재하지 않을 경우
이 경우도 마찬가지로 RT 및 RQ가 empty가 아닌 자식 노드들과 관계를 설정해 주면 된다.
Case 2.2.3.2.1 추출된 관계가 isA일 경우, 처리 방식은 Case 2.2.3.1.2.1과 동일하다.
isA의 관계의 특성상, 다음이 성립한다.
만약 S[RQ]가 empty일 경우, 만약 C[RQ]가 empty이면 (S[RT], isA, C[RT])를, 아니면 C[RQ]의 각각의 트리플 tc에 대하여 (S[RT], isA, tc[arg1])과 (S[RT]. tc[rel], tc[arg2])를 T[RQ]에 추가한다.
만약 S[RQ]가 empty가 아닐 경우, S[RQ]의 각각의 트리플 ts에 대하여 (C[RT], isA, ts[arg1])과 (C[RT], ts[rel], ts[arg2])를 T[RQ]에 추가한다.
Case 2.2.3.2.2 추출된 관계가 isA가 아닐 경우, 처리 방식은 Case 2.2.3.1.2.2와 동일하다.
대상 노드의 자식들 중 RT나 RQ가 empty가 아닌 자식들 C에 대하여, (S[RT], S[RC] + T[term] + C[RC], C[RT])를 T[RQ]에 추가하고, 또한 C[RQ]의 각각의 트리플 tc에 대하여 (S[RT], S[RC] + T[term] + C[RC], tc[arg1] AND (tc[rel] tc[arg2]))를 T[RQ]에 추가한다.
Case 2.2.4 대상 노드에 주어의 의존 관계를 가지는 자식 노드가 존재하지 않거나 조동사일 경우
이 경우는 일반적으로 RT및 RQ에 내용을 가지는 자식은 하나이다. 이 자식의 내용을 복사해 오고, clue에 대상 노드의 내용을 추가한다. 대상 노드가 자식 노드보다 앞에 나올 경우 clue를 앞에 추가하고, 뒤에 나올 경우 clue를 뒤에 추가한다. 이런 경우는 대개 in이나, for과 같은 전치사의 경우이다.
상기 설명된 Case들을 도 3을 참조하여 설명한다.
도 3의 예제에서 3. Extracting Triplets에서 이루어지는 과정이 여기에 해당된다. post-order traversing에 의해 첫 번째로 살펴보게 되는 node는 "James"이다. Case 1.1에 의해 "James" 노드의 RT는 James가 된다. 이후 탐색하게 되는 노드 "a"는 case 2.1에 해당하므로 아무 일도 하지 않는다. 이후 탐색되는 노드 "which"는 관계대명사이므로 그것이 가리키는 노드의 정보("company")를 자기 자신의 RT로 복사한다. 이후 탐색되는 "has"는 조동사이므로 case 2.2.4에 의해 RT가 "company", RC가 "has"가 된다. 노드 "seminar"에는 Case 1.1이 적용되고, 이는 노드 "London"에도 마찬가지이다. 노드 "in"에는 case 2.2.4가 적용된다. 8번째로 탐색되는 노드 "hold"에는 case 2.2.3.1.1이 적용되며, 9번째 노드 "company"에는 case 1.2.1이 적용되고, 마지막 노드 "visit"에는 case 2.2.3.1.2.2가 적용되어 최종 결과를 얻게 된다
이상과 같이 본 발명에 따른 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법을 예시한 도을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시예와 도에 의해 본 발명이 한정되는 것은 아니며, 본 발명의 기술사상 범위내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.
본 발명은 일반적인 문장으로부터 온톨로지를 구축하는데 있어서 의존 문법 구문 트리를 이용하여 상당 부분을 자동화함으로써, 컴퓨터를 이용한 정보 검색 분야에 효과적으로 이용될 수 있다.

Claims (11)

  1. 대상 문장을 구문 분석하여 의존 문법 구문 트리를 생성하는 제1 단계;
    상기 제1 단계 후 생성된 의존 문법 구문 트리를 전처리하여 관계 추출을 위한 형태로 변환하는 제2 단계; 및,
    상기 제2 단계에서 변환된 의존 문법 구문 트리를 포스트오더(postorder) 방식으로 탐색하여 자동으로 관계 트리플을 추출하는 제3 단계
    를 포함하는 것을 특징으로 하는 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법.
  2. 청구항 1에 있어서,
    상기 제1 단계는 의존 문법 구문 분석기를 이용하여 의존 문법 구문 트리를 생성하는 것을 특징으로 하는 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법.
  3. 청구항 1에 있어서, 상기 제2 단계는,
    미리 정의된 텀 사전을 이용하여 상기 대상 문장에서 텀을 표시하고 구축하는 과정,
    상기 의존 문법 구문 트리에서 주어가 될 수 있는 개체명을 인식하는 과정,
    상기 의존 문법 구문 트리에서 To-부정사 및 동명사가 있는 경우, 이를 별도로 표시하는 과정,
    상기 의존 문법 구문 트리에서 연결 접속사를 처리하는 과정,
    상기 의존 문법 구문 트리에 관계 대명사가 있는 경우, 관계 대명사를 대용할 수 있는 명사를 탐색하는 과정,
    같은 동작에 대하여 2개 이상의 관계 트리플들을 하나로 묶는 데 사용할 Action을 표시하는 과정,
    부정 또는 빈도의 정보를 그것이 수식하는 동사 노드에 합치는 과정
    을 포함하는 것을 특징으로 하는 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법.
  4. 청구항 3에 있어서,
    상기 연결 접속사를 처리하는 과정은, 상기 연결 접속사로 연결된 두 단어의 품사가 같고, 상기 단어의 품사가 동사가 아닐 때, 상기 두 단어를 의존 문법 구문 트리의 하나의 노드를 묶는 것을 특징으로 하는 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법.
  5. 청구항 3에 있어서,
    상기 연결 접속사를 처리하는 과정은, 상기 연결 접속사로 연결된 두 단어의 품사가 같고, 상기 단어의 품사가 동사인 경우, 상기 동사가 모두 주어와 목적어를 각각 보유하면 문장을 나누는 것을 특징으로 하는 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법.
  6. 청구항 3에 있어서,
    상기 연결 접속사를 처리하는 과정은, 상기 연결 접속사로 연결된 두 단어의 품사가 같고, 상기 단어의 품사가 동사인 경우, 먼저 나온 동사만 주어를 갖고 뒤에 나온 동사가 주어를 가지지 않으면 두 동사를 하나의 노드로 묶는 것을 특징으로 하는 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법.
  7. 청구항 3에 있어서,
    상기 연결 접속사를 처리하는 과정은, 상기 연결 접속사로 연결된 두 단어의 품사가 같고, 상기 단어의 품사가 동사인 경우, 먼저 나온 동사가 주어와 목적어를 모두 보유하고, 뒤에 나온 동사가 주어를 보유하지 않으면 주어를 복사하여 아래쪽 동사에 붙이고 두 문장을 나누는 것을 특징으로 하는 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법.
  8. 청구항 3에 있어서,
    상기 관계 대명사를 대용할 수 있는 명사를 탐색하는 과정은 상기 관계 대명사가 지칭하는 명사에 대하여 링크를 걸어주는 것을 특징으로 하는 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법.
  9. 청구항 3에 있어서,
    상기 Action을 표시하는 과정에서, 상기 Action은 품사가 동사인 두 노드로서 주어와 목적어가 연결되어 하나 이상의 의미 관계를 가지며, 상기 두 노드를 제외한 자식 노드들 중 하나 이상의 텀을 보유하는 자식 노드가 존재하는 경우 그 노드를 Action으로 표시하는 것을 특징으로 하는 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법.
  10. 청구항 9에 있어서,
    상기 Action으로 표시된 노드의 동사를 동명사로 변환하여 관계 트리플을 추출하고 상기 동명사를 사용하여 인수 1 또는 인수 2를 수식하는 구조로 변환하여 표현함으로써 2개의 트리플 정보를 하나의 트리플 정보로 변환하는 것을 특징으로 하는 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법.
  11. 청구항 1에 있어서,
    상기 제3 단계에서 상기 의존 문법 구문 트리에 있는 각각의 노드는 Reserved Term(이하 'RT), Reserved Clue(이하 'RC), Relation Queue(이하 'RQ')의 세가지 데이터 구조를 보유하며, 상기 RT는 하나의 텀만을 보유하며, 상기 RC는 문자열을 보유하며, 상기 RQ는 Relation Block(여기서, Relation Block은 관계 트리플이 1개 이상 모인 집합)의 리스트를 보유하는 것을 특징으로 하는 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법.
PCT/KR2009/005265 2008-10-29 2009-09-16 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법 WO2010050675A2 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080106383A KR101012504B1 (ko) 2008-10-29 2008-10-29 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출방법
KR10-2008-0106383 2008-10-29

Publications (2)

Publication Number Publication Date
WO2010050675A2 true WO2010050675A2 (ko) 2010-05-06
WO2010050675A3 WO2010050675A3 (ko) 2010-06-24

Family

ID=42129409

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2009/005265 WO2010050675A2 (ko) 2008-10-29 2009-09-16 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법

Country Status (2)

Country Link
KR (1) KR101012504B1 (ko)
WO (1) WO2010050675A2 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108874778A (zh) * 2018-06-15 2018-11-23 广东蔚海数问大数据科技有限公司 语义实体关系抽取方法、装置及电子设备
CN108920614A (zh) * 2018-06-28 2018-11-30 北京奇虎科技有限公司 在线查询数据的方法、装置及系统
CN109241538A (zh) * 2018-09-26 2019-01-18 上海德拓信息技术股份有限公司 基于关键词和动词依存的中文实体关系抽取方法
CN110069639A (zh) * 2019-04-01 2019-07-30 东华大学 一种构建甲状腺超声领域本体的方法
CN110134762A (zh) * 2019-04-23 2019-08-16 南京邮电大学 基于事件主题分析的虚假信息识别系统及识别方法
CN110502642A (zh) * 2019-08-21 2019-11-26 武汉工程大学 一种基于依存句法分析与规则的实体关系抽取方法
CN111160030A (zh) * 2019-12-11 2020-05-15 北京明略软件系统有限公司 一种信息抽取方法、装置、及存储介质
CN111651528A (zh) * 2020-05-11 2020-09-11 北京理工大学 基于生成式对抗网络的开放式实体关系抽取方法
CN112434532A (zh) * 2020-11-05 2021-03-02 西安交通大学 一种支持人机双向理解的电网环境模型及建模方法
US20230140938A1 (en) * 2020-04-10 2023-05-11 Nippon Telegraph And Telephone Corporation Sentence data analysis information generation device using ontology, sentence data analysis information generation method, and sentence data analysis information generation program

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102497539B1 (ko) * 2016-01-22 2023-02-08 서울대학교산학협력단 의미역 결정 기술을 활용한 온톨로지 기반 지식베이스 구축 방법
KR102588185B1 (ko) * 2018-09-28 2023-10-13 한국전자통신연구원 지식 그래프 기반 문장 분석 방법
KR102423072B1 (ko) * 2020-11-26 2022-07-20 주식회사 와이즈넛 지식 베이스 확장을 위한 인공기능 기반의 지식 트리플 추출 장치 및 그 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010088529A (ko) * 2001-08-02 2001-09-28 정회경 전자문서 편집/변환처리장치와 그 방법
KR20030013656A (ko) * 2001-08-08 2003-02-15 한국전자통신연구원 동적 질의어 튜닝 시스템 및 그 방법
KR20060064443A (ko) * 2004-12-08 2006-06-13 한국전자통신연구원 2단계 구문분석을 통한 자동 번역 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100815563B1 (ko) * 2006-08-28 2008-03-20 한국과학기술정보연구원 Dbms 기반 지식 확장 및 추론 서비스 시스템 및 그방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010088529A (ko) * 2001-08-02 2001-09-28 정회경 전자문서 편집/변환처리장치와 그 방법
KR20030013656A (ko) * 2001-08-08 2003-02-15 한국전자통신연구원 동적 질의어 튜닝 시스템 및 그 방법
KR20060064443A (ko) * 2004-12-08 2006-06-13 한국전자통신연구원 2단계 구문분석을 통한 자동 번역 장치 및 방법

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108874778A (zh) * 2018-06-15 2018-11-23 广东蔚海数问大数据科技有限公司 语义实体关系抽取方法、装置及电子设备
CN108874778B (zh) * 2018-06-15 2023-01-17 广东蔚海数问大数据科技有限公司 语义实体关系抽取方法、装置及电子设备
CN108920614B (zh) * 2018-06-28 2021-08-20 北京奇虎科技有限公司 在线查询数据的方法、装置及系统
CN108920614A (zh) * 2018-06-28 2018-11-30 北京奇虎科技有限公司 在线查询数据的方法、装置及系统
CN109241538A (zh) * 2018-09-26 2019-01-18 上海德拓信息技术股份有限公司 基于关键词和动词依存的中文实体关系抽取方法
CN109241538B (zh) * 2018-09-26 2022-12-20 上海德拓信息技术股份有限公司 基于关键词和动词依存的中文实体关系抽取方法
CN110069639A (zh) * 2019-04-01 2019-07-30 东华大学 一种构建甲状腺超声领域本体的方法
CN110069639B (zh) * 2019-04-01 2023-07-07 东华大学 一种构建甲状腺超声领域本体的方法
CN110134762A (zh) * 2019-04-23 2019-08-16 南京邮电大学 基于事件主题分析的虚假信息识别系统及识别方法
CN110134762B (zh) * 2019-04-23 2023-07-11 南京邮电大学 基于事件主题分析的虚假信息识别系统及识别方法
CN110502642B (zh) * 2019-08-21 2024-01-23 武汉工程大学 一种基于依存句法分析与规则的实体关系抽取方法
CN110502642A (zh) * 2019-08-21 2019-11-26 武汉工程大学 一种基于依存句法分析与规则的实体关系抽取方法
CN111160030B (zh) * 2019-12-11 2023-09-19 北京明略软件系统有限公司 一种信息抽取方法、装置、及存储介质
CN111160030A (zh) * 2019-12-11 2020-05-15 北京明略软件系统有限公司 一种信息抽取方法、装置、及存储介质
US20230140938A1 (en) * 2020-04-10 2023-05-11 Nippon Telegraph And Telephone Corporation Sentence data analysis information generation device using ontology, sentence data analysis information generation method, and sentence data analysis information generation program
CN111651528A (zh) * 2020-05-11 2020-09-11 北京理工大学 基于生成式对抗网络的开放式实体关系抽取方法
CN112434532A (zh) * 2020-11-05 2021-03-02 西安交通大学 一种支持人机双向理解的电网环境模型及建模方法

Also Published As

Publication number Publication date
KR101012504B1 (ko) 2011-02-08
KR20100047475A (ko) 2010-05-10
WO2010050675A3 (ko) 2010-06-24

Similar Documents

Publication Publication Date Title
WO2010050675A2 (ko) 의존 문법 구문 트리의 탐색을 통한 자동 관계 트리플 추출 방법
WO2010036013A2 (ko) 웹 문서에서의 의견 추출 및 분석 장치 및 그 방법
WO2011122724A1 (ko) 아밥 소스코드의 코드 검사를 수행하는 코드검사 수행시스템
WO2022196956A1 (ko) 삼중말뭉치를 이용한 딥러닝 트랜스포머 번역 시스템
WO2019117466A1 (ko) 발화의 의미를 분석하기 위한 전자 장치 및 그의 동작 방법
WO2016125949A1 (ko) 문서 자동 요약 방법 및 서버
WO2012134180A2 (ko) 문장에 내재한 감정 분석을 위한 감정 분류 방법 및 컨텍스트 정보를 이용한 다중 문장으로부터의 감정 분류 방법
WO2018207974A1 (ko) 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법
WO2012130145A1 (zh) 获取和搜索相关知识信息的方法及装置
WO2017047884A1 (en) Voice recognition server and control method thereof
WO2021002584A1 (ko) 음성을 통한 전자문서 제공 방법, 음성을 통한 전자문서 작성 방법 및 장치
WO2021071137A1 (ko) 외국어 문장 빈칸 추론 문제 자동 생성 방법 및 시스템
WO2021215620A1 (ko) 시맨틱 온톨로지를 이용한 도메인특화 이미지캡션 자동 생성 장치 및 방법
WO2022108318A1 (ko) 스마트 컨트랙트 코드 취약점 분석 장치 및 방법
WO2018056779A1 (en) Method of translating speech signal and electronic device employing the same
WO2014010819A1 (ko) 정형 및 비정형 데이터를 xml 문서에 구현하는 방법
WO2023191129A1 (ko) 법안 및 법규정에 대한 모니터링 방법 및 이를 위한 프로그램
WO2022035074A1 (ko) 문서 데이터에서 질병 관련 인자들 간의 관계를 추출하는 방법 및 이를 이용하여 구축되는 시스템
WO2017094967A1 (ko) 자연 언어 처리 스키마 및 그 지식 데이터베이스 구축 방법 및 시스템
WO2020233078A1 (zh) 用户信息表单的构建方法、装置、设备及存储介质
WO2015088291A1 (ko) 장문 번역 서비스 장치 및 방법
WO2023121165A1 (ko) 문서 데이터로부터 질병, 유전자, 물질 및 증상을 포함하는 엔티티 간의 연관성을 예측하고 단위 논거 텍스트를 출력하는 모델의 생성 방법 및 이를 이용한 시스템
WO2017159906A1 (ko) 원문의 번역어순을 결정하는 데이터 구조, 상기 구조를 생성하는 프로그램 및 이를 저장하는 컴퓨터 판독가능 저장매체
WO2012169708A1 (ko) 메타 데이터 변환 방법 및 이에 적합한 장치
WO2019245247A1 (en) Method for object management using trace identifier, apparatus for the same, computer program for the same, and recording medium storing computer program thereof

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

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09823755

Country of ref document: EP

Kind code of ref document: A2