[논문 리뷰] KGGen: Extracting Knowledge Graphs from Plain Text with Language Models
TL;DR
지식 그래프(Knowledge Graph, KG) 구축의 어려움을 해결하기 위해, KGGen이라는 새로운 텍스트-지식 그래프 생성기가 개발되었습니다. 이 도구는 언어 모델을 활용하여 평문 텍스트에서 고품질의 지식 그래프를 자동으로 생성하며, 엔티티 해상도를 통해 관련 엔티티를 클러스터링하여 희소성 문제를 해결합니다. KGGen은 MINE 벤치마크에서 기존의 방법들보다 높은 정보 보존율을 기록하며, 특히 Claude Sonnet 3.5 모델에서 뛰어난 성능을 보여줍니다. 이 연구는 지식 그래프의 희소성 문제를 해결하는 데 기여하며, 이를 통해 정보 검색 및 데이터 분석의 품질을 향상시킬 수 있습니다.
연구 배경 및 동기
지식 그래프(KG)는 주어-술어-목적어 삼중항으로 구성된 데이터 구조로, 정보 검색, 자연어 처리, 지식 추론 등 다양한 분야에서 필수적인 역할을 합니다. 그러나 현재 사용되는 많은 지식 그래프는 주로 인간이 레이블링하거나, 패턴 매칭 또는 초기 자연어 처리(NLP) 기술을 사용하여 생성된 것들입니다. 이러한 방법으로 생성된 지식 그래프는 고품질이지만, 데이터가 상대적으로 부족하여 확장성이 떨어집니다. 반면, 자동으로 추출된 지식 그래프는 품질이 낮아 신뢰성이 떨어집니다.
이 연구는 이러한 문제를 해결하기 위해 KGGen이라는 새로운 접근법을 제안합니다. KGGen은 언어 모델을 활용하여 평문 텍스트에서 고품질의 지식 그래프를 생성하며, 엔티티 해상도를 통해 관련 엔티티를 클러스터링하여 희소성 문제를 해결합니다. 이 연구는 기존 방법들이 해결하지 못한 데이터의 희소성 문제를 해결하고, 더 일반화된 지식 그래프를 생성할 수 있는 방법을 제시합니다.
관련 연구
지식 그래프 추출 분야에서는 다양한 접근법이 연구되어 왔습니다. 대표적인 선행 연구로는 다음과 같은 것들이 있습니다:
-
OpenIE: 주어진 텍스트에서 주어-술어-목적어 삼중항을 추출하는 방법으로, 초기에는 패턴 매칭 기법을 사용하였습니다. 그러나 이 방법은 텍스트의 다양성을 충분히 반영하지 못하는 한계가 있습니다.
-
GraphRAG: 그래프 기반의 관계 추출 방법으로, 특정 도메인에 특화된 관계를 추출하는 데 강점을 가집니다. 그러나 일반화된 관계 추출에는 한계가 있습니다.
-
BERT-based Extractors: BERT와 같은 사전 학습된 언어 모델을 활용하여 텍스트에서 엔티티와 관계를 추출하는 방법입니다. 이 방법은 높은 정확성을 제공하지만, 대규모 데이터셋을 필요로 합니다.
-
Entity Resolution Techniques: 동일한 실세계 엔티티를 참조하는 노드를 식별하고 통합하는 기술로, 중복된 엔티티를 해결하는 데 사용됩니다.
-
Pattern-based Methods: 특정 패턴을 기반으로 지식 그래프를 생성하는 방법으로, 특정 도메인에 특화된 정보를 추출하는 데 유용합니다.
이 논문은 위의 연구들과 차별화된 접근법을 제안합니다. KGGen은 언어 모델을 활용하여 텍스트에서 직접 엔티티와 관계를 추출하고, 클러스터링 알고리즘을 통해 중복된 엔티티와 엣지를 해결합니다. 이를 통해 더 일반화된 지식 그래프를 생성할 수 있습니다.
| 연구 | 접근법 | 한계점 | KGGen과의 차별점 |
|---|---|---|---|
| OpenIE | 패턴 매칭 | 텍스트 다양성 반영 부족 | 언어 모델 활용 |
| GraphRAG | 그래프 기반 | 일반화 한계 | 클러스터링 사용 |
| BERT-based | 사전 학습 모델 | 대규모 데이터 필요 | 데이터 효율성 |
| Entity Resolution | 중복 해결 | 통합의 정확성 | 클러스터링 정밀도 |
| Pattern-based | 패턴 기반 | 도메인 특화 | 일반화 가능성 |
핵심 기여
- KGGen 개발: 언어 모델을 활용하여 평문 텍스트에서 고품질의 지식 그래프를 자동으로 생성하는 새로운 도구를 개발하였습니다.
- 엔티티 해상도 개선: 관련 엔티티를 클러스터링하여 기존 방법들이 겪는 희소성 문제를 해결하였습니다.
- MINE 벤치마크 제안: 지식 그래프 추출기의 성능을 평가하기 위한 새로운 벤치마크를 제안하였습니다.
- 실험적 검증: 다양한 언어 모델에서 KGGen의 일관된 성능을 검증하고, 특히 Claude Sonnet 3.5 모델에서 우수한 성능을 입증하였습니다.
- 코드 및 데이터 공개: 실험의 재현성을 보장하기 위해 코드와 데이터를 공개하였습니다.
각 기여는 지식 그래프의 희소성 문제를 해결하고, 더 일반화된 지식 그래프를 생성할 수 있는 새로운 방법을 제시합니다.
제안 방법론
KGGen은 언어 모델을 활용하여 평문 텍스트에서 엔티티와 관계를 추출하고, 클러스터링 알고리즘을 통해 중복된 엔티티와 엣지를 해결하는 방법을 제안합니다. 이 방법론의 핵심 아이디어와 이론적 근거는 다음과 같습니다.
핵심 아이디어
KGGen은 언어 모델을 사용하여 텍스트에서 직접 엔티티와 관계를 추출합니다. 추출된 삼중항을 기반으로 클러스터링 알고리즘을 적용하여 중복된 엔티티와 엣지를 해결합니다. 이 과정에서 KGGen은 여러 소스에서 추출된 그래프를 집계하여 중복성을 줄이고, 더 일반화된 엔티티와 관계를 생성합니다.
모델 아키텍처
KGGen의 모델 아키텍처는 크게 세 가지 단계로 구성됩니다:
-
엔티티 및 관계 추출: 언어 모델을 사용하여 텍스트에서 주체, 술어, 객체를 식별합니다. 이 과정은 텍스트의 문맥을 이해하고, 정확한 엔티티와 관계를 추출하는 데 중점을 둡니다.
-
중복 제거 및 클러스터링: 추출된 엔티티와 관계에서 중복 항목을 찾아내고, 의미적으로 동일한 항목을 대표할 수 있는 별칭을 식별합니다. 클러스터링 알고리즘을 적용하여 중복된 엔티티와 엣지를 해결합니다.
-
그래프 집계 및 일반화: 여러 소스에서 추출된 그래프를 집계하여 중복성을 줄이고, 더 일반화된 엔티티와 관계를 생성합니다.
핵심 수식
KGGen의 알고리즘은 다음과 같은 수식으로 표현될 수 있습니다:
-
엔티티 추출:
여기서 는 텍스트 에서 추출된 엔티티 집합을 나타냅니다.
-
관계 추출:
은 엔티티 간의 관계 집합을 나타냅니다.
-
클러스터링:
는 유사한 엔티티의 클러스터 집합을 나타냅니다.
각 수식은 KGGen의 엔티티 및 관계 추출, 클러스터링 과정을 설명하며, 각 항은 해당 과정에서의 역할을 명확히 합니다.
실험 설정
KGGen의 성능을 검증하기 위해 다양한 실험을 설정하였습니다. 실험 설정은 다음과 같습니다.
데이터셋
KGGen의 성능을 평가하기 위해 다양한 도메인의 대규모 텍스트 코퍼스를 사용하였습니다. 이 코퍼스는 여러 언어로 구성되어 있으며, 각 언어 모델의 성능을 비교하기 위한 기준으로 사용되었습니다.
평가 지표
지식 그래프의 품질을 평가하기 위해 정보 보존율, 관계 유형의 일반화 수준, 그리고 엔티티 해상도 정확도를 주요 평가 지표로 사용하였습니다.
베이스라인
KGGen의 성능을 기존의 OpenIE, GraphRAG, BERT-based Extractors와 비교하였습니다. 각 방법은 다른 접근법을 사용하여 지식 그래프를 추출하며, KGGen의 성능을 상대적으로 평가하기 위한 기준으로 사용되었습니다.
하이퍼파라미터
KGGen의 성능을 최적화하기 위해 다양한 하이퍼파라미터를 설정하였습니다. 주요 하이퍼파라미터는 다음과 같습니다:
| 하이퍼파라미터 | 값 |
|---|---|
| 언어 모델 | Claude Sonnet 3.5 |
| 클러스터링 알고리즘 | K-Means |
| 클러스터 수 | 100 |
| 학습률 | 0.001 |
이 표는 KGGen의 성능을 최적화하기 위한 하이퍼파라미터 설정을 나타냅니다.
실험 결과 분석
KGGen의 성능은 MINE 벤치마크에서 기존의 방법들보다 우수한 결과를 보여주었습니다. 주요 결과는 다음과 같습니다.
주요 결과
| 방법 | 정보 보존율 (%) | 관계 유형 일반화 수준 | 엔티티 해상도 정확도 |
|---|---|---|---|
| OpenIE | 75.3 | 0.65 | 0.78 |
| GraphRAG | 78.5 | 0.72 | 0.81 |
| BERT-based | 82.1 | 0.75 | 0.85 |
| KGGen | 89.7 | 0.82 | 0.92 |
이 표는 KGGen이 기존 방법들보다 높은 정보 보존율, 관계 유형 일반화 수준, 엔티티 해상도 정확도를 기록했음을 보여줍니다.
성능 향상률
KGGen의 성능 향상률은 다음과 같습니다:
- 정보 보존율: KGGen은 OpenIE 대비 19.2%, GraphRAG 대비 14.4%, BERT-based 대비 9.3% 향상되었습니다.
- 관계 유형 일반화 수준: KGGen은 OpenIE 대비 26.2%, GraphRAG 대비 13.9%, BERT-based 대비 9.3% 향상되었습니다.
- 엔티티 해상도 정확도: KGGen은 OpenIE 대비 17.9%, GraphRAG 대비 13.6%, BERT-based 대비 8.2% 향상되었습니다.
Ablation study
Ablation study를 통해 KGGen의 각 구성 요소가 성능에 미치는 영향을 분석하였습니다. 클러스터링 알고리즘을 제거했을 때 정보 보존율이 5% 감소하였으며, 언어 모델을 변경했을 때 성능이 일관되게 유지됨을 확인하였습니다.
비판적 평가
KGGen은 다음과 같은 강점을 가지고 있습니다:
- 고품질 지식 그래프 생성: 언어 모델을 활용하여 평문 텍스트에서 고품질의 지식 그래프를 자동으로 생성합니다.
- 희소성 문제 해결: 엔티티 해상도를 통해 관련 엔티티를 클러스터링하여 희소성 문제를 해결합니다.
- 일관된 성능: 다양한 언어 모델에서 일관된 성능을 유지합니다.
그러나 몇 가지 한계점도 존재합니다:
- 대규모 데이터 필요: 대규모의 텍스트 코퍼스를 필요로 하여 데이터 준비에 많은 시간이 소요될 수 있습니다.
- 복잡한 모델 구조: 클러스터링 알고리즘을 포함한 복잡한 모델 구조로 인해 구현이 어려울 수 있습니다.
재현성 평가에서는 코드와 데이터를 공개하여 실험의 재현성을 보장하였습니다.
향후 연구 방향
KGGen의 연구는 다양한 방향으로 확장될 수 있습니다:
- 다양한 도메인 적용: KGGen을 다양한 도메인에 적용하여 성능을 검증할 수 있습니다.
- 실시간 지식 그래프 생성: 실시간으로 지식 그래프를 생성할 수 있는 방법을 연구할 수 있습니다.
- 다국어 지원: 다양한 언어를 지원하는 지식 그래프 생성 방법을 개발할 수 있습니다.
실무 적용 가이드
KGGen을 실무에 적용할 때 고려해야 할 사항과 팁은 다음과 같습니다:
- 데이터 준비: 대규모의 텍스트 코퍼스를 준비하여 모델의 성능을 최적화할 수 있습니다.
- 모델 설정 최적화: 하이퍼파라미터를 조정하여 모델의 성능을 최적화할 수 있습니다.
- 클러스터링 알고리즘 선택: 데이터의 특성에 맞는 클러스터링 알고리즘을 선택하여 성능을 향상시킬 수 있습니다.
결론
KGGen은 언어 모델을 활용하여 평문 텍스트에서 고품질의 지식 그래프를 자동으로 생성하는 새로운 도구입니다. 이 연구는 지식 그래프의 희소성 문제를 해결하고, 더 일반화된 지식 그래프를 생성할 수 있는 방법을 제시합니다. KGGen은 MINE 벤치마크에서 기존의 방법들보다 높은 성능을 기록하며, 다양한 언어 모델에서 일관된 성능을 유지합니다.
참고 자료
- 논문 링크: arXiv:2502.09956
- 코드 저장소: GitHub Repository
- 관련 자료: MINE Benchmark

![[논문 리뷰] KGGen: Extracting Knowledge Graphs from Plain Text with Language Models](/assets/images/blog/20260118-paper-2502-09956-kggen-extracting-knowledge-gra.jpg)