KR102385983B1 - 클라우드 컴퓨팅 환경에서 분산 테이블 구조를 활용한 OWL-Horst 온톨로지 추론 방법 및 장치 - Google Patents

클라우드 컴퓨팅 환경에서 분산 테이블 구조를 활용한 OWL-Horst 온톨로지 추론 방법 및 장치 Download PDF

Info

Publication number
KR102385983B1
KR102385983B1 KR1020200033056A KR20200033056A KR102385983B1 KR 102385983 B1 KR102385983 B1 KR 102385983B1 KR 1020200033056 A KR1020200033056 A KR 1020200033056A KR 20200033056 A KR20200033056 A KR 20200033056A KR 102385983 B1 KR102385983 B1 KR 102385983B1
Authority
KR
South Korea
Prior art keywords
inference
instance
rule
horst
owl
Prior art date
Application number
KR1020200033056A
Other languages
English (en)
Other versions
KR20210116905A (ko
Inventor
박영택
이완곤
이민호
김민성
Original Assignee
숭실대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 숭실대학교산학협력단 filed Critical 숭실대학교산학협력단
Priority to KR1020200033056A priority Critical patent/KR102385983B1/ko
Priority to PCT/KR2020/010115 priority patent/WO2021187682A1/ko
Publication of KR20210116905A publication Critical patent/KR20210116905A/ko
Application granted granted Critical
Publication of KR102385983B1 publication Critical patent/KR102385983B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 클라우드 컴퓨팅 환경에서 분산 테이블 구조를 활용한 OWL-Horst 온톨로지 추론 방법 및 장치를 개시한다. 본 발명에 따르면, OWL-Horst 온톨로지 추론 장치로서, 프로세서; 및 상기 프로세서에 연결되는 메모리를 포함하되, 상기 메모리는, 복수의 OWL-Horst 추론 규칙들을 각 규칙들의 독립성과 종속성을 고려하여 스키마 추론, 인스턴스 추론, Type 추론, sameAs 추론 및 예외 인스턴스 추론에 포함되는 하나 이상의 규칙으로 구분하고, subject, property 및 object로 구성되는 컬럼 및 각 컬럼에 상응하는 객체에 대한 정보를 포함하는 로우로 구성되는 스파크 데이터프레임을 기반으로 상기 스키마 추론, 인스턴스 추론, Type 추론, sameAs 추론 및 예외 인스턴스 추론을 순차적으로 수행하도록, 상기 프로세서에 의해 실행 가능한 프로그램 명령어들을 저장하는 OWL-Horst 온톨로지 추론 장치가 제공된다.

Description

클라우드 컴퓨팅 환경에서 분산 테이블 구조를 활용한 OWL-Horst 온톨로지 추론 방법 및 장치{OWL-Horst ontology inference method and apparatus using distributed table structure in cloud computing environment}
본 발명은 클라우드 컴퓨팅 환경에서 분산 테이블 구조를 활용한 OWL-Horst 온톨로지 추론 방법 및 장치에 관한 것으로서, 대용량 데이터를 빠른 속도로 처리 할 수 있는 온톨로지 추론 방법 및 장치에 관한 것이다.
이전부터 대용량 온톨로지 추론을 위한 연구 및 추론 성능을 향상시키기 위한 연구가 활발히 이루어지고 있다. 그 중 첫 번째로 RDFS와 OWL-Horst 수준의 대용량 온톨로지 추론을 지원하며 추론 규칙들을 맵리듀스 알고리즘으로 구현하고 있다.
이를 통해 분산 환경을 구성하고 있는 여러 컴퓨팅 노드들을 효율적으로 사용하기 때문에 클러스터를 구성하는 노드의 수가 늘어나도 효과적인 추론이 가능하다.
두 번째로 분산 처리 프레임워크인 스파크 RDD를 이용하여 대용량 OWL-Horst 온톨로지 추론을 수행하고 있다. 스파크 RDD를 이용한 온톨로지 추론은 빅 데이터를 효율적으로 처리 할 수 있는 읽기 전용 구조인 RDD를 사용하고 인 메모리 처리를 기본으로 하여 중간 결과를 파일로 저장하는 맵리듀스에 비해 더 좋은 성능을 보인다.
하둡의 맵리듀스를 이용한 온톨로지 추론은 맵리듀스 특성상 디스크로부터 맵리듀스 할 데이터를 불러오고 중간 결과를 매번 디스크에 저장하여 데이터를 불러오고 다시 저장하기 때문에 시간이 오래 걸리는 문제가 있다. 따라서 반복적인 작업이 요구되는 대용량 온톨로지에 대한 규칙 추론에서는 성능이 저하된다.
한편, 스파크 RDD를 이용한 온톨로지 추론은 RDD가 자바나 파이썬 객체를 기반으로 했기 때문에 비효율적이고, 가비지 컬렉션 때문에 스파크 프로그램이 대기해야 하는 시간이 길어지는 문제가 있다.
도 1은 스파크 RDD 기반 OWL-Horst 추론 시스템의 규칙 구조를 도시한 도면이다.
도 1을 참조하면, Type Reasoning의 hasValue(r20)은 인스턴스 트리플이 추론되기 때문에 Instance Reasoning부터 다시 추론을 수행해야 한다.
또한, sameAs Reasoning에서 sameAs(r14)도 마찬가지로 인스턴스 트리플이 추론되기 때문에 Instance Reasoning부터 다시 추론을 수행하기 때문에 불필요하게 반복 수행이 이루어지는 문제점이 있다.
대한민국등록특허 10-1584314
상기한 종래기술의 문제점을 해결하기 위해, 본 발명은 불필요한 반복을 줄일 수 있는 클라우드 컴퓨팅 환경에서 분산 테이블 구조를 활용한 OWL-Horst 온톨로지 추론 방법 및 장치를 제안하고자 한다.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따르면, OWL-Horst 온톨로지 추론 장치로서, 프로세서; 및 상기 프로세서에 연결되는 메모리를 포함하되, 상기 메모리는, 복수의 OWL-Horst 추론 규칙들을 각 규칙들의 독립성과 종속성을 고려하여 스키마 추론, 인스턴스 추론, Type 추론, sameAs 추론 및 예외 인스턴스 추론에 포함되는 하나 이상의 규칙으로 구분하고, subject, property 및 object로 구성되는 컬럼 및 각 컬럼에 상응하는 객체에 대한 정보를 포함하는 로우로 구성되는 스파크 데이터프레임을 기반으로 상기 스키마 추론, 인스턴스 추론, Type 추론, sameAs 추론 및 예외 인스턴스 추론을 순차적으로 수행하도록, 상기 프로세서에 의해 실행 가능한 프로그램 명령어들을 저장하는 OWL-Horst 온톨로지 추론 장치가 제공된다.
상기 복수의 OWL-Horst 추론 규칙들 중 상기 스키마 추론에 포함되는 규칙들은 추론 결과가 스키마 트리플인 규칙들이며, 상기 인스턴스 추론에 포함되는 규칙들은 추론 결과가 인스턴스 트리플인 규칙들이며, 상기 Type 추론에 포함되는 규칙들은 추론 결과가 Type 트리플인 규칙들이며, 상기 sameAs 추론에 포함되는 규칙들은 추론 결과가 sameAs 트리플인 규칙들일 수 있다.
상기 예외 인스턴스 추론에 포함되는 규칙들은 Type 트리플을 조건으로 사용하여 인스턴스 트리플을 추론하는 규칙 또는 인스턴스 트리플과 sameAs 트리플을 조건으로 사용하여 인스턴스 트리플을 추론하는 규칙들일 수 있다.
상기 스파크 데이터프레임은 subject, predicate, object의 트리플 형태로 구성된 대용량 지식 베이스에서 상기 컬럼 및 로우 형식으로 변환된 것일 수 있다.
상기 복수의 OWL-Horst 추론 규칙들은 R1 내지 R22를 포함할 수 있다.
상기 프로그램 명령어들은 상기 인스턴스 추론을 위해, subProperty Inheritance Rule(R6) 및 Transitive Rule(R10)을 순차적으로 수행하고, 더 이상 추론할 인스턴스 트리플이 없을때까지 상기 R10을 반복적으로 수행한 후, Inverse Rule(R13) 및 Symmetric Rule(R9)를 독립적으로 수행할 수 있다.
상기 프로그램 명령어들은 상기 Type 추론을 위해, Domain Rule(R3) 및 Range Rule(R4)를 독립적으로 수행한 후, hasValue Rule1(R19)를 수행하고, subClass Inheritance Rule(R5), someValue Rule(R21) 및 allValue Rule(R22) 각각을 더 이상 추론할 인스턴스 트리플이 없을때까지 반복적으로 수행할 수 있다.
상기 프로그램 명령어들은 상기 sameAs 추론을 위해, InverseFunctional Property Rule(R8) 및 Functional Property Rule(R7)를 독립적으로 수행한 후, sameAs Rule1(R11)을 수행하고, sameAs Rule2(R12)를 더 이상 추론할 인스턴스 트리플이 없을때까지 반복적으로 수행할 수 있다.
상기 프로그램 명령어들은 상기 예외 인스턴스 추론을 위해, hasValue Rule2(R20) 및 sameAs Rule3(R14)를 순차적으로 수행할 수 있다.
상기 프로그램 명령어들은 체크포인트를 이용하여 이전 연산 작업을 통해 생성된 스파크 데이터프레임이 디스크에 저장되도록 할 수 있다.
본 발명의 다른 측면에 따르면, 프로세서 및 메모리를 포함하는 장치에서 수행하는 OWL-Horst 온톨로지 추론 방법으로서, 복수의 OWL-Horst 추론 규칙들을 각 규칙들의 독립성과 종속성을 고려하여 스키마 추론, 인스턴스 추론, Type 추론, sameAs 추론 및 예외 인스턴스 추론에 포함되는 하나 이상의 규칙으로 구분하는 단계; 및 subject, property 및 object로 구성되는 컬럼 및 각 컬럼에 상응하는 객체에 대한 정보를 포함하는 로우로 구성되는 스파크 데이터프레임을 기반으로 상기 스키마 추론, 인스턴스 추론, Type 추론, sameAs 추론 및 예외 인스턴스 추론을 순차적으로 수행하는 단계를 포함하는 OWL-Horst 온톨로지 추론 방법이 제공된다.
본 발명의 또 다른 측면에 따르면, 상기한 방법을 수행하는 기록매체에 저장되는 컴퓨터 판독 가능한 프로그램이 제공된다.
본 발명에 따르면, 복수의 OWL-Horst 추론 규칙들을 각 규칙들의 독립성과 종속성을 고려하여 구분하고, 스키마 추론, 인스턴스 추론, Type 추론, sameAs 추론 및 예외 인스턴스 추론을 순차적으로 수행하기 때문에 불필요한 반복을 줄일 수 있는 장점이 있다.
도 1은 스파크 RDD 기반 OWL-Horst 추론 시스템의 규칙 구조를 도시한 도면이다.
도 2는 본 실시예에 따른 스파크 데이터프레임의 표현 형식을 나타낸 도면이다.
도 3은 본 실시예에 따른 OWL-Horst 추론 순서를 도시한 도면이다.
도 4는 본 실시예에 따른 스키마 추론 과정을 도시한 도면이다.
도 5는 본 실시예에 따른 인스턴스 추론 구조를 도시한 도면이다.
도 6는 본 실시예에 따른 Type 추론 구조를 도시한 도면이다.
도 7은 본 실시예에 따른 sameAs 추론 구조를 도시한 도면이다.
도 8은 본 실시예에 따른 예외 인스턴스 추론 구조를 도시한 도면이다.
도 9는 본 실시예에 따른 데이터프레임 조인 기반 Transitive Closure 연산의 한 예를 도시한 도면이다.
도 10은 본 실시예에 따른 효과적인 연산을 위한 checkpoint 활용 과정을 도시한 도면이다.
도 11은 본 발명의 바람직한 일 실시예에 따른 온톨로지 추론 장치의 구성을 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명은 분산 처리 프레임워크인 스파크 환경에서 데이터프레임 기반으로 대용량 OWL-Horst 온톨로지 추론을 수행할 수 있는 기법을 제안한다.
대용량 지식 베이스를 대상으로 OWL Horst 추론을 수행하는 경우, 각 규칙(Rule)들의 독립성과 종속성이 추론 속도에 큰 영향을 준다. 이에, 본 발명에서는 기존 방법들보다 효율적으로 빠르게 추론할 수 있는 순서를 새로 정의하였다. 또한 브로드캐스팅과 캐싱을 통해 크고 작은 데이터프레임의 조인 성능을 최대화 하는 방법을 적용하여 추론 속도를 향상시킨다.
대용량 지식 베이스는 실세계에 존재하는 엔티티(개체)와 엔티티 사이의 의미적 관계를 온톨로지 형태로 표현한 것이다.
예를 들어, 대용량 지식 베이스는 <Subject, Predicate, Object>의 트리플 형태로 구성되어 개념을 표현한다. Subject와 Object는 표현하고자 하는 개념의 주어, 목적어에 해당하는 개체이고 Predicate는 주어와 목적어 개체 사이의 관계를 나타내는데 사용한다.
본 실시예에 따르면, <Subject, Predicate, Object>의 트리플 형태로 구성된 대용량 지식 베이스를 스파크 데이터프레임 형태로 변환하여 온톨로지 추론을 수행한다.
도 2는 본 실시예에 따른 스파크 데이터프레임의 표현 형식을 나타낸 도면이다.
도 2를 참조하면, 스파트 데이터프레임은 컬럼과 로우로 이루어진다.
본 실시예에 따른 스파크 데이터프레임의 컬럼은 표현하고자 하는 개념의 주어(subject), 속성(property) 및 목적어(object)로 구성되며, 로우는 각 컬럼에 상응하는 객체에 대한 정보를 포함한다.
스파크 데이터프레임은 각 데이터를 여러 클러스터에 분산하여 저장하고 이를 스파크 프레임워크를 통해 분산 병렬처리가 가능하므로 연산 처리가 빠르며 성능이 우수하다.
또한 스파크의 스키마를 관리하여 노드 간에 데이터를 전달하는 방식이 효율적이다. 메모리 관리는 데이터가 이진 형식으로 오프-힙 메모리(off-heap memory)에 저장되어 메모리 공간을 절약할 수 있다.
또한 쿼리 실행을 위한 최적화된 실행 계획을 생성한다. 예를 들어 두 데이터를 조인할 때 조인할 데이터 양을 줄이기 위해 조인 연산 다음에 사용한 필터링 연산을 조인 앞으로 옮기면서 실행 계획을 생성한다.
OWL-Horst의 규칙은 표 1과 같이 총 22가지로 이루어져 있으며 각 규칙에는 조건(condition)과 해당 condition을 만족하면 추론되는 결과(conclusion)로 이루어져 있다.
본 발명에서는 OWL-Horst 규칙들을 모두 사용하고 스파크 데이터프레임을 활용하여 온톨로지 추론을 수행한다.
Rule Condition Conclusion
R1 (υ subClassOf ω),(ω subClassOf x) (υ subClassOf x)
R2 (p subPropertyOf q),(q subPropertyOf r) (p subPropertyOf r)
R3 (p domain x), (υ, p, ω) (υ type x)
R4 (p range x),(υ, p, ω) (ω type x)
R5 (υ subClassOf ω),(u type υ) (u typeω)
R6 (p subPropertyOf q),(u, p, ω) (u, q, ω)
R7 (p type FunctionalProperty),(u, p, υ),(u, p,ω) (υ sameAs ω)
R8 (p type InverseFunctionalProperty),(u, p, ω),(υ, p, ω) (u sameAs υ)
R9 (p type SymmetricProperty) (u, p, ω) (ω, p, u)
R10 (p type TransitiveProperty), (u, p, ω) (ω, p, υ) (u, p, υ)
R11 (υ sameAs ω) (ω sameAs υ)
R12 (u sameAs υ),(υ sameAs ω) (u sameAs ω)
R13 ( inverseOf q),(υ, p, ω) (ω, q, υ)
R14 (u, q, υ),(u sameAs u’),(υ sameAs υ’) (u’, p, υ’)
R15 (υ equivalentClass ω) (υ subClassOf ω)
R16 (υ subClassOf ω),(ω subClassOf υ) (υ equivalentClass ω)
R17 (p equivalentProperty q) (p subPropertyOf q)
R18 (p subPropertyOf q),(q subPropertyOf p) (p equivalentProperty q)
R19 (υ hasValue ω),(υ onProperty p),(u, p, ω) (u type υ)
R20 (υ hasValue ω),(υ onProperty p),(u type υ) (u, p, ω)
R21 (υ someValuesFrom ω),(υ onProperty p),(u, p, x),(x type ω) (u type υ)
R22 (υ allValuesFrom ω),(υ onProperty p), (u type υ),(u, p, x) (x type ω)
대용량 지식 베이스를 대상으로 OWL-Horst 추론을 수행하는 경우 규칙 간의 독립성과 종속성으로 인해 추론 성능이 추론 순서에 큰 영향을 받는다.
본 발명에서 제안한 추론 구조는 도 3과 같이 스키마 추론, 인스턴스 추론, Type 추론, sameAs 추론, 예외 인스턴스 추론으로 총 5단계로 나누어 정의된다.
도 3은 본 실시예에 따른 OWL-Horst 추론 순서를 도시한 도면이다.
도 3을 참조하면, 22개의 OWL-Horst 추론 규칙들을 독립성과 종속성을 고려하여 스키마 추론, 인스턴스 추론, Type 추론, sameAs 추론, 예외 인스턴스 추론에 포함되는 포함되는 하나 이상의 규칙으로 구분하고, 이들 추론을 순차적으로 수행한다.
본 실시예에 따르면, 스키마 추론이 가장 먼저 수행되며, 스키마 추론에 포함되는 추론 규칙은 추론 결과가 subClassOf, equivalentClass, subPropertyOf, equivalentProperty 트리, 즉, 스키마 트리플인 규칙들이 포함되며, 표 1의 R1, R2, R15, R17 및 R18이 스키마 추론에 포함되는 규칙들이다.
도 4는 본 실시예에 따른 스키마 추론 과정을 도시한 도면이다.
도 4를 참조하면, 스키마 추론에서는 크게 2가지로 나눌 수 있다.
왼쪽 구조는 Class 추론이고 오른쪽 구조는 Property 추론이다.
스키마 추론에 포함되는 규칙들은 다른 규칙들의 결과가 조건으로 사용되지 않는다. 따라서 다른 규칙들이 추론 되더라도 스키마 추론은 다시 추론할 필요가 없기 때문에 가장 먼저 수행한다. 또한 스키마 추론의 결과로 나오는 스키마 트리플들을 조건으로 사용하여 결과를 도출하는 규칙들이 있어, 모든 스키마를 추론한 후에 다른 규칙들을 수행하여 불필요한 반복을 줄이게 된다.
Class 추론에서, subClassOf Reasoning(Rule 15) 및 Transitive subClassOf(Rule 1)이 순차적으로 수행되고, 추론할 트리플이 더 이상 존재하지 않을때까지 Transitive subClassOf이 반복 수행된다. 이후, equivalentClass Reasoning(Rule 16)이 수행된다.
Property 추론에서, subPropertyOf Reasoning(Rule 17) 및 Transitive subPropertyOf(Rule 2)이 순차적으로 수행되고, 추론할 트리플이 더 이상 존재하지 않을때까지 Transitive subPropertyOf이 반복 수행된다. 이후, equivalentProperty Reasoning(Rule 18)이 수행된다.
subClassOf 추론은 아래와 같이 나타낼 수 있다.
(υ equivalentClass ω) ⇒ (υ subClassOf ω), (ω subClassOf υ)
이 추론 규칙은 동등한 관계를 나타낸 것으로서, equivalentClass를 갖는 스키마 트리플을 탐색하여 새로운 subClassOf를 갖는 트리플을 추론할 수 있다.
표 2는 데이터프레임을 이용한 subClassOf 추론을 나타낸 것이다.
Figure 112020028473831-pat00001
또한, equivalentClass 추론은 다음과 같이 나타낼 수 있다.
(υ subClassOf ω), (ω subClassOf υ) ⇒ (υ equivalentClass ω)
이 추론 규칙은 subClassOf를 갖는 스키마 트리플에서 새로운 equivalentClass를 갖는 스키마 트리플을 추론하게 된다. v가 w의 subClass 이면서 w가 v의 subClass 관계를 가지게 되면 v와 w는 equivalentClass 관계를 새롭게 정의 할 수 있다.
표 3은 데이터프레임을 이용한 equivalentClass 추론을 나타낸 것이다.
Figure 112020028473831-pat00002
다음은 subClassOf Transitive Closure 연산을 나타낸다.
(υ subClassOf ω), (υ subClassOf x) ⇒ (υ subClassOf x)
이 추론 규칙은 Trasitive Closure 연산으로 이하에서 다시 상술될 것이다.
표 4는 데이터프레임을 이용한 subClassOf Transitive Closure 연산 방법을 나타낸 것이다.
Figure 112020028473831-pat00003
도 5는 본 실시예에 따른 인스턴스 추론 구조를 도시한 도면이다.
인스턴스 추론에 포함되는 규칙들은 추론 결과가 인스턴스 트리플인 규칙들이며, 표 1의 R6, R9, R10 및 R13이 포함된다.
도 5를 참조하면, 인스턴스 추론은 subProperty Inheritance Rule(Rule 6), Transitive Rule(Rule 10)이 순차적으로 수행된다. 인스턴스 추론은 추론 결과가 추론 규칙들의 조건으로 다시 사용되기 때문에 더 이상 추론되는 트리플이 없을 때까지 반복 수행되고, 반복 수행이 완료된 이후, Inverse Rule(Rule 13) 및 Symmetric Rule(Rule 9)이 독립적으로 수행된다.
다음은 subClass Inheritance(Rule 5), someValuesFrom(Rule 21), allValuesFrom(Rule 22) 추론을 나타낸다.
(s type x), (x subClassOf y) ⇒ (s type y)
(v someValue w), (v onProp p), (u, p, x), (x type w) ⇒ (u type v)
(v allValue w), (v onProp p), (u type v), (u, p, x) ⇒ (x type w)
이 추론 규칙은 차례대로 subClass Inheritance 규칙, someValuesFrom 규칙, allValuesFrom 규칙이다. 3개의 Rule을 한번에 수행하는 이유는 Type 트리플을 조건으로 사용하고 추론 결과가 Type 트리플이므로 더 이상 추론되는 Type 트리플이 없을 때까지 위 규칙 3개를 반복해서 추론을 수행해야 한다.
표 5는 데이터프레임을 활용하여 위 3개 규칙 추론 방법에 대해 설명한 내용이다.
Figure 112020028473831-pat00004
도 6는 본 실시예에 따른 Type 추론 구조를 도시한 도면이다.
Type 추론에 포함되는 규칙들은 추론 결과가 Type과 관련된 트리플인 규칙들이며, 표 1의 R3, R4, R5, R19, R21 및 R22이 포함된다.
Type 추론은 조건으로 인스턴스 트리플을 사용하므로 인스턴스 추론을 완료한 후에 수행한다.
도 6을 참조하면, Domain Rule(Rule 3) 및 Range Rule(Rule 4)를 독립적으로 수행하고, 다음으로 hasValue Rule1(Rule 19)을 수행한다.
또한 subClass Inheritance Rule(Rule 5), someValuesFrome Rule(Rule 21), allValuesFrom Rule(Rule 22)은 조건으로 Type 트리플을 사용하기 때문에 hasValue Rule1(Rule 19)이 수행된 이후, 3개의 규칙을 묶어 더 이상 추론되는 Type 트리플이 없을 때까지 반복하여 불필요한 반복을 줄인다.
도 7은 본 실시예에 따른 sameAs 추론 구조를 도시한 도면이다.
sameAs 추론에 포함되는 규칙들은 추론 결과가 sameAs와 관련된 트리플인 규칙들을 포함하며, 표 1의 R7, R8, R11 및 R12가 포함된다.
도 7을 참조하면, InverseFunctional Property Rule(Rule 8) 및 Functional Property Rule(Rule 7)이 함께 수행된 이후, 그 결과를 이용하여 sameAs Rule1(Ruel 11) 및 sameAs Rule2(Rule 12)가 순차적으로 수행된다.
sameAs Rule2(Rule 12)는 더 이상 추론되는 트리플이 없을 때까지 반복 수행된다.
도 8은 본 실시예에 따른 예외 인스턴스 추론 구조를 도시한 도면이다.
예외 인스턴스 추론은 추론 결과가 인스턴스 트리플이지만 조건으로 Type과 관련된 트리플(Type 트리플), sameAs와 관련된 트리플(sameAs 트리플)을 받기 때문에 불필요한 반복을 줄이기 위해 예외적으로 정의되는 추론이다.
예외 인스턴스 추론에 포함되는 규칙들은 관련된 추론과 같이 수행하면 비효율적인 반복이 이루어지는 규칙들로 정의되며, 표 1의 R14 및 R20이 포함된다.
도 8을 참조하면, Rule 20은 hasValue Rule2로서, 타입 트리플을 조건으로 사용하여 인스턴스 트리플을 추론한다. 때문에 Type 추론과 함께 수행한다면 다시 인스턴스 추론부터 추론해야 하는 상황이 발생한다.
또한 Rule 14는 sameAs Rule3로서, 인스턴스 트리플과 sameAs 트리플을 조건으로 사용하여 인스턴스 트리플을 추론한다. 그렇기 때문에 sameAs 추론과 함께 수행한다면 인스턴스 추론부터 다시 추론해야 한다. 해당 이유들로 인해 Rule 14, 20을 마지막에 수행하여 불필요한 반복을 줄여 성능을 최대한 높일 수 있다.
다음은 sameAs Rule3 규칙을 이용한 추론을 나타낸 것이다.
(s p o), (s sameAs s’), (o sameAs o’)⇒(s’p o),(s p o’),(s’p o’)
이 추론 규칙은 인스턴스 트리플의 주어와 목적어가 sameAs로 다른 엔티티와 같을 때 해당 인스턴스 트리플을 다른 트리플들로 새롭게 추론될 수 있다. 해당 규칙은 RDD 기반 OWL-Horst 추론 시스템에서는 부재한 규칙으로 본 발명에서는 해당 규칙에 대한 추론을 수행하여 추론 정확도를 높일 수 있다.
표 6은 데이터프레임을 활용한 sameAs Rule3 추론 방법을 설명한 내용이다.
Figure 112020028473831-pat00005
도 9는 본 실시예에 따른 데이터프레임 조인 기반 Transitive Closure 연산의 한 예를 도시한 도면이다.
도 9를 참조하면, Transitive Closure 연산은 내부적으로 더 이상 추론되는 트리플이 없을 때까지 반복하며 이를 데이터프레임의 조인 연산을 통해 수행한다.
도 2에서 locatedIn이라는 property가 transitiveProperty 일 때 인스턴스 데이터프레임에서 property 부분이 locatedIn인 트리플만 필터링하여 생성하고 필터링한 데이터프레임을 복사하여 두 데이터프레임을 조인한다. 조인한 데이터프레임의 의미는 어떤 트리플의 목적어와 다른 트리플의 주어가 같은 트리플을 묶어 놓은 것이며 이후에는 필터링을 통해 Transitive Closure 연산 추론을 완료한다
도 10은 본 실시예에 따른 효과적인 연산을 위한 checkpoint 활용 과정을 도시한 도면이다.
체크포인트(checkpoint)는 컴퓨터 처리 과정의 논리적인 종단점으로 데이터를 종속성 없이 영구적으로 디스크에 저장하는 프로세스이다. 이는 checkpoint된 데이터만 디스크에 저장됨을 의미한다.
스파크 데이터프레임은 연산 작업을 물리적으로 수행하기 전에 logical plan 이라는 최적의 실행 계획을 세우게 된다.
그러나, 도 10에 도시된 바와 같이, 제2 데이터프레임(DataFrame2)을 제 2 연산(operation2)의 logical plan으로 수행할 때, 제1 연산(operation1)의 logical plan을 같이 수행하기 때문에 연산 속도가 저하되는 문제점이 있다.
이러한 문제점을 해결하기 위해 체크포인트를 사용하여 이전 연산 작업에 대한 logical plan을 자르고 해당 데이터만 가지고 다음 연산을 수행한다.
예를 들어, 체크포인트를 이용하여 이전 연산 작업을 통해 생성된 제4 데이터프레임(DataFrame4) 및 제5 데이터프레임(DataFrame5)을 디스크에 저장한다.
체크포인트를 이용한 저장 과정은 시간이 오래 걸리는 대용량 데이터에 대한 union 작업 후에만 사용한다.
도 11은 본 발명의 바람직한 일 실시예에 따른 온톨로지 추론 장치의 구성을 도시한 도면이다.
프로세서(1100)는 컴퓨터 프로그램을 실행할 수 있는 CPU(central processing unit)나 그밖에 가상 머신 등을 포함할 수 있다.
메모리(1102)는 고정식 하드 드라이브나 착탈식 저장 장치와 같은 불휘발성 저장 장치를 포함할 수 있다. 착탈식 저장 장치는 컴팩트 플래시 유닛, USB 메모리 스틱 등을 포함할 수 있다. 메모리(1102)는 각종 랜덤 액세스 메모리와 같은 휘발성 메모리도 포함할 수 있다.
이와 같은 메모리(1102)에는 프로세서(1100)에 의해 실행 가능한 프로그램 명령어들이 저장된다.
본 실시예에 따른 프로그램 명령어들은, 복수의 OWL-Horst 추론 규칙들을 각 규칙들의 독립성과 종속성을 고려하여 스키마 추론, 인스턴스 추론, Type 추론, sameAs 추론 및 예외 인스턴스 추론에 포함되는 하나 이상의 규칙으로 구분하고, subject, property 및 object로 구성되는 컬럼 및 각 컬럼에 상응하는 객체에 대한 정보를 포함하는 로우로 구성되는 스파크 데이터프레임을 기반으로 상기 스키마 추론, 인스턴스 추론, Type 추론, sameAs 추론 및 예외 인스턴스 추론을 순차적으로 수행한다.
본 실시예에 따른 프로그램 명령어들은, 도 3 내지 도 9에 도시된 과정으로 소정 규칙들을 순서대로 적용하여 트리플 데이터에 관한 온톨로지 추론을 수행하며, 연산 속도 증가를 위해 체크포인트를 이용하여 이전 연산 작업이 완료된 데이터프레임이 디스크에 저장되도록 한다.
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.

Claims (12)

  1. OWL-Horst 온톨로지 추론 장치로서,
    프로세서; 및
    상기 프로세서에 연결되는 메모리를 포함하되,
    상기 메모리는,
    복수의 OWL-Horst 추론 규칙들을 각 규칙들의 독립성과 종속성을 고려하여 스키마 추론, 인스턴스 추론, Type 추론, sameAs 추론 및 예외 인스턴스 추론에 포함되는 하나 이상의 규칙으로 구분하고,
    subject, property 및 object로 구성되는 컬럼 및 각 컬럼에 상응하는 객체에 대한 정보를 포함하는 로우로 구성되는 스파크 데이터프레임을 기반으로 상기 스키마 추론, 인스턴스 추론, Type 추론, sameAs 추론 및 예외 인스턴스 추론을 순차적으로 수행하도록,
    상기 프로세서에 의해 실행 가능한 프로그램 명령어들을 저장하되,
    상기 복수의 OWL-Horst 추론 규칙들은 R1 내지 R22를 포함하고,
    상기 프로그램 명령어들은 상기 인스턴스 추론을 위해, subProperty Inheritance Rule(R6) 및 Transitive Rule(R10)을 순차적으로 수행하고, 더 이상 추론할 인스턴스 트리플이 없을때까지 상기 R10을 반복적으로 수행한 후, Inverse Rule(R13) 및 Symmetric Rule(R9)를 독립적으로 수행하는 OWL-Horst 온톨로지 추론 장치.
  2. 제1항에 있어서,
    상기 복수의 OWL-Horst 추론 규칙들 중 상기 스키마 추론에 포함되는 규칙들은 추론 결과가 스키마 트리플인 규칙들이며, 상기 인스턴스 추론에 포함되는 규칙들은 추론 결과가 인스턴스 트리플인 규칙들이며, 상기 Type 추론에 포함되는 규칙들은 추론 결과가 Type 트리플인 규칙들이며, 상기 sameAs 추론에 포함되는 규칙들은 추론 결과가 sameAs 트리플인 규칙들인 OWL-Horst 온톨로지 추론 장치.
  3. 제2항에 있어서,
    상기 예외 인스턴스 추론에 포함되는 규칙들은 Type 트리플을 조건으로 사용하여 인스턴스 트리플을 추론하는 규칙 또는 인스턴스 트리플과 sameAs 트리플을 조건으로 사용하여 인스턴스 트리플을 추론하는 규칙들인 OWL-Horst 온톨로지 추론 장치.
  4. 제1항에 있어서,
    상기 스파크 데이터프레임은 subject, predicate, object의 트리플 형태로 구성된 대용량 지식 베이스에서 상기 컬럼 및 로우 형식으로 변환된 것인 OWL-Horst 온톨로지 추론 장치.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 프로그램 명령어들은 상기 Type 추론을 위해,
    Domain Rule(R3) 및 Range Rule(R4)를 독립적으로 수행한 후, hasValue Rule1(R19)를 수행하고, subClass Inheritance Rule(R5), someValue Rule(R21) 및 allValue Rule(R22) 각각을 더 이상 추론할 인스턴스 트리플이 없을때까지 반복적으로 수행하는 OWL-Horst 온톨로지 추론 장치.
  8. 제1항에 있어서,
    상기 프로그램 명령어들은 상기 sameAs 추론을 위해,
    Inverse Functional Property Rule(R8) 및 Functional Property Rule(R7)를 독립적으로 수행한 후, sameAs Rule1(R11)을 수행하고, sameAs Rule2(R12)를 더 이상 추론할 인스턴스 트리플이 없을때까지 반복적으로 수행하는 OWL-Horst 온톨로지 추론 장치.
  9. 제1항에 있어서,
    상기 프로그램 명령어들은 상기 예외 인스턴스 추론을 위해,
    hasValue Rule2(R20) 및 sameAs Rule3(R14)를 순차적으로 수행하는 OWL-Horst 온톨로지 추론 장치.
  10. 제1항에 있어서,
    상기 프로그램 명령어들은 체크포인트를 이용하여 이전 연산 작업을 통해 생성된 스파크 데이터프레임이 디스크에 저장되도록 하는 OWL-Horst 온톨로지 추론 장치.
  11. 프로세서 및 메모리를 포함하는 장치에서 수행하는 OWL-Horst 온톨로지 추론 방법으로서,
    상기 프로세서가, 복수의 OWL-Horst 추론 규칙들을 각 규칙들의 독립성과 종속성을 고려하여 스키마 추론, 인스턴스 추론, Type 추론, sameAs 추론 및 예외 인스턴스 추론에 포함되는 하나 이상의 규칙으로 구분하는 단계; 및
    상기 프로세서가, subject, property 및 object로 구성되는 컬럼 및 각 컬럼에 상응하는 객체에 대한 정보를 포함하는 로우로 구성되는 스파크 데이터프레임을 기반으로 상기 스키마 추론, 인스턴스 추론, Type 추론, sameAs 추론 및 예외 인스턴스 추론을 순차적으로 수행하는 단계를 포함하되,
    상기 복수의 OWL-Horst 추론 규칙들은 R1 내지 R22를 포함하고,
    상기 프로세서는 상기 인스턴스 추론을 위해, subProperty Inheritance Rule(R6) 및 Transitive Rule(R10)을 순차적으로 수행하고, 더 이상 추론할 인스턴스 트리플이 없을때까지 상기 R10을 반복적으로 수행한 후, Inverse Rule(R13) 및 Symmetric Rule(R9)를 독립적으로 수행하는 OWL-Horst 온톨로지 추론 방법.
  12. 제11항에 따른 방법을 수행하는 기록매체에 저장되는 컴퓨터 판독 가능한 프로그램.







KR1020200033056A 2020-03-18 2020-03-18 클라우드 컴퓨팅 환경에서 분산 테이블 구조를 활용한 OWL-Horst 온톨로지 추론 방법 및 장치 KR102385983B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200033056A KR102385983B1 (ko) 2020-03-18 2020-03-18 클라우드 컴퓨팅 환경에서 분산 테이블 구조를 활용한 OWL-Horst 온톨로지 추론 방법 및 장치
PCT/KR2020/010115 WO2021187682A1 (ko) 2020-03-18 2020-07-31 클라우드 컴퓨팅 환경에서 분산 테이블 구조를 활용한 owl-horst 온톨로지 추론 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200033056A KR102385983B1 (ko) 2020-03-18 2020-03-18 클라우드 컴퓨팅 환경에서 분산 테이블 구조를 활용한 OWL-Horst 온톨로지 추론 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210116905A KR20210116905A (ko) 2021-09-28
KR102385983B1 true KR102385983B1 (ko) 2022-04-12

Family

ID=77768462

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200033056A KR102385983B1 (ko) 2020-03-18 2020-03-18 클라우드 컴퓨팅 환경에서 분산 테이블 구조를 활용한 OWL-Horst 온톨로지 추론 방법 및 장치

Country Status (2)

Country Link
KR (1) KR102385983B1 (ko)
WO (1) WO2021187682A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113902567A (zh) * 2021-10-12 2022-01-07 工银科技有限公司 执行任务的方法、装置和电子设备
CN114153620B (zh) * 2022-02-08 2022-05-24 上海柯林布瑞信息技术有限公司 Hudi运行环境资源优化分配方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050197991A1 (en) 2003-06-25 2005-09-08 Wray Robert E. Method and apparatus for providing rule-based, autonomous software agent with ontological information
US20070198448A1 (en) 2006-02-21 2007-08-23 International Business Machines Corporation Scalable ontology reasoning
KR101535807B1 (ko) 2014-11-06 2015-07-10 한국과학기술정보연구원 하이브리드 규칙 추론 장치 및 그 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101584314B1 (ko) 2013-05-27 2016-01-22 테크빌닷컴 주식회사 가상 교육 훈련 시스템에서 실시간으로 발생하는 학습자 상황 정보를 추론하기 위한 온톨로지 추론 교육 방법, 이를 이용한 시스템 및 컴퓨터 판독 가능한 기록 매체
KR20170123591A (ko) * 2017-10-23 2017-11-08 숭실대학교산학협력단 온톨로지 추론 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050197991A1 (en) 2003-06-25 2005-09-08 Wray Robert E. Method and apparatus for providing rule-based, autonomous software agent with ontological information
US20070198448A1 (en) 2006-02-21 2007-08-23 International Business Machines Corporation Scalable ontology reasoning
KR101535807B1 (ko) 2014-11-06 2015-07-10 한국과학기술정보연구원 하이브리드 규칙 추론 장치 및 그 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김제민 등, "분산 클러스터 메모리 기반 대용량 OWL Horst Lite 온톨로지 추론 기법, 정보과학회논문지 제42권 제3호, pp 307~319, 2015.03 1부.*

Also Published As

Publication number Publication date
WO2021187682A1 (ko) 2021-09-23
KR20210116905A (ko) 2021-09-28

Similar Documents

Publication Publication Date Title
US8601474B2 (en) Resuming execution of an execution plan in a virtual machine
Bu et al. The HaLoop approach to large-scale iterative data analysis
US8396852B2 (en) Evaluating execution plan changes after a wakeup threshold time
KR20180027328A (ko) 캐쉬 관리 시스템 및 그것의 데이터 관리 방법
US8812484B2 (en) System and method for outer joins on a parallel database management system
JP6387399B2 (ja) データ操作のための、メモリ及びストレージ空間の管理
JP2014500544A (ja) オブジェクトモデルとkey−valueモデル間のマッピング
KR102385983B1 (ko) 클라우드 컴퓨팅 환경에서 분산 테이블 구조를 활용한 OWL-Horst 온톨로지 추론 방법 및 장치
CN106611037A (zh) 用于分布式图计算的方法与设备
Bagui et al. Positive and negative association rule mining in Hadoop’s MapReduce environment
US20120158698A1 (en) Execution plans with different driver sources in multiple threads
Tsamoura et al. Materializing knowledge bases via trigger graphs
Zdravevski et al. Feature ranking based on information gain for large classification problems with mapreduce
CN110134335A (zh) 一种基于键值对的rdf数据管理方法、装置及存储介质
Hu et al. Towards big linked data: a large-scale, distributed semantic data storage
Interlandi et al. Optimizing interactive development of data-intensive applications
WO2024041376A1 (zh) 分布式图数据处理系统、方法、装置、设备及存储介质
Zhang et al. When rule engine meets big data: design and implementation of a distributed rule engine using spark
Han et al. A fast DBSCAN algorithm with spark implementation
US20170322963A1 (en) Apparatus and Method for Creating User Defined Variable Size Tags on Records in RDBMS
Naacke et al. Triag, a framework based on triangles of RDF triples
Albahli Efficient distributed SPARQL queries on Apache Spark
Phuc SparkHINlog: extension of sparkDatalog for heterogeneous information network
Raj et al. PartEclat: an improved Eclat-based frequent itemset mining algorithm on spark clusters using partition technique
Habib et al. Processing universal quantification queries using mapreduce

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant