SSQUSAR : Apache Spark SQL을 이용한 대용량 정성 공간 추론기 - 김종훈; Jonghoon Kim; 김인철; Incheol Kim (정보처리학회 논문지 (KTSDE), 2017)
본 논문에서는 Apache Spark SQL을 이용하여 임의의 두 공간 객체들 간의 위상 관계와 방향 관계를 나타내는 새로운 정성 공간 지식을 효율적으로 추론해내는 대용량 정성 공간 추론기의 설계와 구현에 대해 소개한다. Apache Spark SQL은 Hadoop 클러스터 컴퓨터 시스템에서 다양한 데이터들 간의 매우 효율적인 조인 연산과 질의 처리 기능을 제공하는 분산 병렬 프로그래밍 환경이다. 본 공간 추론기에서는 정성 공간 추론의 전체 과정을 지식 인코딩, 역 관계 추론, 동일 관계 추론, 이행 관계 추론, 관계 정제, 지식 디코딩 등 크게 총 6개의 작업들로 나누고, 논리적 인과관계와 계산 효율성을 고려하여 작업들 간의 처리 순서를 결정하였다. 지식 인코딩 작업에서는 추론의 전처리 과정으로서XML/RDF 형태의 입력 지식을 보다 간략한 내부 형태로 변환함으로써, 추론 대상인 지식 베이스의 크기를 축소시켰다. 일반적으로 이행 관계 추론 작업과 관계 정제 작업의 반복은 정성 공간 추론에 필요한 가장 많은 계산 시간과 기억 공간을 소모한다. 이 작업들을 효율화하기 위해 본 공간 추론기에서는 공간 추론에 필요한 최소한의 이접 관계들을 찾아내고, 이들을 기반으로 이행 관계 추론을 위한 조합표를 큰 폭으로 축소하고 관계 정제 작업도 최적화하였다. 대규모 벤치마킹 공간 지식 베이스를 이용한 실험을 통해, 본 논문에서 제안하는 대용량 정성 공간 추론기의 높은 추론 성능과 확장성을 확인하였다. In this paper, we present the design and implementation of a large-scale qualitative spatial reasoner, which can derive new qualitative spatial knowledge representing both topological and directional relationships between two arbitrary spatial objects in efficient way using Aparch Spark SQL. Apache Spark SQL is well known as a distributed parallel programming environment which provides both efficient join operations and query processing functions over a variety of data in Hadoop cluster computer systems. In our spatial reasoner, the overall reasoning process is divided into 6 jobs such as knowledge encoding, inverse reasoning, equal reasoning, transitive reasoning, relation refining, knowledge decoding, and then the execution order over the reasoning jobs is determined in consideration of both logical causal relationships and computational efficiency. The knowledge encoding job reduces the size of knowledge base to reason over by transforming the input knowledge of XML/RDF form into one of more precise form. Repeat of the transitive reasoning job and the relation refining job usually consumes most of computational time and storage for the overall reasoning process. In order to improve the jobs, our reasoner finds out the minimal disjunctive relations for qualitative spatial reasoning, and then, based upon them, it not only reduces the composition table to be used for the transitive reasoning job, but also optimizes the relation refining job. Through experiments using a large-scale benchmarking spatial knowledge base, the proposed reasoner showed high performance and scalability.