logo

추론

추론이란 무엇입니까

추론(reasoning)은 지식 그래프에 명시적으로 저장된 사실과 온톨로지 규칙을 이용해 새로운 사실을 도출하는 과정입니다. 사람에게는 당연해 보이는 지식도 시스템이 사용하려면 명시적 규칙이나 표준 의미가 필요합니다.

예를 들어 "고객은 사람입니다"와 "앨리스는 고객입니다"라는 두 사실이 있으면 "앨리스는 사람입니다"라는 사실을 도출할 수 있습니다.

ex:Customer rdfs:subClassOf ex:Person .
ex:Alice a ex:Customer .

추론 결과는 다음과 같습니다.

ex:Alice a ex:Person .

추론은 명시된 사실과 온톨로지 의미를 함께 적용해 새 사실을 만드는 흐름입니다.

flowchart LR
    facts["명시 사실<br/>Alice type Customer"]
    semantics["온톨로지 의미<br/>Customer subClassOf Person"]
    reasoner["추론기"]
    inferred["도출 사실<br/>Alice type Person"]

    facts --> reasoner
    semantics --> reasoner
    reasoner --> inferred

RDFS 추론

RDFS 추론은 클래스 계층, 속성 계층, 정의역, 치역을 바탕으로 작동합니다. 가장 기본적인 추론이지만 실제 데이터 통합에서는 매우 유용합니다.

ex:bought rdfs:domain ex:Customer .
ex:bought rdfs:range ex:Product .
ex:Alice ex:bought ex:Book001 .

이 데이터에서 앨리스가 고객이고 책001이 상품이라는 사실을 추론할 수 있습니다.

ex:Alice a ex:Customer .
ex:Book001 a ex:Product .

OWL 추론

OWL 추론은 더 풍부한 논리 표현을 다룹니다. 역관계, 전이 관계, 대칭 관계, 동치 클래스 등을 처리할 수 있습니다.

ex:parentOf owl:inverseOf ex:childOf .
ex:Alice ex:parentOf ex:Bob .

추론기는 다음 사실을 만들 수 있습니다.

ex:Bob ex:childOf ex:Alice .

규칙 기반 추론

규칙 기반 추론은 사용자가 직접 작성한 조건과 결론을 적용하는 방식입니다. 예를 들어 상품을 구입한 고객은 해당 상품의 카테고리에 관심이 있다고 볼 수 있습니다.

고객이 상품을 구입했고 상품이 카테고리에 속하면,
그 고객은 그 카테고리에 관심이 있습니다.

이를 간단히 표현하면 다음과 같은 구조입니다.

bought(?customer, ?item) AND category(?item, ?category)
=> interestedIn(?customer, ?category)

이런 규칙은 추천, 분류, 경보 생성에 자주 사용됩니다.

전방 추론과 후방 추론

전방 추론(forward chaining)은 저장된 사실에서 가능한 결론을 미리 계산해 그래프에 추가하는 방식입니다. 질의가 빠를 수 있지만 저장 공간이 늘어납니다.

후방 추론(backward chaining)은 사용자가 질의할 때 필요한 결론만 계산하는 방식입니다. 저장 공간은 덜 쓰지만 질의 시간이 길어질 수 있습니다.

어떤 방식을 선택할지는 데이터 규모, 질의 빈도, 추론 규칙의 복잡도에 따라 달라집니다.

열린 세계 가정

지식 그래프 추론에서는 열린 세계 가정이 중요합니다. 정보가 없다는 것은 거짓이라는 뜻이 아니라 모른다는 뜻입니다.

예를 들어 그래프에 앨리스의 자녀 정보가 없다고 해서 앨리스에게 자녀가 없다고 결론 내리면 안 됩니다. 폐쇄 세계 가정이 필요한 데이터 검증에는 SHACL을 사용하는 것이 더 적합합니다.

추론의 위험

추론은 강력하지만 잘못된 모델이 있으면 오류를 크게 확산시킬 수 있습니다. 특히 정의역과 치역을 너무 넓거나 좁게 설정하면 의도하지 않은 타입이 자동으로 만들어질 수 있습니다.

따라서 추론 규칙은 작은 예제 데이터에서 먼저 확인하고, 실제 질의 결과가 도메인 상식과 일치하는지 검토해야 합니다.

정리

추론은 명시된 사실에서 새로운 사실을 도출하는 과정입니다. RDFS는 기본 계층 추론에 적합하고, OWL은 더 풍부한 논리 추론에 적합하며, 규칙 기반 방식은 도메인별 업무 규칙을 표현하는 데 유용합니다.

Previous
OWL
Next
SWRL