728x90

 Knowledge graph는 어떤 entity 간의 관계들을 표현하는 그래프로, 이 그래프는 head entity와 tail entity가 어떤 relation을 가지고 있는지의 정보로 구성된다. 이러한 knolwedge graph는 구글과 같은 검색 엔진에서 사이트들 간의 관계를 표현하거나, eBay와 같은 구매 서비스에서 상품들을 추천할 때에 상품 간의 관계를 표현하는 등 다양한 관계들을 설명할 때 활용된다. 이번 글에서는 knowledge graph 내의 가장 대표적인 관계 패턴 세 가지에 대해서 알아보겠다.

Symmetry

 첫 번째 relation pattern은 symmetry pattern이다. Symmetry pattern은 다음과 같이 정의한다.

symmetry pattern의 정의

 이는 쉽게 풀어 말하면, x와 y 사이의 relation r이 symmetric하다면 y와 x 사이에도 똑같은 r이라는 relation이 존재한다는 것이다. 이를 그림으로 표현하면 다음과 같다.

symmetry pattern

예를 들어, 재훈과 승준이 친구 사이라면, 승준과 재훈도 친구 사이인 것이다. 하지만 재훈과 승준이 친구 사이인데, 승준과 재훈이 친구 사이가 아닐 수는 없다. (그렇다면 매우 유감) 그러므로 친구 사이라는 relation은 symmetric relation인 것이다.

 우리는 이와 반대되는 개념인 antisymmetric pattern도 정의할 수 있다.

antisymmetry pattern

즉, x와 y 사이의 relation r이 antisymmetric하다면 y와 x는 relation r이 성립하지 않는 것이다. 예를 들어, '드시다'는 '먹다'의 높임말이다. 하지만 '먹다'는 '드시다'의 높임말이 아니다. 그러므로 높임말은 antirymmetric relation이다.

Inverse

 두 번째 relation pattern은 inverse pattern이다. Inverse pattern은 다음과 같이 정의한다.

inverse pattern의 정의

 이는 위의 symmetric과는 달리, 두 개의 다른 relation $r_1$과 $r_2$ 사이의 패턴이다. Inverse pattern의 의미를 풀어 말하면, x와 y가 $r_1$이라는 relation을 가지고 있고 y와 x가 $r_2$라는 relation을 가지고 있으면 이 둘은 서로 inverse 관계인 것이다. 이를 그림으로 표현하면 다음과 같다.

inverse pattern

예를 들어, A가 Y의 지도 교수라면, Y는 A의 지도 학생일 것이다. 그러면 지도 교수($r_1$)와 지도 학생($r_2$)은 inverse relation이다. 

Composition

 세 번째 relation pattern은 composition이다. Composition pattern은 다음과 같이 정의한다.

composition pattern의 정의

이는 서로 다른 세 개의 relation $r_1, r_2, r_3$ 사이의 패턴이다. Composition pattern의 의미를 풀어 말하면, x와 y가 $r_2$라는 relation을 가지고 있고 y와 z가 $r_3$라는 relation을 가지고 있을 때 x와 z는 $r_1$라는 relation을 가진다면, relation $r_1$이 $r_2$와 $r_3$로 composed되어 있다고 표현한다. 이를 그림으로 표현하면 아래와 같다.

composed pattern

예를 들어, x가 Y라는 사람, y가 J라는 사람, z가 C라는 사람이라고 하자. 이 때, y는 x의 엄마($r_2$)이고, z는 y의 남편($r_3$)이다. 그러면 z는 x의 아빠($r_1$)가 될 것이다. 아빠는 엄마와 남편으로 composed되어 있다고 할 수 있다.

 이번 글에서는 knolwedge graph의 대표적인 relation pattern들 세 가지에 대해 알아보았다. 이러한 knolwedge graph 내의 relation을 얼마나 잘 표현할 수 있나에 따라서 knowledge graph embedding이 얼마나 좋은 embedding인지를 평가하기도 한다. 다음 글들에서는 다양한 knowledge graph embedding 방법들에 대해 알아보겠다. 백수 생활이 끝나서 글을 잘 쓸 수 있을지 모르겠지만 백수일 때도 딱히 자주 쓰지는 않았기 때문에 ㅎㅎ.. 열심히 쓰자

 

References

1. Sun, Z., Deng, Z. H., Nie, J. Y., & Tang, J. (2019). Rotate: Knowledge graph embedding by relational rotation in complex space. arXiv preprint arXiv:1902.10197.

2. CS224W. Machine learning with graphs.

300x250
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기