그래프를 지식 그래프로 변모시키는 것은 사람과 소프트웨어가 그래프를 이해하도록 돕는 조직화 원리(organizing principle)의 적용이다. 역사적으로 이것은 거창하게 시맨틱스(semantics)라 불려 왔지만, 간단히 "데이터를 더 똑똑하게 만드는 일"로 생각하면 된다. 이 장은 평범한 그래프에서 출발해 속성 그래프, 택소노미, 온톨로지로 조직화 계층을 한 겹씩 쌓아 올린다.
그래프는 현대 컴퓨터 시스템에서 흔하다. 대화형 질의, 실시간 분석, 데이터 과학을 지원하는 쾌적하고 유연한 데이터 모델이다. 지식 그래프는 수십 년에 걸친 시맨틱 컴퓨팅 연구의 결실이며, 현대 그래프 기술을 이용하면 그 연구의 열매를 오늘날의 문제에 손쉽게 적용할 수 있다.
지식 그래프가 데이터를 더 똑똑하게 만든다는 발상의 핵심은 이것이다. 똑똑한 동작을 애플리케이션마다 반복해서 인코딩하는 대신, 데이터 자체에 단 한 번 직접 인코딩한다. 더 똑똑한 데이터는 지식 재사용을 가능하게 하고 중복과 불일치를 줄인다.
그래프의 데이터를 조직화하는 접근법은 여러 가지이며, 각각 고유한 이점과 특성이 있다. 문제에 맞는 것을 자유롭게 선택할 수 있고, 여러 접근법을 조합할 수도 있다. 이 장은 기본적인(그러나 유용한) 그래프에서 시작해 조직화 계층을 연속적으로 추가하면서, 지식 그래프가 점점 더 정교한 문제를 어떻게 해결하는지 보여준다.
노드와 관계만 존재한다. 데이터의 의미는 그래프를 소비하는 질의와 프로그램의 로직에 "숨어" 있다.
노드 레이블, 타입·방향이 있는 관계, 키-값 속성이 필수 단서를 제공한다. 도메인 지식 없이도 처리·시각화가 가능해진다.
일반화-특수화 계층으로 범주를 조직한다. 대체 가능성 추론과 표준 유사도 알고리즘 적용이 가능해진다.
계층에 국한되지 않는 풍부한 연관성을 정의한다. 교차 관심사 추론, 시스템 간 시맨틱 브리지, 실행 가능한 지식을 실현한다.
(지식 그래프와 대비하여) 그래프라는 용어는 명시적 조직화 원리가 없는 그래프를 가리킬 때 사용한다. 물론 평범한 그래프도 매우 유용하다. 차이는 이것이다. 평범한 그래프에서는 정보의 해석이 데이터 자체가 아니라 그래프를 사용하는 시스템 쪽에 인코딩되어 있다. 조직화 원리가 데이터를 소비하는 질의와 프로그램의 로직 속에 "숨어" 있는 것이다.
친숙한 예로 온라인 스토어의 판매 데이터를 생각해 보자. 판매 데이터는 대개 크고 동적이며, 고객 쇼핑 정보와 제품 카탈로그(제품 설명, 범주, 제조사)를 결합한다.
처음에는 이 그래프가 직관적이지 않을 수 있다. 그러나 P 노드가 제품,
C 노드가 고객, 노드 간 연결이 구매를 나타낸다는 지식을 엔지니어가 프로그램에
인코딩해 두었다면, 그 프로그램은 "이 고객이 무엇을 샀는가?" 같은 직관적 질문에 답할 수 있다. 역방향 질문 —
"이 제품을 누가 샀는가?" — 에도 답할 수 있으며, 양방향으로 답하는 능력은 소매업체에 본질적으로 가치 있다.
또한 노드로 들어오는 관계 수를 세어(내차수 indegree 계산) 제품의 인기도를 계산할 수도 있다.
그래프에 많은 가치가 있음은 분명하다. 그러나 도메인 사전 지식이 없는 데이터 과학자가 장바구니 분석(basket analysis)으로 함께 구매되는 제품을 찾으려 한다면? "관계로 연결된 노드" 이상의 의미를 파악할 조직화 원리가 없으므로, 누군가가 데이터 해석 방법을 설명해 주어야 한다. 해석 지식은 소프트웨어 시스템에 인코딩되어 있지, 데이터에는 없기 때문이다.
그래프를 만든 사람이 조직을 떠나면 진짜 문제가 생긴다. 남은 사용자는 그래프를 해석하기 위해 알고리즘 코드를 역공학해야 한다. 성숙한 기업에서 이런 일은 너무나 자주 일어난다. 더 나은 해법은 조직화 원리를 적용해 그래프의 데이터를 더 똑똑하게 만드는 것이다. 이는 그래프에 잠재된 암묵적 지식을 표면화하여, 그래프를 지식 그래프로 전환한다.
데이터를 자기 설명적으로 만드는 것이 불필요한 수고처럼 보일 수 있다. 실제로 우리는 자기 설명적이지 않은 것들에 둘러싸여 산다. 새 주방 기기를 사면 설명서를 읽어야 쓸 수 있다.
그러나 설명서가 필요 없는 기기도 있다. 조직화 원리가 워낙 훌륭해서 즉시 생산적으로 쓸 수 있는 경우다. 현대 스마트폰과 태블릿의 터치 인터페이스는 사용성이 뛰어나 설명서가 필요 없다 — 유아도 쓸 수 있을 정도다. 데이터도 같은 관점으로 볼 수 있다. 설명서(매뉴얼)로도 되기는 하지만, 쉽고 심지어 즐겁게 다룰 수 있도록 데이터를 조직하는 편이 낫다. 그런 체계를 만드는 데 노력이 들더라도, 유용한 프로덕션 시스템으로 여러 배로 보상받는다.
수학자들이 사랑하는 소박한 선-과-원 그래프에 비해 이미 더 풍부한 그래프 모델이 있다 — 속성 그래프 모델이다. 속성 그래프 모델은 평범한 그래프보다 훨씬 조직화되어 있다. 레이블이 붙은 노드, 타입과 방향이 있는 관계, 그리고 노드와 관계 양쪽의 속성(키-값 쌍)을 지원한다. 속성 그래프 모델을 이해하는 소프트웨어라면 무엇이든 이 단순한 조직화 원리에 따라 데이터를 처리할 수 있다.
속성 그래프는 사람과 소프트웨어 에이전트에게 그 안의 정보에 대한 필수 단서 — 노드 레이블, 관계의 타입과 방향, 저장된 속성 데이터의 이름과 타입 — 를 제공한다. 인트로스펙션(introspection)을 통해 그래프의 형태(스키마)에 대한 형식적 기술까지 얻을 수 있다. 이 조직화 원리는 (어느 정도까지는) 그래프를 자기 기술적(self-describing)으로 만들며, 데이터를 더 똑똑하게 만드는 분명한 첫걸음이다. 노드 레이블만으로도 소프트웨어는 그래프에서 유사한 유형의 엔터티를 모두 추출할 수 있다 — 예컨대 모든 고객을 손쉽게 뽑아낼 수 있다. 데이터 과학자는 이 정보 풍부한 그래프에서 훨씬 나은(그리고 더 생산적인) 시간을 보낸다.
중요한 점은, 속성 그래프 모델의 기능만으로 도메인 지식 없이도 가능한 처리가 있다는 것이다. 대표적인 예가 시각화다. Linkurious와 Neo4j Bloom 같은 인기 시각화 도구는 같은 레이블의 노드를 유사한 시각적 스타일로 표시한다(그림 2-3). 조직화 원리에 대한 이해만으로 이 도구들은 데이터를 유용한 시각적 방식으로 렌더링하며, Bloom은 나아가 메타데이터를 활용해 그래프 위에 직관적인 구글 검색 스타일의 탐색을 제공한다.
시각화 도구 같은 소비자 애플리케이션에게 조직화 원리는 계약이다. 계약은 도구에게 "레이블이 붙은 노드가, 방향과 타입이 있는 관계로 연결되어 있고, 원한다면 양쪽에 속성이 있을 것"을 기대해도 된다고 알려준다. 그래프와 도구가 모두 이 계약을 준수하는 한, 상세한 도메인 지식이 없어도 시스템은 동작한다. 이 계약은 사람에게만 적용되는 것이 아니라 소프트웨어에도 적용된다. 계약을 준수하는 소프트웨어 도구는 데이터를 그 의도에 부합하는 방식으로 처리·시각화·변환·전송할 수 있다.
다만 흔하고 강력함에도 불구하고, 속성 그래프 모델은 상대적으로 저수준의 조직화 원리다. 이 장 후반에서 다루는 택소노미와 온톨로지 같은 고차 조직화 원리와 결합할 때 훨씬 더 유용해진다.
그림 2-2의 속성 그래프에서 유능한 사용자는 모든 무선 헤드폰을 추출할 수 있고, 모든 오디오 제품도 그만큼 쉽게 추출할 수 있다. 조금만 더 노력하면 제품별·범주별 판매 집계도 계산할 수 있다. 그러나 이 설정으로는 추론(reasoning)의 여지가 크지 않다. 레이블만으로는 예컨대 한 제품이 다른 제품을 대체할 수 있는지 알 수 없다. 그러려면 더 강한 조직화 원리가 필요하다.
그림 2-2에서 고객과 구매 제품 사이의 연관은 관계의 형태로 그래프에 명시되어 있었다. 레이블로 노드의 범주를 만드는 것도 분명 유용하다. 그러나 레이블 사이의 연관성은 빠져 있었다.
레이블 속성 그래프 모델에서 레이블은 그래프 안에서 노드의 역할을 기술하는 태그(tag)에 가깝다. 레이블 간에는 연관성이 없으므로, 예컨대 "사과는 과일의 특수화"라는 추론은 불가능하다. 이 연관성의 부재는 버그가 아니라 의도된 기능(feature)이다. 타입 시스템과 다형성은 애플리케이션 수준의 관심사이고, 그래프 데이터베이스는 데이터와 구조만 다룬다.
레이블 속성 그래프 모델의 설계자들은 데이터와 타입 시스템을 분리했다. 데이터베이스는 데이터(와 그 구조)를 소유하고, 데이터베이스를 사용하는 애플리케이션은 각자의 목적을 위한 풍부한 타입 시스템을 가질 수 있다. 레이블은 상속 특성을 가진 타입이 아니다. 노드의 역할(들)을 나타내는 지표일 뿐이며, 레이블을 타입에 매핑할지는 지식 그래프를 소비하는 시스템 구현자에게 맡겨진 설계 결정이다.
레이블만으로는 한 범주가 다른 범주보다 넓은지, 어떤 제품들이 호환되는지, 속한 범주에 근거해 대체가 가능한지 알 수 없다. 기린이 포유류의 특수화라는 것도, 과일을 찾을 때 사과가 바나나의 합리적 대체품이 될 수 있다는 것도 레이블만으로는 알 수 없다. 이런 기능은 시맨틱 웹 기술 스택의 일부 구현 등 다른 그래프 모델에 존재하지만, 구현 복잡도가 높고 모델 위의 추론이 계산적으로 느리거나 심지어 다루기 어려운(intractable) 경우가 많다.
비즈니스 수준에서 범주와 대체에 관한 데이터의 부재는 판매 기회의 상실을 의미한다. 더 나은 제품 카탈로그는 고객에게 더 나은 쇼핑 경험을, 소매업체에 더 많은 수익을 가져다준다. "달리기하면서 클래식 음악을 듣기 좋은 장비는?" 같은 고차 질문은 알고리즘만으로는 답할 수 없다. 더 똑똑한 데이터가 필요하며, 특정 품목의 재고가 없을 때 유사 품목을 제안해 판매를 성사시키려면 제품의 대체 가능성(substitutability)을 추론할 수 있어야 한다.
x는 y의 일종(x is a kind of y) 추론을 지원하려면 택소노미(taxonomy)라는 구조로 데이터를 더 계층적으로 봐야 한다. 택소노미는 범주를 광의-협의(broader-narrower) 또는 일반화-특수화 계층으로 조직하는 분류 체계다. 유사한 성질을 공유하는 항목을 같은 범주로 묶고, 범주들을 서로 관련지어 개념을 조직한다. 수가 많은 구체적인 것(제품)은 계층의 아래쪽에, 수가 적은 일반적인 것(브랜드·제품군)은 위쪽에 배치된다.
계층은 SUBCATEGORY_OF 관계로 연결된 Category 노드들로
구성한다(사용하는 프레임워크·어휘에 따라 NARROWER_THAN이나
SUBCLASS_OF로 불리기도 한다). 이어서 제품을 택소노미의 적절한 위치에 연결하면
판매 준비가 된 분류가 완성된다.
지식 그래프의 묘미는 여러 조직화 계층을 동시에 구성하여 더 많은 인사이트를 얻을 수 있다는 데
있다. 현재 Bose QC35II 헤드폰은 PROMOTED 관계로 반값 할인 범주
노드에 연결되어 있고, 그 범주는 시즌 프로모션인 블랙 프라이데이 딜의 하위 범주다. 동시에
이 제품은 유선 헤드폰과 무선 헤드폰 범주 양쪽에 연결되어 두 범주를 탐색하는 고객 모두에게 노출된다.
연중 다른 시기에는 같은 헤드폰이 다르게 — 예컨대 하이엔드 오디오 범주로 — 분류될 것이다.
이것이 가능한 이유는 지식 그래프에서 분류가 동적이기 때문이다. 새 범주와 그 연관성, 제품-범주 연결은 그저 추가적인 노드와 관계일 뿐이다. 그래프 데이터베이스 안의 데이터에 불과하므로 엄청난 유연성이 생긴다.
속성 그래프 모델로 일정 수준의 도메인 독립성을 얻었다면, 택소노미로 한 걸음 더 나아갈 수 있다. 택소노미 (즉 광의와 협의의 의미)를 이해하는 애플리케이션이라면 도메인 지식 없이도 그래프를 훨씬 풍부하게 활용할 수 있다. 예컨대 알고리즘은 경로 유사도(path similarity), Leacock-Chodorow, Wu & Palmer 같은 표준 택소노미 지표를 적용해 제품 간 의미적 유사도를 계산할 수 있다. 도메인이 오디오 장비든 과일이든 상관없다 — 택소노미 속의 더 똑똑한 데이터는 이 표준 알고리즘들로 처리할 수 있다. 이 정도의 소박한 택소노미 조직화만으로도 추출 가능한 지식 측면에서 즉각적인 이득을 얻는다.
택소노미가 SUBCATEGORY_OF 관계로 연결된 주제들의 집합을 표현한다면,
온톨로지(ontology)는 정교함의 수준을 한 단계 끌어올린다. 온톨로지도 택소노미처럼 도메인의
범주와 그들 사이의 관계를 기술하는 분류 체계다. 그러나 온톨로지는 계층(광의-협의) 구조에
국한되지 않으므로 더 풍부한 연관성을 제공할 수 있다.
온톨로지를 이용하면 PART_OF, COMPATIBLE_WITH,
DEPENDS_ON 같은 더 복잡한 유형의 범주 간 관계를 정의할 수 있다. 나아가
관계의 계층을 정의하고, 관계를 더 섬세하게 — 이행적(transitive),
대칭적(symmetric) 등으로 — 특성화할 수 있다. 이 개념들 역시 레이블 속성 그래프 모델에 무리 없이
매핑된다.
온톨로지의 안내를 따르면 도메인의 범주를 수직(계층)뿐 아니라 수평으로도 탐색할 수 있어
교차 관심사(cross-cutting concern)를 다룰 수 있다. 예컨대 iPhone 12는 iOS 기기이므로 휴대폰을 찾는 고객에게
유효한 검색 결과라고 추론할 수 있다. iOS가 휴대폰의 하위 범주라는 것은 일반 택소노미로도 표현할 수 있지만,
온톨로지에 정의된 UPSELL 관계의 시맨틱스를 이용하면 한발 더 나아가
iPhone 12를 보는 고객에게 iPhone 12 Pro를 추천해야 한다고 추론할 수 있다.
더 높은 수준에서, 여러 시스템에 걸친 그래프에서는 온톨로지를 시맨틱 브리지(semantic bridge)로 쓸 수 있다. 양쪽 시스템의 같은 개념을 연결하는 교차 동치(cross-equivalence)를 정의하는 온톨로지가 있으면, 비즈니스 도메인 전체를 순회하면서 이를 표준적이고 잘 이해된 어휘로 다시 매핑할 수 있다.
시스템 간 계약으로 쓰이는 등 온톨로지의 용도가 정교해질수록 복잡도도 올라간다. 그러나 온톨로지는 모듈 방식으로 구축해 합성 가능(composable)하게 만들 수 있다. 이렇게 하면 즉각적인 가치를 얻으면서 복잡도를 관리할 수 있다. 여러 기저 택소노미·온톨로지를 잇는 계층화된 온톨로지 구성에서는 각 계층을 독립적으로 질의할 수 있고, 계층들을 한데 모으면 도메인을 가로지르는 추론 능력이 생긴다(그림 2-7).
단일 온톨로지로는 서로를 보완하는 전자제품에 대해서만 추론할 수 있었지만, 도메인을 아우르는 상위 교차 도메인 온톨로지를 사용하면 더 광범위한 요구 — 더 넓은 제품 범위, 추천, 특가와 프로모션 등 — 에 대해 추론할 수 있다. 비즈니스 수준에서 이것은 "어떤 기기들이 서로 어울리는지 알려줘"에서 "내게 필요한 것들을 (최적 가격에) 구하도록 도와줘"로의 뚜렷한 전환이다.
온톨로지는 지식을 실행 가능(actionable)하게 만들어 사람 또는 소프트웨어 에이전트가 정교한 작업을 수행할 수 있게 한다. 예컨대 온라인 소매업체가 온톨로지 계층을 통해 제품 계층과 재고 관리 데이터를 연결하면, 현재 품목이 품절일 때 좋은 대안을 제시하거나 심지어 마진이 더 좋은 제품을 추천할 수단이 생긴다. 이 모든 가치는 비즈니스가 작동하는 방식을 (기계가 읽을 수 있는) 온톨로지로 포착하는 소박한 비용으로 얻어진다.
지식 그래프의 조직화 원리 유형은 언제나 의도된 용도(intended use)가 결정해야 한다. 그것을 활용하는 프로세스나 (사람 또는 소프트웨어) 에이전트가 없다면, 풍부하고 표현력 있는 기능을 만드는 일에 가치는 거의 없다. 처음부터 지나치게 야심 찬 메타모델을 겨냥하는 것은 매우 흔한 실수다. 작업의 가치가 아직 잘 이해되지 않은 시점에 시간과 자원 양면에서 값비싼 노력이 들어가며, 완성될 즈음에는 조직화 원리의 세부가 이미 낡아버릴 위험이 있다.
비즈니스의 언어 전체를 완전히 이해하고 포착하려는 시도가 이따금 목격된다. 그런 작업이 고생스럽고 시간이 많이 든다는 것은 의심의 여지가 없다. 확실치 않은 것은 그 가치다. 가치를 실현하기 위해 도메인의 언어를 정말로 상세하게 완전 포착해야 하는 경우도 간혹 있지만, 대개는 그렇지 않다.
모든 것을 아우르는 조직화 원리를 선행 제작하면 누군가는 안심할지 모르나, 그것은 작업이 완료된 시점의 시스템만 포착할 뿐이다. 보통은 조직화 원리를 가변적(malleable)이고 버전 관리 가능한 것으로 취급하는 편이 낫다. 이 점진적 접근은 가치를 더 일찍 얻게 할 뿐 아니라, 비즈니스 도메인이 진화함에 따라 배우고 적응할 것을 전제하는 실천을 정착시킨다. 이 교훈은 엔터프라이즈 소프트웨어 개발에서 이미 잘 학습되었다 — 모든 기능을 첫날 제공하는 모놀리식 애플리케이션 대신, 오늘날은 애자일 방법으로 당장 문제를 해결하기에 충분한 소프트웨어를 먼저 내놓고 개선을 이어간다.
일반적으로 지식 그래프의 조직화 원리를 만들 때는 딱 필요한 만큼의 시맨틱스(just-enough semantics)를 받아들여야 한다. 현재 보유한 사용 사례를 위한 시맨틱 메타데이터를 도입하고, 사용 사례가 요구할 때 더 추가한다. 더 단순한 택소노미나 심지어 속성 그래프만으로 현재 요구되는 역량을 제공할 수 있다면 복잡한 온톨로지를 구축해서는 안 된다. 더 복잡한 시스템을 즉시 구축하려는 시도는 대개 과잉 엔지니어링(overengineering)이다.
지금 필요한 것만 구축하는 방식은 반복적 시스템 인도 실천과도 잘 어울린다. 지식 그래프의 반복적 구축은 온톨로지 완벽주의(ontological perfectionism)라는 흔한 함정을 피하게 해 준다. 이 접근은 장기적으로 목적에 부합하는 지식 그래프를 보장하고, 가치를 일찍 인도하며, 전체 위험을 줄인다.
남은 질문은 기성 온톨로지를 그대로 쓸 것인가, 아니면 시간을 들여 직접 만들 것인가다. 특정 도메인에 봉사하는 널리 쓰이는 온톨로지들이 이미 존재한다.
| 표준 | 도메인 / 용도 |
|---|---|
| SNOMED CT | 임상 문서화와 보고(clinical documentation and reporting) |
| LCC | 미국 의회도서관 분류법 — 학계에서 널리 사용 |
| FIBO | 금융·비즈니스를 위한 금융 산업 비즈니스 온톨로지 |
| Schema.org | 웹을 위한 공유 온톨로지를 만드는 협업 프로젝트 |
| DCMI | 더블린 코어 메타데이터 이니셔티브 — 웹 리소스 등을 기술하는 다수의 스키마 |
표준 온톨로지를 쓰는 도메인에서 일한다면, 직접 만들기보다 그 모델을 통째로 채택하는 것을 고려하는 편이 좋다. 기존 온톨로지의 채택은 상호운용성(interoperability)을 촉진한다 — 지식 그래프의 소비자들도 같은 표준을 채택할 수 있기 때문이다. 상호운용성은 공급망 참여자들처럼 통신 주체가 별개의 조직일 때 점점 더 중요해지며, 규제 보고 같은 영역에서는 특정 표준의 사용이 의무일 수도 있다.
표준 온톨로지 사용은 지식 재사용의 한 형태다. 앞서간 이들이 닦아 놓은 길을 걸으며 그들의 노력에서 이익을 얻는 것이다. 그러나 도메인에 표준이 없거나, 기존 표준이 부분적으로만 맞거나, 조직화 원리에 대한 세밀한 통제가 정말로 필요하다면, 처음부터 직접 작성하거나 공공 표준을 진화의 출발점으로 삼아야 한다.
조직화 원리를 직접 만들어야 한다면 몇 가지 접근 중에서 선택할 수 있다. 하나는 영어 같은 자연어로 조직화 원리의 시맨틱스를 기술하는 것이다. 진입 장벽은 낮지만 단점이 있다 — 시맨틱스가 기계 가독적이지 않으므로 프로그래머가 명세를 코드로 옮겨야 하고, 그 과정에서 불일치(discrepancy)가 생기기 쉽다.
다른 방법은 표준 언어로 조직화 원리를 형식적으로 정의하는 것이다. 가장 널리 쓰이는 표준 언어는 온톨로지를 위한 RDF Schema와 OWL(Web Ontology Language), 그리고 택소노미 분류 체계를 위한 SKOS(Simple Knowledge Organization System)다. 각 언어는 범주와 관계의 기본 정의부터 택소노미, 복잡 클래스(complex class) 같은 정교한 구성물까지 서로 다른 표현력 수준을 허용한다.
표준 온톨로지 언어의 장점은 소프트웨어의 지원을 받는다는 것이다. 온톨로지를 손으로 쓰는 일은 어렵고 오류가 나기 쉽지만, (시각적) 온톨로지 편집기는 특정 유형의 오류를 예방해 준다. 물론 하나 이상의 온톨로지 기술 언어에 능숙해지는 데는 비용이 들며, 이는 이익과 견주어 평가해야 한다.
표준 인지 소프트웨어의 이점은 제작 단계에 그치지 않는다. 조직화 원리가 지식 그래프에 적용된 후에는 표준 기반 소프트웨어가 데이터 위에서 자동화된 작업을 실행할 수 있다. 예컨대 OWL을 조직화 원리의 프레임워크로 쓴다면, OWL 기반 추론을 실행할 수 있는 프로그램은 — 계산적 한계 안에서 — 데이터의 도메인을 이해하지 않고도 데이터에서 새로운 사실을 도출할 수 있다.
자동 추론은 매우 매력적이지만, 뛰어들기 전에 객관적 시각을 유지하는 것이 중요하다. 이 표준들로 어떤 것을 표현할 수 있는가? 그 위에서 어떤 추론을 실행할 수 있는가? 그리고 가장 중요한 질문 — 비즈니스 요구와 얼마나 정렬되는가? 지식 그래프에 성공하는 조직들은 표준을 어느 정도 활용하되, 빠르게 움직이고 비즈니스 변화를 따라잡기 위해 필요에 따라 추가 의미를 쉽게 얹을 수 있도록 하는 경향이 있다. 표준과 적응적 커스터마이징의 혼합이 현대 비즈니스의 현실에 가장 잘 부합해 보인다.
시맨틱 웹과 RDF 트리플스토어라는 역사적 연관에도 불구하고, 지식 그래프에 특정 그래프 기술이 필수라는 것은 사실이 아니다. 저자들의 선호는 속성 그래프 모델이다. 속성 그래프는 지식 그래프를 개발·유지하는 합리적인 방법을 제공하며, 훌륭한 도구 지원과 크고 활발한 실천 공동체를 갖추고 있다.
발목을 잡는 성가신 기술은 피한다. 그래프를 최신으로 유지하느라 애쓰는 사이에 비즈니스는 이미 저만치 앞서가 있을 것이다.
소프트웨어 팀과 사용자 모두 고통 지점을 우회해 다니며, 느린 시스템은 고통스럽다. 빠르고 최신인 지식 그래프는 사용자에게 힘을 주고, 느리고 바꾸기 어려운 그래프는 사용되지 않게 된다.
지식 그래프는 정적이지 않다. 사용하는 사람과 시스템이 그래프를 풍요롭게 한다. 사용을 장려하기 위해 할 수 있는 모든 것을 하라 — 상호작용이 그래프를 살찌우는 선순환이 만들어진다.
RDF(Resource Description Framework)는 지식 그래프 구현의 핵심 차별 요소로 자주 제시되며, 지식 그래프 개념과 혼동되어 왔다. 그러나 RDF는 데이터 교환을 위한 모델이지 저장이나 질의의 지침이 아니다. RDF는 데이터를 주어(subject)-술어(predicate)-목적어(object) — 대략 시작 노드, 관계, 끝 노드에 해당 — 의 트리플로 직렬화하는 방법을 기술한다.
이 장에서 설명한 기법들은 구현 결정과 완전히 독립적이다. 지식 그래프를 구축하는 데 RDF 트리플스토어가 필요한 것은 결코 아니며, 시장의 방향은 레이블 속성 그래프 쪽으로 강하게 기울어 있다. 실무에서 RDF는 데이터 공유 포맷으로는 합리적인 선택이지만, 데이터 모델이 와이어 포맷(wire format)에 좌우되어서는 안 된다.
이 장은 데이터에서 지식을 추출하기 위해 데이터를 조직하는 방법을 논했다. 이제 지식 그래프의 좋은 정의와, 그로부터 의미를 도출하게 해 주는 조직화 원리를 갖추었다. 레이블 속성 그래프부터 정교한 온톨로지까지 여러 조직화 원리를 보았고, 각각의 트레이드오프도 숙고했다.
그래프를 지식 그래프로 바꾸는 것은 기술이 아니라 조직화 원리다. 원리는 용도가 결정하고, 시맨틱스는 딱 필요한 만큼만 도입하며, 원리 자체를 가변적이고 버전 관리 가능한 것으로 취급한다.
— Chapter 2 핵심 논지 요약평범한 그래프의 한계. 해석 규칙이 데이터가 아닌 소비 코드에 숨어 있어, 도메인 신참은 설명 없이 데이터를 이해할 수 없고 제작자가 떠나면 역공학이 필요해진다.
속성 그래프 = 저수준 계약. 레이블·관계 타입·속성이 그래프를 자기 기술적으로 만들어, 도메인 지식 없이도 시각화 같은 처리가 가능하다. 다만 레이블은 상속이 있는 타입이 아니라 역할 태그다.
택소노미 = 계층 추론. SUBCATEGORY_OF의 광의-협의 계층으로 "x는 y의 일종" 추론과 대체 가능성 판단, 표준 유사도 지표(경로 유사도, Leacock-Chodorow, Wu & Palmer) 적용이 가능해진다. 분류는 동적이며 다중 계층이 공존할 수 있다.
온톨로지 = 수평 추론과 실행 가능한 지식. PART_OF·UPSELL 같은 다층적 관계, 관계의 계층과 특성(이행성·대칭성), 시스템 간 시맨틱 브리지를 제공하며, 모듈식·계층식 구성으로 복잡도를 관리한다.
선택의 원칙. 용도가 원리를 결정한다. 바다를 끓이려 하지 말고, just-enough semantics로 반복적으로 구축하며, 가능하면 표준(SNOMED CT, FIBO, Schema.org 등)을 채택하되 적응적 커스터마이징을 얹는다. RDF는 교환 포맷일 뿐, 데이터 모델을 와이어 포맷이 좌우해서는 안 된다.
곧 지식 그래프의 응용으로 넘어가, 기업이 더 똑똑해진 데이터에서 추출한 지식으로 어떻게 가치를 창출하는지 살펴본다. 그러나 거기 도달하려면 그래프 기술을 조금 배워야 한다 — 그래프 데이터베이스에 데이터를 적재하는 단순한 일부터 그래프 알고리즘과 머신러닝까지. 먼저 3장에서 그래프 데이터베이스와 그래프 질의의 기초(Cypher 질의 언어, 데이터 생성, 그래프 로컬/글로벌 질의, Neo4j 내부 구조와 ACID 트랜잭션)를 학습한다.