최근 빅데이터 연합 동아리 보아즈 ADV 프로젝트를 진행하면서 지식 그래프 데이터베이스 구축이 필요했고 이와 관련하여 지식 그래프(Knowledge Grpah)에 대해 전체적인 개념과 특징에 대해 알아보도록 하겠습니다!
지식 그래프란 관련 있는 정보들을 간선(Edge)과 정점(Node)으로 표현한 지식 구조 표현
구글에 지식 그래프의 정의에 대해 검색하면 다음과 같은 정의들을 많이 살펴볼 수 있습니다!
즉, 기존의 방식처럼 정해진 스키마에 맞춰 데이터를 저장만 하는 것이 아닌 데이터 간의 관계 또한 저장하여 이들의 관계에 집중한 방식이라고 생각하면 될 것 같아요!
또한 이렇게 관계를 정의하여 쌓은 데이터베이스를 지식 베이스라고 합니다!
지식 그래프는 1980년대에 네덜란드의 Groningen 대학과 University of Twente의 연구원들은 자연어를 표현하기 위해 다양한 출처의 지식을 통합하는 지식 기반 시스템을 공식적으로 설명하기 위해 지식 그래프라는 용어를 처음 도입했다고 합니다.
출처: https://joyhong.tistory.com/167
또한 2012년 Google에서 구글 검색의 의미론적 추론 능력 향상을 위해 지식 그래프를 도입했다고 해요!
이후 RAG, DL 사기 탐지 등 다양한 분야에서 활용되며 각광받고 있는 기술이 되었습니다.

지식 그래프 개념과 더불어 나오는 것이 바로 온톨로지 입니다!
온톨로지란 컴퓨터 사이언스나 정보학에서 특정 도메인의 개념과 이들 간의 관계를 체계적으로 정리하는 것이다. 즉, 특정 영역의 주어진 개념들이 서로 어떠한 관계로 존재하는지 정의하고 이를 구조화한 것
온톨로지는 데이터 의미를 정리한 개념 모델로 논리적을 데이터를 정의하고 추론하는데 중점을 두고 있는데요!
온톨로지를 이루고 있는 용어들에 대해 간단하게 알아봅시다.

온톨로지의 가장 기본적인 구성요소로 구체적인 객체나 개념을 나타냅니다.
특정 도메인의 개념을 나타내는 요소로 계층 구조를 갖고 있으며 상위 개념과 하위 개념으로 조직될 수 있습니다.
개념이나 개체가 가지는 속성을 나타냅니다.
개체와 개체 혹은 클래스와 클래스 간 어떤 관계인지를 나타내는 것
이를 이용해 개체 간의 상호작용을 설명하고 복잡한 관계를 보다 빠르게 파악할 수 있습니다.
온톨로지 내에서 개체나 속성, 관계 등에 적용되는 규칙을 말합니다.
ex) 나이는 반드시 양수만 올 수 있다. 등
그렇다면 지식 그래프를 표현, 저장하는 방식에는 무엇이 있을까요?
지식 그래프는 온톨로지 개념을 적용하여 그래프 DB에 데이터를 쌓아 지식 베이스를 만들어내는 것입니다.
RDF(Resource Description Framework)
주어(subject), 술어(predicate), 객체(object)의 트리플 형태로 데이터를 표현합니다.
예: ('스티브 잡스', '창립자이다', '애플').
Property Graph Model:
노드와 에지에 속성을 부여할 수 있는 그래프 모델입니다.
Neo4j와 같은 그래프 데이터베이스에서 사용됩니다.
그래프 데이터베이스
Neo4j, JanusGraph, OrientDB 등
의미적 데이터 통합
다양한 출처의 데이터를 통합하고, 의미적으로 연결할 수 있습니다.
강력한 검색 및 질의
개체 간에 서로 연결되어 있기 때문에 패턴 검색 등 다양한 검색이 가능하며 복잡한 질문도 처리하기 쉽습니다.
추론과 발견
데이터 간의 관계를 이용하여 새로운 지식을 추론할 수 있습니다.
데이터 재사용성과 상호 운용성
데이터 모델이 유연하고 확장성이 높아 다양한 도메인에 손쉽게 사용 가능합니다.
구축 비용과 복잡성
대규모 지식 그래프 구축을 위해선 데이터 정제, 온톨로지 설계, 관계 설정 등 복잡한 과정과 비용이 필요합니다.
데이터 품질 문제
다양한 출처의 데이터를 통합하다보면 데이터의 정확성이 떨어질 위험이 있습니다.
성능 문제
데이터 규모가 커질 수록 쿼리 성능이 떨어질 수 있으며 다양한 최적화 기법이 필요합니다.
표준화 문제
온톨로지, 관계 정의 방식이 일관되지 않으면, 데이터 상호 운용성에 어려움이 있을 수 있습니다.
이번엔 지식 그래프란 무엇인지 알아보았습니다. 자료를 찾으면서 아직 확정적으로 개념이 정립되었다는 느낌보단 빠르게 발전하고 있는 기술임을 느낄 수 있었어요! 앞으로 보아즈에서 진행하는 프로젝트를 통해 의료 도메인 지식을 그래프화 하여 연결하는 작업을 수행할 예정인데 그 과정에서 지식 그래프에 대한 이해를 높여갈 생각에 재미있을 것 같고 기대가 됩니다! 이번에도 긴 글 읽어주셔 감사합니다~
https://bitnine.tistory.com/515
https://brunch.co.kr/@oursophy/10
https://brunch.co.kr/@oursophy/2
https://dining-developer.tistory.com/64