KR20190033269A - 지식베이스 구축 방법 및 그 서버 - Google Patents

지식베이스 구축 방법 및 그 서버 Download PDF

Info

Publication number
KR20190033269A
KR20190033269A KR1020170121840A KR20170121840A KR20190033269A KR 20190033269 A KR20190033269 A KR 20190033269A KR 1020170121840 A KR1020170121840 A KR 1020170121840A KR 20170121840 A KR20170121840 A KR 20170121840A KR 20190033269 A KR20190033269 A KR 20190033269A
Authority
KR
South Korea
Prior art keywords
data
relation
knowledge base
information
cluster set
Prior art date
Application number
KR1020170121840A
Other languages
English (en)
Other versions
KR101983455B1 (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 숭실대학교산학협력단
Priority to KR1020170121840A priority Critical patent/KR101983455B1/ko
Priority to US15/856,463 priority patent/US20190087724A1/en
Publication of KR20190033269A publication Critical patent/KR20190033269A/ko
Application granted granted Critical
Publication of KR101983455B1 publication Critical patent/KR101983455B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Abstract

지식베이스 구축 방법 및 그 서버가 개시된다. 지식베이스 구축 방법은, (a) 트리플 데이터를 입력받는 단계; (b) 상기 지식베이스의 시맨틱 정보에 기초하여 상기 트리플 데이터를 관계(relation)에 따라 분류함으로써 적어도 하나의 데이터 클러스터 셋을 형성하는 단계; 및 (c) 상기 데이터 클러스터 셋을 텐서 신경망에 입력함으로써 각 관계 모델을 학습하는 단계를 포함한다.

Description

지식베이스 구축 방법 및 그 서버{Knowledge Base completion method and server}
본 발명은 불완전한 지식베이스를 부분적으로 완성할 수 있는 지식베이스 구축 방법 및 그 서버에 관한 것이다.
본 발명은 SW컴퓨팅상업원천기술개발사업의 일환으로 출원된 특허이며, 관련 사항은 아래와 같다.
부처명: 미래창조과학부
전담기관: 정보통신기술연구진흥센터
연구과제명: WiseKB :빅데이터 이해 기반 자가학습형 지식베이스 및 추론 기술 개발
연구기관(주관기관): (주)솔트룩스
연구기관(위탁기관): 숭실대학교 산학협력단, 경북대학교 산학협력단, 서울대학교 산학협력단, 서울시립대학교 산학협력단, 한국과학기술원, (주)케이티, (주)클라우다인, (주) 사이냅소프트
과제번호: R0101-15-0054
NTN(Neural Tensor Network)은 Socher가 제안한 두 개의 entity 사이의 relation 추론을 제공한다. 도 1과 같이 entity를 다차원 벡터로 임베딩하여 두 개의 텐서 레이어를 사용하는 선형 인공 신경망을 통해 기존 relation 모델 학습법 보다 높은 성능을 보이는 방법을 제시했다. 신경망 층 대신에 이중 텐서 레이어를 도입하여 개체간의 모든 관계를 반영하는 방법을 통해 높은 성능 향상을 얻었다.
그러나, 종래의 경우 지식베이스 전체를 대상으로 학습을 수행하기 때문에 계산 복잡도가 매우 높으며, 대용량 데이터를 대상으로 relation 학습을 진행하는 경우 매우 오랜 시간이 소요되는 한계점이 존재한다. 또한 지속적으로 새로운 데이터가 추가되는 지식 베이스를 처리하기 위한 방안이 존재하지 않기 때문에 전체 데이터를 대상으로 반복적인 학습이 요구된다.
본 발명은 불완전한 지식베이스를 부분적으로 완성할 수 있는 지식베이스 구축 방법 및 그 서버를 제공하기 위한 것이다.
또한, 본 발명은 불완전한 지식베이스의 지식을 완성함에 있어 동작 시간을 줄이고, 동적으로 변화하는 지식베이스를 대상으로 효율적인 처리가 가능한 지식베이스 구축 방법 및 그 서버를 제공하기 위한 것이다.
또한, 본 발명은 전체 지식베이스를 사용하지 않고 필요한 데이터를 부분적으로 추출하여 학습을 진행할 수 있는 지식베이스 구축 방법 및 그 서버를 제공하기 위한 거이다.
본 발명의 일 측면에 따르면, 불완전한 지식베이스를 부분적으로 완성할 수 있는 지식베이스 구축 방법이 제공된다.
본 발명의 일 실시예에 따르면, 지식베이스 구축 방법에 있어서, (a) 트리플 데이터를 입력받는 단계; (b) 상기 지식베이스의 시맨틱 정보에 기초하여 상기 트리플 데이터를 관계(relation)에 따라 분류함으로써 적어도 하나의 데이터 클러스터 셋을 형성하는 단계; 및 (c) 상기 데이터 클러스터 셋을 텐서 신경망에 입력함으로써 각 관계 모델을 학습하는 단계를 포함하는 지식베이스 구축 방법.
상기 (c) 단계는, 상기 데이터 클러스터 셋에 포함된 트리플 데이터의 주어, 술어 및 목적어 위치에 포함된 각 개체들에 대한 개체 벡터를 도출한 후 벡터 공간(vector space)에 임베딩하는 단계; 및 상기 개체 벡터를 텐서 신경망에 적용하여 각 관계 모델을 학습하는 단계를 포함할 수 있다.
상기 데이터 클러스터 셋을 형성하는 단계는, 상기 시맨틱 정보에 기반하여 유사한 관계들을 각 클러스터 그룹으로 형성하는 단계; 및 상기 각 클러스터 그룹에 포함된 유사한 관계들에 따라 상기 트리플 데이터를 분류하여 각각의 데이터 클러스터 셋을 형성하는 단계를 포함할 수 있다.
본 발명의 다른 실시예에 따르면, 지식베이스 구축 방법에 있어서, (a) 상기 지식베이스상에서 갱신하고자 하는 지식에 대한 타겟 관계를 입력받는 단계; (b) 상기 지식베이스의 시맨틱 정보에 기초하여 상기 타겟 관계를 포함하는 상기 타겟 관계와 유사한 후보 관계 정보를 추출하는 단계; 및 (c) 상기 후보 관계 정보에 상응하는 데이터 클러스터 셋을 선별하고, 상기 선별된 데이터 클러스터 셋을 텐서 신경망에 적용하여 상기 후보 관계 정보에 따른 관계 모델을 학습하는 단계를 포함하는 지식베이스 구축 방법이 제공될 수 있다.
상기 (b) 단계는, 상기 지식베이스의 스키마 정보인 상기 시맨틱 정보를 이용하여 상기 타겟 관계와 유사한 관계들을 선별하는 단계; 상기 타겟 관계와 상기 선별된 유사한 관계들 각각과의 유사도를 도출하는 단계; 및 상기 선별된 유사한 관계들 중 도출된 유사도가 임계치 이상인 관계들을 후보 관계 정보로써 추출하는 단계를 포함하되, 상기 후보 관계 정보는 상기 타겟 관계를 포함한다.
상기 타겟 관계와 상기 유사한 관계들 각각과의 유사도를 도출하는 단계는, 유사도를 도출하는 대상 관계를 포함하는 트리플 데이터의 개수와 상기 타겟 관게를 포함하는 트리플 데이터의 개수의 최소값으로 상기 대상 관계와 상기 타겟 관계를 사용하는 트리플 데이터 중 주어와 목적어를 공유하는 트리플 데이터의 개수를 나누어 도출될 수 있다.
상기 (c) 단계는, 후보 관계 정보에 포함된 관계들을 가지는 트리플 데이터를 데이터 클러스터 셋으로 추출한 후 상기 데이터 클러스터 셋에 포함된 트리플 데이터를 트리플 시퀀스로 변환한 후 개체 벡터로 변환하는 단계; 및 상기 개체 벡터를 상기 텐서 신경망에 적용하여 상기 후보 관계 정보에 상응하는 관계 모델을 학습하는 단계를 포함할 수 있다.
본 발명의 다른 측면에 따르면, 불완전한 지식베이스를 부분적으로 완성할 수 있는 장치가 제공된다.
본 발명의 일 실시예에 따르면, 지식베이스 구축하는 서버에 있어서, 트리플 데이터를 입력받는 입력부; 상기 지식베이스의 시맨틱 정보에 기초하여 상기 트리플 데이터를 관계(relation)에 따라 분류함으로써 적어도 하나의 데이터 클러스터 셋을 형성하는 추출부; 및 상기 데이터 클러스터 셋을 텐서 신경망에 입력함으로써 각 관계 모델을 학습하는 학습부를 포함하는 서버가 제공될 수 있다.
본 발명의 다른 실시예에 따르면, 지식베이스 구축하는 서버에 있어서, 상기 지식베이스상에서 갱신하고자 하는 지식에 대한 타겟 관계를 입력받는 입력부; 상기 지식베이스의 시맨틱 정보에 기초하여 상기 타겟 관계를 포함하는 상기 타겟 관계와 유사한 후보 관계 정보를 추출하는 추출부; 및 상기 후보 관계 정보에 상응하는 데이터 클러스터 셋을 선별하고, 상기 선별된 데이터 클러스터 셋을 텐서 신경망에 적용하여 상기 후보 관계 정보에 따른 관계 모델을 학습하는 학습부를 포함하는 서버가 제공될 수 있다.
본 발명의 일 실시예에 따른 지식베이스 구축 방법 및 서버를 제공함으로써, 불완전한 지식베이스를 부분적으로 완성할 수 있다.
또한, 본 발명은 불완전한 지식베이스의 지식을 완성함에 있어 동작 시간을 줄이고, 동적으로 변화하는 지식베이스를 대상으로 효율적인 처리가 가능한 이점이 있다.
또한, 본 발명은 전체 지식베이스를 사용하지 않고 필요한 데이터를 부분적으로 추출하여 학습을 진행할 수 있는 이점이 있다.
도 1은 종래의 Neural Tensor layer를 도시한 도면.
도 2는 본 발명의 일 실시예에 따른 지식베이스 구축 방법을 나타낸 순서도.
도 3은 본 발명의 일 실시예에 따른 트리플 데이터 셋을 설명하기 위해 도시한 도면.
도 4는 본 발명의 일 실시예에 따른 트리플 데이터 셋을 문장 형태로 변환한 일 예를 도시한 도면.
도 5는 본 발명의 일 실시예에 따른 트레이닝 데이터의 일 예를 도시한 도면.
도 6은 본 발명의 일 실시예에 따른 지식베이스를 갱신하는 방법을 나타낸 순서도.
도 7은 본 발명의 일 실시예에 따른 후보 관계 정보를 추출하는 방법을 설명하기 위해 도시한 도면.
도 8은 본 발명의 일 실시예에 따른 두 관계간의 유사도를 설명하기 위해 도시한 도면.
도 9는 본 발명의 일 실시예에 따른 서브셋 확장을 설명하기 위해 도시한 도면.
도 10은 본 발명의 일 실시예에 따른 지식베이스를 구축하는 서버의 구성을 개략적으로 도시한 도면.
도 11은 본 발명의 일 실시예에 따른 지식베이스에서 서브셋을 추출하여 학습하는 방법을 설명하기 위해 도시한 도면.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 지식베이스 구축 방법을 나타낸 순서도이며, 도 3은 본 발명의 일 실시예에 따른 트리플 데이터 셋을 설명하기 위해 도시한 도면이고, 도 4는 본 발명의 일 실시예에 따른 트리플 데이터 셋을 문장 형태로 변환한 일 예를 도시한 도면이고, 도 5는 본 발명의 일 실시예에 따른 트레이닝 데이터의 일 예를 도시한 도면이다.
단계 210에서 서버(200)는 트리플 데이터를 입력받는다. 트리플 데이터는 각각의 개체에 대한 정보를 주어와 목적어로 포함하며, 주어와 목적어의 관계(relation)에 대한 정보를 술어로써 포함한다.
트리플 데이터의 형식은 다음과 같다.
<Tom isSpouseOf Mary>
상술한 트리플 데이터의 예에서, 주어 위치에 포함된 Tom과 목적어 위치에 포함된 Mary는 각각 개체를 나타낼 수 있다. 또한, 술어 위치에 포함된 isSpouseOf를 통해 Tom과 Mary의 관계를 알 수 있다.
이하, 본 명세서에서 개체는 트리플 데이터의 주어와 목적어 위치에 포함된 데이터를 지칭하는 것으로 이해되어야 할 것이다. 또한, 관계는 트리플 데이터의 술어 위치에 포함된 데이터를 지칭하는 것으로 이해되어야 할 것이다.
이러한 트리플 데이터는 당업자에게는 자명한 사항이므로 이에 대한 추가적인 상세한 설명은 생략하기로 한다.
단계 215에서 서버(200)는 당해 지식베이스상에 정의된 시맨틱 정보를 이용하여 트리플 데이터를 각 관계별로 분류하여 데이터 클러스터 셋을 형성한다.
예를 들어, 본 발명의 일 실시예에서는 RDFS, OWL을 이용하여 시맨택 정보가 사전에 정의되어 있을 수 있다. 여기서, 시맨틱 정보는 RDFS, OWL에 정의된 스키마 정보로, 다양한 규칙에 대한 정보일 수 있다. RDFS, OWL등은 지식베이스의 일 예로 당업자에게는 자명한 사항이므로 이에 대한 별도의 설명은 생략하기로 한다.
이해와 설명의 편의를 도모하기 위해 RDFS, OWL을 예로 들어 설명하고 있으나. 이외에도 공지된 지식베이스에서 모두 동일하게 적용될 수 있음은 당연하다.
또한, 이해와 설명의 편의를 도모하기 위해 트리플 데이터를 각 관계별로 분류하는 것을 가정하고 있으나, 유사한 관계들을 하나의 클러스터 그룹으로 설정한 후 각 클러스터 그룹에 상응하여 트리플 데이터를 분류할 수 있다.
이해와 설명의 편의를 도모하기 위해 유사한 관계들을 클러스터 그룹으로 설정한 것을 관계 클러스터 그룹이라 칭하기로 한다.
또한, 이하에서 데이터 클러스터 셋은 관계 클러스터에 따라 트리플 데이터를 유사한 관계들로 각각 분류한 것을 지칭하기로 한다.
이해와 설명의 편의를 도모하기 위해, 각각의 관계 정보를 R1, R2, R3, ... Rn이라고 가정하기로 한다. 그리고, 각각의 관계 클러스터를 C1, C2, ... Cm이라고 가정하기로 한다.
이때, C1에는 유사한 관계 정보들로 R1, R2, R3가 포함되어 하나의 클러스터를 형성하며, C2는 R5, R8, R9이 포함되어 하나의 관계 클러스터를 형성한다고 가정하기로 한다.
서버(200)는 C1에 포함된 R1, R2, R3 중 어느 하나의 관계를 포함하는 트리플 데이터들을 하나의 데이터 클러스터 셋으로 분류할 수 있다. 따라서, 하나의 데이터 클러스터 셋에 포함된 트리플 데이터들을 관계 클러스터에 포함된 유사한 관계들 중 어느 하나를 가지는 데이터들로 이해되어야 할 것이다.
예를 들어, C1이 "Spouse" 관계 클러스터라고 가정하기로 한다. C1에는 "Spouse", "Husband", "Wife" 등등이 유사한 관계들을 포함할 수 있다. 따라서, "Spouse", "Husband", "Wife" 중 어느 하나를 포함하는 트리플 데이터들은 모두 C1 데이터 클러스터 셋으로 분류될 수 있다.
단계 220에서 서버(200)는 각 데이터 클러스터 셋을 인공 신경망(보다 상세하게 텐서 신경망)에 적용하여 각 관계 모델을 학습한다. 텐서 신경망을 통해 각 관계 모델을 학습함에 있어, 데이터 클러스터 셋에 포함된 트리플 데이터를 이용하여 추론을 통해 불완전한 지식의 관계를 추가적으로 형성할 수 있다.
보다 상세하게, 서버(200)는 각 데이터 클러스터 셋에 포함된 트리플 데이터를 문장 형태로 변환한 후 공지된 Skip-gram 등의 알고리즘을 이용하여 개체 공간에 임베딩할 수 있다.
예를 들어, 도 3과 같은 트리플 데이터들이 존재한다고 가정하기로 한다. 이러한 서버(200)는 트리플 데이터를 도 4에 도시된 바와 같이 문장 형태로 변환한 후 각 개체를 다차원 벡터 공간에 벡터로 임베딩할 수 있다.
본 발명의 일 실시예에서 서버(200)는 트리플 데이터를 도 3에 도시된 바와 같이 문장 형태로 변환한 후 Skip-gram, RDF2sentence 알고리즘을 이용하여 트레이닝 데이터로 변경할 수 있다. 서버(200)는 이와 같이 트레이닝 데이터로 변경된 데이터를 word2vec 알고리즘을 이용하여 각각 개체 벡터로 생성할 수 있다.
여기서, Skip-gram, RDF2sentence, word2vec 등의 알고리즘은 당업자에게는 자명한 사항이므로 이에 대한 별도의 설명은 생략하기로 한다.
Skip-gram을 이용하여 트레이닝 데이터로 변경한 일 예가 도 5에 도시되어 있다.
각각의 개체 벡터는 복수의 차원으로 생성될 수 있다. 예를 들어, 개체 벡터는 100차원으로 생성될 수 있다.
이와 같이, 생성된 개체 벡터는 벡터 공간에 임베딩될 수 있다.
본 발명의 일 실시예에서는 트리플 데이터 자체를 임베딩하는 것이 아니라 숫자 형태의 개체 벡터로 변환하여 벡터 공간에 임베딩하고, 이를 기반으로 각 관계 모델들을 학습하는 방법을 이용한다.
이를 통해, 본 발명의 일 실시예에서는 각 관계 모델들을 학습하는데 소요되는 시간을 줄일 수 있는 이점이 있다.
서버(200)는 이와 같이 생성된 개체 벡터를 기초로 텐서 신경망(Neural Tensor Network)을 이용하여 각각의 관계 모델을 학습할 수 있다. 여기서, 텐서 신경망은 당업자에게는 자명한 사항이므로 이에 대한 별도의 설명은 생략하기로 한다.
본 발명의 일 실시예에 따르면, 개체 벡터는 training/dev/test로 3개의 데이터 셋으로 분리할 수 있다. 트레이닝 데이터는 실제 관계 모델 학습에 사용되며, 테스트 데이터는 학습된 관계 모델의 성능을 평가하기 위해 사용된다. 또한, dev 데이터는 학습된 관계 모델을 통해 계산된 새로운 데이터의 점수를 비교하기 위한 임계값을 정하기 위해 사용될 수 있다.
사실(true)로 가정할 수 있는 dev 데이터의 주어/목적어를 무작위로 다른값으로 변경함으로써 사실(true)/거짓(false)에 해당하는 데이터를 모두 생성하여 임계값을 정할 수 있다.
본 발명의 일 실시예에서는 2개의 다차원 개체 벡터를 텐서 신경망에 적용하여 각 관계 모델을 학습할 수 있다. 각 관계 모델은 두 개체의 관계에 대한 점수를 수학식 1을 사용하여 계산한다.
[수학식 1]
Figure pat00001
텐서 레이어의 슬라이스가 되는
Figure pat00002
, 표준 레이어인
Figure pat00003
를 바이어스인 b와 합하여 선형 레이어
Figure pat00004
를 곱하면, 관계 R과 두 개체를 갖는 데이터의 점수가 도출될 수 있다.
또한, 본 발명의 일 실시예에에 따른 각 관계 모델의 비용 함수는 수학식 2와 같다.
[수학식 2]
Figure pat00005
여기서,
Figure pat00006
는 무작위로 실제 트리플 데이터의 개체를 변경한 corrupt 데이터를 나타낸다. N개의 학습 데이터에 대해 C개의 corrupt 데이터와 점수를 비교하여 비용이 최소가 되도록 반복 학습을 진행하면서 관계 모델을 생성할 수 있다.
도 2에서는 복수의 트리플 데이터를 최초 입력하여 각 관계 모델을 구축하고, 텐서 신경망을 통해 이를 학습하여 자동으로 추론하는 과정에 대해 설명하였다. 이후에서는 도 2에 의해 관계 모델들이 형성되어 있는 상태에서 지식베이스를 갱신하는 방법에 대해 설명하기로 한다.
도 6은 본 발명의 일 실시예에 따른 지식베이스를 갱신하는 방법을 나타낸 순서도이고, 도 7은 본 발명의 일 실시예에 따른 후보 관계 정보를 추출하는 방법을 설명하기 위해 도시한 도면이며, 도 8은 본 발명의 일 실시예에 따른 두 관계간의 유사도를 설명하기 위해 도시한 도면이고, 도 9는 본 발명의 일 실시예에 따른 서브셋 확장을 설명하기 위해 도시한 도면이다.
단계 610에서 서버(200)는 타겟 관계(relation) 정보를 입력받는다. 여기서, 타겟 관계 정보는 지식베이스에서 갱신하고자 하는 특정 관계(relation)를 나타낸다.
예를 들어, 갱신하고자 하는 특정 관계가 "spouse"라고 가정하기로 한다. 이와 같은 경우, 서버(200)는 "spouse"를 타겟 관계 정보로서 입력받을 수 있다.
단계 615에서 서버(200)는 지식베이스의 시맨틱 정보를 이용하여 타겟 관계와 유사한 후보 관계 정보들을 추출한다.
도 7을 참조하여 보다 상세히 설명하기로 한다.
예를 들어, 서버(200)는 타겟 관계의 하위 관계들을 추출하거나 domain, range, inverse와 같은 시맨틱 정보를 활용하여 유사한 관계들을 선정할 수 있다(710). 이와 같이 선별된 유사한 관계들은 유사 관계 셋에 별도로 저장될 수 있다.
이와 같이, 유사한 관계들이 선정되면, 서버(200)는 타겟 관계와 선정된 각 유사한 관계들간의 유사도를 계산한다(720).
타겟 관계와 선정된 각 유사한 관계들간의 유사도는 수학식 3을 이용하여 계산될 수 있다.
[수학식 3]
Figure pat00007
여기서, R1 및 R2는 각각 관계(relation)을 나타낸다. 또한,
Figure pat00008
는 R1을 포함하는 데이터의 개수를 나타내고,
Figure pat00009
는 R2를 포함하는 데이터의 개수를 나타낸다.
따라서, 수학식 1의 타겟 관계(target relation)과 각 유사한 관계를 사용하는 데이터의 개수 중 최소값을 분모로 하고, 각 관계를 사용하는 데이터 중 주어와 목적어를 공유하는 데이터의 개수를 분자로 하여 유사도를 계산할 수 있다.
각 타겟 관계와 선정된 각 유사한 관계간에 유사도를 각각 도출한 후 임계값(threshold) 이상인 경우에만 후보 관계 정보로 추출하여 지식 완성에 이용할 수 있다(730).
각 관계들간의 유사도를 도출한 후 도 8에 도시된 바와 같이, 관계별 유사도 DB에 각각 저장할 수 있다. 도 8과 같이, 각 관계별 유사도 정보를 DB에 저장한 후 추후 지식베이스의 갱신시에 이용할 수도 있음은 당연하다.
단계 620에서 서버(200)는 후보 관계 정보들과 관련 있는 데이터들을 이용하여 관계 모델을 학습하여 지식베이스의 지식 완성을 수행한다.
보다 상세하게 서버(200)는 후보 관계 정보들에 관련 있는 데이터를 지식베이스에서 추출한다. 예를 들어, 도 2에서 설명한 바와 같이, 클러스터 메타 데이터를 이용하여 후보 관계 정보들에 관련 있는 데이터 클러스터 셋을 선택할 수 있다. 이어, 해당 데이터 클러스터 셋에 포함된 데이터를 문장 형태로 변환한 후 이미 전술한 바와 같이 공지된 skip-gram을 이용하여 개체로 변환하고 word2vec 등의 알고리즘을 이용하여 개체 벡터를 생성한 후 벡터 공간에 개체 벡터를 임베딩할 수 있다.
관계 모델들을 학습함에 있어 관계 모델의 학습 성능을 높이기 위해서는 타겟 관계와 관련된 다양한 데이터가 필요하다. 따라서, 본 발명의 일 실시예에서는 타겟 관계와 유사한 관계 정보들을 선정한 후 유사도를 도출하여 후보 관계 정보들을 도출한 후 각 후보 관계 정보들을 기반으로 데이터를 확장하여 추출할 수 있다(도 9 참조)
이와 같이, 타겟 관계(relation)이 입력되는 경우, 서버(200)는 타겟 관계와 유사한 관계들을 후보 관계 정보로 추출한 후 해당 후보 관계 정보에 대한 데이터 클러스터 셋에 대해서만 관계 모델을 학습하도록 할 수 있다. 이를 통해, 지식베이스의 업데이트시 처리 성능을 향상시킬 수 있는 이점이 있다.
또한, 타겟 관계에 대한 데이터 클러스터 셋만을 선별하여 관계 모델을 학습하는 것이 아니라, 스키마 정보의 시맨틱 정보의 추론을 포함하는 타겟 관계에 유사한 관계들을 선별한 후 일정 임계치 이상의 유사도를 갖는 후보 관계 정보들을 모두 추출하여 데이터 클러스터 셋을 선별하여 관계 모델을 학습하도록 함으로써 불완전한 지식베이스를 보완할 수 있는 이점도 있다.
도 10은 본 발명의 일 실시예에 따른 지식베이스를 구축하는 서버의 구성을 개략적으로 도시한 도면이며, 도 11은 본 발명의 일 실시예에 따른 지식베이스에서 서브셋을 추출하여 학습하는 방법을 설명하기 위해 도시한 도면이다.
도 10을 참조하면, 본 발명의 일 실시예에 따른 서버(200)는 입력부(1010), 추출부(1015), 학습부(1020), 메모리(1025) 및 프로세서(1030)를 포함하여 구성된다.
입력부(1010)는 트리플 데이터 또는 타겟 관계 등을 입력받기 위한 수단이다.
추출부(1015)는 트리플 데이터 또는 타겟 관계에 유사한 후보 관계들을 추출하기 위한 수단이다.
이를 보다 상세히 나타내면, 도 11과 같다.
지식베이스의 시맨틱 정보를 기초로 입력된 트리플 데이터에 포함된 특정 관계 또는 타겟 관계와 유사한 관계들을 선별할 수 있다.
시맨틱 정보를 기초로 트리플 데이터 또는 타겟 관계에 상응하는 유사한 관계들을 선별함에 있어, 시맨틱 정보에 대한 추론을 포함하여 유사한 관계들을 선별할 수 있다. 선별된 유사한 관계 각각과 유사도를 도출한 후 유사도가 임계치 이상인 유사한 관계들을 후보 관계 정보로써 추출할 수 있다.
이렇게 추출된 후보 관계 정보들은 DB에 별도로 저장되거나 메타데이터 형태로 저장될 수 있다.
추출부(1015)는 최종 추출된 후보 관계 정보에 상응하는 데이터 클러스터 셋을 추출하여 학습부(1020)로 출력할 수 있다. 여기서, 후보 관계 정보에 상응하는 데이터 클러스터 셋을 추출하는 상세한 방법은 도 11에 도시된 바와 같다.
본 명세서에서 후보 관계 정보는 타겟 관계 정보를 포함하는 것으로 이해되어야 할 것이다.
추출부(1015)는 이미 전술한 바와 같이, 후보 관계 정보를 추출한 후 이를 하나의 클러스터로 그룹핑(관계 클러스터)하여 이를 메타 데이터 형태로 저장할 수 있다. 추출부(1015)는 후보 관계 정보들을 각각 포함하는 트리플 데이터를 추출하여 학습부(1020)로 출력할 수 있다.
학습부(1020)는 후보 관계 정보에 상응하는 데이터 클러스터 셋을 이용하여 관계 모델을 학습하기 위한 수단이다.
이때, 학습부(1020)는 데이터 클러스터 셋에 포함된 트리플 데이터를 문장 형태로 변환한 후 skip-gram 등을 이용하여 각각 개체로 변환하고, 이를 word2vec을 이용하여 개체 벡터를 도출한 후 이를 벡터 공간에 임베딩할 수 있다.
이어, 학습부(1020)는 벡터 공간에 임베딩된 개체 벡터를 인공 신경망을 통해 각 관계 모델 단위로 학습할 수 있다.
이 또한 이미 도 1 내지 도 9를 참조하여 설명한 바와 동일하므로 중복되는 설명은 생략하기로 한다.
메모리(1025)는 본 발명의 일 실시예에 따른 지식베이스 구축 방법을 수행하기 위해 필요한 다양한 데이터, 알고리즘, 이 과정에서 파생되는 다양한 데이터 등을 저장하기 위한 수단이다.
프로세서(1030)는 본 발명의 일 실시예에 따른 서버(200)의 내부 구성 요소들(예를 들어, 입력부(1010), 추출부(1015), 학습부(1020), 메모리(1025) 등)을 제어하기 위한 수단이다.
또한, 본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 일 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
200: 서버
1010: 입력부
1015: 추출부
1020: 학습부
1025: 메모리
1030: 프로세서

Claims (10)

  1. 지식베이스 구축 방법에 있어서,
    (a) 트리플 데이터를 입력받는 단계;
    (b) 상기 지식베이스의 시맨틱 정보에 기초하여 상기 트리플 데이터를 관계(relation)에 따라 분류함으로써 적어도 하나의 데이터 클러스터 셋을 형성하는 단계; 및
    (c) 상기 데이터 클러스터 셋을 텐서 신경망에 입력함으로써 각 관계 모델을 학습하는 단계를 포함하는 지식베이스 구축 방법.
  2. 제1 항에 있어서,
    상기 (c) 단계는,
    상기 데이터 클러스터 셋에 포함된 트리플 데이터의 주어, 술어 및 목적어 위치에 포함된 각 개체들에 대한 개체 벡터를 도출한 후 벡터 공간(vector space)에 임베딩하는 단계; 및
    상기 개체 벡터를 텐서 신경망에 적용하여 각 관계 모델을 학습하는 단계를 포함하는 것을 특징으로 하는 지식베이스 구축 방법.
  3. 제1 항에 있어서,
    상기 데이터 클러스터 셋을 형성하는 단계는,
    상기 시맨틱 정보에 기반하여 유사한 관계들을 각 클러스터 그룹으로 형성하는 단계; 및
    상기 각 클러스터 그룹에 포함된 유사한 관계들에 따라 상기 트리플 데이터를 분류하여 각각의 데이터 클러스터 셋을 형성하는 단계를 포함하는 것을 특징으로 하는 지식베이스 구축 방법.
  4. 지식베이스 구축 방법에 있어서,
    (a) 상기 지식베이스상에서 갱신하고자 하는 지식에 대한 타겟 관계를 입력받는 단계;
    (b) 상기 지식베이스의 시맨틱 정보에 기초하여 상기 타겟 관계를 포함하는 상기 타겟 관계와 유사한 후보 관계 정보를 추출하는 단계; 및
    (c) 상기 후보 관계 정보에 상응하는 데이터 클러스터 셋을 선별하고, 상기 선별된 데이터 클러스터 셋을 텐서 신경망에 적용하여 상기 후보 관계 정보에 따른 관계 모델을 학습하는 단계를 포함하는 지식베이스 구축 방법.
  5. 제4 항에 있어서,
    상기 (b) 단계는,
    상기 지식베이스의 스키마 정보인 상기 시맨틱 정보를 이용하여 상기 타겟 관계와 유사한 관계들을 선별하는 단계;
    상기 타겟 관계와 상기 선별된 유사한 관계들 각각과의 유사도를 도출하는 단계;
    상기 선별된 유사한 관계들 중 도출된 유사도가 임계치 이상인 관계들을 후보 관계 정보로써 추출하는 단계를 포함하되,
    상기 후보 관계 정보는 상기 타겟 관계를 포함하는 것을 특징으로 하는 지식베이스 구축 방법.
  6. 제5 항에 있어서,
    상기 타겟 관계와 상기 유사한 관계들 각각과의 유사도를 도출하는 단계는,
    유사도를 도출하는 대상 관계를 포함하는 트리플 데이터의 개수와 상기 타겟 관게를 포함하는 트리플 데이터의 개수의 최소값으로 상기 대상 관계와 상기 타겟 관계를 사용하는 트리플 데이터 중 주어와 목적어를 공유하는 트리플 데이터의 개수를 나누어 도출하는 것을 특징으로 하는 지식베이스 구축 방법.
  7. 제5 항에 있어서,
    상기 (c) 단계는,
    후보 관계 정보에 포함된 관계들을 가지는 트리플 데이터를 데이터 클러스터 셋으로 추출한 후 상기 데이터 클러스터 셋에 포함된 트리플 데이터를 트리플 시퀀스로 변환한 후 개체 벡터로 변환하는 단계; 및
    상기 개체 벡터를 상기 텐서 신경망에 적용하여 상기 후보 관계 정보에 상응하는 관계 모델을 학습하는 단계를 포함하는 것을 특징으로 하는 지식베이스 구축 방법.
  8. 제1 항 내지 제 7 항 중 어느 하나의 항에 따른 방법을 수행하기 위한 프로그램 코드를 기록한 컴퓨터로 판독 가능한 기록매체 제품.
  9. 지식베이스 구축하는 서버에 있어서,
    트리플 데이터를 입력받는 입력부;
    상기 지식베이스의 시맨틱 정보에 기초하여 상기 트리플 데이터를 관계(relation)에 따라 분류함으로써 적어도 하나의 데이터 클러스터 셋을 추출하는 추출부; 및
    상기 데이터 클러스터 셋을 텐서 신경망에 입력함으로써 각 관계 모델을 학습하는 학습부를 포함하는 서버.
  10. 지식베이스 구축하는 서버에 있어서,
    상기 지식베이스상에서 갱신하고자 하는 지식에 대한 타겟 관계를 입력받는 입력부
    상기 지식베이스의 시맨틱 정보에 기초하여 상기 타겟 관계를 포함하는 상기 타겟 관계와 유사한 후보 관계 정보를 추출하는 추출부; 및
    상기 후보 관계 정보에 상응하는 데이터 클러스터 셋을 선별하고, 상기 선별된 데이터 클러스터 셋을 텐서 신경망에 적용하여 상기 후보 관계 정보에 따른 관계 모델을 학습하는 학습부를 포함하는 서버.

KR1020170121840A 2017-09-21 2017-09-21 지식베이스 구축 방법 및 그 서버 KR101983455B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170121840A KR101983455B1 (ko) 2017-09-21 2017-09-21 지식베이스 구축 방법 및 그 서버
US15/856,463 US20190087724A1 (en) 2017-09-21 2017-12-28 Method of operating knowledgebase and server using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170121840A KR101983455B1 (ko) 2017-09-21 2017-09-21 지식베이스 구축 방법 및 그 서버

Publications (2)

Publication Number Publication Date
KR20190033269A true KR20190033269A (ko) 2019-03-29
KR101983455B1 KR101983455B1 (ko) 2019-05-28

Family

ID=65719387

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170121840A KR101983455B1 (ko) 2017-09-21 2017-09-21 지식베이스 구축 방법 및 그 서버

Country Status (2)

Country Link
US (1) US20190087724A1 (ko)
KR (1) KR101983455B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200067713A (ko) * 2018-12-04 2020-06-12 숭실대학교산학협력단 오류 트리플 검출 시스템 및 방법
KR102203065B1 (ko) * 2019-09-03 2021-01-14 숭실대학교산학협력단 트리플 검증 장치 및 방법
WO2022045488A1 (ko) * 2020-08-25 2022-03-03 숭실대학교산학협력단 뉴럴 심볼릭 기반 규칙 생성을 통한 지식완성 방법 및 장치
KR20220063005A (ko) * 2020-11-09 2022-05-17 경희대학교 산학협력단 환자 건강 요약 생성 장치 및 그 방법
WO2022108206A1 (ko) * 2020-11-19 2022-05-27 숭실대학교산학협력단 설명 가능한 지식그래프 완성 방법 및 장치
US11562133B2 (en) 2018-12-04 2023-01-24 Foundation Of Soongsil Univ-Industry Cooperation System and method for detecting incorrect triple

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6942672B2 (ja) * 2018-06-13 2021-09-29 ヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
CN109902186B (zh) * 2019-03-12 2021-05-11 北京百度网讯科技有限公司 用于生成神经网络的方法和装置
CN110032650B (zh) * 2019-04-18 2022-12-13 腾讯科技(深圳)有限公司 一种训练样本数据的生成方法、装置及电子设备
CN110457450B (zh) * 2019-07-05 2023-12-22 平安科技(深圳)有限公司 基于神经网络模型的答案生成方法及相关设备
CN110555083B (zh) * 2019-08-26 2021-06-25 北京工业大学 一种基于zero-shot无监督实体关系抽取方法
CN111026865B (zh) * 2019-10-18 2023-07-21 平安科技(深圳)有限公司 知识图谱的关系对齐方法、装置、设备及存储介质
CN111027700A (zh) * 2019-12-18 2020-04-17 福州大学 基于wcur算法的知识库补全方法
CN111291185B (zh) 2020-01-21 2023-09-22 京东方科技集团股份有限公司 信息抽取方法、装置、电子设备及存储介质
CN111598252B (zh) * 2020-04-30 2023-08-18 西安理工大学 基于深度学习的大学计算机基础知识解题方法
CN111737430B (zh) * 2020-06-16 2024-04-05 北京百度网讯科技有限公司 实体链接方法、装置、设备以及存储介质
CN113077001B (zh) * 2021-04-07 2022-04-01 西南大学 一种基于生成型张量网络的医学图像分类系统
CN113158668B (zh) * 2021-04-19 2023-02-28 平安科技(深圳)有限公司 基于结构化信息的关系对齐方法、装置、设备及介质
CN114168741A (zh) * 2021-11-17 2022-03-11 深圳先进技术研究院 一种知识库补全方法、终端设备以及计算机存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030065632A1 (en) * 2001-05-30 2003-04-03 Haci-Murat Hubey Scalable, parallelizable, fuzzy logic, boolean algebra, and multiplicative neural network based classifier, datamining, association rule finder and visualization software tool

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030065632A1 (en) * 2001-05-30 2003-04-03 Haci-Murat Hubey Scalable, parallelizable, fuzzy logic, boolean algebra, and multiplicative neural network based classifier, datamining, association rule finder and visualization software tool

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200067713A (ko) * 2018-12-04 2020-06-12 숭실대학교산학협력단 오류 트리플 검출 시스템 및 방법
US11562133B2 (en) 2018-12-04 2023-01-24 Foundation Of Soongsil Univ-Industry Cooperation System and method for detecting incorrect triple
KR102203065B1 (ko) * 2019-09-03 2021-01-14 숭실대학교산학협력단 트리플 검증 장치 및 방법
WO2022045488A1 (ko) * 2020-08-25 2022-03-03 숭실대학교산학협력단 뉴럴 심볼릭 기반 규칙 생성을 통한 지식완성 방법 및 장치
KR20220063005A (ko) * 2020-11-09 2022-05-17 경희대학교 산학협력단 환자 건강 요약 생성 장치 및 그 방법
WO2022108206A1 (ko) * 2020-11-19 2022-05-27 숭실대학교산학협력단 설명 가능한 지식그래프 완성 방법 및 장치

Also Published As

Publication number Publication date
US20190087724A1 (en) 2019-03-21
KR101983455B1 (ko) 2019-05-28

Similar Documents

Publication Publication Date Title
KR101983455B1 (ko) 지식베이스 구축 방법 및 그 서버
CN111582409B (zh) 图像标签分类网络的训练方法、图像标签分类方法及设备
CN110956254B (zh) 一种基于动态知识表示学习的案件推理方法
CN110377686A (zh) 一种基于深度神经网络模型的地址信息特征抽取方法
CN109978060B (zh) 一种自然语言要素抽取模型的训练方法及装置
CN109325040B (zh) 一种faq问答库泛化方法、装置及设备
KR102203065B1 (ko) 트리플 검증 장치 및 방법
US20210018332A1 (en) Poi name matching method, apparatus, device and storage medium
KR102223382B1 (ko) 다중타입 엔티티에 기반한 지식 보완 방법 및 장치
CN109783666A (zh) 一种基于迭代精细化的图像场景图谱生成方法
CN110928961B (zh) 一种多模态实体链接方法、设备及计算机可读存储介质
CN113806582B (zh) 图像检索方法、装置、电子设备和存储介质
WO2016032778A1 (en) Word classification based on phonetic features
CN112685550A (zh) 智能问答方法、装置、服务器及计算机可读存储介质
CN113487024A (zh) 交替序列生成模型训练方法、从文本中抽取图的方法
KR20210027910A (ko) 이미지 간 유사도를 이용한 유사 영역 강조 방법 및 시스템
US9864930B2 (en) Clustering technique for optimized search over high-dimensional space
AU2019305102B2 (en) System and method for genealogical entity resolution
Du et al. Structure tuning method on deep convolutional generative adversarial network with nondominated sorting genetic algorithm II
Chahkandi et al. Feature selection with chaotic hybrid artificial bee colony algorithm based on fuzzy (CHABCF)
US11580101B2 (en) Method and apparatus for generating context category dataset
US20210248412A1 (en) Image element matching via graph processing
KR102389555B1 (ko) 가중 트리플 지식 그래프를 생성하는 장치, 방법 및 컴퓨터 프로그램
KR102337290B1 (ko) 맥락 카테고리 데이터셋 생성 장치 및 방법
Panda et al. Compositional Zero-Shot Learning using Multi-Branch Graph Convolution and Cross-layer Knowledge Sharing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant