Lecture 11. Reasoning in Knowledge Graphs using Embeddings


Traversing KG in Vector Space

핵심 아이디어는 Query를 embedding하는 것입니다. 이전에 배운 TransE를 다시 복습해보면 $\mathbf{h}$에서 $\mathbf{t}$로 가기 위해 $\mathbf{r}$를 경유하여 갈 때의 score function $f_r(h, t)$는 다음과 같이 나타냈었습니다.

Imgur

Imgur

이것을 Query Embedding 관점으로 다시 생각해보면, query embedding $\mathbf{q} = \mathbf{h} + \mathbf{r}$로 볼 수 있고 이때의 목표는 query embedding $\mathbf{q}$를 answer embeding인 $\mathbf{t}$와 가깝게 만드는 것입니다. 따라서 query를 임베딩 한다는 것은 TransE를 multi-hop reasoning으로 일반화 시키는 것과 같습니다. Query의 relation들이 여러개 적용되는 과정은 embedding space에서 vector addition 과정이며 이는 Knowledge Graph에서의 entity마다 독립적으로 일어나는 과정입니다.

Imgur

Imgur

Imgur

Conjunctive Queries

Imgur

지금까지 One-hop query와 이를 multi-hop으로 확장한 Path Query까지 알아보았습니다. 그렇다면 마지막으로 남은 더 복잡한 query들 간의 결합(conjunction) 연산도 가능할까요? 각 query의 anchor node에서 출발하여 traversing을 하고 난 뒤, 각 traversing의 결과인 node의 교집합(intersection)을 구하면 정답을 구할 수 있습니다.

Imgur

하지만 여기서도 missing connection이 있다면 해당 connection과 관련된 정답을 놓칠 수 있습니다. 이런 경우 implicit하게 connection을 추론해볼 수 있습니다. 만약 (ESR2, Assoc, Breast Cancer)이 missing되었다면 (1) ESR2가 BRCA1과 ESR1 모두와 interaction 관계를 가지고 있고 (2)BRCA1과 ESR1 각각은 Breast cancer과 association 관계를 가지고 있기 때문에 (ESR2, Assoc, Breast Cancer)을 가질 수 있음을 추론해볼 수 있습니다.

Imgur

Traversing KG in Vector Space

하지만 KG traversing을 벡터 공간에서 나타낼 때 몇가지 더 고민해볼 점들이 있습니다. 이에 대한 답은 다음 section 11.3에서 찾아보겠습니다.

  1. conjunctive query에서 나타나는 중간과정의 노드(intermediate node)들은 집합(set)으로 나타나게 되고 이를 어떻게 표현할 것인지
  2. latent space에서의 Intersection을 어떻게 정의하고 어떤 연산과정으로 나타낼 것인지

Imgur


Original Lecture Video : CS224W: Machine Learning with Graphs 2021 Lecture 11.2 - Answering Predictive Queries