오늘은 Knowledge Graph (KG) 관련 태스크 중 Entity Alignment (EA)에 대해 보다 자세히 알아보겠습니다. KG 개념에 익숙하지 않으시다면 지난 글을 읽고 오시면 도움이 됩니다.

지난 글에서 간단히 소개했듯, EA는 다른 두 개 (혹은 그 이상의) KG가 가진 엔티티들 중, 실세계에서 같은 객체를 가리키는 엔티티 쌍 (entity pair)을 찾아내고자 (identify) 하는 태스크입니다. 더 종합적이고 큰 하나의 KG를 만들기 위해 여러 KG를 통합시키고자 하는 시도가 많이 진행되고 있고, 그 일환에서 EA는 아주 중요한 태스크가 되겠습니다.

Task Definition

수식을 이용하여 formal 하게 EA 태스크를 정의해보겠습니다.

표기법 정의

  • \(KG_1\)와 \(KG_2\)를 두 KG (지식 그래프)라고 가정합니다.
  • 각 KG는 엔티티 집합 (\(E\)), 관계 집합(\(R\)), 그리고 트리플 집합 (\(T\))으로 구성됩니다. 여기서 트리플은 \((head, relation, tail)\) 의 형태를 가집니다.
    • E.g., \(E_1​,R_1​,T_1\)​은 \(KG_1\)​의 엔티티, 관계, 트리플을 나타내며, \(E_2,R_2,T_2\)는 \(KG_2\)에 대응되는 것이죠.

EA 태스크 목적 정의

EA의 목적은 \(KG_1\)의 엔티티 \(e_1\in{E_1}\)과 \(KG_2\)의 엔티티 \(e_2\in{E_2}\) 사이의 대응 관계를 찾아 매핑하는 것인데요, 즉 두 KG 사이에서 실세계 (real-world) 객체를 나타내는 엔티티 쌍 (entity pair)을 식별해내야 합니다.

Wikidata와 DBpedia 지식그래프의 EA 예시
(출처: A Benchmark and Comprehensive Survey on Knowledge Graph Entity Alignment via Representation Learning, 2022)

EA를 수행하는 함수 \(f(\cdot)\)가 있을 때, \(f(\cdot)\)는 \(E_1\)에서 \(E_2\)로의 매핑을 생성하고자 합니다. 즉, \(f(e_1)=e_2\)는 \(e_1\)과 \(e_2\)가 동일한 실세계 객체를 나타내는 경우이므로, \((e_1, e_2)\)가 EA가 찾아내고자 하는 entity pair 입니다.

일반적으로 유사도 (similarity)를 최대화하는 매핑 함수 \(f(\cdot)\)을 최적화하여 EA 태스크의 목적을 달성할 수 있는데요, 유사도의 계산은 text similarity, structural similarity, attribute similarity 등 다양한 방법을 활용할 수 있습니다. 즉, 유사도 측정은 모델을 어떻게 설계하냐에 달려있다고 생각해주시면 됩니다.

매핑 함수 (\(e_1\)과 \(e_2\) 사이의 유사도를 측정하는)의 최적화 문제는 다음과 같이 나타낼 수 있습니다.

\[\max_{f} \sum_{(e_1, e_2) \in E_1 \times E_2} \text{similarity}(e_1, f(e_1))\]

Benchmarks

EA 모델의 성능을 평가하고 비교하기 위한 데이터셋으로는 DBPedia, Yago, Freebase, Wikidata 등이 있습니다. 아래 Paperswithcode에서 발췌한 스크린샷을 보시면 벤치마크 데이터셋으로 다양한 데이터셋이 존재하는 것을 확인하실 수 있습니다.

Paperwithcode에서 발췌한 EA 벤치마크 (2024년 3월 기준)

여기에서 데이터셋 이름에 대해 간단히 알아보겠습니다. “FBDB15k” 로 예를 들자면, 해당 데이터셋은 Freebase (FB)와 DBpedia 사이의 엔티티 매핑 성능을 평가하기 위한 데이터셋으로, 15,000개의 entity pair을 포함하고 있습니다.

또 눈여겨 볼만한 것으로 “DBP15k zh-en” 데이터셋을 확인해 보겠습니다. 이는 EA 태스크를 위해 설계된 벤치마크로, DBPedia의 두 언어 버전, 즉 중국어 (zh) 버전과 영어 (en) 버전 사이의 엔티티 매핑을 평가하기 위한 데이터셋입니다 (15k는 15,000개의 entity pair을 포함함을 나타냄). 가령, “北京 (중국어)”과 “Beijing (영어)“ 사이의 매핑을 모델이 얼마나 잘 해내는지 평가할 수 있습니다. 이와 같이, FBDB15k와 같이 동일한 언어의 KG의 통합을 위한 데이터셋 뿐만 아니라 다른 언어로 구성된 KG를 통합하기 위한 cross-lingual EA 데이터셋 또한 중요한 벤치마크로 활용되고 있음을 알 수 있습니다.

Subtask: Multi-modal Entity Alignment (MMEA)

