지식 그래프
중급지식 그래프는 AI 문맥에서 자주 등장하는 개념입니다. 이 페이지는 중급 난이도로 지식 그래프의 뜻과 쓰임을 빠르게 이해할 수 있도록 정리한 AI 용어사전 항목입니다.
지식 그래프를 처음 보는 독자도 헷갈리지 않도록 정의와 맥락, 관련 글 1개를 한 페이지에 묶었습니다. 아래 설명을 먼저 읽고, 이어서 연결된 개념과 글까지 보면 이해가 훨씬 빨라집니다.
지식 그래프(Knowledge Graph)는 실세계의 개체(entity)들과 그 사이의 관계(relation)를 그래프 구조로 표현한 지식 체계입니다. 노드(점)가 개체를 나타내고, 엣지(선)가 개체 간의 관계를 나타냅니다. 예를 들어 '서울 — 수도이다 — 대한민국'처럼 정보를 삼중항(triple)으로 저장합니다.
AI에서 지식 그래프는 LLM의 한계를 보완하는 역할을 합니다. Graph RAG는 일반 RAG가 텍스트 청크만 검색하는 것과 달리, 지식 그래프의 구조화된 관계 정보까지 활용하여 더 정확하고 논리적인 답변을 생성합니다. 특히 여러 정보 간의 연결 관계가 중요한 질문에 강합니다.
대표적인 사례로는 구글 검색에서 검색 결과 옆에 나타나는 Google Knowledge Graph가 있습니다. 위키피디아의 구조화된 데이터인 Wikidata도 대규모 지식 그래프이며, 그래프 데이터베이스인 Neo4j는 지식 그래프를 저장하고 쿼리하는 데 많이 쓰입니다.
지식 그래프는 머릿속 마인드맵과 같습니다. 중심 주제에서 가지를 뻗어 관련 개념을 연결하고, 각 연결에 '~이다', '~에 속한다', '~와 관련있다' 같은 관계를 표시합니다. AI가 이 마인드맵을 참고하면 단순한 텍스트 검색보다 더 깊은 맥락을 이해할 수 있습니다.
지식 그래프의 구조는 크게 세 가지 요소로 구성됩니다. 첫째는 개체(Entity)로, 사람·장소·조직·개념 등 실세계에서 고유하게 식별 가능한 대상입니다. 둘째는 속성(Attribute)으로, 개체의 특성을 기술하는 키-값 쌍입니다. 셋째는 관계(Relation)로, 두 개체를 연결하며 방향성을 가집니다. 이 세 요소가 모여 '주어 — 서술어 — 목적어' 형태의 트리플(triple)이 됩니다.
기업 환경에서 지식 그래프는 다양하게 쓰입니다. 금융 분야에서는 기업 간 지분 구조와 임원진 연결 관계를 그래프로 관리해 이상 거래 탐지에 사용합니다. 의료 분야에서는 질병·증상·약물 간의 관계를 구조화해 진단 보조 시스템에 연결합니다. 전자상거래에서는 상품·카테고리·브랜드·사용자 구매 이력을 그래프로 연결해 추천 정확도를 높입니다.
지식 그래프를 구축하는 방법은 크게 두 가지입니다. 전통적인 방법은 전문가가 직접 관계를 정의하고 데이터를 입력하는 수작업 방식입니다. 최근에는 LLM을 활용해 비정형 텍스트에서 자동으로 개체와 관계를 추출하는 방식이 많이 쓰입니다. 예를 들어 수천 개의 뉴스 기사에서 '회사 A가 회사 B를 인수했다'는 관계를 자동으로 파악해 그래프에 추가하는 식입니다.
지식 그래프와 일반 관계형 데이터베이스의 차이도 이해할 필요가 있습니다. 관계형 DB는 정해진 스키마에 데이터를 저장하고, 테이블 간 조인으로 관계를 표현합니다. 반면 지식 그래프는 스키마가 유연하고, 새로운 개체나 관계 유형을 추가할 때 기존 구조를 바꾸지 않아도 됩니다. 덕분에 도메인 지식이 지속적으로 확장되는 환경에 적합합니다.
AI 에이전트 시스템에서도 지식 그래프의 역할이 커지고 있습니다. 에이전트가 복잡한 다단계 추론을 수행할 때, 텍스트 벡터만으로는 '누가 누구의 상사인가', '이 약물은 어떤 질환에 승인되었는가' 같은 구조적 관계를 정확히 파악하기 어렵습니다. 지식 그래프를 외부 메모리로 연결하면 에이전트의 추론 정확도와 설명 가능성이 높아집니다.
흔한 오해 중 하나는 지식 그래프가 벡터 데이터베이스와 경쟁 관계라는 생각입니다. 실제로는 서로 보완 관계입니다. 벡터 DB는 의미적으로 유사한 내용을 빠르게 찾는 데 강하고, 지식 그래프는 명시적인 관계와 논리 구조를 다루는 데 강합니다. 최근 많은 시스템이 두 접근 방식을 함께 사용하는 하이브리드 아키텍처를 채택하고 있습니다.
지식 그래프 쿼리 언어로는 SPARQL과 Cypher가 대표적입니다. SPARQL은 RDF 형식의 지식 그래프에서 트리플을 검색하는 표준 언어입니다. Cypher는 Neo4j에서 사용하는 언어로, SQL과 유사한 문법으로 그래프 패턴을 직관적으로 표현합니다. 예를 들어 '특정 회사의 모든 자회사와 해당 자회사의 CEO를 한 번에 가져오는' 다단계 관계 탐색을 단 몇 줄의 Cypher 쿼리로 표현할 수 있습니다. 이런 다단계 관계 탐색은 일반 SQL의 중첩 조인보다 훨씬 간결하고 효율적입니다.
지식 그래프 구축의 현실적인 어려움 중 하나는 유지 관리입니다. 세상의 지식은 계속 바뀌기 때문에, 기업 인수·합병, 인사 변동, 제품 단종 같은 변화를 그래프에 지속적으로 반영해야 합니다. 자동 업데이트 파이프라인을 갖추지 않으면 지식 그래프의 정확도가 시간이 지날수록 떨어집니다. 최근에는 뉴스 피드나 공식 발표를 실시간으로 처리하여 지식 그래프를 자동 업데이트하는 시스템도 등장하고 있습니다.
관련 글
아래 글들은 지식 그래프가 실제 문맥에서 어떻게 쓰이는지 보여주는 참고 자료입니다. glossary에서 개념을 잡고 관련 글로 넘어가면 이해가 훨씬 쉬워집니다.
