ONTOCUBE: Efficient Ontology Extraction Using OLAP Cubes

ONTOCUBE: Efficient Ontology Extraction Using OLAP Cubes

ONTOCUBE: Efficient Ontology Extraction using OLAP Cubes Carlos Garcia-Alvarado Zhibo Chen Carlos Ordonez University of Houston University of Houston University of Houston Dept. of Computer Science Dept. of Computer Science Dept. of Computer Science Houston, TX 77204, USA Houston, TX 77204, USA Houston, TX 77204, USA ABSTRACT every world’s view, giving as a result a huge task that nor- Ontologies are knowledge conceptualizations of a particu- mally undergoes human supervision, creating a knowledge lar domain and are commonly represented with hierarchies. acquisition bottleneck. In this paper, we focus on the prob- While final ontologies appear deceivingly simple on paper, lem of extracting the main concepts of a set of documents building ontologies represents a time-consuming task that is stored in a DBMS and then using them to build an ontol- normally performed by natural language processing tech- ogy. The problem of extracting concepts is not trivial and niques or schema matching. On the other hand, OLAP has been tackled through natural language processing, clus- cubes are most commonly used during decision-making pro- tering, singular value decomposition (SVD), and statistics, cesses via the analysis of data summarizations. In this pa- among many other proposed solutions [1]. The main prob- per, we present a novel approach based on using OLAP lem with these approaches is that they are time-consuming cubes for ontology extraction. The resulting ontology is or require previous knowledge to be provided. Moreover, it obtained through an analytical process of the summarized has been shown that these proposals are not the ultimate frequencies of keywords within a corpus. The solution was answer for ontology extraction. implemented within a relational database system (DBMS). Online Analytical Processing (OLAP) can be used to ef- In our experiments, we show how all the proposed discrim- ficiently obtain these frequency summarizations’ and key- ination measures (frequency, correlation, lift) affect the re- words’ correlation in order to extract and organize the most sulting classes. We also show a sample ontology result and representative concepts in a corpus. The main characteristic the accuracy of finding true classes. Finally, we show the of this approach is that the ontology can be built without performance breakdown of our algorithm. the need of a given pattern or a set of rules in an automated form. However, OLAP has never been exploited to build ontologies. The ontology construction process can be sum- Categories and Subject Descriptors marized as the extraction of concepts (classes) and the rela- H.2.8 [Database Management]: Database applications— tions between them based on an analysis of the keywords of Data mining a corpus. The documents within the corpus are initially pre- processed, transformed and analyzed, and finally organized to build an ontology. The result of the analysis phase is a General Terms set of concepts built from a group of keywords. The analysis Algorithms, Experimentation phase determines the concepts and properties that charac- terize each concept. In a similar manner, basic relations, Keywords such as “has a” or “is a” can be inferred with the analysis of the preprocessed data set. The final phase builds the on- OLAP, Ontologies, DBMS tology by organizing the extracted relations and classes. In this research, we present how all these steps can be included 1. INTRODUCTION within the OLAP process in order to generate efficiently, in Ontologies model a view of a continuously evolving world. an automated fashion, an ontology from a given set of docu- However, this formal specification of a shared conceptualiza- ments stored in a DBMS. This paper is organized as follows: tion, made into a machine readable format, is dependent on Section 2 presents the notation of the main concepts of on- a specific context and point of view [1]. Due to this special- tologies and OLAP. Section 3 shows our OLAP process for ization, it is required that multiple ontologies be created for building ontologies. In Section 4, the quality and perfor- mance results are presented. Similar works are discussed in Section 5. Finally, in Section 6, we make our final remarks. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are 2. PRELIMINARIES not made or distributed for profit or commercial advantage and that copies Let us focus on defining the notation that will be used bear this notice and the full citation on the first page. To copy otherwise, to throughout this paper. Let C be a collection, or corpus, republish, to post on servers or to redistribute to lists, requires prior specific of n documents d1, d2, . , dn , where each document di is permission and/or a fee. { } CIKM’11, October 24–28, 2011, Glasgow, Scotland, UK. composed of a set of keywords tij . In addition, let xi be a Copyright 2011 ACM 978-1-4503-0717-8/11/10 ...$10.00. frequency vector of all the different keywords in C for each 2429 Input: level , tb document di. We assume that C is stored in a vertical list Set of Classes S format. This list is stored in a vtf table that contains the Init Listtf th foreach<i,tb,p> r in vtf sorted by i document id, keyword, and position in the i document. A if i changed tf vtf C ← GetNextCombo(Listtf , level) summarization table is computed from as a table with DoW hile (C!=null) the document id i, the keyword t, and the term frequency f SC .freq++ SC .pos+=r.p stored. The backbone data structure for OLAP data cubes C ← GetNextCombo(Listtf , level) tˆ−1 ˆ endwhile is the dimensional lattice, which has a size of 2 , where t else is the number of selected keywords. One level (or depth in Listtf ← {r.t, r.p} endif tˆ the lattice) of the cube is denoted by , s.t. level tˆ . endforeach level| | ≤ return S 2.1 Ontologies Figure 1: Ontocube. Regardless of the ontology language, all these knowledge representations rely on the specification of the main con- na,b as λ = , where na and nb are the number of doc- cepts in the given context. Every concept is defined as Max(na,nb) uments containing keywords a and b, respectively. a class with a set of properties and interactions between the classes, subclasses, and their properties. A class (e.g. owl:Class) is a classification of individuals (instances) that 3. ONTOCUBE share common characteristics. This class classification is In this section, we detail the ontology extraction pro- obtained through a taxonomy (hierarchy). In the case of cess and every optimization performed to obtain classes and individuals, the relationship between them is given by the build the ontology. specification of properties, which can be represented by an object (e.g. owl:ObjectProperty) and by a datatype (e.g. 3.1 Concept extraction owl:DatatypeProperty). In this work, we do not focus on A one-time preprocessing step is required for setting the the language, but on the extraction of classes and relations. environment for obtaining the frequency of the keywords. The data set was preprocessed by removing the stopwords 2.2 OLAP Cubes and assigning a position for every keyword in every docu- While normal applications of OLAP include business re- ment. Our proposed process for extracting concepts is the ports and financial analysis [2], we believe that the OLAP result of analyzing the most frequent keywords and gener- dimensional lattice can be used to efficiently obtain classes ating combinations with these keywords. The frequencies of and their relations. In this case, the data is represented by these combinations are also computed, as well as the corre- the collection of keywords and documents while the level lation and lift of these pairs of keywords. The classes are of aggregation allows us to obtain various combinations of obtained from the combinations by answering these ques- these keywords to generate concepts. tions: (1) Do the keywords appear in the same documents While traditional OLAP accepts inputs that are horizon- frequently? (2) Are the set of keywords close to each other? tal, in our system, vtf has a vertical format, with each row (3) How often do they appear together within the corpus? containing a single keyword. This presents a challenge to (4) How often is one keyword found in a document but not aggregations because we are unable to use the normal tech- the other? The first question addresses the problem of find- niques, such as slicing, with the vertical format. Despite ing keywords that appear in the same documents. In addi- this, we are only analyzing a small subset (the most fre- tion to this, we are required to know if they appear in the quent keywords), t, of all keywords in the collection. same proportion within the collection. As such, the correla- We developed anb algorithm that can obtain the necessary tion of each combination is computed. In the second ques- aggregations and perform the required auxiliary computa- tion, we are interested in finding how close the keywords tions with the associated keyword frequency (correlations appear to each other. This distance between keywords is and lift) directly from the vertical format. In this case, a obtained as the difference between the positions of the key- data cube is computed from the list of keywords in order to words. The last two questions try to identify those sets of form sets of words. OLAP is the perfect tool because it is keywords that commonly appear together throughout the able to use data cubes that allow for quick access. collection, or those that do not.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    4 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us