1부 이해 · 트랙 2 지식 구조의 기본기

제 5 차 시

제약과 공리 — OWL의 표현력과 계산 비용

자주 쓰는 공리의 종류, 초심자가 가장 많이 걸려 넘어지는 두 가정, 표현력과 비용의 거래를 다룬다.
읽기 약 13분 · 연습 1회

적지 않은 것은 거짓이 아니다

열린 세계 가정

OWL의 해석 원칙. 없는 트리플은 '모름'이지 '아니오'가 아니다.

데이터베이스에 익숙한 직관은 여기서 가장 크게 어긋난다.
이 가정을 모르면 추론기의 답을 오해한다.

학 습 목 표

  1. 자주 쓰는 공리 다섯 가지의 뜻과 쓰임을 구분한다.
  2. 열린 세계 가정과 유일 이름 가정의 부재가 낳는 효과를 예측한다.
  3. 표현력과 계산 비용의 거래를 이해하고 프로파일을 고른다.

공리는 해석을 거른다

1부 4차시에서 공리는 어휘의 엉뚱한 해석을 걸러 의도된 모형에 다가가는 장치라고 정리하였다. 이 차시는 그 장치의 목록과 사용법, 그리고 값을 다룬다. OWL에서 자주 쓰는 공리는 다섯 가지면 대부분의 일을 한다.

공리뜻예
subClassOf종류 관계. 하위는 상위에 포함된다작업기억 ⊑ 기억
disjointWith서로소. 공통 사례가 있을 수 없다기억 ⊥ 측정과제
domain / range관계 양끝의 자격(2-3)measures: 측정과제 → 심리 구성개념
someValuesFrom존재 제약. "~인 것을 적어도 하나 갖는다"측정과제 ⊑ ∃measures.구성개념
equivalentClass정의된 클래스. 필요충분조건으로 정의작업기억과제 ≡ 측정과제 ⊓ ∃measures.작업기억

표 1다섯 가지 기본 공리. 마지막 행의 '정의된 클래스'가 다음 차시에서 추론기의 분류 능력을 끌어내는 열쇠다.

함정 1 — 열린 세계 가정

OWL은 열린 세계 가정(Open World Assumption, OWA) 위에서 해석된다. 그래프에 없는 트리플은 거짓이 아니라 모르는 것이다. 데이터베이스는 반대다 — 테이블에 없으면 없는 것이다(닫힌 세계).

구체적 효과를 보자. 그래프에 숫자폭과제의 measures 트리플이 하나도 없다고 하자. "숫자폭과제는 아무것도 측정하지 않는다"고 추론기가 결론 내릴 것 같지만, 내리지 않는다. 적히지 않았을 뿐 측정할 수도 있기 때문이다. 마찬가지로 "measures가 없는 과제를 모두 찾아라"는 질의는 OWA 아래에서 뜻대로 움직이지 않는다. 추론기가 조용한 것은 동의가 아니라 무지다. 이 성질은 지식이 늘 불완전하게 쌓이는 현실(웹, 과학)에 맞춘 설계이며, 완결된 목록이 필요한 작업은 SPARQL 질의 수준에서 닫힌 세계처럼 다룬다.

함정 2 — 유일 이름 가정의 부재

OWL은 유일 이름 가정(Unique Name Assumption, UNA)도 하지 않는다. 서로 다른 두 이름이 같은 대상을 가리킬 수 있다. :작업기억과 :working_memory가 다른 IRI라도, 추론기는 둘이 다르다고 전제하지 않는다. 같다고 선언하려면 sameAs(개체)나 equivalentClass(클래스)를, 다르다고 못 박으려면 differentFrom이나 disjointWith를 적어야 한다.

이 성질 역시 통합을 위한 설계다. 서로 다른 온톨로지가 같은 개념에 제각기 IRI를 붙였을 때, 두 그래프를 합치며 동치 선언 하나로 잇는다. 정렬(트랙 5의 8차시)의 논리적 기반이 이것이다.

표현력과 비용의 거래

공리의 어휘를 늘릴수록 더 미세하게 말할 수 있다. 그 대가는 추론의 계산 비용이다. OWL 2 DL은 추론이 항상 끝나도록(결정 가능) 표현력을 제한한 언어이고, OWL 2 Full은 제한이 없는 대신 추론 보장이 없다. DL 안에서도 거래의 눈금이 있다 — 프로파일이다. EL은 큰 계층의 빠른 분류에(대형 생의학 온톨로지, 추론기 ELK), QL은 데이터베이스 위 질의에, RL은 규칙 기반 처리에 맞게 표현력을 깎았다.

