KR102389555B1 - 가중 트리플 지식 그래프를 생성하는 장치, 방법 및 컴퓨터 프로그램 - Google Patents

가중 트리플 지식 그래프를 생성하는 장치, 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102389555B1
KR102389555B1 KR1020210135086A KR20210135086A KR102389555B1 KR 102389555 B1 KR102389555 B1 KR 102389555B1 KR 1020210135086 A KR1020210135086 A KR 1020210135086A KR 20210135086 A KR20210135086 A KR 20210135086A KR 102389555 B1 KR102389555 B1 KR 102389555B1
Authority
KR
South Korea
Prior art keywords
triple
knowledge graph
nodes
generating
matrix
Prior art date
Application number
KR1020210135086A
Other languages
English (en)
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 KR1020210135086A priority Critical patent/KR102389555B1/ko
Application granted granted Critical
Publication of KR102389555B1 publication Critical patent/KR102389555B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Algebra (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

가중 트리플 지식 그래프를 생성하는 장치는 주어, 술어 및 목적어로 구성된 복수의 트리플 노드(node) 및 상기 복수의 트리플 노드 간을 연결하는 복수의 엣지(edge)를 포함하는 트리플 지식 그래프(Triple Knowledge Graph)를 획득하는 획득부, 상기 트리플 지식 그래프로부터 상기 복수의 트리플 노드 간의 연결 여부에 기초하여 인접 행렬을 생성하고, 상기 복수의 트리플 노드 각각과 인접한 이웃 술어 간의 관련성에 기초하여 제 1 특징 행렬을 생성하는 행렬 생성부, 상기 인접 행렬 및 상기 제 1 특징 행렬을 지식 그래프 학습 모델에 입력하고, 상기 지식 그래프 학습 모델을 통해 상기 복수의 트리플 노드 각각과 이웃 트리플 노드 간의 관계를 나타낸 인접성 벡터를 포함하는 제 2 특징 행렬을 출력하는 학습부 및 상기 출력된 제 2 특징 행렬에 기초하여 가중 트리플 지식 그래프를 생성하는 가중 트리플 지식 그래프 생성부를 포함한다.

Description

가중 트리플 지식 그래프를 생성하는 장치, 방법 및 컴퓨터 프로그램{APPARATUS, METHOD AND COMPUTER PROGRAM FOR GENERATING WEIGHTED TRIPLE KNOWLEDGE GRAPH}
본 발명은 가중 트리플 지식 그래프를 생성하는 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.
지식 그래프(Knowledge Graph)는 그래프 기반의 구조로 지식을 표현하는 기술을 의미한다. 지식 그래프는 연관성 있는 정보를 관계 기반으로 나타내어 사용자에게 적합한 검색 의도, 결과를 보여줄 수 있는 것을 특징으로 할 수 있으며, 자연어 처리, 자연어 이해와 관련하여 동음이의어, 태스크 의도 파악, 리소스의 관계 파악 등에 사용할 수 있고, AI 기술에서는 지식그래프 기반의 QA 기술, 추천기술에 활용 되고 있는 기술이다
이러한 지식 그래프 기술과 관련하여, 선행기술인 한국공개특허 제 2016-0064826호는 지식 그래프 기반에서의 의미적 검색 서비스 제공장치 및 그 방법을 개시하고 있다.
그러나, 지식 그래프는 그래프를 노드(node) 단위로 임베딩하므로, 엣지(edge) 별로 고유한 의미를 가진 노드 벡터(node vector)를 얻을 수 없다는 한계점이 존재하였다. 이러한 지식 그래프의 한계점을 개선시키고자, 최근에는 지식 그래프의 노드를 연결된 엣지에 따라 트리플(triple) 형식의 노드로 재구성한 트리플 지식 그래프가 이용되기 시작하였다. 트리플 지식 그래프에 대해서는 잠시 도 1a 내지 도 1c를 통해 설명하도록 한다.
도 1a 내지 도 1c는 종래의 트리플 지식 그래프를 도시한 예시적인 도면이다.
도 1a는 일반적인 지식 그래프와 트리플 지식 그래프를 비교한 도면이다. 도 1a의 그림 (a)를 참조하면, 지식 그래프는 객체와 객체 간의 관계를 노드와 엣지로 표현한다. 예를 들어, 지식 그래프는 G=(VG, EG)로 표현되며, 지식 그래프를 구성하는 VG는 노드의 집합을 나타내며, 예를 들어, <Parasite>(100) 및 <Snowpiercer>(110)와 같은 특정 객체 및 해당 특정 객체와 관련된 속성을 나타내는 예를 들어, <2019>(120), <Kang-ho Song>(121), <Joon-ho Bong>(122), <2013>(123)과 같은 속성 객체를 포함한다. 또한, 지식 그래프를 구성하는 EG는 엣지의 집합을 나타내며, 예를 들어, <Released Year>(130), <Actor>, <Director> 등과 같은 객체 간의 관계를 의미한다. 그림 (a)에서 도시된 바와 같이, 지식 그래프는 1개의 노드가 1개 이상의 엣지를 갖는다는 특성을 가지고 있다.
도 1a의 그림 (b)를 참조하면, 지식 그래프의 엣지에 따른 노드 간의 의미를 구분하기 위해 그림 (a)의 지식 그래프의 노드와 엣지를 트리플 형식으로 재구성한 트리플 지식 그래프(Triple Knowledge Graph)에 대한 도면이다. 트리플 노드는 특정 객체의 노드를 '주어(Subject)'의 역할을 수행하는 것으로 간주하고, 해당 노드의 속성 정보를 가진 노드를 '목적어(Object)'의 역할을 수행하는 것으로 간주하고, 두 노드를 연결하는 엣지를 관계의 속성 종류를 설명하는 '술어(Predicate)'의 역할을 수행하는 것으로 간주한다. 여기서, '술어'는 '주어'와 '목적어' 간의 관계를 설명하는 요소로, 동사, 형용사, 명사 등의 품사를 갖는다. 즉, 트리플 노드는 (주어, 술어, 목적어)의 구조를 가지며, 이는 간단하게 (s, p, o)의 구성으로 표현된다.
그림 (b)의 트리플 지식 그래프는 그림 (a)의 지식 그래프의 노드 쌍과 엣지를 트리플 노드로 재구성하고, 트리플 노드 간의 s 또는 o가 동일하면 엣지를 연결하는 과정을 통해 생성된다. 예를 들어, 트리플 지식 그래프의 트리플 노드는 <Parasite, Released Year, 2019>(140), <Snowpiercer, Director, Joon-ho Bong>(141)과 같이 생성된다.
이러한 과정을 통해 생성된 트리플 지식 그래프는 지식 그래프에 비해 크기가 크다는 단점을 가지고 있어 학습 시, 많은 시간이 소요되므로, 트리플 지식 그래프를 효과적으로 학습하기 위해 트리플 지식 그래프에 적절한 가중치의 부여가 요구된다.
도 1b는 가중치가 부여된 가중 트리플 지식 그래프를 도시한 도면으로, 도 1b를 참조하면, 가중치가 부여된 가중 트리플 지식 그래프를 생성하여 임베딩하는 과정에 대해 각 단계별로 설명하도록 한다.
제 1 단계에서, 트리플 지식 그래프(150)는 트리플 노드 쌍의 연관성을 나타내기 위해 엣지에 가중치(151)가 부여된다. 여기서, 트리플 지식 그래프(150)는 GT=(VT, ET, w)와 같이 표현되며, 가중치는 'w'와 같이 표현된다. 가중치(151)는 트리플 노드 간의 동시출현(Co-occurrence) 확률을 기반으로 유사도의 측정을 통해 도출된다.
제 2 단계에서, 가중치(151)가 부여된 트리플 지식 그래프에 기초하여 가중 트리플 지식 그래프의 경로(152)가 추출된다. 이는, 단어의 임베딩을 위해 말뭉치가 필요한 것과 같이, 트리플 지식 그래프를 임베딩하기 위해서는 단절된 그래프 경로(Truncated Graph Walks)가 요구된다. 트리플 지식 그래프의 경로(152)는 특정 트리플 노드에서 출발하여 연결된 엣지를 따라가며 구성되며, 경로(152)를 구성하는 트리플 노드는 가중 트리플 지식 그래프에서 엣지에 부여된 가중치(151)가 높을수록 우선적으로 추출된다.
제 3 단계에서, 추출된 가중 트리플 지식 그래프의 경로(152)는 '스킵-그램(Skip-gram) 모델'(153)을 통해 학습된다. 여기서, 스킵-그램 모델(153)은 단어의 입력이 주어지면 단어의 문맥을 예측하는 모델이다.
제 4 단계에서, 학습된 가중 트리플 지식 그래프는 임베딩 모델(154)로 구축된다. 여기서, 가중 트리플 지식 그래프 기반으로 구축된 임베딩 모델(154)은 트리플 지식 그래프의 노드 연결 구조와 노드가 갖는 엣지의 의미 정보를 모두 내포한다.
도 1c는 종래의 트리플 지식 그래프의 문제점을 도시한 도면으로, 도 1c의 그림 (a)를 참조하면, 제 1 트리플 노드인 <SM entertainment, sold, concert ticket>(160)과 제 2 트리플 노드인 <SM entertainment, sold out, concert ticket>(161) 쌍의 술어 관계가 각각 'sold'와 'sold out'으로 동일하나, 트리플 노드를 구성하는 '주어(s)'와 '목적어(o)'를 확인해보면, 각 트리플 노드 쌍이 서로 다른 연관성을 갖는 것이 확인된다. 구체적으로, 그림 (a)의 트리플 노드 쌍은 '주어(s)'가 연예 기획사인 <SM entertainment>이고, '목적어(o)'가 'sold' 또는 'sold out'된 <concert ticket>으로, <concert ticket>은 판매량 대비 매진 비율이 높으므로, 트리플 노드 쌍의 술어 관계가 높은 연관성을 갖는다. 그러나 그림 (b)를 참조하면, 제 1 트리플 노드인 <LG electronics, sold, OLED TV>(162)와 제 2 트리플 노드인 <LG electronics, sold out, OLED TV>(163) 쌍은 '주어(s)'가 전자제품을 판매하는 대기업인 <LG electronics>이고, '목적어(o)'가 해당 기업의 전자제품인 <OLED TV>로 전자제품이 많은 판매량에 비해 매진될 확률이 낮으므로, 연관 높은 술어 관계로 보기 어렵다.
즉, 종래의 트리플 지식 그래프는 동일한 술어 관계를 갖는다고 하더라도, 객체의 특성에 따라 트리플 노드 쌍이 다른 연관성을 가짐에 따라, 트리플 노드 간의 구체적인 관계에 있어 의미 손실이 발생될 수 있다는 문제점을 가지고 있다.
주어, 술어 및 목적어로 구성된 복수의 트리플 노드 및 복수의 트리플 노드 간을 연결하는 복수의 엣지를 포함하는 트리플 지식 그래프를 획득하고, 트리플 지식 그래프로부터 복수의 트리플 노드 간의 연결 여부에 기초하여 인접 행렬을 생성하고, 복수의 트리플 노드 각각과 인접한 이웃 술어 간의 관련성에 기초하여 제 1 특징 행렬을 생성하는 장치, 방법 및 컴퓨터 프로그램을 제공하고자 한다.
인접 행렬 및 제 1 특징 행렬을 지식 그래프 학습 모델에 입력하고, 지식 그래프 학습 모델을 통해 복수의 트리플 노드 각각과 이웃 트리플 노드 간의 관계를 나타낸 인접성 벡터를 포함하는 제 2 특징 행렬을 출력하고, 출력된 제 2 특징 행렬에 기초하여 가중 트리플 그래프를 생성하는 장치, 방법 및 컴퓨터 프로그램을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 주어, 술어 및 목적어로 구성된 복수의 트리플 노드(node) 및 상기 복수의 트리플 노드 간을 연결하는 복수의 엣지(edge)를 포함하는 트리플 지식 그래프(Triple Knowledge Graph)를 획득하는 획득부, 상기 트리플 지식 그래프로부터 상기 복수의 트리플 노드 간의 연결 여부에 기초하여 인접 행렬을 생성하고, 상기 복수의 트리플 노드 각각과 인접한 이웃 술어 간의 관련성에 기초하여 제 1 특징 행렬을 생성하는 행렬 생성부, 상기 인접 행렬 및 상기 제 1 특징 행렬을 지식 그래프 학습 모델에 입력하고, 상기 지식 그래프 학습 모델을 통해 상기 복수의 트리플 노드 각각과 이웃 트리플 노드 간의 관계를 나타낸 인접성 벡터를 포함하는 제 2 특징 행렬을 출력하는 학습부 및 상기 출력된 제 2 특징 행렬에 기초하여 가중 트리플 지식 그래프를 생성하는 가중 트리플 지식 그래프 생성부를 포함하는 지식 그래프 생성 장치를 제공할 수 있다.
본 발명의 다른 실시예는, 주어, 술어 및 목적어로 구성된 복수의 트리플 노드(node) 및 상기 복수의 트리플 노드 간을 연결하는 복수의 엣지(edge)를 포함하는 트리플 지식 그래프(Triple Knowledge Graph)를 획득하는 단계, 상기 트리플 지식 그래프로부터 상기 복수의 트리플 노드 간의 연결 여부에 기초하여 인접 행렬을 생성하고, 상기 복수의 트리플 노드 각각과 인접한 이웃 술어 간의 관련성에 기초하여 제 1 특징 행렬을 생성하는 단계, 상기 인접 행렬 및 상기 제 1 특징 행렬을 지식 그래프 학습 모델에 입력하고, 상기 지식 그래프 학습 모델을 통해 상기 복수의 트리플 노드 각각과 이웃 트리플 노드 간의 관계를 나타낸 인접성 벡터를 포함하는 제 2 특징 행렬을 출력하는 단계 및 상기 출력된 제 2 특징 행렬에 기초하여 가중 트리플 지식 그래프를 생성하는 단계를 포함하는 지식 그래프 생성 방법을 제공할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 트리플 지식 그래프의 노드 간의 연결 구조와 노드를 연결한 엣지의 의미 정보의 학습을 통해 인접성 벡터 기반의 가중 트리플 지식 그래프를 생성함으로써, 기존의 트리플 지식 그래프의 학습 기법보다 지식 그래프의 표현에 더 적합한 임베딩 모델을 구축하는 장치, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
기존의 트리플 지식 그래프의 학습 기법은 데이터셋의 특성에 따라 성능이 좌우되었지만, 본 발명의 인접성 벡터 기반의 가중 트리플 지식 그래프는 데이터셋의 특성에 영향을 받지 않고 균일하게 우수한 성능을 유지할 수 있도록 하는 장치, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
트리플 지식 그래프의 각 노드에 대해 엣지 별로 고유한 의미 벡터를 얻을 수 있는 구체적인 임베딩 학습 기법임과 동시에 우수한 성능을 유지하므로, 다양한 그래프 마이닝 연구를 수행하는데 활용할 수 있도록 하는 장치, 방법 및 컴퓨터 프로그램을 제공할 수 잇다.
인접성 벡터를 이용한 가중 트리플 지식 그래프의 노드 간의 연관 관계를 파악하는데 탁월한 기능을 수행함으로써, 지식 그래프를 적절하게 임베딩하는 장치, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
도 1a 내지 도 1c는 종래의 트리플 지식 그래프를 도시한 예시적인 도면이다.
도 2는 본 발명의 일 실시예에 따른 지식 그래프 생성 장치의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 트리플 지식 그래프로부터 제 1 특징 행렬을 생성하기 위한 알고리즘을 도시한 예시적인 도면이다.
도 4는 본 발명의 일 실시예에 따른 인접 행렬 및 제 1 특징 행렬을 지식 그래프 학습 모델에 입력하여 제 2 특징 행렬을 출력하는 과정을 설명하기 위한 예시적인 도면이다.
도 5는 본 발명의 일 실시예에 따른 지식 그래프 생성 장치에서 가중 트리플 지식 그래프를 생성하는 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우 뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 지식 그래프 생성 장치의 구성도이다. 도 2를 참조하면, 지식 그래프 생성 장치(200)는 획득부(210), 정의부(220), 행렬 생성부(230), 학습부(240), 가중 트리플 지식 그래프 생성부(250) 및 임베딩 모델 생성부(260)를 포함할 수 있다.
획득부(210)는 주어, 술어 및 목적어로 구성된 복수의 트리플 노드(node) 및 복수의 트리플 노드 간을 연결하는 복수의 엣지(edge)를 포함하는 트리플 지식 그래프(Triple Knowledge Graph)를 획득할 수 있다.
정의부(220)는 복수의 트리플 노드 각각에 대해 이웃 트리플 노드 집합에 기초하여 이웃 술어 집합을 정의하고, 복수의 트리플 노드 각각에 포함된 술어에 기초하여 전체 술어 집합을 정의할 수 있다.
행렬 생성부(230)는 트리플 지식 그래프로부터 복수의 트리플 노드 간의 연결 여부에 기초하여 인접 행렬을 생성할 수 있다. 여기서, 인접 행렬은 A(
Figure 112021116579961-pat00001
)로 표현되며, N개의 트리플 노드를 가진 트리플 지식 그래프의 트리플 노드 간의 연결 여부가 표현된 것으로, 트리플 지식 그래프의 i번째 트리플 노드와 j번째 트리플 노드가 연결되어 있는 경우, Ai , j는 1값을 가지고, 반대의 경우, 0값을 가질 수 있으며, 인접 행렬은 종류에 따라 이진값이 아닌 가중값을 가질 수도 있다.
행렬 생성부(230)는 복수의 트리플 노드 각각과 인접한 이웃 술어 간의 관련성에 기초하여 제 1 특징 행렬을 생성할 수 있다. 여기서, 제 1 특징 행렬은 초기 트리플 노드의 특징을 나타내는 것으로, 초기 트리플 노드의 의미는 이웃 트리플 노드들과 맺는 연관성을 통해 추정될 수 있다. 이를 위해, 각 트리플 노드에 대해 인접한 이웃 트리플 노드들이 가지는 이웃 술어들과의 관계의 비중의 산출이 요구되며, 이와 관련해서는 도 3을 통해 후술하도록 한다.
예를 들어, 행렬 생성부(230)는 복수의 트리플 노드의 수 및 전체 술어 집합의 수에 기초하여 제 1 초기 특징 행렬을 생성하고, 제 1 초기 특징 행렬 및 이웃 술어 집합에 기초하여 특정 트리플 노드에 대한 적어도 하나의 이웃 술어 간의 관련성(Relatedness)을 산출하고, 산출된 관련성에 기초하여 제 1 최종 특징 행렬을 생성할 수 있다. 여기서, 제 1 특징 행렬을 생성하는 과정에 대해서는 도 3을 통해 상세히 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 트리플 지식 그래프로부터 제 1 특징 행렬을 생성하기 위한 알고리즘을 도시한 예시적인 도면이다. 도 3을 참조하면, 획득부(210)는 주어, 술어 및 목적어로 구성된 복수의 트리플 노드인 'VT' 및 복수의 트리플 노드 간을 연결하는 복수의 엣지인 'ET'를 포함하는 트리플 지식 그래프인 'GT={VT, ET}'(300)를 획득할 수 있다. 여기서, 각 트리플 노드인 'v'는 주어, 술어, 목적어의 순으로 'v=(s, p, o)VT'와 같이 표현될 수 있다.
각 복수의 트리플 노드인 'v'는 인접한 적어도 하나의 이웃 트리플 노드인 'v=(s', p', o')∈N(v)'를 포함하는 이웃 트리플 노드 집합인 'N(v)'을 가질 수 있다.
정의부(220)는 각 복수의 트리플 노드인 'v'에 대해 이웃 트리플 노드 집합 'N(v)'에 기초하여 이웃 술어 집합 'Predneighbor(v)'를 정의하고, 각 트리플 노드인 'v'에 포함된 술어에 기초하여 전체 술어 집합인 'Predtot'을 정의할 수 있다.
행렬 생성부(230)는 복수의 트리플 노드인 'VT의 수(N)' 및 전체 술어 집합인 'Predtot의 수(P)'에 기초하여 제 1 초기 특징 행렬인 'Fv , p''(여기서, 'F∈R|V T |x|Pred tot |')를 생성하고, 제 1 초기 특징 행렬인 'Fv , p'' 및 이웃 술어 집합 'Predneighbor(v)'에 기초하여 특정 트리플 노드에 대한 적어도 하나의 이웃 술어 간의 관련성인 'Relatedness(v, pi)'을 산출하고, 산출된 관련성인 'Relatedness(v, pi)'에 기초하여 제 1 최종 특징 행렬인 'Fv , p'을 생성할 수 있다. 여기서, 관련성은 예를 들어, 다음의 수학식 1을 통해 산출될 수 있다.
Figure 112021116579961-pat00002
이러한 과정을 통해, 각 트리플 노드인 'v'에 대해 이웃 술어 집합 'Predneighbor(v)'에 속한 이웃 술어들 간의 관련성이 모두 산출됨으로써, 제 1 최종 특징 행렬인 'Fv , p'가 생성되고, 생성된 제 1 최종 특징 행렬인 'Fv , p'가 제 1 특징 행렬(310)로 결정될 수 있다. 여기서, 제 1 최종 특징 행렬인 'Fv , p'의 행백터를 통해 특정 트리플 노드를 인접한 이웃 술어 간의 맺는 관련성이 나타내어질 수 있다.
다시 도 2로 돌아와서, 학습부(240)는 인접 행렬 및 제 1 특징 행렬을 지식 그래프 학습 모델에 입력하고, 지식 그래프 학습 모델을 통해 제 2 특징 행렬을 출력할 수 있다. 여기서, 지식 그래프 학습 모델은 특징을 추출할 수 있는 합성곱 신경망(CNN, Convolutional Network)로 구성될 수 있다. 또는, 지식 그래프 학습 모델은 트리플 지식 그래프에 합성곱 연산을 적용하는 기법인 GCN(Graph Convolutional Network)로 구성될 수도 있다. 제 2 특징 행렬을 출력하는 과정에 대해서는 도 4를 통해 상세히 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 인접 행렬 및 제 1 특징 행렬을 지식 그래프 학습 모델에 입력하여 제 2 특징 행렬을 출력하는 과정을 설명하기 위한 예시적인 도면이다. 도 4를 참조하면, 학습부(240)는 인접 행렬 A(401) 및 제 1 특징 행렬(402)을 지식 그래프 학습 모델에 입력(400)하고, 지식 그래프 학습 모델을 통해 복수의 트리플 노드 각각과 이웃 트리플 노드 간의 관계를 나타낸 인접성 벡터를 포함하는 제 2 특징 행렬(422)을 출력(420)할 수 있다. 여기서, 인접성 벡터(Neighborliness Vector)란 특정 트리플 노드에 대해 연쇄적으로 인접한 이웃 트리플 노드들과의 관계 정보가 집약적으로 내포된 특징 벡터를 의미할 수 있다.
예를 들어, 학습부(240)는 지식 그래프 학습 모델에 입력된 인접 행렬(401) 및 제 1 최종 특징 행렬을 합성곱층(410)을 통해 가중치 행렬과의 합성곱 연산을 수행할 수 있다. 여기서, 합성곱층(410)을 통해 특정 트리플 노드로부터 연속적인 인접 관계에 기초하여 가장 먼 이웃 트리플 노드의 특징까지 학습될 수 있다.
이러한 과정을 통해, 초기의 제 1 특징 행렬인 F는 특정 트리플 노드에 대해 인접한 이웃 트리플 노드와의 관계 정보만을 나타내지만, 합성곱층(410)을 거치면서 멀리 이웃한 이웃 트리플 노드의 특징까지 학습됨으로써, 트리플 노드의 술어(421)에 기초하여 최종적으로 제 2 특징 행렬(422)을 출력할 수 있다. 여기서, 출력되는 제 2 특징 행렬(422)은 FO(여기서, 'FO∈R|V T |x| Pred tot |')이며, 출력된 제 2 행렬의 행벡터는 각 트리플 노드에 대한 인접성 벡터를 의미할 수 있다.
학습부(240)는 교차 엔트로피 손실함수(Cross Entropy Loss Function)에 기초하여 가중치 행렬을 업데이트할 수 있다. 이는, 각 트리플 노드의 클래스는 해당 트리플 노드의 술어인 'p'에 해당하며, 각 행벡터가 특정 트리플 노드의 술어인 'p'를 설명할 수 있도록 교차 엔트로피 손실함수를 통해 가중치 행렬을 업데이트할 수 있다.
가중 트리플 지식 그래프 생성부(250)는 출력된 제 2 특징 행렬에 기초하여 가중 트리플 지식 그래프를 생성할 수 있다. 여기서, 복수의 트리플 노드 간의 가중치는 복수의 트리플 노드 각각에 해당하는 제 2 특징 행렬 'Fo'의 행벡터 간의 코사인 유사도이고, 제 2 특징 행렬의 행백터는 복수의 트리플 노드 각각에 대한 인접성 벡터일 수 있다.
임베딩 모델 생성부(260)는 가중 트리플 지식 그래프에 대해 복수의 트리플 노드 간의 가중치에 기초하여 경로 집합을 생성하고, 생성된 경로 집합에 기초하여 가중 트리플 지식 그래프 기반의 임베딩 모델을 생성할 수 있다. 여기서, 트리플 노드 간의 가중치는 가중 트리플 지식 그래프의 경로 집합을 구성하는데 우선 순위 역할을 하며, 생성된 경로 집합은 '스킵-그램(Skip-gram) 모델'을 통해 학습된다. 또한, 임베딩 모델은 트리플 지식 그래프의 연쇄적인 연결 구조와 트리플 노드가 갖는 다양한 엣지의 의미 정보를 모두 내포할 수 있다.
이러한 과정을 통해, 본 발명에서 제안하는 가중 트리플 지식 그래프 기반의 임베딩 모델은 트리플 노드 간의 연관성을 파악하기 위해 이웃 트리플 노드에 연쇄적으로 연결된 노드들까지 학습하고, 관련있는 트리플 노드들과 이루는 구체적인 관계의 파악을 통해 트리플 노드가 갖는 고유 의미를 파악할 수 있다. 또한, 지식 그래프 학습 모델을 통해 연쇄적으로 인접한 트리플 노드를 학습하여 가중 트리플 지식 그래프의 연쇄적인 연결 구조와 트리플 노드가 갖는 다양한 엣지의 의미 정보를 모두 내포한 집약 정보인 인접성 벡터를 추출할 수 있다.
이러한 지식 그래프 생성 장치(200)는 가중 트리플 지식 그래프를 생성하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 의해 실행될 수 있다. 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 주어, 술어 및 목적어로 구성된 복수의 트리플 노드(node) 및 복수의 트리플 노드 간을 연결하는 복수의 엣지(edge)를 포함하는 트리플 지식 그래프(Triple Knowledge Graph)를 획득하고, 트리플 지식 그래프로부터 복수의 트리플 노드 간의 연결 여부에 기초하여 인접 행렬을 생성하고, 복수의 트리플 노드 각각과 인접한 이웃 술어 간의 관련성에 기초하여 제 1 특징 행렬을 생성하고, 인접 행렬 및 제 1 특징 행렬을 지식 그래프 학습 모델에 입력하고, 지식 그래프 학습 모델을 통해 복수의 트리플 노드 각각과 이웃 트리플 노드 간의 관계를 나타낸 인접성 벡터를 포함하는 제 2 특징 행렬을 출력하고, 출력된 제 2 특징 행렬에 기초하여 가중 트리플 지식 그래프를 생성 하도록 하는 명령어들의 시퀀스를 포함할 수 있다.
도 5는 본 발명의 일 실시예에 따른 지식 그래프 생성 장치에서 가중 트리플 지식 그래프를 생성하는 방법의 순서도이다. 도 5를 참조하면, 지식 그래프 생성 장치(200)에서 수행되는 가중 트리플 지식 그래프를 생성하는 방법은 도 2 내지 도 4에 도시된 실시예에 따라 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 2 내지 도 4에 도시된 실시예에 따라 지식 그래프 생성 장치(200)에서 수행되는 가중 트리플 지식 그래프를 생성하는 방법에도 적용된다.
단계 S510에서 지식 그래프 생성 장치(200)는 주어, 술어 및 목적어로 구성된 복수의 트리플 노드(node) 및 복수의 트리플 노드 간을 연결하는 복수의 엣지(edge)를 포함하는 트리플 지식 그래프(Triple Knowledge Graph)를 획득할 수 있다.
단계 S520에서 지식 그래프 생성 장치(200)는 트리플 지식 그래프로부터 복수의 트리플 노드 간의 연결 여부에 기초하여 인접 행렬을 생성하고, 복수의 트리플 노드 각각과 인접한 이웃 술어 간의 관련성에 기초하여 제 1 특징 행렬을 생성할 수 있다.
단계 S530에서 지식 그래프 생성 장치(200)는 인접 행렬 및 제 1 특징 행렬을 지식 그래프 학습 모델에 입력하고, 지식 그래프 학습 모델을 통해 복수의 트리플 노드 각각과 이웃 트리플 노드 간의 관계를 나타낸 인접성 벡터를 포함하는 제 2 특징 행렬을 출력할 수 있다.
단계 S540에서 지식 그래프 생성 장치(200)는 출력된 제 2 특징 행렬에 기초하여 가중 트리플 지식 그래프를 생성할 수 있다.
상술한 설명에서, 단계 S510 내지 S540는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 2 내지 도 5를 통해 설명된 지식 그래프 생성 장치에서 가중 트리플 지식 그래프를 생성하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 2 내지 도 5를 통해 설명된 지식 그래프 생성 장치에서 가중 트리플 지식 그래프를 생성하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다.
컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
200: 지식 그래프 생성 장치
210: 획득부
220: 정의부
230: 행렬 생성부
240: 학습부
250: 가중 트리플 지식 그래프 생성부
260: 임베딩 모델 생성부

