# Co-Operative Binary Bat Optimizer with Rough Set Reducts for Text Feature Selection
## 1 Introduction  
Text classification is the process of automatic grouping of documents into some predefined categories. The idea of text classification is to assign one document to one class (i.e., category), based on its contents. It can provide conceptual views of document collection and has essential applications in the real world. For example, news stories are typically organized by subject categories (topics) or geographical codes; academic papers are often classified by technical domains and sub-domains; even patient reports in health-care organizations are often indexed from multiple aspects, using taxonomies of disease categories, types of surgical procedures, insurance reimbursement codes and so on. Text Feature Selection (TFS) is an important part of text classification, and much research has been completed on various feature selection methods. A document usually contains hundreds or thousands of distinct words regarded as features. However, many of them may be noisy, less informative or redundant with respect to the class label. This may mislead the classifiers and degrade their performance in general [1, 2]. Feature selection (FS) can be thought of as selecting the best words of a document that can help classify that document. Feature selection has been an active research area in pattern recognition, machine learning, statistics and data mining communities. The main idea of feature selection is to choose a subset of the original features by eliminating redundant ones andthose with little or no predictive information. Feature selection is an essential process, as it can make or break a classification engine [3]. Feature selection is considered an optimization problem [4; 5; 6] where the aim is to select the most representative features that give the highest prediction performance. The idea of TFS, in simple words, is to determine the importance of words using a defined measure that can keep informative words, and remove non-informative words, which can then help the text classification engine. During the past few decades, many feature selection methods have been proposed. On one hand, some of those methods work by ranking features and filtering out the low-ranked ones. Although those methods are fast and independent from any classification algorithm, they ignore the dependencies between features which affect the quality of the selected feature set [7]. On the other hand, population-based meta-heuristic methods such as genetic algorithm (GA), ant colony optimization (ACO), particle swarm optimization (PSO) and Bat algorithm (BA) have attracted a lot of attention [5; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18]. These methods try to gather better solutions by using knowledge from previous steps. Therefore, the focus on search strategies has shifted to meta-heuristic algorithms, which are well suited for searching among a large number of possibilities for solutions. Most of these methods utilizes a classification method to evaluate the feature set, resulting in higher classification accuracy. However, the main drawback of these methods is that they are dependent on the utilized classification algorithm, and this makes the resulted feature sets biased to the choice of classifier [19]. The Bat algorithm (BA) is a meta-heuristic method proposed by [20] and based on the fascinating capability of micro-bats to find their prey and discriminate different types of insects even in complete darkness. The algorithm is formulated to imitate the ability of bats in finding their prey. The main advantage of the BA is that it combines the benefits of population-based and single-based algorithms to improve the quality of convergence [21]. BA and its variants have been successfully applied to solve many problems such as optimization, classification, feature selection, image processing and scheduling [8; 21; 22; 23; 24; 25; 26]. For more details about the Bat algorithm and the binary version of it, the reader may refer to [20; 27], respectively.