티스토리 뷰

 

지식그래프는 주어-술어-목적어로 구성되어 데이터의 엔티티를 의미적인 관계로 표현함

최근 LLM에 사실정보를 추가하기 위한 방안으로 KG를 사용하면서 '지식그래프 임베딩 (Knowledge Graph Embedding, KGE)' 기법에 대한 글, 논문이 생겨나고 있음

 

관련 프로젝트를 진행해야해서 참고할만한 글을 스크랩하려고 한다.

대부분 medium의 메일링을 통해서 얻는 정보이고, 종종 논문에 대한 것도 함께 있다.

 

Knowledge Graph Embeddings: Unraveling the What, Why, and How

 

Knowledge Graph Embeddings: Unraveling the What, Why, and How

KGEs map knowledge graphs into vectors, predicting links and filling gaps to unlock the full power of interconnected data

medium.com

  • 링크 예측: 연구원을 위한 잠재적 협력자를 식별하거나 고객을 위한 관련 제품을 제안하는 등 엔터티 간의 누락된 연결을 예측합니다.
  • 엔터티 분류: 엔터티를 KG 내 인맥을 기반으로 새로운 음악가를 "재즈 가수"로 인식하는 등 특정 유형으로 분류합니다.
  • 지식 기반 완성: 알려진 연관성을 기반으로 역사적 인물의 출생지를 추론하는 등 KG에서 누락된 정보를 채웁니다.
  • KGE 모델: TransE, RotatE, ComplEx, TuckER

Simple Schemes for Knowledge Graph Embedding

 

Simple Schemes for Knowledge Graph Embedding

By Lucas Tao, Samuel Winson Tanuwidjaja, Preston Carlson as part of the Stanford CS224W course project.

medium.com

- TransE에 대해 알기 쉬운 예시를 들어 구체적으로 설명해주고 있음. 삼중항(head, relation, tail)이 기본 개념임. 삼중항을 벡터화해서 관계를 찾을 때, 손실함수를 어떻게 구성할 것인가에 대해 설명함.

- TransE는 대칭관계(symmetric)에 대한 한계가 있음. 이를 개선하기 위해 RotatE 방식을 소개함. TransE는 합의 공식을 통해 이루어지는 반면, RotatE는 곱의 공식을 통해 임베딩을 학습함

- 퍼포먼스 평가: The first is called Mean Reciprocal Rank(MRR). MRR이 높을 수록 좋음. 정렬된 목록에서 상위k개의 요소 중 랭킹을 정렬하기 위해..? 사용하는 것이 We also use a metric called Hits@K. 최종 Hits@K 값은 모든 긍정적인 세 쌍에 대한 평가의 평균

- 하지만 TransE, RotatE 모두 효과적으로 모델링할 수 없는 관계가 존재함. N-to-1 관계임. N-to-1 관계 는 삼중항( h1, r1 ,t )이 존재하고 삼중항(h2 , r1 ,t )도 존재하는 관계 r1 입니다 . 즉, 여러 엔터티가 동일한 방식으로 다른 엔터티와 관련됨. 아 N:1관계로 예씨에서는 배우1, 배우2가 모두 같은 작품을 해서 (r:starsIn)이라는 속성으로 하나의 영화를 가르키는 관계를 말함

- 위 한계를 개선한 TransR, ComplEx 등 다른 모델들이 등장하고 있음

Q. 누락된 정보를 지식그래프 안에서 유사도를 찾고, 임베딩 과정을 찾아서 채워넣는 것. 장점이 될 수 있지만, 사실 기반의 데이터를 위해서라면 위험성을 가지고 있을 수 있음

Q. 삼중항 관계를 데이터로 다루려면 ttl보다 nt 파일이 보편적인가?

 

Introducing DistMult and ComplEx for PyTorch Geometric

 

 

Introducing DistMult and ComplEx for PyTorch Geometric

Learn how to leverage PyG’s newest knowledge graph embedding tools!

medium.com

  • KGE(지식 그래프 임베딩)는 엔터티와 관계를 얕은 임베딩을 사용하여 벡터로 저차원 표현으로 변환하는 모델로, 엔터티 간의 관계가 유지되도록 설계
  • 각 지식 그래프 임베딩 방식의 비밀 소스는 주어진 트리플의 점수를 매기는 방법, 즉 점수 기능에 있음

- 흑흑..너무 어려워..

- 수학적인 지식이 많이 필요함

- 코드와 함께 설명하고 있어 구현을 통해 이해하기에 도움이될 듯

- 이미 pytorch에서 KGE model을 지원하기 때문에 필요한 모델을 사용할 수 있음 

KGEModel An abstract base class for implementing custom KGE models.
TransE The TransE model from the "Translating Embeddings for Modeling Multi-Relational Data" paper.
ComplEx The ComplEx model from the "Complex Embeddings for Simple Link Prediction" paper.
DistMult The DistMult model from the "Embedding Entities and Relations for Learning and Inference in Knowledge Bases" paper.
RotatE The RotatE model from the "RotatE: Knowledge Graph Embedding by Relational Rotation in Complex Space" paper.

 

 

 

논문

 

 

Stanford CS224W Graph Machine Learning 튜토리얼

https://medium.com/stanford-cs224w

 

Stanford CS224W GraphML Tutorials – Medium

Tutorials of machine learning on graphs using PyG, written by Stanford students in CS224W.

medium.com

 

- 스탠포드의 캡스톤 프로젝트로 그래프 머신러닝 코드와 튜토리얼을 볼 수 있음 (2022년 기준)

- 그래프 신경만, 지식그래프 임베딩에 대한 프로젝트를 소개함

 

 

Github

- https://github.com/totogo/awesome-knowledge-graph : KG의 전반적인 내용을 소개

- https://github.com/DeepGraphLearning/KnowledgeGraphEmbedding: 지식그래프 임베딩을 위한 RotatE모델의 PyTorch 구현

ㅈ- https://github.com/facebookresearch/PyTorch-BigGraph

- https://github.com/bdi-lab/TransE_type : 카이스트

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함