Claims (9)

  1. 가중 트리플 지식 그래프를 생성하는 장치에 있어서,
    주어, 술어 및 목적어로 구성된 복수의 트리플 노드(node) 및 상기 복수의 트리플 노드 간을 연결하는 복수의 엣지(edge)를 포함하는 트리플 지식 그래프(Triple Knowledge Graph)를 획득하는 획득부;
    상기 트리플 지식 그래프로부터 상기 복수의 트리플 노드 간의 연결 여부에 기초하여 인접 행렬을 생성하고, 상기 복수의 트리플 노드 각각과 인접한 이웃 술어 간의 관련성에 기초하여 제 1 특징 행렬을 생성하는 행렬 생성부;
    상기 인접 행렬 및 상기 제 1 특징 행렬을 지식 그래프 학습 모델에 입력하고, 상기 지식 그래프 학습 모델을 통해 상기 복수의 트리플 노드 각각과 이웃 트리플 노드 간의 관계를 나타낸 인접성 벡터를 포함하는 제 2 특징 행렬을 출력하는 학습부; 및
    상기 출력된 제 2 특징 행렬에 기초하여 가중 트리플 지식 그래프를 생성하는 가중 트리플 지식 그래프 생성부
    를 포함하는, 지식 그래프 생성 장치.
  2. 제 1 항에 있어서,
    상기 복수의 트리플 노드 각각은 인접한 적어도 하나의 이웃 트리플 노드를 포함하는 이웃 트리플 노드 집합을 가지는 것인, 지식 그래프 생성 장치.
  3. 제 2 항에 있어서,
    상기 복수의 트리플 노드 각각에 대해 상기 이웃 트리플 노드 집합에 기초하여 이웃 술어 집합을 정의하고,
    상기 복수의 트리플 노드 각각에 포함된 술어에 기초하여 전체 술어 집합을 정의하는 정의부를 더 포함하는 것인, 지식 그래프 생성 장치.
  4. 제 3 항에 있어서,
    상기 행렬 생성부는 상기 복수의 트리플 노드의 수 및 상기 전체 술어 집합의 수에 기초하여 제 1 초기 특징 행렬을 생성하고,
    상기 제 1 초기 특징 행렬 및 상기 이웃 술어 집합에 기초하여 특정 트리플 노드에 대한 적어도 하나의 이웃 술어 간의 관련성을 산출하고,
    상기 산출된 관련성에 기초하여 상기 제 1 특징 행렬을 생성하는 것인, 지식 그래프 생성 장치.
  5. 제 4 항에 있어서,
    상기 학습부는 상기 지식 그래프 학습 모델에 입력된 상기 인접 행렬 및 상기 제 1 특징 행렬을 합성곱층을 통해 가중치 행렬과의 합성곱 연산을 수행하고,
    상기 합성곱층을 통해 상기 특정 트리플 노드로부터 연속적인 인접 관계에 기초하여 가장 먼 이웃 트리플 노드의 특징까지 학습되는 것인, 지식 그래프 생성 장치.
  6. 제 5 항에 있어서,
    상기 학습부는 교차 엔트로피 손실함수에 기초하여 상기 가중치 행렬을 업데이트하는 것인, 지식 그래프 생성 장치.
  7. 제 1 항에 있어서,
    상기 가중 트리플 지식 그래프에 대해 상기 복수의 트리플 노드 간의 가중치에 기초하여 경로 집합을 생성하고, 상기 생성된 경로 집합에 기초하여 상기 가중 트리플 지식 그래프 기반의 임베딩 모델을 생성하는 임베딩 모델 생성부를 더 포함하는 것인, 지식 그래프 생성 장치.
  8. 제 7 항에 있어서,
    상기 복수의 트리플 노드 간의 가중치는 상기 복수의 트리플 노드 각각에 해당하는 상기 제 2 특징 행렬의 행벡터 간의 코사인 유사도이고,
    상기 제 2 특징 행렬의 행백터는 상기 복수의 트리플 노드 각각에 대한 상기 인접성 벡터인 것인, 지식 그래프 생성 장치.
  9. 지식 그래프 생성 장치에서 가중 트리플 지식 그래프를 생성하는 방법에 있어서,
    주어, 술어 및 목적어로 구성된 복수의 트리플 노드(node) 및 상기 복수의 트리플 노드 간을 연결하는 복수의 엣지(edge)를 포함하는 트리플 지식 그래프(Triple Knowledge Graph)를 획득하는 단계;
    상기 트리플 지식 그래프로부터 상기 복수의 트리플 노드 간의 연결 여부에 기초하여 인접 행렬을 생성하고, 상기 복수의 트리플 노드 각각과 인접한 이웃 술어 간의 관련성에 기초하여 제 1 특징 행렬을 생성하는 단계;
    상기 인접 행렬 및 상기 제 1 특징 행렬을 지식 그래프 학습 모델에 입력하고, 상기 지식 그래프 학습 모델을 통해 상기 복수의 트리플 노드 각각과 이웃 트리플 노드 간의 관계를 나타낸 인접성 벡터를 포함하는 제 2 특징 행렬을 출력하는 단계; 및
    상기 출력된 제 2 특징 행렬에 기초하여 가중 트리플 지식 그래프를 생성하는 단계
    를 포함하는, 지식 그래프 생성 방법.
