Knowledge Graph : 지식 그래프
지식 그래프
지식 그래프는 1980년대에 네덜란드의 Groningen 대학과 University of Twente의 연구원들은 자연어를 표현하기 위해 다양한 출처의 지식을 통합하는 지식 기반 시스템을 공식적으로 설명하기 위해 지식 그래프라는 용어를 처음 도입했습니다. 2012년 Google은 문자열과 일치하지 않지만 "사물", 즉 실제 객체를 검색할 수 있는 Google 검색 기능의 의미론적 향상을 위해 지식 그래프를 도입했습니다. 그래프 기반 지식 표현은 수십 년 동안 연구되어 왔으며 지식 그래프라는 용어는 새로운 기술을 구성하지 않습니다. 오히려 Google에서 재창조하고 다른 회사와 학계에서 다양한 지식 표현 응용 프로그램을 설명하기 위해 채택한 유행어입니다.
정의
지식 그래프는 간단한 정의로 그래프 형태의 지식베이스라고 할 수 있습니다. 지식베이스라 함은 지식을 체계적으로 집적한 것입니다. 지식을 조합하여 체계화하는 방법, 즉 지식표현체계로는 의미망, 프레임, 로직, 규칙 등이 존재합니다.
지식 그래프는 의미망과 확장된 프레임 기반으로 조직, 기업 혹은 대상의 정보 자산을 모델링, 통합 및 액세스하는 데 적용되는 데이터 및 관련 메타데이터의 연결된 그래프입니다. 지식 그래프는 실제 엔터티, 사실, 개념 및 이벤트뿐만 아니라 조직 데이터의 보다 정확하고 포괄적인 표현 을 생성하는 이들 간의 모든 관계를 나타냅니다.
지식 그래프는 응용 프로그램이나 서비스가 아니라 기술입니다. 기술이기 때문에 무언가를 이루기 위한 도구로 사용되어질 수 있습니다. 오늘날 언급되는 대다수의 지식 그래프는 크게 두가지로 분류가 되어지는 것 같습니다. 하나는 데이터를 의미있는 방식으로 통합을 하기 위해 사용되는 지식 그래프와 다른 하나는 의사결정을 지원하기 위해 사용되는 지식 그래프입니다. 어떠한 목적으로 사용되든 지식 그래프는 지식을 표현하는 그래프 형태를 가지고 있습니다. 그래프 형태라고 해서 모든 것이 지식 그래프라고는 할 수 없습니다.
구성 요소
지식 그래프는 두 가지의 요소로 구성됩니다. 첫째는 연결된 실제 데이터의 그래프 표현이고 둘째는 지식의 명시적인 표현입니다. 실제 데이터는 기업,조직 혹은 데이터 주체에서 관리하는 실제적인 데이터이고, 그래프는 데이터 간의 연결 관계를 직접적으로 나타내어 관계를 분석하고 이해할 수 있도록 해 줍니다. 지식은 데이터의 중요성과 데이터가 상호간에 어떻게 관련되는지 같은 배경정보를 제공해주며, 명시적 표현은 의미론적 메타데이터를 제공합니다.
연결된 실제 데이터의 그래프 표현
웹의 출현으로 데이터가 중앙 집중식에서 분산형으로 변화되었습니다. 의미망 및 확장 프레임 기반 시스템은 웹 기반 시대로 빠르게 이동시켰으며, 기본 의미망의 네트워크 관계는 웹 기반의 분산 관계로 확장되고, 의미망에서 정보를 구성하는데 사용되는 프레임 패턴은 데이터를 재사용하는 방법에 대한 지식의 명시적 표현을 제공합니다. 이는 시맨틱 웹에 대한 표준 형태와 유사합니다.
시맨틱 웹은 사람과 기계가 정보의 의미를 이해하고 처리할 수 있는 웹으로서 데이터 차원의 분산된 웹입니다. 시맨틱 웹이 가지는 특징인 연결된 데이터와 그래프 표현은 지식 그래프의 필수적인 특징과 유사하다고 볼 수 있습니다.
지식의 명시적인 표현
지식이란 정보를 체계화하고 개념화한 것입니다.
체계화를 통해 용어의 목록을 만들고 그 용어에 의미 또는 정의를 정리한 집합을 만듭니다. 그리고 그 용어 간의 체계를 만듭니다. 용어 목록을 정의하고 공유하여 사용하면 해당 용어에 대한 명확성을 제공해 줍니다. 어떤 시스템에서 특정 용어를 사용하더라도 그 용어에 대한 혼동을 피할 수 있습니다. 또한 다양한 목적에 따라 사용이 되더라도 동일한 정책적 표준에 따라 사용할 수 있게 해줍니다.
개념화를 통해 다양한 종류의 사물과 그 사물들 간의 관계를 표현할 수 있습니다. 우리와 관계되는 다양한 사물들은 각각의 사물이 서로 다양하게 관련되어 있습니다. 즉 서로 다양한 연결 관계를 가지고 있습니다. 우리는 그러한 관계를 개념적으로 알고 있으며 그러한 개념적인 관계를 표현할 수 있습니다. 사물의 유형과 사물들간의 관계를 잘 표현하는 지식 표현체계로 온톨로지를 사용하게 됩니다.
지식의 명시적이고 공유된 표현은 전체 데이터에 대해 사물과 관계를 개념을 설명하게 해줍니다. 뿐만 아니라 특정 응용프로그램에서 필요한 경우 전체 중 일부분만 사용하도록 표현할 수 있으며, 동일한 개념에 대해서 서로 다른 관계자가 다른 용어로 사용할 수 있도록 제공할 수도 있습니다. 또한 온톨로지는 사물과 그 사물들간의 관계를 표현하면서 이를 노드와 링크로 표현이 가능합니다. 즉 그래프로 표현이 가능합니다.
지식과 데이터의 결합
위에서는 데이터의 그래프 표현과 지식의 명시적인 표현에 대해 언급을 하였는데 명시적으로 표현한 지식과 데이터를 합쳐질 때 진정한 지식 그래프가 될 수 있습니다. 이 두가지를 합치는 것은 그리 어려운 작업이 아닙니다. 지식의 명시적인 표현을 위해 온톨로지를 사용하는데, 온톨로지에는 스키마 레벨과 인스턴스 레벨이 존재합니다. 지식에 해당하는 사물의 유형과 사물간의 관계를 나타내는 개념적인 부분은 스키마 레벨에서 나타내고, 실제적인 특정 사물(데이터)는 인스턴스 레벨에서 나타냅니다. 따라서 메타데이터와 데이터와 같이 분리되어 독립적으로 개념적인 부분을 설명할 수 있고, 특정 목적에 맞게 데이터를 설명할 수 있습니다.
지식 그래프 구성 방식
지식 그래프를 구성하는 방식은 크게 3가지로 구성될 수 있습니다. 첫째는 실제 데이터가 그래프 데이터베이스에 완전히 복제되어 구성되는 방식, 둘째는 외부에 저장된 데이터에 대한 인덱스만 구성하는 방식, 그리고 마지막으로 이 두방식의 하이브리드 방식 등으로 나눌수 있습니다.
참고:
https://www.datanami.com/2022/03/07/data-fabrics-the-killer-use-case-for-knowledge-graphs/
http://ceur-ws.org/Vol-1695/paper4.pdf