본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Knowledge graph; 지식 그래프
현실 세계의 개체(사람, 장소, 사물, 개념)를 노드로, 개체 사이의 관계를 간선으로 나타내 기계가 검색하고 추론할 수 있게 한 그래프 형태의 지식 베이스

지식 그래프는 "서울은 대한민국의 수도다", "앨런 튜링은 영국에서 태어났다" 같은 사실을 (개체, 관계, 개체) 형태로 쪼개 그래프로 연결한 데이터다. 문서 속 문자열이 아니라 그 문자열이 가리키는 대상과 대상 사이의 관계를 저장하므로, 동명이인을 구분하고, 여러 관계를 따라가는 질문("튜링이 태어난 나라의 수도는?")에 답할 수 있다. 검색 엔진의 정보 상자, 음성 비서의 질의응답, 추천 시스템, 기업 데이터 통합, 생명과학 연구에 쓰인다.

널리 합의된 단일 정의는 없지만, 보통 다음 특징을 가진 것을 지식 그래프라 부른다.[1]

  • 실세계 개체와 그 관계를 그래프로 표현한다.
  • 개체의 종류(클래스)와 관계의 종류를 정한 스키마나 온톨로지가 있다.
  • 임의의 개체끼리 연결할 수 있고 여러 주제 영역을 아우른다.
  • 명시된 사실에서 새로운 사실을 추론하거나 기계 학습으로 빠진 사실을 예측할 수 있다.

지식 표현의 오래된 형태인 의미망(semantic network)을 대규모 데이터와 웹 표준 위에서 구현한 것이라 할 수 있다.

가장 기본 단위는 주어(subject), 술어(predicate), 목적어(object)로 이루어진 트리플이다.

주어 술어 목적어
앨런 튜링 출생지 메이다 베일(런던)
메이다 베일 소속 국가 영국
앨런 튜링 분야 컴퓨터 과학
앨런 튜링 생년 1912 (값)

W3C 표준 RDF(Resource Description Framework)는 RDF 그래프를 주어-술어-목적어 트리플의 집합으로 정의하며, 각 요소는 전역적으로 유일한 IRI, 이름 없는 빈 노드, 자료형이 있는 리터럴 값이 될 수 있다.[2] IRI를 쓰기 때문에 서로 다른 기관의 데이터가 같은 대상을 가리키면 자연스럽게 연결된다. 이것이 시맨틱 웹과 링크드 데이터의 기반이다(5스타 오픈 데이터 참고). 그 위에 클래스와 속성의 계층을 정하는 RDFS, 더 풍부한 논리 제약을 표현하는 OWL로 온톨로지를 정의하고, 질의 언어로 SPARQL을 쓴다. 웹 페이지에 구조화 데이터를 넣을 때는 schema.org 어휘와 JSON-LD 형식을 많이 쓴다.

속성 그래프(property graph)는 노드와 간선이 각각 레이블과 키-값 속성을 가질 수 있는 모델이다. 관계 자체에 "시작일: 2020-03-01" 같은 속성을 직접 붙일 수 있어 업무 데이터를 표현하기 편하다. Neo4j 같은 그래프 데이터베이스가 이 모델을 쓰며, 질의 언어로 Cypher, Gremlin 등이 있다. 2024년 4월에는 속성 그래프 질의 언어 국제 표준 GQL(ISO/IEC 39075:2024)이 발행되었다.[3]

