초록
논리곱 불리언 질의는 질의에 포함된 키워드들이 모두 나타나는 텍스트 문서들을 검색하는질의로서, 정보검색 시스템에서 가장 널리 사용되는 질의이다. 논리곱 불리언 질의는 검색의 정확도를 높이기 위하여 많은 수의 키워드로 구성된 긴 질의를 사용한다. 이 경우. 키워드 처리 순서가 성능에 크게 영향을 미친다. 기존 정보검색시스템에서는 휴리스틱에 의존하여 키워드 처리 순서를 결정하므로 최적을 보장하지 못한다. 동적 프로그래밍과 같은 기존의 데이타베이스 질의 최적화 알고리즘은 복잡도가 지수적으로 증가하므로(Ο(n2$^{n-1}$)), 키워드 수가 많은 논리곱 불리언 질의에는 적합하지 않다. 본 논문에서는 조인시퀀스 분리성이라는 새로운 개념에 기반한 논리곱 불리언 질의 최적화 알고리즘을 제안한다. 조인 시퀀스 분리성이란 조인에 참여하는 릴레이션들이 어떤 조건을 만족할 경우, 최적 조인 시퀀스가 두 개의 서브 시퀀스로 분리된다는 성질이다. 이 성질을 활용하면 Ο(nlogn)만에 최적 조인 시퀀스를 구할 수 있다. 본 논문에서는 이러한 조인 시퀀스 분리성의 개념을 정형적으로 정의하고 이에 기반한 질의 최적화 알고리즘의 최적성을 이론적으로 증명한다. 그리고, 제안한 질의 최적화 알고리즘의 성능 평가를 위해, 비용 모델을 사용하여 다양한 시뮬레이션을 수행한다. 그 결과, 제안한 알고리즘의 성능이 기존의 휴리스틱 기반 질의 최적화 알고리즘들에 비해 100배 이상 우수함을 보인다. 또한, 동적 프로그래밍 알고리즘에 비해 질의 최적화 시간 면에서 기하 급수적으로 우수함을 보인다(키워드 개수가 10 개일 경우 600배 이상 우수함).
A conjunctive Boolean text query refers to a query that searches for tort documents containing all of the specified keywords, and is the most frequently used query form in information retrieval systems. Typically, the query specifies a long list of keywords for better precision, and in this case, the order of keyword processing has a significant impact on the query speed. Currently known approaches to this ordering are based on heuristics and, therefore, cannot guarantee an optimal ordering. We can use a systematic approach by leveraging a database query processing algorithm like the dynamic programming, but it is not suitable for a text query with a typically long list of keywords because of the algorithm's exponential run-time (Ο(n2$^{n-1}$)) for n keywords. Considering these problems, we propose a new approach based on a property called the join sequence separability. This property states that the optimal join sequence is separable into two subsequences of different join methods under a certain condition on the joined relations, and this property enables us to find a globally optimal join sequence in Ο(n2$^{n-1}$). In this paper we describe the property formally, present an optimization algorithm based on the property, prove that the algorithm finds an optimal join sequence, and validate our approach through simulation using an analytic cost model. Comparison with the heuristic text query optimization approaches shows a maximum of 100 times faster query processing, and comparison with the dynamic programming approach shows exponentially faster query optimization (e.g., 600 times for a 10-keyword query).