최근 몇 년간 거의 모든 딥러닝 연구 분야에 걸쳐 Multi-modality가 적극적으로 활용되고 있는 것 같습니다. Multi-modality의 KG분야에서의 사용도 활발하게 연구가 진행되고 있는데요, EA 문제를 해결하기 위한 접근 방식 중 하나이기도 합니다.

MMKG 예시
(출처: Multi-Modal Knowledge Graph Construction and Application: A Survey, 2015)

MMEA가 풀고자 하는 문제는 EA와 동일합니다. 실세계에서 동일한 객체 entity pair을 찾아내는 것인데, 기존의 EA와 다른 점은 KG에 multi-modality가 추가되었다는 것입니다. 가령, 기존 KG에 image informaton이 추가될 수 있습니다. 최근 연구들은 주로 multi-modality를 통해 entity representation을 더 정교화시켜, EA의 성능을 높이는 데 포커스를 맞추고 있는 것 같습니다.

물론, 기존의 KG도 완벽과는 멀기 때문에 아직까지는 MMEA를 논하는 연구보다는 MMKG Construction에 집중하는 연구도 많이 보입니다.

흥미로운 점은, 앞서 소개한 Paperswithcode의 Benchmark 스샷 이미지에서 여러 벤치마크 데이터셋에서 Best Model을 찍은 모델인 MEAformer가 바로 MMEA 모델이라는 점입니다. EA 태스크에서도 multi-modality를 잘 활용하면 SOTA 성능을 찍을 수 있음을 입증한 셈인데요. 해당 모델은 vision, graph (structure), relation, attribute와 같은 다양한 modality fusion을 통해 EA를 수행하였습니다. MMEA에서 modality fusion을 수행하는 method에 대한 소개는 따로 포스팅할 계획입니다.

함께 보면 좋은 자료

  • Entity Alignment Papers (github repo): 읽으면 좋은 EA 논문들을 한데 정리한 깃헙 레포입니다. Conference paper 뿐만 아니라, survey 논문과 benchmark, 관련 tool까지 정리되어 있습니다.

마무리

이번 글에서는 EA 태스크의 수학적 정의와 벤치마크 데이터셋에 대해 다루어 보았습니다. 그리고 최근 연구 트렌드인 Multi-modality를 활용한 EA, 즉 MMEA에 대해서도 간단히 소개해 보았는데요, MMEA의 modality fusion method에 대한 글은 따로 작성할 계획입니다.

Avatar

Jaein Kim

I'm a Computer Science PhD candidate from South Korea, currently based in Beijing, China. My academic journey is dedicated to pioneering research in Natural Language Processing and Knowledge Graphs, striving to break new ground in these dynamic fields.

1 Comment

  1. Avatar

    * * * Apple iPhone 15 Free: http://saraswathividyalaya.com/upload/go.php * * * hs=d913703027651268f05bb0affc5880bb*

    95kwno

Comments are closed.

Recommended Posts

생물을 사랑하는 AI 박사생 이야기

요즘 듣고 있는 Coursera 뇌과학 강좌에 대해 쓰려다가 에세이가 되버린 생물을 사랑하는 AI 박사생의 이야기입니다. 🙃 지금 NLP를 공부하는 AI 박사과정 학생이지만, 제 관심사는 언제나 다른 곳을 향해 있었습니다. 어릴 때부터 지금까지 살아오면서 언제나 무언가를 키우고 있을 정도로 생물에 대한 관심이 참 […]

지식 그래프 (Knowledge Graphs) 개념과 관련 태스크, 그리고 NLP와의 관계성

이번 글에서는 지식 그래프의 기본 개념에 대해 알아보고, 관련된 대표적인 태스크로 어떤 것들이 있는지 간단하게 알아보겠습니다. 또 KG와 NLP와의 관련성에 대해서도 간단히 소개하며 마무리하겠습니다. Knowledge Graph (KG) 기본 개념 KG는 real-world의 객체 (entity) 사이의 관계 (relation)를 그래프 형태로 모델링한 것으로, 구조화된 데이터의 […]

AI 박사생의 연구 삽질 여정 (현재 진행형)

이번 글은 한탄과 다짐이 섞인 근황 이야기입니다. 개인 웹사이트에서는 처음 쓰는 사적인 이야기인 것 같습니다. 저는 베이징 소재 공대의 컴퓨터 공학부에서 AI를 공부하고 있는 박사 과정 학생입니다. 저는 언제나 AI를 “연구”한다고 표현하지 않고 “공부”한다고 표현하는데 그건 제가 아직도 한참 삽질의 여정을 보내고 […]

Self-Supervised Learning을 활용한 순차 추천시스템: S3-Rec (페이퍼 리뷰)

S3-Rec (Self-Supervised learning for Sequential Recommendation)은 2020년도에 CIKM에 발표된 Self-supervised learning 매커니즘을 활용한 순차 추천시스템 연구입니다. Recap: Self-supervised Learning Self-supervised learning (자기지도 학습)은 원시 데이터 (raw data) 내에 존재하는 상관관계에서 training signal을 구성하여 이를 통해 모델을 훈련하는 방법입니다. 그 중에서도 이 논문에서는 […]