# Ontology-Based Feature Selection: A Survey
## 5 Ontology-Based Feature Selection
### Opinion Mining  
Opinion mining is also called sentiment analysis [77]. In general, the methodologies that deal with sentiment analysis focus on classifying a document as having a positive or negative polarity, regarding a pre-specified objective [78; 79; 80; 81]. Certain difficulties in implementing the above strategy led to the necessity of using ontology-based features [82; 80]. An example of such a difficulty is related to the fact that positive (negative) document on an object does not imply that the user has positive (negative) opinion regarding the whole set of features assigned to that document [80; 81]. The ontology-based feature selection for sentiment analysis is a complex and difficult endeavor, mainly because it involves high semantic representations of expressed opinions along with diversified characteristics encoded in the ontology as well as in the corresponding features [78; 80; 83]. The general implementation framework of ontology-based feature selection for opinion mining is given in Figure 3. Three basic levels are identified. The first level concerns the pre-processing of the users' opinions in terms of Natural Language Processing (NLP) techniques. The objective is to perform linguistic and syntactic process of the available textual data. This task can be accomplished by implementing several NLP tools such as stemming, tokenization, Part of Speech (PoS) tagging, morphological analysis, syntax parsing, etc. [81; 84]. As a result of the NLP pre-processing, an initial set of features is extracted and fed into the next level for further processing. The second level carries out the implementation of a domain ontology to identify the  
Figure 3: General algorithmic framework for ontology-based sentiment analysis. most important features included in initial set of features. The domain ontology can be generic [80; 83] or custom (i.e., created for a specific application) [77; 82; 83]. As seen in Figure 3, the input to this step is the pre-processed corpus of opinions as well as the domain ontology, while its output comes in the form of potential features identified from the text, which are then represented in some convenient form (e.g., vector-based representation, etc. ), which will help their elaboration by the next levels [80; 83]. As far as the type of ontology is concerned, it can be a crisp ontology i.e., a precise (binary) specification of a conceptualization [79; 80; 83; 84; 85] or ontology based on fuzzy set theory [86; 87]. To further reduce the feature space dimensionality, we can apply standard feature selection methods (e.g., PCA, chi-square, information gain), or strategies involve the calculation of pairwise similarity measures between features or score values, which are assigned to the features indicating their importance [80; 83]. The third level deals with the polarity identification. Two common strategies involved in this level are machine learning methods (e.g., SVM, clustering.) [77; 83] and lexicon-based approaches (e.g., SentiWordNet, SentiLex, OpLexicon) [80; 85]. The implementation of machine-learning techniques utilizes a set of training data and involves iterative classification processes. On the other hand, lexicon-based approaches rely on the application of batch procedures, and once they have been built, no training data are necessary. Table 2 illustrates the basic characteristics of various approaches that exist in the literature. In the following paragraphs, we briefly describe those approaches. [PERSON] et al. [80] perform the feature identification by employing the Movie Ontology [88]. To further reduce the feature space dimensionality, they assign to each feature a score function of importance, which considers the position of the linguistic expression of a feature within the text. The score function is structured by separating the text in three disjoint parts namely, (a) the beginning, (b) the middle, and (c) the end. Given a feature \(f_{i}\) and a user's opinion text \(t_{j}\), the above three text parts are symbolized as \(O_{aj}\), \(O_{bj}\), and \(O_{cj}\).