본문 바로가기

논문리뷰/그래프 이론

Knowledge Graph (지식 그래프)

728x90
반응형

요즘 Graph science 분야에서 지식 그래프 (Knowledge Graph)가 굉장한 이슈입니다.

지식 그래프의 정의에 대해 먼저 살펴보자면, 지식 그래프는 데이터의 일종으로 지식이라는 개념을 매우 구조적으로 구성한 것입니다.

예를 들어보도록 하겠습니다.

코끼리라는 지식이 있을 때, 코끼리의 특징을 모두 데이터로 만들 수 있습니다.

코끼리에 대한 지식을 모아보자면,

코끼리는 동물이다.

코끼리는 코가 길다.

코끼리는 초식이다.

코끼리는 굉장히 무거운 동물이다.

이러한 모든 지식들을 그래프 구조하에 만드는 것이 지식 그래프입니다.

한 가지 예를 더 들어보면, 위의 그래프가 지식그래프로 볼 수 있습니다.

A와 B가 친구 관계에 있으며, A와 B는 모두 다양한 정보를 가지고 있습니다.

직업에 대한 정보에 대해서, A는 학생, B는 회사원입니다.

그리고, 소속, 좋아하는 영화 장르, 취미 등에 대한 정보도 있을 것입니다.

이처럼 한 그래프 내에서, 노드 (Entity)가 다양한 속성을 가지고 있으며, 엣지 (Relation) 또한 다양한 속성을 가지고 있습니다.

이러한 지식그래프의 복잡성 때문에, 일반적인 그래프와는 다른 방법으로 데이터 전처리가 이루어져야 합니다.

이전 포스팅에서 배웠던 GCN의 경우, 노드들에 대해서, 한가지 Edge 속성에 대해서 인접 행렬을 정의하고, 그에 따른 convolutional 연산을 수행합니다.

수 많은 Edge 속성을 가지는 지식 그래프에 적용하기에는 어려움이 있습니다.

따라서 많은 연구자들이, 지식 그래프의 특성을 잘 나타내는 방법들에 대해서 관심을 가지게 되었고, knowledge graph embedding 방법들이 많이 제안 되었습니다.

다음 포스팅에서는 TransE, TransH, TransR 에 대해서 배워보도록 하겠습니다.

반응형