지식 그래프 (Knowledge Graph)

컴퓨터과학·AI
한 줄 정의: 사람, 사물, 개념 같은 개체를 점(노드)으로, 개체 사이의 관계를 선(간선)으로 표현하여 정보를 구조화한 데이터 모델입니다.

쉽게 풀면

가족 관계도를 떠올려 보세요. "아버지-아들", "어머니-딸"처럼 사람(노드)들이 관계(간선)로 이어져 있습니다. 지식 그래프는 이런 방식으로 세상의 지식을 표현합니다. 예를 들어 "아인슈타인 - 태어난곳 - 독일", "아인슈타인 - 발표함 - 상대성이론"처럼 개체와 관계를 함께 저장해 두면, 컴퓨터가 단순히 단어를 검색하는 것을 넘어 "아인슈타인이 어느 나라에서 태어났고 무엇을 발표했는지"를 연결해서 추론할 수 있게 됩니다.

왜 중요한가

지식 그래프는 개체 간 관계를 명시적으로 저장하기 때문에, 언어 모델이 사실과 다른 답을 만들어내는 환각 문제를 줄이는 근거 자료로 유용하며, 추천 시스템이나 질의응답 시스템에서 정확하고 설명 가능한 결과를 제공하는 기반으로 쓰입니다. 이런 이유로 자연어처리, 정보검색, 추천 시스템을 다루는 논문에서 신뢰할 수 있는 구조화 지식원으로 폭넓게 인용됩니다.

논문에서는 이렇게 쓰입니다

"제안 시스템은 지식 그래프에서 추출한 엔티티 관계 정보를 검색 결과에 함께 제공하여 답변의 사실 정확도를 향상시켰다."

이 문장은 시스템이 단순 텍스트 검색뿐 아니라, 개체와 관계로 구조화된 지식 그래프를 함께 활용해서 더 정확하고 근거 있는 답변을 만들었다는 뜻입니다. 최근에는 검색증강생성 시스템에서 언어 모델의 환각현상을 줄이기 위한 보조 지식원으로도 자주 활용됩니다.

"사용자-상품 상호작용 이력을 지식 그래프로 확장하여 상품 속성과 사용자 선호를 연결한 추천 모델을 제안하였다."

추천 시스템 연구에서 단순 구매 이력을 넘어 상품 속성 관계까지 반영해 추천 정확도를 높이는 예시이다.

"생의학 논문 코퍼스에서 질병-유전자-약물 관계를 자동 추출하여 지식 그래프를 구축하고, 이를 신약 후보 탐색에 활용하였다."

생의학 분야에서 방대한 문헌으로부터 개체 관계를 추출해 지식 그래프를 구축하는 예시이다.

조금 더 깊게 보면

지식 그래프는 흔히 (주어, 관계, 목적어) 형태의 트리플로 표현되며, 대규모 지식 그래프를 구축할 때는 텍스트에서 개체와 관계를 자동으로 추출하는 정보추출 기술이 함께 사용됩니다. 그래프가 완성된 뒤에는 노드와 관계를 벡터 공간에 매핑하는 지식 그래프 임베딩 기법을 통해 누락된 관계를 예측하거나 유사한 개체를 찾는 작업이 이루어지기도 합니다. 최근 연구에서는 지식 그래프와 언어 모델을 결합해, 그래프를 순회하며 얻은 근거를 언어 모델의 답변 생성 과정에 반영하는 방식도 활발히 다뤄지고 있습니다.

주의할 점

지식 그래프는 벡터 임베딩 기반 검색과 종종 혼동되지만 다른 개념입니다. 벡터 데이터베이스가 의미적 유사도로 정보를 찾는다면, 지식 그래프는 개체 간의 명시적 관계를 따라가며 정보를 찾는다는 점에서 접근 방식이 다릅니다. 두 방식은 상호 보완적으로 함께 쓰이는 경우가 많습니다.

관련 용어