표현력 ↑ 추론 비용 ↑ (Full은 보장 없음) RDFS 계층 · 정의역/치역 OWL EL 존재 제약 중심 대형 계층 고속 분류 OWL DL 부정 · 기수 제약 등 결정 가능 OWL Full 제한 없음 추론 보장 없음 실습 온톨로지의 자리 계층 + 정의역/치역 + 소수의 서로소·정의된 클래스
그림 1표현력–비용 스펙트럼. 1부 5차시의 분류 체계 스펙트럼이 OWL 안에서 되풀이된다. 실습은 RDFS와 EL 사이의 가벼운 지점에서 출발한다.

공리의 예산

어디까지 공리화할 것인가. 기준은 1부에서 두 번 세웠다. 그루버의 최소 존재론적 공약, 그리고 "공리는 그것을 쓸 질문이 있을 때만 값을 한다"(1-5). 실습 온톨로지의 공리 예산은 그래서 작다. subClassOf 계층, 관계의 정의역·치역, 큰 범주 사이의 disjoint 소수, 그리고 추론 실습을 위한 정의된 클래스 한둘. 기수 제약이나 복잡한 부정은 그것을 요구하는 역량 질문이 생길 때 들인다.

— — —

판별 연습

문 1"그래프에서 측정 과제가 연결되지 않은 기억 개념을 찾아라"는 요구는 왜 공리 수준에서 처리하기 어려운가.

답 확인

열린 세계 가정 때문이다. 연결이 안 적힌 것은 '없음'이 아니라 '모름'이므로 추론기는 단정하지 않는다. 이런 완결성 점검은 SPARQL 질의(닫힌 세계식 검사)로 처리한다 — 역량 질문 테스트가 바로 이 방식이다.

문 2두 온톨로지를 합쳤더니 '작업기억' 클래스가 두 개가 되었다. 추론기는 이를 오류로 보고하는가.

답 확인

보고하지 않는다. 유일 이름 가정이 없으므로 둘은 같을 수도 다를 수도 있는 상태다. 같다고 판단되면 equivalentClass로 잇고, 다르면 정의를 나눠 적는다. 침묵은 판단이 아니다.

문 3disjointWith를 전혀 쓰지 않은 온톨로지의 약점은 무엇인가.

답 확인

범주를 뒤섞는 입력 실수(예: 과제를 기억의 하위에 넣기)가 모순을 일으키지 않아 추론기에 잡히지 않는다. 서로소 선언은 오류를 '탐지 가능한 모순'으로 바꿔 주는 안전장치다.

— — —

적용: 실습의 공리 예산표

실습 온톨로지의 1차 공리 예산을 확정한다. 모든 클래스에 subClassOf 하나 이상(고아 클래스 금지), 모든 관계에 정의역·치역, 최상위 범주(심리 구성개념, 측정 과제, 뇌 구조) 사이의 disjoint, 그리고 추론 시연용 정의된 클래스 한 개. 이 예산은 다음 차시에서 추론기가 실제로 무엇을 해 주는지 본 뒤에 조정한다.

용어 정리

용어원어뜻
열린 세계 가정Open World Assumption적히지 않은 것은 거짓이 아니라 모름
유일 이름 가정Unique Name Assumption다른 이름은 다른 대상이라는 가정. OWL은 하지 않는다
서로소disjointWith두 클래스가 공통 사례를 가질 수 없다는 선언
정의된 클래스defined class필요충분조건(equivalentClass)으로 정의된 클래스
프로파일OWL 2 profile표현력을 깎아 추론을 빠르게 한 부분 언어(EL/QL/RL)
결정 가능decidable추론이 유한 시간 안에 반드시 끝남이 보장되는 성질
이 차시가 기대고 있는 자료
W3C (2012). OWL 2 Web Ontology Language Primer (2nd Ed.) — 공리, OWA, 프로파일. · W3C (2012). OWL 2 Profiles. · Hitzler, P. et al. (2009). Foundations of Semantic Web Technologies(기술 논리 배경).
트랙 2 · 차시 5제약과 공리