구분 RDF 그래프 속성 그래프
기본 단위 트리플 노드, 간선, 각각의 속성
식별자 전역 IRI 데이터베이스 내부 ID
관계에 대한 정보 별도 기법(RDF-star, 개체화)으로 표현 간선 속성으로 직접 표현
스키마·추론 RDFS, OWL로 표준화된 의미와 추론 데이터베이스별 스키마, 추론은 애플리케이션 몫
질의 언어 SPARQL Cypher, Gremlin, GQL
강점 기관 간 데이터 연결, 공개 지식 그래프 기업 내부 그래프 분석, 경로 탐색
시기 사건
1960년대 개념을 노드, 관계를 링크로 연결하는 의미망이 지식 표현 방법으로 연구됨
1973년 교육 공학 분야에서 교육 과정 모듈화를 다룬 에드워드 슈나이더의 보고서에 "Knowledge Graph"라는 말이 쓰임[4]
1984년 상식 지식을 손으로 입력하는 Cyc 프로젝트 시작
1985년 단어와 의미의 관계를 담은 어휘 데이터베이스 워드넷(WordNet) 시작
2000년대 초 팀 버너스리 등이 시맨틱 웹을 제안하고 RDF, OWL, SPARQL이 W3C 표준이 됨
2007년 위키백과 정보 상자에서 지식을 추출한 DBpedia, 공개 협업 지식 베이스 프리베이스(Freebase), 위키백과와 워드넷을 결합한 YAGO 등장
2012년 5월 구글이 "문자열이 아니라 사물을(things, not strings)"이라는 구호로 지식 그래프를 검색에 도입. 프리베이스, 위키백과, CIA 월드 팩트북 등을 바탕으로 5억 개 이상의 개체와 그 사이 35억 개 이상의 사실을 담았다고 밝힘[5]
2012년 10월 위키미디어 재단의 협업 지식 그래프 위키데이터 시작. 이후 프리베이스 데이터의 이전처가 됨
2010년대 페이스북, 링크드인, 마이크로소프트, 아마존, 에어비앤비 등이 자사 지식 그래프를 소개하며 용어가 퍼짐
2024년 마이크로소프트 리서치가 LLM으로 지식 그래프를 만들어 검색 증강 생성에 쓰는 GraphRAG 발표[6]

구글 지식 그래프는 검색 결과 옆의 정보 상자(지식 패널)와 질문에 대한 직접 답의 기반이 되었고, 이 서비스의 성공으로 "지식 그래프"라는 말이 일반 용어가 되었다.[5] 위키데이터는 2026년 10월 현재 1억 2천만 개가 넘는 항목을 담고 있다.[7]

단계 내용
스키마·온톨로지 설계 다룰 개체 유형과 관계 유형, 제약을 정한다. 기존 어휘(schema.org, 더블린 코어 등)를 재사용하기도 한다
지식 추출 정형 데이터(데이터베이스, 표)는 매핑으로 변환하고, 비정형 텍스트에서는 개체명 인식(NER)과 관계 추출로 트리플을 뽑는다. 최근에는 대형 언어 모델로 추출하는 경우가 많다
개체 연결·통합 텍스트의 "애플"이 회사인지 과일인지 정하는 개체 연결(entity linking), 여러 출처의 같은 개체를 하나로 합치는 개체 해소(entity resolution), 서로 다른 그래프의 같은 개체를 찾는 개체 정렬
품질 관리 모순, 중복, 오래된 사실을 찾아 고치고 출처를 기록한다. 위키데이터는 사실마다 출처와 한정자를 붙인다
보강 추론 규칙이나 링크 예측으로 빠진 사실을 채운다

추론과 기계 학습

편집 원본 편집

온톨로지에 "모든 도시는 장소다", "수도는 도시다" 같은 규칙이 있으면, "서울은 대한민국의 수도다"라는 사실에서 "서울은 장소다"를 추론할 수 있다. OWL 추론기는 클래스 계층, 속성의 역관계와 전이성 같은 규칙으로 명시되지 않은 사실을 도출한다.

지식 그래프 임베딩

편집 원본 편집

지식 그래프는 늘 불완전하다. 지식 그래프 임베딩은 개체와 관계를 저차원 벡터로 바꿔, 그래프에 없는 트리플이 참일 가능성을 점수로 계산한다(링크 예측). 2013년 앙투안 보르드 등이 발표한 TransE는 관계를 벡터 공간의 평행 이동으로 보고, 참인 트리플 (h, r, t)에 대해 𝐡+𝐫≈𝐭가 되도록 학습한다.[8]

f(h,r,t)=−‖𝐡+𝐫−𝐭‖

계열 모델 예 아이디어
평행 이동 TransE, TransH, TransR 관계를 개체 벡터의 이동으로 표현. TransE는 일대다, 다대다 관계에 약해 관계별 공간을 두는 변형이 나옴
회전 RotatE 복소수 공간에서 관계를 회전으로 표현해 대칭, 역관계, 합성 관계를 모델링
쌍선형 RESCAL, DistMult, ComplEx 관계를 행렬(또는 대각 행렬, 복소 대각 행렬)로 두고 𝐡⊤Mr𝐭로 점수 계산
신경망 ConvE, R-GCN 등 합성곱이나 그래프 신경망으로 이웃 구조까지 반영

이렇게 얻은 벡터는 링크 예측 외에도 개체 분류, 추천, 개체 정렬에 쓰이며, 문장을 다루는 워드 임베딩, 임베딩 모델과 함께 쓰이기도 한다.

지식 그래프와 대형 언어 모델

편집 원본 편집

LLM은 넓은 지식을 가졌지만 사실을 틀리게 말하거나(환각) 최신 정보가 없고 근거를 대기 어렵다. 지식 그래프는 출처가 분명하고 갱신 가능하지만 자연어로 묻기 어렵다. 둘을 결합하는 연구가 활발하다.

  • 지식 그래프로 LLM 보강: 질문과 관련된 개체와 관계를 그래프에서 찾아 프롬프트에 넣는다. 여러 단계 관계를 따라가는 질문이나 집계 질문에 강하다.
  • LLM으로 지식 그래프 구축: 문서에서 개체와 관계를 추출하고, 자연어 질문을 SPARQL이나 Cypher 질의로 바꾼다.
  • GraphRAG: 일반 RAG는 문서 조각을 벡터 유사도로 찾기 때문에 "이 문서 묶음의 주요 주제는 무엇인가" 같은 전체 질문에 약하다. 마이크로소프트 리서치의 GraphRAG는 LLM으로 문서에서 개체 지식 그래프를 만들고, 밀접한 개체 묶음(커뮤니티)마다 요약을 미리 생성한 뒤, 질문이 오면 커뮤니티 요약별 부분 답을 다시 요약해 최종 답을 만든다. 100만 토큰 규모의 자료에 대한 전체 질문에서 일반 RAG보다 답의 포괄성과 다양성이 높았다.[6]

기호적 지식과 신경망을 결합하는 이런 접근은 신경-기호 인공지능의 한 갈래이기도 하다.

  • 검색: 개체 이해, 지식 패널, 질문에 대한 직접 답
  • 질의응답과 음성 비서: 개체와 관계를 따라가는 답변
  • 추천 시스템: 사용자, 상품, 속성의 관계를 이용해 추천 이유를 설명하고 콜드 스타트 문제를 완화
  • 기업 데이터 통합: 흩어진 시스템의 고객, 제품, 거래 데이터를 하나의 의미 모델로 연결. 사기 탐지와 공급망 분석
  • 생명과학: 유전자, 단백질, 약물, 질병 관계로 약물 재창출 후보 탐색
  • 개인 지식 관리: 노트를 서로 링크해 개인 지식 그래프를 만드는 노트 앱
  • 불완전성: 대형 공개 지식 그래프도 많은 개체의 기본 속성이 비어 있다.
  • 품질과 최신성: 자동 추출은 오류를 만들고, 사람이 관리하는 그래프는 갱신이 늦다.
  • 스키마 설계 비용: 온톨로지 설계와 유지에 전문 인력이 필요하고, 조직마다 스키마가 달라 통합이 어렵다.
  • 표현력: 시간에 따라 바뀌는 사실, 불확실한 지식, 맥락에 따라 달라지는 사실은 단순한 트리플로 표현하기 어렵다.
  • 편향: 원천 데이터(예: 위키백과)에서 많이 다루는 지역, 언어, 인물에 지식이 몰린다.
  1. ↑ Aidan Hogan 외, 〈Knowledge Graphs〉, 《ACM Computing Surveys》 54(4), 2021. arXiv:2003.02320
  2. ↑ RDF 1.1 Concepts and Abstract Syntax, W3C Recommendation, 2014-02-25.
  3. ↑ GQL Standards, 2024-04-17 게시 소식.
  4. ↑ Edward W. Schneider, 〈Course Modularization Applied: The Interface System and Its Implications For Sequence Control and Data Analysis〉, 1973. ERIC ED088424
  5. ↑ 5.0 5.1 Amit Singhal, Introducing the Knowledge Graph: things, not strings, Official Google Blog, 2012-05-16.
  6. ↑ 6.0 6.1 Darren Edge 외, 〈From Local to Global: A Graph RAG Approach to Query-Focused Summarization〉, 2024. arXiv:2404.16130
  7. ↑ Wikidata:Statistics, 2026-10-15 확인.
  8. ↑ Antoine Bordes 외, 〈Translating Embeddings for Modeling Multi-relational Data〉, NIPS 2013. NeurIPS Proceedings