KR1020210135086A 2021-10-12 2021-10-12 가중 트리플 지식 그래프를 생성하는 장치, 방법 및 컴퓨터 프로그램 KR102389555B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210135086A KR102389555B1 (ko) 2021-10-12 2021-10-12 가중 트리플 지식 그래프를 생성하는 장치, 방법 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210135086A KR102389555B1 (ko) 2021-10-12 2021-10-12 가중 트리플 지식 그래프를 생성하는 장치, 방법 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR102389555B1 true KR102389555B1 (ko) 2022-04-22

Family

ID=81452278

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210135086A KR102389555B1 (ko) 2021-10-12 2021-10-12 가중 트리플 지식 그래프를 생성하는 장치, 방법 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102389555B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210098820A (ko) * 2020-02-03 2021-08-11 삼성전자주식회사 전자 장치, 전자 장치의 제어 방법 및 판독 가능한 기록 매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210098820A (ko) * 2020-02-03 2021-08-11 삼성전자주식회사 전자 장치, 전자 장치의 제어 방법 및 판독 가능한 기록 매체

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Triple2Vec: Learning Triple Embedding from Knowledge Graphs"(2019) *

Similar Documents

Publication Publication Date Title
WO2021179640A1 (zh) 一种基于图模型的短视频推荐方法、和智能终端和存储介质
Roy et al. Efficient content-based sparse attention with routing transformers
US10963794B2 (en) Concept analysis operations utilizing accelerators
AU2014201827B2 (en) Scoring concept terms using a deep network
CN114048331A (zh) 一种基于改进型kgat模型的知识图谱推荐方法及系统
CN114565104A (zh) 语言模型的预训练方法、结果推荐方法及相关装置
CN110717106A (zh) 信息推送的方法及装置
KR102223382B1 (ko) 다중타입 엔티티에 기반한 지식 보완 방법 및 장치
WO2022140900A1 (zh) 个人知识图谱构建方法、装置及相关设备
CN111522889B (zh) 用户兴趣标签扩展方法、装置、电子设备及存储介质
WO2022052744A1 (zh) 会话信息处理方法、装置、计算机可读存储介质及设备
CN113628059A (zh) 一种基于多层图注意力网络的关联用户识别方法及装置
CN112328759A (zh) 自动问答方法、装置、设备及存储介质
CN113779225B (zh) 实体链接模型的训练方法、实体链接方法及装置
CN115114542A (zh) 一种对象推荐方法、系统、训练方法、介质及计算机设备
CN113761124B (zh) 文本编码模型的训练方法、信息检索方法及设备
JP2021092925A (ja) データ生成装置およびデータ生成方法
CN112015890B (zh) 电影剧本摘要的生成方法和装置
Chen et al. Edge data based trailer inception probabilistic matrix factorization for context-aware movie recommendation
Mussumeci et al. Reconstructing news spread networks and studying its dynamics
KR102389555B1 (ko) 가중 트리플 지식 그래프를 생성하는 장치, 방법 및 컴퓨터 프로그램
WO2023173550A1 (zh) 一种跨领域数据推荐方法、装置、计算机设备及介质
Liu POI recommendation model using multi-head attention in location-based social network big data
Liu et al. Entity representation learning with multimodal neighbors for link prediction in knowledge graph
CN116756676A (zh) 一种摘要生成方法及相关装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant