지식그래프(Knowledge Graph)라는 용어는 Google에서 처음으로 사용했습니다. 그 전까지는 knowledge-base라는 용어로 불리던 것을 구글이 KG라는 용어를 사용하여 2012년부터 개발하기 시작합니다. 웹 검색이나, 전자상거래, 질의응답 분야 등에서 다양하게 활용할 수 있는 지식그래프는 간단하게 말해서 대용량의 지식베이스라고 생각할 수 있습니다. 특정 도메인에서 잘 알려진 개체에 대한 정보를 포함하는 그래프로, RDF 스타일을 사용하여 표현됩니다.
이러한 지식그래프의 개념적 정의를 살펴보고, 어떤 종류가 있는지 보도록 하겠습니다.
A Conceptual Definition of Knowledge Graphs
'그래프'에 대해서 간단하게 정의하면 다음과 같습니다.
“A graph is a structure amounting to a set of objects in which some pairs of the objects are in some related”
"그래프란 서로 연관되어있는 개체의 집합을 위한 구조이다"라는 간단한 정의는 다양한 형식의 그래프를 발전시킬 수 있었습니다.
- simple graphs, undirected versus directed graphs, oriented graphs, mixed graphs, multigraphs, Quiver, weighted graphs, half-edges and loose-edges graphs, finite versus infinite graphs
그렇기 때문에 지식그래프는 지난 몇 년동안 다양하게 발전되어 왔습니다.
Akerkar and Sajja(2010)에 따르면 knowledge-based sytem은 지식을 포함하는 ‘knowledge base’ 부분과 QA 또는 새로운 fact의 추론이 가능한 ‘inference engine’으로 구성됩니다.
여기서 knowledge base의 중요한 특징이 바로 ABox, TBox입니다.(Brachman and Shmolze, 1985)
- ABox(Assertion box): assertions(주장)/factual statements를 포함
- TBox(Terminological box): ABox statments에 사용된 terminology(술어)를 정의하고, 이 terminology를 사용하는 more general한 logical formulas를 더함. TBox는 인퍼런스 엔진으로부터 추론되는 많은 잠재적인 facts에 대한 내포적인 정의를 제공함
엄격한 schema 정의를 가지고 있는 Relational DB는 여러가지 장점이 있지만, 다양한 곳에서 수집된 semi-structured, heterogeneous, 그리고 dynamic한 데이터들을 통합하는데 한계점이 있습니다. 반면에 지식그래프는 기존의 DB보다 덜 엄격하기 때문에 이러한 데이터들을 더 자유롭게 통합할 수 있습니다.
다음으로 지식그래프의 종류에 대해 살펴보도록 하겠습니다.
An Empirical Definitoin of Knowledge Graphs
현재 개발되어 있는 지식그래프는 크게 개방형 지식그래프와 기업 지식그래프로 나눌 수 있습니다.
개방형 지식그래프는 연구분야에서 많이 사용되는 오픈소스의 지식그래프이고, 기업 지식그래프는 기업에서 사용하기 위해 개발된 지식그래프를 말합니다.
먼저 개방형 지식그래프를 자세히 정리하고, 기업 지식그래프는 종류만 언급하도록 하겠습니다.
Open Knowledge Graphs(개방형 지식그래프)
- Linked Open Data cloud: 다양한 곳에서 개발된 open dataset를 연결한 플랫폼. 많은 지식그래프들이 서로 link되어 있음.
- DBpedia: 2007년에 시작. Wikipedia의 infobox 데이터로 구축됨. RDF형식이며 SPAQL을 사용할 수 있음. 2016년 배포된 기준으로 13B RDF triples를 가지고 있으며, 온톨로지는 760개의 클래스, 3000개의 property를 가짐
- Freebase: 2007년에 시작. 2010년에 구글에 인수되어 Google's KG의 기반이 됨. 2016년에 서비스 종료되었으며 마지막 배포 때 1.9B fact를 포함함.
- YAGO: 마찬가지로 Wikipedia를 기반으로 하는 지식그래프. 2008년에 시작함. 다양한 fact를 수집하기 보다는 더 '정확한 fact'를 수집하는 것을 목표로 함. WordNet으로 개체를 추출함. 120M fact와 350K의 클래스를 포함함.
- NELL: 500m개의 웹페이지로부터 머신러닝 method로 수집된 cross-domain 지식그래프임. 사전에 정의된 온톨로지를 사용하여 웹에서부터 추출되는 relation의 type을 결정함. 2010년부터 시작했으며, 2.7M fact를 포함함.
- Wikidata: 2만명으로 구성된 협업 커뮤니티로 다양한 언어의 지식그래프를 구축하는 것을 목표로 함. 2012년에 시작했으며, Wikipedia를 기반으로 구축됨. Wikidata와 Wikipedia는 서로 연관되어 있는데, Wikidata로부터 추론된 fact는 Wikipedia의 기사를 enrich하게 하는데 사용됨. RDF형식이며 SPARQL을 지원함. 65M개의 entity를 포함하며, 2019년 8월 배포된 기준으로 7B RDF triples를 가짐.
- KBpedia: Wikipedia, Wkidata, schema.org, DBpedia, GeoNames, OenCyc, UMBEL을 연결한 Knowledge base임. AI 연구에 활용되기 위해 개발됨. 2016년에 시작되어 2018년에 오픈소스로 전환됨.
Proprietary Knowledge Graphs(기업 지식그래프)
- Cyc
- Facebook’s Entities Graph
- Google’s Knowledge Graph
- Yahoo!’s Knowledge Graph
- Knowledge Vault
아래 책의 내용을 기반으로 작성했습니다.
[Knowledge Graphs: Methodology, Tools and Selected Use Cases, 2020]
https://link.springer.com/book/10.1007/978-3-030-37439-6