The Web services classification is the process that automatically assigns a category from a list of predefined categories to the Web service described as a WSDL document and where the purpose is to improve the Web services discovery process speed. The aim of this paper is to propose an optimization approach based on the attributes selection of Web services descriptions, to automatically classify Web services found in UDDI registers in predefined categories. The proposed approach combines the meta-heuristic of Stochastic Local Search (SLS) with a supervised learning method. The purpose of this work is to optimize the classification rate of the classifier by choosing the relevant attributes that best represents the Web service. First, we propose a classification method that uses a stochastic local search (SLS) for the attributes selection, then, in a second phase, the approach calls for a supervised classification method to perform the classification task. To this end, we studied six well-known classifiers which are: Support Vector Machine (SVM), Naïve Bayes (NB), -Nearest Neighbors (-NN), Bayesian Network (BN), Random Tree (RT), and Random Forests (RF). The six hybrid methods which are: SVMSLS, NBSLS, -NNSLS, BNSLS, RTSLS, and RFSLS are evaluated on seven real datasets. The results are interesting and demonstrate the benefits of the proposed approaches for Web service classification.
In recent years, Web services have emerged as a new Web technology, designed specifically to create efficient and effective software environments capable of managing data on the Web. This technology is mainly based on Service-Oriented Architecture (SOA) [30]. OASIS the Organization for the Advancement of Structured Information Standards gives the following definition of SOA [30]: “A paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations”. In general, a service-oriented architecture consists of three fundamental concepts [30] namely, service provider: is an organization that provides the service, such an entity that provides a specific implementation of service; service requester: is an entity that seeks and calls a special service to achieve its objectives; and service registry: it is an entity that acts as a directory of services.
Web services are protocols and standards for communication and data exchange between applications in heterogeneous environments. According to the definition of the international standardization organization for Web technologies W3C definition (World Wide Web Consortium) [1, 7]: “A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.”. The Web services are associated with a set of XML (eXtensible Markup Language) specifications [7] namely, XML [11] (eXtensible Markup Language): It is used to describe documents and data in a standard format that can be easily transported via standard Internet protocols; SOAP [10] (Simple Object Access Protocol): Is a protocol that ensures the transport of data and communication infrastructure (XML document); WSDL [14] (Web Service Description Language): Is an XML document that specifies the description of the services offered; UDDI directory [15] (Universal Description Discovery and Integration): Is a specification for the description (the reference) and discovery of Web services.
Web services have become one of the most advanced technologies used on the Web, resulting in a sharp increase in its number and with different qualities. This continuous and important increase in the number of Web services makes it difficult to control and manage this huge amount of services, whether by service providers in the implementation phase or maintenance of Web services or by customers (service users) in the case of searching or invoking a particular service.
Every day, many Web services are published and updated by the providers. Moreover, important quantities of these services are searched and invoked on by consumers. The exponential growth of the needs of providers and consumers on the one hand and the large number of available Web services and publishing in the directories on the other hand requires a sophisticated and efficient automatic tool or mechanism to classify and organize these large quantities of Web services in categories.
Specifically, a Web Service is a set of features described in a WSDL document, specifying the methods to invoke, their signature, and the path of the service. These services are accessible via the SOAP protocol. In view of the huge amount of WSDL document descriptions of Web services available and accessible today on the Web, so it becomes necessary to find effective solutions to automatically categorize these quantities in predefined domains.
The Web services classification is a very important task, which involves assigning to a document (typically WSDL) one or more categories from a predefined list (supervised classification). More precisely, it is a process that allows to automatically sort a set of WSDL documents and categorize them. This process necessarily involves the study and exploration of WSDL documents that describe the services offered by Web services. The relevant classification of all Web services is a very difficult problem given the time constraints and the large number of documents to be processed. The classification of Web services is one methodology that can be used to improve the speed of Web services discovery and invocation processes. In general, the combination of different methods (algorithms) allows to get additional advantages to avoid the limitation of a single method. To this end, the classification of Web services by domain can be very useful to facilitate the services invocation. In this paper, we present an approach combining both a supervised machine learning method and an attribute selection technique for the classification of Web services.
Attributes selection is a difficult and complex process that eliminates redundant attributes and keeps only those deemed useful for classification, according to a certain evaluation function. Eliminating redundant attributes and preserving the relevant attributes will reduce the dataset size and significantly increase the performance and efficiency of classifiers (in terms of accuracy rate). It is therefore important to establish a powerful and efficient algorithm to find the optimal set of attributes. On the other hand, the Stochastic Local Search meta-heuristic (SLS) is one of the most important techniques used in the field of attribute selection [26, 27]. In this paper, we focus on the classification of Web services using the SLS meta-heuristic. We intend to use SLS as an attributes selection technique (the relevant attributes) from the WSDL document.
The main objective of this work is to propose a supervised classification system enhanced with a Stochastic Local Search (SLS). We use the SLS meta-heuristic for features selection and the supervised classifier for the classification task.
The SLS method consists in iteratively (recursively) selecting a relevant subset of attributes (the good subset of attributes that represents the optimal solution) of dimension from an attributes initial set of dimension where . The optimal subset of attributes necessarily leads to a better classification rate. The optimal subset of attributes selected by the meta-heuristic SLS (generated solution) will then be sent to the classifier according to the considered and reduced data (the new data corresponding to the optimal attribute subsets) in order to find the best classification rate. This mechanism is repeated until satisfying a stopping criterion.
In this paper, we study six well-known supervised machine learning methods such as: Support Vector Machine (SVM), Naïve Bayes (NB), -Nearest Neighbors (-NN), Bayesian Network (BN), Random Tree (RT), and Random Forests (RF). These classifiers are combined with SLS (i.e. the six proposed approaches: SVMSLS, NBSLS, -NNSLS, BNSLS, RTSLS, and RFSLS) and applied to the Web services classification problem. More precisely, the use of the SLS meta-heuristic for selecting attributes before starting the classification task is intended to select only a subset of significant attributes for the various machine learning methods. This may reduce the dataset size and enhance the accuracy rate. The performance of the six proposed approaches is evaluated with the 10-fold Cross Validation method and validated on seven real datasets of Web services available on the Web: QWS Dataset with 364 Web services divided into four categories (Platinum, Gold, Silver, Bronze) and the six versions of OWLS-TC ver. 2.2 (Text, OntImp, SynSig, SemSig, TextSynSig, and TextSemSig) with 1007 Web services divided into seven categories (Travel, Economy, Education, Food, Communication, Medical, Weapon).
The rest of this paper is structured as follows: In Section 2, the presentation of some related works. The definition of the Web services classification problem is given in Section 3. Section 4 presents the six machine learning algorithms, the SLS meta-heuristic, and the -fold Cross Validation method. The six proposed approaches based on SLS for solving the Web services classification problem are presented in Section 5. Section 6 gives the experiments and the obtained results. Finally, the conclusion of the proposed study and some perspectives are presented in Section 7.
Related works
In recent years, much effort has gone into developing automatic methodologies and approaches for classifying Web services in their application domain. In this section, we give an overview of the different approaches that exist in the literature.
Garofalakis et al. [20] presented an in-depth critical study on the solutions, methods, architectures, models and mechanisms of discovery and localization of Web services (i.e. locating and selecting a WSDL description of the service) found in the repositories (UDDI registry), as well as concerns raised during the process of Web services discovery. More specifically, the study aimed to examine and analyze the different approaches and mechanisms for discovering Web services based on different architectural perceptions (architectural aspects, standards and platforms). This study presented some promising solutions for developing discovery mechanisms for Web services (Besides the UDDI registry), which are: the semantic techniques based on Peer to Peer (P2P), the discovery mechanisms based on the grid and the information retrieval (IR) techniques. In addition, they presented some approaches based on ontologies where the objective was to improve data models. Some interesting solutions based on semantic Web technology were also discussed in this study.
In [16], the authors proposed the AWSC hybrid system (Automatic Web Service Classifier) to classify Web services based on their description. The system is a combination of machine learning methods and Text Mining techniques, whose purpose is to exploit the connections between the information found in the standard description of the Web service and its category (class of membership). In that work, three machine learning methods were used: Rocchio, Naïve Bayes, and -NN. The empirical evaluations on a set of 235 Web services have shown that when using Rocchio with TF-IDF, AWSC has a good performance compared to the results when using -NN and Naïve Bayes.
The authors in [46] presented a Web services classification system using association rules (AR) that aim to find an association relationship between the WSDL description and the Web services category. Their approach consists of two main steps: the first step is the preprocessing of WSDL documents using Text Mining techniques, and the second step is to use an automatic machine learning method to classify the documents into categories. According to their results the Naïve Bayes classifier has demonstrated more efficiency than the classifier based on association rules.
In [51], the authors developed a hierarchical classification approach for Web services based on the functional characteristics of a set of medium and large categories. They used as sample data the descriptive information of the sub-categories. Their approach uses as a classification method: Support Vector Machine (SVM) based on UNSPSC (United Nations Standard Products and Services Code) taxonomy as criteria for classification. The experimental results demonstrated the effectiveness and usefulness of the SVM method for the Web services classification.
Mohanty et al. [31] proposed a comparative study of seven well-known automatic machine learning methods: SVM, Group Method of Data Handling (GMDH), ID3 Decision tree (J48), TreeNet, Back Propagation Neural Network (BPNN), Classification and Regression Trees (CART), and Probabilistic Neural Network (PNN) to predict the quality of a Web service based on a number of QoS service quality attributes. The experiments were carried out on a QWS Dataset with 10 fold cross-validation. The average accuracy for different classifiers seems to be high and some classifiers give very high accuracies. Moreover, they applied a method of selecting a subset of set characteristics (with and without WSRF). They found that the following attributes (Without WSRF) are the most important: (Reliability, Throughput, Successability, Response time, and Documentation). In the same context, the previous authors presented in another study [32], an automatic approach based on the Bayesian network, which uses the Naïve Bayes classifier (NBC), the Markov blanket technology (MB) and the Tabu search meta-heuristic (TS) to classify Web services into categories. The results in terms of accuracy rate on the QWS Dataset (with and without WSRF) show that Naïve based Bayesian network performs better than other technologies.
Another method for Web services classification based on automatic semantic annotation and ensemble learning has been proposed in [54], the method applies an automatic semantic annotation of Web service and uses three supervised classification algorithm such as: Naïve Bayes, SVM and REPTree. In addition, the ensemble learning (AdaBoost, in abbr. AB) is applied. According to the experiment carried out on 951 WSDL files and 19 categories with 10-cross validation, the accuracy of the AdaBoost ensemble learning was the best compared to the other classifiers.
Vaadaala et al. proposed in [48] a system to predict the quality of Web services based on the J48 decision tree. The considered services are based on the set of QoS (Quality of Service) attributes of the QWS Dataset. This system uses the WsRF attribute (Web service Relevance Function) as the Web services classification criterion. Their experimental results show the effectiveness of the J48 method.
In [9], the authors defined an approach (HGCA: Hyper-graph Classification Algorithm) based on conceptual graphs in an unsupervised learning technique for classifying Web services. The conceptual graph is represented as a hyper-graph that identifies and constructs functional domains and also helps classify Web services in these areas (the terms of a WSDL document are considered as conceptual nodes). According to the authors, the use of conceptual graphics aims to achieve a high classification rate, which reduces the time to search for specific Web services.
A semantic method for the automatic classification of Web services was presented in [47]. The proposed method is based on a lexical semantic network built from extracts of the Web as a knowledge base to calculate the semantic similarity between the profile of a service and the categories. The method is composed of two phases: the analysis of service classification profiles, and the mapping of the profiles of services to category based vectors of dimension. Their method uses a standardized unsupervised similarity calculation approach combined with the TF-IDF weighting metric and weight generation techniques based on IR (Information Retrieval). The empirical evaluation on the OWL-S service set shows that this approach helps to make better decisions for a relevant classification of services by giving an ordered set of categories based on similarity scores.
Mustafa et al. [33], elaborated a comparative study of four classification methods (SVM, -NN, Fuzzy Rule Induction Algorithm Unordered (FURIA), and RIDOR) to examine the performance of Web services classifiers, their study is based on the QWS Dataset with nine attributes used to measure and predict the quality of service. According to their results, the average accuracy of the classification methods is considered to be high. In addition, the classification accuracy is improved with SVM-SMO training of (6.84%) compared to -NN and (3.48%) compared to RIDOR.
Another study [40] proposed an automatic approach based on three automatic learning methods for Web services classification using the standard QWS Dataset. The three considered classifiers are: Fuzzy Rough Ownership Nearest Neighbor (FRONN), Fuzzy Nearest Neighbor (FNN), and Rough Fuzzy Nearest Neighbor (FRNN). In their approach the Weighted Average Accuracy technology (WAA) was applied to the confusion matrix after the selection of attributes (FS techniques: Information Gain (IG) and Gain Rate (GR)) to improve the accuracy rate.
In [6], the authors discussed the work of several prominent researchers in the field of improving the performance and efficiency of the discovery mechanism of Web services (Web services available in the UDDI registry) using techniques based on machine learning models. In this study, the authors classified some existing approaches according to the mode of machine learning technique used (i.e. supervised mode, semi supervised, and unsupervised). More specifically, machine learning techniques on WSDL documents are widely used for Web service discovery problems. In addition, semantics and clustering can improve the process of discovering web services. According to the authors, the study is useful for Web service publishers to determine the appropriate Web service discovery mechanism and for consumers to obtain the required Web service.
The authors in [38] described a Text Mining technique for the classification of Web services in specific fields based on the following WSDL document features: Service name (SN), Service documentation (SD), WSDL schema (WSDLS), WSDL messages (WSDLM) and WSDL port types (WSDLP). The authors have proposed a system which consists of three components: WSDL Feature Extractor, Text Pre-processor, and Web Service Classifier. The approach is validated on a dataset of 600 Web services classified into 8 categories (with a classification rate of 90.6%). According to their experiences, the quality of the information retrieved has been improved compared to comparison approaches.
In [53], Yang et al. developed a semi-automatic Web services classification process based on four learning algorithms (SVM, Naïve Bayes, C4.5, and Back Propagation Neuron Network (BPNN)). The process is composed of four steps which are: the choice of the classification element among the WSDL document elements, the preprocessing of the data, the digital representation of the vector, and the application of the classifier. In their work, the selected WSDL elements are: service name, operation name, input/output, and a combination of the service name and the operation name, input and output. According to their experiences, they found that the C4.5 had a better accuracy.
An automatic machine learning approach for the Web services classification based on Multi-Layer Perceptron optimized with Tabu Search (MLP-TS) was described by [34]. The approach is compared with two models: Multi-Layer Perceptron-Levenberg-Marquardt (MLP-LM) and Multi-Layer Perceptron Back Propagation (MLP-BPP). The experimental results tested on the QWS Dataset show that the proposed MLP-TS is more efficient than MLP-LM and MLP-BPP.
The authors in [35], proposed an optimized model (MLP-GA) based on the MLP classification method with the back propagation to classify the instances of Web services, and the genetic algorithm (GA) to optimize the MLP classifier. In their study the authors use three classification techniques: Naïve Bayes, MLP-BPP and MLP-GA. The three techniques are evaluated on the QWS Dataset. The experimental results of the three classifiers compared to each other show the efficiency of the optimized (MLP-GA) model compared to MLP-BPP and Naïve Bayes.
In [43], the authors presented an automated approach for the classification of Web services into functionally similar categories. The approach is based on a set of majority votes of a combination of three conventional and heterogeneous classification techniques (the ensemble of classifiers: Naïve Bayes, SVM and Decision Tree (J48)) whose aim is to overcome the limits of these techniques. This approach is validated on a data set of 3738 real Web services classified in 5 domains, with an average accuracy of (92%). According to the authors, the results found are due to two main factors, namely: enhanced pre-processing with focused feature selection, and majority based ensemble classification (MEC).
A hybrid approach called (SVMSLS) for the supervised classification of Web services was presented in [26]. The approach combines a Support Vector Machine (SVM) algorithm and a meta-heuristic method of SLS for the selection of relevant attributes. The numerical results on QWS Dataset have proven the effectiveness and usefulness of the proposed approach. In another study, the same authors [27] proposed a hybrid approach to the supervised classification of Web services, which aims to improve the performance and effectiveness of the disaster management system, in order to reduce the damage and the risks caused by disasters. The approach is a combination of the Naïve Bayes classifier and the Stochastic Local Search (SLS), SLS is used for the selection of good attributes that reduce the attribute space and increases the performance of the NB classifier, in order to facilitate the Web services invocation in case of emergency or disaster by the competent authorities. The approach was evaluated on the QWS Dataset and gave good results in terms of classification rates.
Related works approaches for Web services classification
In [56], Zhu et al. presented a hybrid algorithm called CNBP (Cuckoo-Nelder-Mead-Back-Propagation) to efficiently classify candidate Web services into different quality of service (QoS) levels. The hybrid algorithm is an optimized back-propagation (BP) neural network with a hybrid of two algorithms: the Cuckoo search algorithm and the Nelder-Mead simplex algorithm. The CNBP algorithm optimizes the initial weights and biases of the BP neural network (BP classifier is used for the classification). The experiments conducted on the QWS Dataset and comparative analysis with the traditional BP network and three other supervised classification methods (SVM, NB, -NN), led to the conclusion that the CNBP approach is more efficient and stable for classification than other methods used in the comparison (i.e. CSBP algorithm, BP, SVM, NB, and -NN).
Shafi et al. [45], proposed an improved Web services classification technique based on text mining. The technique exploits the WSDL file contents, more precisely the service name and operations. They use the following three classifiers: Naive Bayes, C4.5 and Maximum Entropy (ME). The comparison results show that the Maximum Entropy gives the best solution for classification.
Another study [42] investigated the role of Web services in the Internet of Things and Smart Cities, specifically, with an emphasis on classification techniques. In their study, the authors used the Majority Vote (MV) method as a learning model for the supervised classification of Web services and compared it to six other models (LR, NNge, J48, MLP, RF, and JRip). The empirical results on the QWS Dataset show that the Majority Vote method improves the results of the classification according to the error rates: AAE and ARE.
In [55], Zhao et al. presented a new deep neural network called ServeNet (in abbreviation SN) for the Web services classification, this network automatically abstracts the low-level representation of the Web service description into high-level entities without feature engineering, and then predicting the service classification for 50 categories of services. The ServeNet is trained and tested on a dataset of 10184 Web services classified into 50 categories. The accuracy obtained is respectively (99.83% and 88.40%) in the top-5 on training and test set. The results found show that the deep neural network ServeNet is robust and can achieve the best performance (greater accuracy) compared to other machine learning methods.
Table 1 summarized the related works approaches for Web services classification.
Formulation of problem: The classification of Web services
The classification of Web services is a difficult problem given the large number of documents to be processed. The main objective of this study is to improve the efficiency and performance of classifiers (more specifically, the classification rate) in order to facilitate the task of service providers during the publication phase or in the case of service maintenance, and service customers (or service requesters) when searching for a particular service to invoke it. In other words, our main purpose of this study is to increase the performance of activities (such as: publication, discovery, and service invocation) that connects the three basic concepts of the SOA system [30] (Service provider, Service requester, Service registry). For this purpose, we are interested in this study to the problem of the Web services supervised classification. The problem of the Web services supervised classification is an automatic process that allows us to find or build an effective and efficient model capable of assigning a set of documents (more precisely, WSDL documents) represented by a set of attributes or features to one or more classes among a set of classes (a set of categories). In general, the supervised classification of Web services into predefined domains or classes is the operation of structuring and organizing Web services published in directories or registers of Web services (UDDI).
By definition [44], the supervised classification of Web services is a predictive technique of machine learning consists in examining the attributes (or characteristics) representing a document of attributes (according to the characteristics extracted from the WSDL document) newly presented in order to assign it to a class among a set of predefined classes . Before starting the classification process, an important step (the WSDL document pre-processing) is to process the WSDL documents using the Text Mining techniques in order to select the relevant attributes from the contents of the document WSDL. The operation of the classification is done in a process consisting essentially of two basic steps [44, 16]:
Construction of the classification model: the model is based on a set of training data with labels (training set).
Using the classification model: to classify new WSDL documents into predetermined classes with the test set.
Algorithm 1 represents the general process of the Web services supervised classification.
Algorithm 1: The general process of classification
In the literature, there are several machine learning techniques for the supervised classification task, including: Support Vector Machine (SVM) [49], Naïve Bayes (NB) [19], -Nearest Neighbors (-NN) [17], Neural Networks [22] and Decisions trees [12]. In this article, we are interested in the use of the meta-heuristic method of Stochastic Local Search (SLS) as a combinatorial optimization method for selecting the good attributes of the WSDL document, these attributes facilitate the task of classifying WSDL documents into predetermined categories. This meta-heuristic SLS will be combined with a supervised machine learning algorithm in order to improve the classification rate and reduce the attribute space to facilitate the tasks of the main actors of the SOA system (publication, discovery, and invocation of Web services).
Background
In this section, we briefly describe some of the important elements and concepts used in the proposed approaches, such as: the six machine learning algorithms, SLS (Stochastic Local Search), and -fold Cross Validation method.
In this study, six well-known supervised machine learning methods, Support Vector Machine (SVM), Naïve Bayes (NB), -Nearest Neighbors (-NN), Bayesian Network (BN), Random Tree (RT), and Random Forests (RF) were used. A brief introduction to these methods is presented in this subsection.
Support Vector Machine (SVM)
Support Vector Machine (SVM) is a very popular class of supervised machine learning algorithms developed by Vapnik in 1995 to solve classification and regression problems [49]. Moreover to its solid mathematical base, SVM is considered one of the most efficient and powerful algorithms in many real-world domains, such as: bioinformatics, handwriting recognition, object recognition, facial recognition, and large-scale classification problems such as the categorization of images and texts [23]. SVM is based on two fundamental ideas: the notion of kernel function and the concept of maximum margin. The basic principle of the SVM method is to create a hyper-plane separating the data into two classes in the case of binary classification and into several classes in the case of multi-class classification (i.e. classes), using the principle of maximum margin. In a binary classification, the SVM method attempts to separate the positive examples from the negative ones in the set of examples. The method then looks for the hyper-plane that separates the positive examples from the negative ones, ensuring that the margin between the nearest positive and negative examples is maximal (the search for an optimal hyper-plane). The classification of a new example is given by its position with respect to the optimal hyper-plane (i.e. see the sign of the decision function ). The kernel function allows optimal separation data.
Let’s consider that this a classification problem with two classes, a negative class (1) and a positive class (1) represented by the following dataset: , , where , are the features vectors (the attributes) and , are the corresponding classes.
If the dataset is completely linearly separable, the separating hyper-plane into two classes with the largest margin can be written as follows:
Where is an arbitrary point, is a weight vector and is the bias (scalar). The following formula represents the conditions for a better classification:
Which is equivalent to:
The margin is the distance of the nearest point to the hyper-plane, mathematically defined by the following formula:
Where is the Euclidean norm of . Finding the hyper-plane amounts to maximizing the margin , which is equivalent to the problem of minimizing a quadratic objective function with linear constraints according to:
The solution to the problem of convex quadratic optimization under linear constraints of Eq. (4) is given by the Lagrangian .
Where the are the Lagrange multipliers associated with the constraints. The Lagrangian must be minimized with respect to , and maximize with respect to the variables . The Lagrangian is minimized with respect to :
The Lagrangian is minimized with respect to :
Leading to the following solution:
The Lagrangian is maximized with respect to . By replacing Eq. (9) in the Eq. (6) of Lagrange , the dual problem equivalent to maximize is obtained according to:
Under the following constraints:
This problem can be solved using quadratic programming methods. The optimal solution is obtained. The weight vector of the maximum margin hyper-plane is written as follows:
The associated decision function can be written in the following form:
A kernel function is a function (the transformation kernel), where
The radial basis function kernel, or RBF kernel, is one of the most used kernel functions in supervised classification, especially for the SVM method. The RBF kernel takes the following form (Where, is the kernel parameter):
Naïve Bayes (NB)
The Naïve Bayes method [19] is a supervised learning algorithm widely used for classification problems (i.e. classifying a set of observations according to defined rules), and more particularly used for text classification problems. It is a simple classification algorithm of the probabilistic classifiers family based on the Bayes theorem. This theorem is based on conditional probabilities with strong independence between the different attributes (A set of conditional independence hypotheses). In simple terms, a Naïve Bayes classifier assumes that the existence of a characteristic for a class is independent of the other characteristics existence. Assuming that classes is disposed (available). Let be a vector of attributes which must be classified and is the class of this vector. It is necessary to determine the probability () of belonging of the vector to the class . The following Bayes theorem is used to determine this probability:
Where is the probability that, for a given category, the attributes of the vector are associated with the category . is the probability that associates the attribute vector with the category independently of the content of the document. is the clean probability of the attributes vector . More generally, when contains attributes which satisfy the hypothesis of conditional independence, the probability is written as follows:
Which is equivalent to:
Where represents the element of the attribute vector . By combining Eqs (16) and (18), the following formula (The Bayes theorem) is obtained:
As the objective is to find the maximum of the probability according to the class , And that does not depend on . The hypothesis Maximum A Posteriori (MAP) can be used (The most likely class) the assignment rule below is found (i.e. Assign to the class such that is maximal):
k-Nearest Neighbors (k-NN)
The -Nearest Neighbors (-NN) classification method [17] is a supervised learning algorithm, based on instances dedicated to classification where each instance is characterized by a set of attributes used when calculating the distance. The method does not include a training phase, it uses two parameters: the number of nearest neighbors and the similarity function to compare the new case with the others that are already classified. To identify the class of a new instance (document), the -NN calculates its similarity with all instances already classified. Then, it places the values of similarity (distance) in descending order and keeps only the first . The most common class among these instances is the one that is assigned the new instance (the majority class is obtained with the following formula):
Where is a class label, its nearest neighbor list, is the test object is the class label for the nearest neighbors, and is an indicator function that returns the value “1” if its argument is True and “0” otherwise, and, represents the data of a training object, while is its class. Likewise, represents the test object data and is its class. The -NN is based on the notion of similarity [17], the distance used is of major importance so that it is calculated between the coordinates of two points and . Among the distance measurements used are:
The Euclidean distance: This is a geometric distance in a multidimensional space, which calculates the square root of the sum of the square differences between the coordinates of two points. The Euclidean distance between points and is defined as:
The Manhattan distance: It is the sum of the absolute values of the differences between the coordinates of two points. Between two points and , the Manhattan distance is defined by:
The Minkowski distance: It is a metric of general distance. Between two points and , the Minkowski distance is calculated as:
For 1, it is the distance from Manhattan and for 2, it is the Euclidean distance.
Bayesian Network (BN)
The Bayesian Network (BN) [41] is an interesting and powerful technique in machine learning, based on a graphical description of random variables. Specifically, it represents a conditional independence between a set of variables. A Bayesian network is defined by [41]: a directed acyclic graph (DAG) without circuit consists of nodes and arcs, whose nodes are associated with a set of random variables , and the dependency relations between the variables are represented by oriented arcs (E). Each variable (a node of the graph) is represented by a conditional probability table (based on parent values) that is determined using the Bayes theorem (Eq. (16)). The set of probabilities represents the probability distributions set of each node . It is defined as follows:
Where is the set of nodes connected to () by end arcs () (i.e. the parent nodes of in the graph ). The joint probability distribution of the set of variables can be calculated by the following mathematical formula:
Random Tree (RT)
The Random Tree (RT) is a supervised automatic classification algorithm belonging to the families of decision tree algorithms with a hierarchical representation in the form of a tree with a root node for access to the tree that subsequently divides in branches [12]. More precisely a random tree is a set of classification rules. Each internal node of the random tree corresponds to an attribute, and each terminal node (or leaf) corresponds to a class. Moreover, an individual to be classified is described by a set of variables, which are tested in the internal nodes and decisions are made in the terminal nodes of the tree. The final classification decisions of the individuals to be classified are specified at the level of the terminal nodes. In general, the random tree is a randomly generated tree from a set of decision trees with a number of random properties on each node (i.e. a stochastic process). Furthermore, the combination of large random trees sets leads to a model called random forest.
Random Forest (RF)
A Random Forest (RF) is a very powerful and very fast supervised learning method (set of a classifier) developed by Leo Breiman [13] using many decision tree models (i.e. an overall classifier composed of several decision trees). Moreover, Random Forests are a highly efficient prediction technique belonging to the classification and regression algorithm class [13]. More specifically, a Random Forest is a set of decision trees formed from the random selection of the training data samples. The term random was introduced into the process of creating random trees for the first time by: [13]. Thus, the set of Random Trees obtained is called Random Forest. Leo Breiman defined the Random Forest as follows [13]: “A random forest is a classifier consisting of a collection of tree structured classifiers where the are independent identically distributed random vectors and each tree casts a unit vote for the most popular class at input x”. The estimate of the random forest is obtained by calculating the estimates average of the different trees of the forest (i.e. the result of the classification is simply determined by a majority vote).
Optimization with the SLS meta-heuristic
Meta-heuristics have been used in many areas such as combinatorial optimization. Finding good quality solutions (optimal solutions) to difficult combinatorial optimization problems is not an easy task from algorithmic point of view. In general, an optimization can be considered as a problem of minimization or maximization (i.e. the search for minimum or maximum values achievable in reasonable computing time and without guaranteeing feasibility or optimality). By definition [39], a combinatorial optimization problem consists in finding the maximum (or the minimum) of an application (a function to optimize or objective function or cost function), or , , on a finite set such that (or ). In other words, a combinatorial optimization problem consists in finding an optimal solution that minimizes or maximizes (optimizes) the value of the objective function .
According to the definition of Voss et al. [50]: “A meta-heuristic is an iterative master process that guides and modifies the operations of subordinate heuristics to efficiently produce high-quality solutions. It may manipulate a complete (or incomplete) single solution or a collection of solutions at each iteration. The subordinate heuristics may be high (or low) level procedures, or a simple local search, or just a constructive method.”. Many meta-heuristic algorithms for combinatorial optimization based on the attributes selection exist in the literature. Among these meta-heuristics are the Stochastic Local Search (SLS). SLS is a method based on neighbor search that has been successfully applied to several optimization problems [26, 27, 37, 8]. The SLS or iterative improvement method is a single-solution meta-heuristic belonging to local search methods that starts with an initial solution generated randomly. Then, the method tries to improve this solution iteratively by looking for a better solution in the current neighborhood. More specifically, the method explores the search space to find more solutions (the solutions are generated iteratively. i.e. solution solution is determined from solution ). The method combines diversification and intensification strategies to explore efficiently the search space and find a better solution.
First phase (diversification): randomly choose a nearby solution. It is applied with a fixed probability (walk probability) 0. This probability is fixed empirically.
Second phase (intensification): choose the best neighbor solution. This phase is applied with a probability .
In general, intensification and diversification strategies play a complementary role. A good combination of these two main (component) strategies will generally ensure that optimality is achievable. The search process of the optimal solution Sol is repeated for an empirically fixed number of iterations called (max_iteration). In this paper, we are interested in SLS for the selection of the right attributes to find the optimal subset with the best possible accuracy for the purpose of classifying Web services into predefined categories. The main steps of the SLS meta-heuristic are shown in Algorithm 2.
Algorithm 2: The Stochastic Local Search (SLS) meta-heuristic
1: include: Number of attributes (number_attributes);
2: include:Maximum number of iteration (max_iteration);
4: Sol Randomly generate an initial solution Sol (, ,
…, );
5: for ( 1 to max_iteration) do
6: random number [0, 1] (generate a random [0,
1]);
7: if (wp) then
8: Pick a random neighbor solution: Generate
neighborhood Sol:
9: neighborhood (Sol);
10: Sol the best solution in the neighborhood;
11: else
12: a random attribute [1, number_attributes];
13: if (Sol [] 1) then
14: Sol [] 1;
15: else
16: Sol [] 0;
17: end if
18: end if
19: end for
20: return: The optimal solution Sol ();
Validation method: Cross validation
Cross-validation [49] is a very popular statistical technique (a resampling procedure) that has been used by practitioners for many years to evaluate and estimate the skills of machine learning models on a limited sample of data. This technique divides the total available data into two sets: a training set to form the model and a test set to evaluate and test the model performance. Many variants of cross-validation exist in the literature. Among these variants is the -fold cross validation method. This method [5] has a single parameter (integer) which refers to the number of groups in which a given sample (dataset) must be divided. In this variant, the data is divided into subsets of the same size. Among the subsets, only one subset is retained as validation data to test the model and the other subsets (-1) are gathered together to form a training set. The cross validation process is repeated times (choosing another subset as the validation set. The training data set is modified accordingly), with each of the subsets used exactly once as validation data. The results of the subsets can then be calculated on average to produce a single estimate. The error estimate in the -fold cross-validation method is averaged over all the tests to obtain the total model efficiency.
Proposed approaches
In this section, we propose a SLS meta-heuristic for the selection of good attributes. This meta-heuristic is associated with a machine-learning algorithm for classifying Web services to improve the classifier performance (i.e. the classification rate), and this can reduce the size of the dataset. For this purpose, six supervised learning algorithms belonging to different groups have been selected (functions: SVM, bayes: NB, lazy: -NN, bayes: BN, trees: RT, and trees: RF). The proposed approaches (SVMSLS, NBSLS, -NNSLS, BNSLS, RTSLS, and RFSLS) have two main steps:
First step: The use of the SLS method for the relevant attributes selection.
Second step: The classification of Web services based on these relevant attributes using the six chosen learning algorithms.
The problem of attribute selection is a classic problem of combinatorial optimization difficult-to-solve belonging to the class of NP-hard problems [36, 21, 29, 18], because for attributes, the possible subsets are 2, so the selection of attributes is considered a combinatorial optimization problem. The attribute selection is a technique of selecting (searching for or choosing) a subset of relevant attributes of size from a set of attributes (the starting set of size ), such as the value of the objective function is optimized (maximized) for all subsets of size whose purpose is to reduce the dataset to be studied this can reduce the processing time and improve the classification of the dataset instances. In general, the attribute selection can be modeled as a combinatorial optimization problem difficult to solve (NP-hard), hence the need to use a meta-heuristic. We propose using the SLS meta-heuristic for selecting the good attributes. The problem of selecting relevant attributes for the Web services classification can be considered as a combinatorial optimization problem of maximization (, ) where is the combination of all relevant attributes and is the objective function (fitness). This maximization problem (, ) is formulated as follows:
The set of possible solutions (the search space): represents the optimal subsets of the good attributes.
The objective function (fitness): it corresponds to the function that needs to be optimized (i.e. , represents the accuracy rate of a classifier built with the subset of attributes , the Accuracy rate is the percentage of examples correctly classified by the classifier).
The neighborhood of a solution : corresponds to solutions adjacent to , each solution being obtained randomly by a change of the current solution (either by the addition or the deletion of an entity from the attributes vector with size ).
The objective function of the maximization problem () is defined as follows:
Section 6 describes in more detail the measures of performance evaluation of classifiers: Accuracy rate, Error rate, Precision, Recall, and F-Measure.
The main objective of this work is to optimize the classification rate (maximize) by selecting a subset of the best attributes (i.e. the optimal combinations of relevant attributes). The basic idea is to improve iteratively an existing solution by exploring a neighborhood. The neighboring solution that gives the maximum value of the classification rate (the maximum value returned by the objective function) among a set of possible neighboring solutions is selected and considered as a new current solution for the next iteration of the SLS meta-heuristic.
Stochastic Local Search (SLS) for attributes selection
The proposed approaches are hybridizations between a supervised classifier and a stochastic local search (SLS). The purpose of the SLS meta-heuristic is to iteratively select the subset of relevant attributes (the optimal solutions) in order to properly classify Web services. The selected attributes are sent to the classifier to find the best classification rate according to the value of the objective function. More specifically, SLS starts with an initial solution chosen in a random way and tries to improve it iteratively by looking for a better solution in the current neighborhood (i.e. Replace the current solution by one of its neighbors taking into account the objective function). All neighboring solutions are evaluated using the objective function. For this purpose, SLS uses two strategies to guide the search for solutions. Diversification that generate different solutions to explore large-scale research space, and intensification that focuses research on a local region to find the best current solution. SLS is repeated for a certain maximum number of iterations fixed empirically (max_iteration). The main steps of the SLS meta-heuristic have been presented in Algorithm 2 of Section 4.2.
The general form of a solution generated by SLS
A Web service is a set of attributes described in a WSDL document. This set represents a solution generated by the meta-heuristics SLS. In general, SLS requires an initial solution chosen randomly. Generally, for a set of data with attributes, there are 2 possible subsets (i.e. 2 combinations of possible attributes) to evaluate. A solution used in SLS for attribute selection is can be modeled by a binary vector (0, 1), where each bit represents an attribute. If an attribute is selected in a solution, its associated bit is set to 1, otherwise it is set to 0. As a result, the length of the solution vector is equal to the number of attributes indicating the attributes present in the dataset. The general form of a solution generated by SLS is given as follows: GenSol, where , and (the number of attributes in the dataset). Algorithm 3 presents a representation of a solution generated by SLS.
Algorithm 3: Representation of a solution generated by SLS
1: include:: integer (number of attributes in the dataset);
2: include:: an attribute, GenSol
: binary array;
3: for ( 1 to ) do
4: if ( selected) then
5: GenSol [] 1;
6: else GenSol [] 0;
7: end if
8: end for
9: return: GenSol : the final solution
generated by SLS;
For example, if 10, the following binary string: GenSol “1001110010” represent a solution generated by SLS, GenSol is a set of 10 attributes meaning that the selected attributes are: the (1), (4), (5), (6), and (9) (six attributes selected from a subset of ten attributes). In addition, the neighborhood solutions of the current solution GenSol “1001110010” are: {0001110010, 1101110010, 1011110010, 1000110010, 1001010010, 1001100010, 1001111010, 1001110110, 1001110000, 1001110011}.
The proposed optimization algorithm with SLS for attribute selection
The optimization approaches proposed to solve the Web services classification problem consists of combining two techniques, a supervised machine learning technique with a Stochastic Local Search (SLS). These approaches are validated with 10-fold cross validation. Algorithm 4 presents the main steps of the proposed approaches.
Algorithm 4: Proposed approach for Web services classification
1:
include: Data set scaling arff format, Number of attributes
(number_attributes);
2:
Maximum number of execution (max_execution);
3:
Maximum number of iteration (max_iteration);
4:
(walk probability) [0, 1], : number of fold
cross-validation;
5:
: number of fold cross-validation, SLS Meta-
heuristic;
6:
fitness Accuracy rate evaluation by 10-cross
validation;
7:
Supervised classifiers: SVM, NB, -NN, BN, RT, RF;
8:
Choose a classifier among the 6 supervised classifiers;
9:
SolGenSol (): generated solution by SLS;
10:
for ( 1 to max_execution) do
11:
Randomly generate an initial solution Sol;
12:
Accuracy Call the supervised classifier with Sol;
13:
for ( 1 to max_iteration) do
14:
random number [0, 1] (generate a random [0,
1]);
15:
if () then
16:
Pick a random neighbor solution: Generate
neighborhood Sol:
17:
neighborhood (Sol);
18:
Sol the best solution in the neighborhood;
19:
Accuracy Call a supervised classifier with best sol;
20:
else
21:
a random attribute [1, number_attributes];
22:
if (Sol [] 1) then
23:
Sol [] 1;
24:
else
25:
Sol [] 0;
26:
end if
27:
Accuracy Call a supervised classifier with Sol;
28:
end if
29:
end for
30:
end for
31:
return: Accuracy optimal of classification;
Experimental results
In this section, we present the experimental results obtained by the six approaches proposed (SVMSLS, NBSLS, -NNSLS, BNSLS, RTSLS, and RF SLS) adapted to solve the Web services classification problem. The evaluation measures and more precisely the accuracy rate were obtained using a Cross-Validation by 10, which uses (9/10) of the dataset for learning the algorithms and the rest for the test phase.
Implementation details for the proposed approaches
Id
Approach
Open source code of WEKA
Programming language
Operating system
Ap
SVMSLS
functions.libSVM
Java
Ubuntu Server
Ap
NBSLS
bayes.NaiveBayes
Java
Ubuntu Server
Ap
-NNSLS
lazy.IBk
Java
Ubuntu Server
Ap
BNSLS
bayes.BayesNet
Java
Ubuntu Server
Ap
RTSLS
trees.RandomTree
Java
Ubuntu Server
Ap
RFSLS
trees.RandomForest
Java
Ubuntu Server
The best values of the parameters of the proposed approaches
Id
Parameters
Values
P
max_execution (Maximum number of execution)
30
P
max_iteration (Maximum number of iteration)
50
P
[0, 1]: The walk probability of (SVMSLS) approach
0.6
P
[0, 1]: The walk probability of (NBSLS) approach
0.6
P
[0, 1]: The walk probability of (-NNSLS) approach
0.6
P
[0, 1]: The walk probability of (BNSLS) approach
0.6
P
[0, 1]: The walk probability of (RTSLS) approach
0.6
P
[0, 1]: The walk probability of (RFSLS) approach
0.6
P
: integer (Number of folds of cross-validation)
10
P
The objective function SLS: fitness
Accuracy rate
P
Other evaluation measures
Er, Pr, Re, and F-M
P
Data sets
{D, D, …, D}
Implementation details
The algorithms of the proposed approaches have been implemented in Java with the Eclipse development environment (Java IDE Integrated Development Environment) under the operating system: Ubuntu Server 16.04.2 LTS (Xenial Xerus) and executed on the machine: Intel machine (R) Core (TM) i5 CPU 2.4 GHz with 4 GB of RAM. Moreover, the SLS method was implemented in Java language and inserted into the WEKA source codes of the various machine learning methods selected for this study [52]. The WEKA 3.8.2 simulator (Waikato Environment for Knowledge Analysis) (http://www.cs.waikato.ac.nz/ml/weka/) [52] is a machine learning software for data mining tasks (pretreatment, classification, regression, grouping, association rules and visualization) developed by the Waikato University, written in java language. The WEKA preprocess and analyze data in ARFF format (Attribute Relationship File Format) or CSV format (Comma-Separated Values). The implementation details for each approach are shown in Table 2.
The parameters of the proposed approaches (parameters tuning)
Several series of tests were carried out to fix the best values of the parameters of the proposed algorithms for the resolution of the Web services classification problem. The maximum number of executions (max_execution), the maximum number of iterations (max_iteration), the walk probability (a fixed probability [0, 1]), the number of folds of Cross-Validation , and, the objective function of the SLS meta-heuristic (fitness Accuracy rate) represent the parameters of the six approaches proposed in this paper. The first three parameters (P: max_execution, P: max_iteration, and P: ) are defined and fixed empirically, i.e. after an experimental study. We performed several experiments to find the best values of the proposed approaches parameters. The value of each parameter is shown in the Table 3.
The performance of the proposed approaches was evaluated by a 10-fold Cross-Validation, which is the standard way to measure the accuracy rate [5].
Data sets used in this study
The performance of these approaches is validated and tested on two real datasets: QWS Dataset [2, 3, 4] and the OWLS-TC ver. 2.2 collection [24, 25]. This latter consists of six different versions (Text, OntImp, SynSig, SemSig, TextSynSig, and TextSemSig). Table 4 provides a general description of the datasets used in the evaluation process (D, D, D, D, D, D, and D).
The general description of QWS Dataset and the six versions of OWLS-TC ver. 2.2 [2, 24]
Id
Datasets
Attributes
Instances
Categories
Type
Format
D
QWS Dataset
10
364
4
Numeric
ARFF
D
Text
454
1007
7
Numeric
ARFF
D
OntImp
30
1007
7
Numeric
ARFF
D
SynSig
397
1007
7
Numeric
ARFF
D
SemSig
397
1007
7
Numeric
ARFF
D
TextSynSig
851
1007
7
Numeric
ARFF
D
TextSemSig
851
1007
7
Numeric
ARFF
The QWS Dataset benchmark
The QWS Dataset [2, 3, 4] it is a collection of 364 real Web services (available on the Web) classified in four categories (Platinum, Gold, Silver and Bronze). Each row of QWS Dataset represents a Web service and these nine corresponding QWS (Quality of Web Service) attributes. The classification in 4 classes of the quality of these Web services is measured by WsRF (Web service Relevance Function) parameter (i.e. the tenth attribute ) with the following attributes [2, 3, 4]: {: Response Time (), : Availability (%), : Throughput (Invokes/second), : Successability (%), : Reliability (%), : Compliance (%), : Best Practices (%), : Latency (ms), : Documentation (%), : WsRF (%), and : Service Classification (Classifier)}. The detailed description of the QWS Dataset is presented in Table 5.
The OWLS-TC ver. 2.2 [24, 25] is an artificial collection used in several research works on the Web services classification. It is composed of 1007 OWL-S advertisements pre-classified into seven classes: Travel, Education, Weapon, Food, Economy, Communication, and Medical. This collection is composed of six different versions of the dataset in WEKA format (.arff), namely: Text, OntImp, SynSig, SemSig, TextSynSig, and TextSemSig. Its detailed description is presented in Table 6.
The detailed description of the OWLS-TC ver. 2.2 [24, 25]
Categories of Web services
Number of Web services
Percentage of Web services
Category 1: Travel
165
16.39%
Category 2: Economy
365
36.25%
Category 3: Education
274
27.21%
Category 4: Food
33
3.28%
Category 5: Communication
58
5.76%
Category 6: Medical
73
7.25%
Category 7: Weapon
39
3.87%
Total
1007
100%
Scaling of the benchmark (data sets)
Feature scaling (data normalization) [28] is a simple and important technique performed during the data preprocessing stage and applied before using the data in their raw form (i.e. the original data). Specifically, this technique is used to normalize the data in predetermined ranges and make them usable by the machine learning algorithms for the classification task. The technique consists in resizing the range of features (i.e. the values of the dataset attributes) to resize it in a range between [0, 1] or [1, 1] ([, ] is the predefined interval of the feature scaling) whose purpose is to obtain smaller standard deviations, which makes it possible to avoid numerical difficulties during the calculation step and thus to avoid the effect of outliers. The normalization range selection depends essentially on the data nature. The main advantage of data normalization is that it preserves the relationships between the original data values. The general formula for the feature scaling is given as follows [28]:
Where refers to the original attribute value, refers to the attribute value to scaling, is the upper limit of the attribute value (a) and is the lower limit of the attribute value (a), and denote the minimum value and the maximum value of the predefined interval. In this study, we use 1 and 1 for the minimum and maximum values of the predefined interval. As a result, Eq. (28) becomes [28]:
Evaluation measures of classification performance
Evaluation measures play a major and important role in the design of classifiers. These measures are based on the confusion matrix, in order to evaluate and validate the performance of classification algorithms. To evaluate the results produced by the different algorithms, we use the following five evaluation measures: Accuracy rate, Error rate, Precision, Recall and F-Measure.
The accuracy rate (classification rate) is the percentage of examples correctly classified by the classifier. In this study, the accuracy rate is defined by:
The error rate is the percentage of examples misclassified. It is obtained by:
The precision is the proportion of predicted positives which are actual positive. It is defined by:
The recall is the proportion of actual positives which are predicted positive. It is obtained by:
The F-Measure (F-score): harmonic mean of Precision and Recall. It is defined by:
Where is the “true positive”, is the “true negative”, is the “false positive”, and is the “false negative”. The diagonal elements and in the confusion matrix (Table 7) represent the data properly classified by the classifier while other and diagonal elements represent the misclassified data.
A confusion matrix for a binary classification (2 classes)
Predicted class
Real class
X
Y
X
Y
Results obtained and discussion
In this subsection, we present the results obtained from the six proposed optimization approaches applied to the seven datasets D (). Generally, these approaches are iterative processes that are repeated several times until the stopping criterion is reached. Each approach has been applied several times during a number of executions initially set (max_execution 30). Then, each execution is repeated several times during a number of iterations initially set (max_iteration 50). More precisely, each approach evaluated 1500 possible solutions (i.e. max_executionmax_iteration 30 50 1500 possible solutions or 1500 possible subsets of attributes). For each subset of attributes Sol (1 50), the classifier gives the corresponding evaluation measures (fitness Accuracy rate Acc, Error rate Er, Precision Pr, Recall Re, and F-Measures F-M). Furthermore, among these 50 evaluation measures given by the classifier, the following values are calculated: The minimum accuracy (MIA %), the maximum accuracy (MAA %), the best accuracy (BA %), the best error rate (BER %), the best precision (BP), the best recall (BR), the best F-Measures (BFM), the number of relevant attributes (NA), and the calculation time in seconds (CT) for each execution Exe (1 30). More precisely, for each execution Exe (1 30), the classifier gives the following results: MIA, MAA, BA, BER, BP, BR, BFM, NA, and CT. Then, the global averages of the following values: BA, BER, BP, BR, BFM, NA and CT are calculated with the following formula (Eq. (35)):
Where is {BA, BER, BP, BR, BFM, NA, and CT}.
In the following, the experimental results found of the six proposed approaches (the optimal solutions) validated on the seven datasets (i.e. 7 6 42 possible results), according to the following evaluation measures: Accuracy rate, Error rate, Precision, Recall and F-Measure. Moreover, the following statistical measures were calculated for each data set: Min, Max, Q (First quartile: is the median of the lower half of a data series), Med (Median: represents the intermediate number of a data series), Q (Third quartile: is the median of the upper half of a data series), Mod (The most frequent value in a data series), SD (Standard Deviation : is a measure of the numbers distribution), and Avg (see the Eq. (35)) for each evaluation measure.
Table 8 presents the optimal solutions (OP) found by the two proposed approaches {(Ap: SVMSLS with the kernel RBF (Radial Basis Function) and the probability 0.6) and Ap: NBSLS with the probability 0.6)}.
The optimal solutions (OP) for the two proposed approaches (Ap: SVMSLS and Ap: NBSLS)
Data set
OP
Optimal solutions of Ap: SVMSLS
Optimal solutions of Ap: NBSLS
BA
BER
BP
BR
BFM
NA
BA
BER
BP
BR
BFM
NA
D
Min
84.34
1.10
0.855
0.843
0.845
1
85.16
0.55
0.856
0.852
0.851
1
Q
85.37
2.54
0.865
0.854
0.855
1.25
87.64
3.64
0.878
0.875
0.874
2
Med
87.09
12.91
0.883
0.871
0.872
3
89.70
10.30
0.905
0.897
0.897
5
Q
97.46
14.63
0.976
0.975
0.975
6.75
96.36
12.36
0.964
0.964
0.964
7
Mod
98.90
1.10
0.989
0.989
0.989
1
87.64
12.36
0.995
0.995
0.995
1
Max
98.90
15.66
0.989
0.989
0.989
9
99.45
14.84
0.995
0.995
0.995
9
SD
5.77
5.77
0.053
0.058
0.057
2.75
5.01
5.01
0.049
0.051
0.051
2.78
Avg
90.48
9.52
0.911
0.905
0.905
4
91.58
8.42
0.918
0.916
0.915
4.77
D
Min
55.91
24.33
0.361
0.559
0.441
1
90.17
7.85
0.903
0.902
0.899
147
Q
58.54
27.23
0.419
0.586
0.466
17.75
91.26
8.04
0.916
0.913
0.911
182.75
Med
66.73
33.27
0.796
0.667
0.638
51.5
91.76
8.24
0.919
0.918
0.917
206.50
Q
72.77
41.46
0.832
0.728
0.724
237.50
91.96
8.74
0.921
0.920
0.918
229.50
Mod
56.60
43.40
0.843
0.566
0.459
1
91.96
8.04
0.919
0.920
0.919
185
Max
75.67
44.09
0.843
0.757
0.758
430
92.15
9.83
0.923
0.922
0.920
453
SD
7.32
7.32
0.197
0.073
0.122
156.63
0.51
0.51
0.004
0.005
0.006
82.75
Avg
65.88
34.12
0.660
0.659
0.608
136.50
91.60
8.40
0.918
0.916
0.914
232.97
D
Min
72.59
20.95
0.677
0.726
0.683
6
60.08
26.12
0.575
0.601
0.550
3
Q
76.07
21.85
0.737
0.761
0.725
12.25
64.05
30.14
0.714
0.641
0.651
8.25
Med
78.05
21.95
0.800
0.781
0.768
15.5
65.84
34.16
0.738
0.658
0.667
10.50
Q
78.15
23.93
0.824
0.782
0.776
20.75
69.86
35.95
0.743
0.699
0.703
14.75
Mod
78.05
21.95
0.800
0.781
0.768
14
73.88
26.12
0.759
0.739
0.728
9
Max
79.05
27.41
0.833
0.790
0.788
30
73.88
39.92
0.761
0.739
0.728
29
SD
1.47
1.47
0.045
0.015
0.028
6.56
4.31
4.31
0.037
0.043
0.040
5.92
Avg
77.31
22.69
0.787
0.773
0.755
16.6
66.82
33.18
0.726
0.668
0.669
11.87
D
Min
36.25
29.10
0.131
0.362
0.193
3
69.31
12.61
0.739
0.693
0.682
29
Q
57.57
31.13
0.631
0.576
0.500
25.75
85.63
12.93
0.875
0.856
0.854
142
Med
64.35
35.65
0.789
0.644
0.630
44.5
86.40
13.60
0.884
0.864
0.861
158.5
Q
68.87
42.43
0.798
0.689
0.672
99.25
87.07
14.37
0.888
0.871
0.867
180.75
Mod
70.90
29.10
0.797
0.709
0.696
37
87.29
12.71
0.884
0.873
0.868
153
Max
70.90
63.75
0.828
0.709
0.696
393
87.39
30.69
0.891
0.874
0.869
397
SD
10.25
10.25
0.207
0.103
0.151
101.53
3.44
3.44
0.030
0.035
0.036
63.26
Avg
61.04
38.96
0.678
0.610
0.564
86.30
85.49
14.51
0.873
0.855
0.851
166.3
D
Min
72.29
15.89
0.694
0.723
0.682
27
85.50
10.53
0.869
0.855
0.853
238
Q
80.56
16.58
0.835
0.805
0.796
115
87.91
11.42
0.881
0.879
0.877
339.50
Med
82.22
17.78
0.843
0.822
0.812
134
88.28
11.72
0.886
0.883
0.883
355.50
Q
83.42
19.44
0.851
0.834
0.823
155.75
88.58
12.09
0.891
0.886
0.885
369.75
Mod
82.22
17.78
0.843
0.822
0.829
150
88.58
11.42
0.883
0.886
0.885
377
Max
84.11
27.71
0.856
0.841
0.829
390
89.47
14.50
0.897
0.895
0.894
393
SD
3.27
3.27
0.044
0.033
0.040
71.72
0.88
0.88
0.008
0.009
0.009
30.25
Avg
81.27
18.73
0.830
0.813
0.799
150.47
88.11
11.89
0.885
0.881
0.880
349.70
D
Min
46.08
24.33
0.351
0.461
0.355
1
90.07
7.05
0.905
0.901
0.896
179
Q
56.16
27.98
0.404
0.562
0.450
27
91.04
7.35
0.915
0.911
0.907
217.25
Med
64.55
35.45
0.693
0.646
0.584
169.50
92.40
7.60
0.926
0.925
0.923
268.50
Q
72.02
43.84
0.818
0.720
0.706
558.75
92.65
8.96
0.928
0.927
0.925
501.25
Mod
66.34
33.66
0.403
0.663
0.622
249
90.07
9.93
0.929
0.901
0.924
225.00
Max
75.67
53.92
0.846
0.757
0.755
848
92.95
9.93
0.930
0.929
0.929
850
SD
10.12
10.12
0.199
0.102
0.146
309.46
0.99
0.99
0.008
0.010
0.011
214.44
Avg
63.16
36.84
0.622
0.630
0.572
290.20
91.85
8.15
0.921
0.919
0.917
378.43
D
Min
67.43
14.20
0.619
0.674
0.617
20
80.54
6.75
0.809
0.805
0.803
91
Q
78.03
14.52
0.824
0.781
0.772
166.75
92.55
6.95
0.928
0.926
0.923
582.75
Med
85.15
14.85
0.861
0.852
0.840
187.50
92.95
7.05
0.930
0.929
0.928
734
Q
85.48
21.97
0.864
0.855
0.844
291.75
93.05
7.45
0.932
0.930
0.929
795.50
Mod
85.20
14.80
0.861
0.852
0.846
236
92.95
7.05
0.931
0.929
0.928
489
Max
85.80
32.57
0.867
0.858
0.847
849
93.25
19.46
0.933
0.932
0.931
846
SD
6.24
6.24
0.071
0.062
0.076
215.73
2.30
2.30
0.023
0.023
0.023
159.93
Avg
81.25
18.75
0.821
0.813
0.794
269.70
92.32
7.68
0.925
0.923
0.921
663.67
The optimal solutions (OP) for the two proposed approaches (Ap: -NNSLS and Ap: BNSLS)
Data set
OP
Optimal solutions of Ap: -NNSLS
Optimal solutions of Ap: BNSLS
BA
BER
BP
BR
BFM
NA
BA
BER
BP
BR
BFM
NA
D
Min
79.67
0.27
0.803
0.797
0.799
1
99.45
0
0.995
0.995
0.994
1
Q
84.21
6.04
0.851
0.842
0.843
2
100
0
1
1
1
2.25
Med
87.36
12.64
0.876
0.874
0.874
4
100
0
1
1
1
4
Q
93.96
15.80
0.942
0.940
0.940
5
100
0
1
1
1
6
Mod
93.96
6.04
0.942
0.940
0.940
2
100
0
1
1
1
3
Max
99.73
20.33
0.997
0.997
0.997
9
100
0.55
1
1
1
9
SD
6.46
6.46
0.062
0.065
0.064
2.24
0.13
0.13
0.001
0.001
0.001
2.46
Avg
89.52
10.48
0.899
0.895
0.896
3.77
99.95
0.05
1
1
1
4.43
D
Min
92.45
6.06
0.926
0.925
0.924
306
92.25
6.16
0.922
0.923
0.922
188
Q
93.64
6.16
0.937
0.936
0.936
437
93.55
6.36
0.936
0.935
0.935
348.25
Med
93.74
6.26
0.938
0.937
0.937
441.50
93.55
6.45
0.936
0.935
0.935
408
Q
93.84
6.36
0.939
0.938
0.938
445
93.64
6.45
0.937
0.936
0.936
435.50
Mod
93.74
6.26
0.941
0.937
0.937
444
93.55
6.45
0.936
0.935
0.935
346
Max
93.94
7.55
0.941
0.939
0.939
453
93.84
7.75
0.939
0.938
0.938
453
SD
0.33
0.33
0.003
0.003
0.003
31.35
0.27
0.27
0.003
0.003
0.003
56.04
Avg
93.69
6.31
0.938
0.937
0.936
432.60
93.55
6.45
0.936
0.935
0.935
387.60
D
Min
78.45
20.26
0.817
0.785
0.787
10
57.30
34.06
0.400
0.573
0.461
1
Q
79.64
20.26
0.824
0.796
0.794
14.25
64.72
34.16
0.725
0.647
0.646
8.25
Med.
79.74
20.26
0.827
0.797
0.795
17
65.34
34.66
0.743
0.653
0.662
14.50
Q
79.74
20.36
0.827
0.797
0.795
22.75
65.84
35.28
0.744
0.658
0.667
21.75
Mod
79.74
20.26
0.827
0.797
0.795
16
65.94
34.06
0.744
0.659
0.668
14
Max
79.74
21.55
0.827
0.797
0.795
29
65.94
42.70
0.763
0.659
0.668
29
SD
0.24
0.24
0.002
0.002
0.001
5.46
2.15
2.15
0.088
0.021
0.051
8.32
Avg
79.66
20.34
0.826
0.796
0.794
18.4
64.66
35.34
0.714
0.646
0.644
15
D
Min
87.19
8.24
0.883
0.872
0.871
72
90.27
9.24
0.907
0.903
0.901
201
Q
90.27
8.84
0.906
0.903
0.901
358
90.57
9.26
0.908
0.906
0.902
370.25
Med
90.27
9.73
0.907
0.903
0.902
368
90.57
9.43
0.909
0.906
0.903
373
Q
91.16
9.73
0.916
0.912
0.912
384.75
90.74
9.43
0.911
0.908
0.905
377
Mod
90.27
9.73
0.906
0.903
0.902
72
90.57
9.43
0.908
0.906
0.903
371
Max
91.76
12.81
0.92
0.918
0.917
393
90.76
9.73
0.911
0.908
0.905
396
SD
1.26
1.26
0.011
0.013
0.013
104.55
0.15
0.15
0.001
0.002
0.001
53.52
Avg
90.24
9.76
0.907
0.903
0.902
333.87
90.59
9.41
0.909
0.906
0.903
357.33
D
Min
90.27
6.06
0.908
0.903
0.903
137
81.33
12.51
0.836
0.813
0.806
139
Q
92.95
6.45
0.935
0.929
0.930
163.50
87.21
12.51
0.891
0.872
0.872
282
Med
93.30
6.70
0.937
0.933
0.933
194.50
87.39
12.61
0.892
0.874
0.873
319
Q
93.55
7.05
0.939
0.935
0.935
247
87.49
12.79
0.893
0.875
0.874
347.75
Mod
93.55
6.45
0.939
0.933
0.933
201
87.49
12.51
0.892
0.875
0.874
345
Max
93.94
9.73
0.943
0.939
0.939
394
87.49
18.67
0.893
0.875
0.874
396
SD
0.75
0.75
0.007
0.007
0.007
81.78
1.12
1.12
0.010
0.011
0.012
54.37
Avg
93.12
6.88
0.935
0.931
0.931
221.50
87.11
12.89
0.890
0.871
0.870
312.87
D
Min
93.05
6.75
0.932
0.930
0.929
775
93.35
5.76
0.934
0.933
0.932
453
Q
93.15
6.85
0.933
0.931
0.930
821.25
94.04
5.86
0.941
0.940
0.940
619
Med
93.15
6.85
0.933
0.931
0.930
828.50
94.04
5.96
0.941
0.940
0.940
625.50
Q
93.15
6.85
0.933
0.931
0.930
835.75
94,14
5.96
0.942
0.941
0.940
730.75
Mod
93.15
6.85
0.933
0.931
0.930
789
94.04
5.96
0.941
0.940
0.940
619
Max
93.25
6.95
0.933
0.932
0.931
850
94.24
6.65
0.943
0.942
0.942
850
SD
0.05
0.05
0.000
0.000
0.000
19.77
0.22
0.22
0.002
0.002
0.002
78.65
Avg
93.17
6.83
0.933
0.931
0.930
825.07
94.02
5.98
0.941
0.940
0.940
658.10
D
Min
93.74
5.16
0.938
0.937
0.937
256
91.66
5.86
0.919
0.917
0.916
381
Q
94.14
5.16
0.942
0.941
0.941
617.50
93.05
6.65
0.932
0.930
0.929
463.50
Med.
94.59
5.41
0.947
0.946
0.946
654
93.35
6.75
0.934
0.933
0.932
501.50
Q
94.84
5.86
0.949
0,948
0.948
685
93.35
6.95
0.934
0.933
0.933
776.75
Mod
94.84
5.16
0.949
0.948
0.948
705
93.35
6.65
0.934
0.933
0.932
454
Max
94.84
6.26
0.949
0.948
0.948
850
94.14
8.34
0.941
0.941
0.941
850
SD
0.42
0.42
0.004
0.004
0.004
148.30
0.64
0.64
0.006
0.006
0.007
169.87
Avg
94.45
5.55
0.945
0.944
0.944
627.53
93.14
6.88
0.932
0.931
0.930
610.63
The optimal solutions (OP) for the two proposed approaches (Ap: RTSLS and Ap: RFSLS)
Data set
OP
Optimal solutions of Ap: RTSLS
Optimal solutions of Ap: RFSLS
BA
BER
BP
BR
BFM
NA
BA
BER
BP
BR
BFM
NA
D
Min
94.51
0
0.946
0.945
0.945
1
100
0
1
1
1
1
Q
96.77
0.89
0.968
0.968
0.968
4
100
0
1
1
1
4
Med
97.53
2.47
0.976
0.975
0.975
6
100
0
1
1
1
6
Q
99.11
3.23
0.991
0.991
0.991
7
100
0
1
1
1
7
Mod
100
0
0.976
0.975
0.975
7
100
0
1
1
1
7
Max
100
5.49
1
1
1
9
100
0
1
1
1
9
SD
1.66
1.66
0.016
0.017
0.017
2.16
0
0
0
0
0
2.08
Avg
97.66
2.34
0.977
0.977
0.977
5.47
100
0
1
1
1
5.73
D
Min
87.39
8.94
0.878
0.874
0.873
76
94.14
4.87
0.942
0.941
0.941
201
Q
88.85
9.76
0.892
0.889
0.888
100.25
94.64
5.06
0.947
0.946
0.946
350.25
Med
89.47
10.53
0.899
0.895
0.895
240.50
94.84
5.16
0.949
0.948
0.948
366
Q
90.24
11.15
0.904
0.903
0.902
369.75
94.94
5.36
0.951
0.949
0.949
409.75
Mod
88.38
11.62
0.904
0.884
0.902
354
94.64
5.36
0.947
0.946
0.946
360
Max
91.06
12.61
0.912
0.911
0.910
453
95.13
5.86
0.952
0.951
0.951
453
SD
0.93
0.93
0.009
0.009
0.009
140.90
0.22
0.22
0.002
0.002
0.002
50.87
Avg
89.49
10.51
0.898
0.895
0.895
250.50
94.81
5.19
0.949
0.948
0.948
378.17
D
Min
78.35
20.36
0.816
0.784
0.786
10
79.44
20.06
0.830
0.794
0.792
11
Q
79.64
20.36
0.825
0.796
0.795
12
79.84
20.06
0.830
0.798
0.797
14.25
Med
79.64
20.36
0.825
0.796
0.795
15
79.84
20.16
0.830
0.798
0.797
18.50
Q
79.64
20.36
0.825
0.796
0.795
20.75
79.94
20.16
0.832
0.799
0.798
22
Mod
79.64
20.36
0.825
0.796
0.795
11
79.84
20,16
0.830
0.798
0.797
22
Max
79.64
21.65
0.833
0.796
0.795
28
79.94
20.56
0.835
0.799
0.798
29
SD
0.25
0.25
0.003
0.002
0.002
5.09
0.09
0.09
0.001
0.001
0.001
5.09
Avg
79.56
20.44
0.825
0.795
0.794
16.33
79.87
20.13
0.831
0.798
0.797
18.70
D
Min
83.02
9.73
0.861
0.830
0.831
54
87.39
5.76
0.889
0.874
0.874
65
Q
87.12
10.82
0.879
0.871
0.873
95.25
93.05
6.18
0.936
0.930
0.931
304.50
Med
88.38
11.62
0.894
0.884
0.886
132
93.55
6.45
0.941
0.935
0.936
360
Q
89.18
12.88
0.901
0.892
0.892
259
93.82
6.95
0.944
0.938
0.939
383
Mod
87.09
12.91
0.894
0.871
0.892
180
94.14
5.86
0.947
0.941
0.942
386
Max
90.27
16.98
0.908
0.903
0.902
397
94.24
12.61
0.947
0.942
0.943
396
SD
1.66
1.66
0.013
0.017
0.016
110.51
1.56
1.56
0.014
0.015
0.016
92.22
Avg
88.06
11.94
0.890
0.881
0.882
178.30
93.13
6.87
0.937
0.931
0.932
320.07
D
Min
78.05
6.26
0.809
0.781
0.773
33
92.85
4.37
0.934
0.929
0.929
138
Q
92.08
6.55
0.924
0.921
0.921
165
95.03
4.67
0.953
0.950
0.951
187.25
Med
93.25
6.75
0.935
0.932
0.932
206.50
95.23
4.77
0.955
0.952
0.953
215.50
Q
93.45
7.92
0.937
0.934
0.935
272.75
95.33
4.97
0.956
0.953
0.954
255.75
Mod
93.55
6.45
0.938
0.935
0.935
165
95.03
4.97
0.956
0.950
0.953
187
Max
93.74
21.95
0.940
0.937
0.937
395
95.63
7.15
0.959
0.956
0.956
397
SD
3.02
3.02
0.025
0.030
0.031
80.84
0.59
0.59
0.005
0.006
0.006
74.00
Avg
92.09
7.91
0.925
0.921
0.921
217.53
95.08
4.92
0.954
0.950
0.951
237.60
D
Min
85.80
8.34
0.879
0.858
0.858
64
94.84
3.77
0.949
0.948
0.948
281
Q
90.19
9.16
0.903
0.902
0.902
150.75
95.66
4.07
0.957
0.956
0.956
687
Med
90.47
9.53
0.907
0.905
0.904
270
95.83
4.17
0.959
0.958
0.958
771
Q
90.84
9.81
0.911
0.909
0.909
551
95.93
4.34
0.960
0.959
0.959
790
Mod
90.37
9.63
0.912
0.904
0.906
148
95.83
4.17
0.959
0.958
0.958
776
Max
91.66
14.20
0.919
0.917
0.916
849
96.23
5.16
0.963
0.962
0.962
850
SD
1.26
1.26
0.009
0.013
0.013
260.57
0.32
0.32
0.003
0.003
0.003
143.85
Avg
90.20
9.80
0.905
0.902
0.902
372.20
95.75
4.25
0.958
0.957
0.957
708.43
D
Min
90.57
5.56
0.914
0.906
0.907
144
96.52
2.98
0.965
0.965
0.965
416
Q
92.58
6.48
0.926
0.926
0.926
316.25
96.72
3.18
0.967
0.967
0.967
720
Med
93.25
6.75
0.934
0.932
0.932
363
96.82
3.18
0.968
0.968
0.968
792.50
Q
93.52
7.43
0.937
0.935
0.935
584
96.82
3.28
0.968
0.968
0.968
817
Mod
93.55
6.45
0.938
0.935
0.935
341
96.72
3.28
0.967
0.967
0.967
720
Max
94.44
9.43
0.947
0.944
0.944
846
97.02
3.48
0.970
0.970
0.970
848
SD
0.71
0.71
0.007
0.007
0.007
196.16
0.10
0.10
0.001
0.001
0.001
101.29
Avg
93.01
6.99
0.932
0.930
0.930
453.83
96.80
3.20
0.968
0.968
0.968
747.53
A comparative study based on the classification rate of the six proposed approaches
The six proposed approaches (classification rate %)
Statistics
Data set
SVMSLS
NBSLS
-NNSLS
BNSLS
RTSLS
RFSLS
Min
Med
Max
SD
Avg
D
90.48
91.58
89.52
99.95
97.66
100
89.52
94.62
100
4.87
94.87
D
65.88
91.60
93.69
93.55
89.49
94.81
65.88
92.58
94.81
11.08
88.17
D
77.31
66.82
79.66
64.66
79.56
79.87
64.66
78.44
79.87
6.99
74.65
D
61.04
85.49
90.24
90.59
88.06
93.13
61.04
89.15
93.13
11.90
84.76
D
81.27
88.11
93.12
87.11
92.09
95.08
81.27
90.10
95.08
5.03
89.46
D
63.16
91.85
93.17
94.02
90.20
95.75
63.16
92.51
95.75
12.33
88.03
D
81.25
92.32
94.45
93.14
93.01
96.80
81.25
93.08
96.80
5.42
91.83
Avg
8.23
87.40
A comparative study according to the number of selected attributes
Initial data set
Number of good attributes NA
Statistics
Data set
Attributes
SVMSLS
NBSLS
-NNSLS
BNSLS
RTSLS
RFSLS
Min
Med
Max
SD
Avg
D
10
4
5
4
4
5
6
4
4.50
6
0.82
4.67
D
454
136
233
433
388
251
378
136
314.50
433
114.23
303.17
D
30
17
12
18
15
16
19
12
16.50
19
2.48
16.17
D
397
86
166
334
357
178
320
86
249
357
111.32
240.17
D
397
150
350
222
313
218
238
150
230
350
71.98
248.50
D
851
290
378
825
658
372
708
290
518
825
219.24
538.50
D
851
270
664
628
611
454
748
270
619.50
748
172.44
562.50
Avg
98.93
273.38
The optimal solutions (OP) found by the third approach (Ap: k-NNSLS with the probability 0.6) and by the fourth approach (Ap: BNSLS with the probability 0.6) are presented in Table 9. In the -NNSLS approach, the number of the nearest neighbors {7, 1, 1, 1, 1, 1, 1} give respectively the best accuracy for the datasets: {D, D, D, D, D, D, D}, and the Euclidean distance was used as the distance measure.
Table 10 illustrates the optimal solutions (OP) found by the fifth approach (Ap: RTSLS with the probability 0.6) and by the sixth approach (Ap: RFSLS with the probability 0.6).
Table 11 is derived from the three preceding tables (i.e. Tables 8–10), which represents a comparative study based on the classification rate (%) of the six approaches proposed for the seven datasets. The best results are shown in bold.
The empirical results in Table 11 show that the Ap: RFSLS approach gives the best classification rate among the six approaches proposed for all the datasets used in this study {(Ap: 100%, D), (Ap: 94.81%, D), (Ap: 79.87%, D), (Ap: 93.13%, D), (Ap: 95.08%, D), (Ap: 95.75%, D), (Ap: 96.80%, D)}. Therefore, the best approach for classifying Web services among the other proposed approaches is the Ap: RFSLS approach with probability 0.6.
Table 12 shows the number of the relevant attributes (the correct attributes) resulting from the application of the six proposed approaches applied to the seven datasets (D, D, D, D, D, D, and D). The best results are shown in bold.
The empirical results presented in Table 12 show a significant reduction in the number of attributes (i.e. the characteristics representing the Web service) for each dataset (D, D, …, D) at an estimated average rate (Avg) of: {Avg (D) 4.67, Avg (D) 303.17, Avg (D) 16.17, Avg (D) 240.17, Avg (D) 248.5, Avg (D) 538.50, and Avg (D) 562.50}, compared to the number of initial attributes of the seven datasets. Moreover, the comparison between the six approaches proposed in terms of the number of selected attributes clearly shows that these six approaches give the best classification rate (as well as: Re, Pr, Re, and FM) with a small set of attributes. In general, the Ap: SVMSLS approach gives a smaller number of attributes compared to other approaches. Reducing the attributes number inevitably reduces the size of the dataset and therefore greatly increases the performance and the efficiency of the classifiers (in terms of accuracy).
Table 13 summarizes the main relevant attributes (good attributes) found by the proposed approaches for each dataset D ().
The best attributes for each dataset D ()
Data set
Number of selected attributes
The relevant attributes ranked in ascending order
D
4
D
10
D
10
D
10
D
10
D
10
D
10
A comparative study according to the average calculation time (sec) of each approach
The calculation time in seconds CT (sec)
Statistics
Data set
SVMSLS
NBSLS
-NNSLS
BNSLS
RTSLS
RFSLS
Min
Max
SD
Avg
D
105.38
116.92
115.70
113.86
123.15
110.51
105.38
123.15
6.02
114.25
D
2716.97
2783.28
2848.61
2731.51
3096.25
2627.04
2627.04
3096.25
162.42
2800.61
D
209.43
215.41
213.26
217.72
222.74
229.99
209.43
229.99
7.33
218.09
D
2229.22
2417.37
2504.92
2257.97
2420.57
2309.83
2229.22
2504.92
107.63
2356.65
D
2350.56
2396.43
2448.76
2361.19
2506.72
2443.12
2350.56
2506.72
59.48
2417.80
D
4501.51
5154.79
5311.33
4993.28
5255.07
4877.31
4501.51
5311.33
299.36
5015.55
D
3913.63
5129.12
5191.43
5064.42
5472.08
4580.36
3913.63
5472.08
559.72
4891.84
Avg
171.71
2544.97
Box plot for the dataset D: QWS Dataset and the dataset D: Text.
Box plot for the dataset D: OntImp and the dataset D: SynSig.
Box plot for the dataset D: SemSig and the dataset D: TextSynSig.
Each of the proposed approaches takes a certain amount of calculation time to find optimal solutions depending on the size and number of attributes of the dataset, on the one hand, and on the other hand, depending on the speed of the computer and its operating system. Table 14 shows the average calculation time (i.e. 30 calculation times, see Table 3 parameter P) in seconds to find the optimal solutions for each of the six approaches proposed in this study. Each approach has been validated and tested on seven different datasets. The best results are shown in bold.
The box plots (Q, Med, Q, and the outlier values: represented by the small circles) of Figs 1–4 illustrate the distribution of the classification rates of the six proposed approaches (on the 30 executions) for each dataset.
Box plot for the dataset D: TextSemSig.
The box plots (Figs 1–4) clearly show that the sixth approach (Ap: RFSLS) gave a better result (good result) in terms of classification rates compared to other proposed approaches. Moreover, the approach (Ap: SVMSLS) gave the widest interquartile space IQR (i.e. the distance between the 1 and the 3 quartile) in all datasets D (). In other words, the SVM classifier has significantly improved when combined with the SLS meta-heuristic compared to the other approaches.
Comparison and validation of the proposed approaches
In order to compare and validate the six proposed approaches, four comparison phases based on classification rates were performed: the first phase, comparison of proposed approaches with SVM, NB, -NN, BN, RT, and RF. The second phase, the use of the Ranker Search Method RSM [52] associated with the basic classifiers. The third phase, the use of 24 learning WEKA methods [52], and the fourth phase, the use of some approaches from previous work. The details of these comparisons are presented below.
The first (1) phase of comparison
During this phase, the comparison is made between the proposed approaches (hybrid classifiers) and their basic classifiers (SVM, NB, -NN, BN, RT, and RF) validated and tested on 7 data sets D (). More precisely, the comparison is made between the pairs of the following classifiers: {(SVM, SVMSLS), (NB, NBSLS), (-NN, -NNSLS), (BN, BNSLS), (RT, RTSLS), and (RF, RFSLS)}. Table 15 shows the results obtained from the first comparison phase (the best results are shown in bold).
The first phase of comparison based on the classification rate (%)
1 Versus
2 Versus
3 Versus
4 Versus
5 Versus
6 Versus
Data set
SVM
SVMSLS
NB
NBSLS
-NN
-NNSLS
BN
BNSLS
RT
RTSLS
RF
RFSLS
D
85.44
90.48
81.87
91.58
77.47
89.52
99.73
99.95
94.51
97.66
100
100
D
55.81
65.88
90.37
91.60
93.25
93.69
93.35
93.55
87.09
89.49
94.44
94.81
D
75.37
77.31
60.68
66.82
79.64
79.66
60.68
64.66
79.64
79.56
79.84
79.87
D
36.25
61.04
84.51
85.49
90.07
90.24
90.37
90.59
86.99
88.06
92.25
93.13
D
72.69
81.27
85.8088.11
92.45
93.12
86.40
87.11
90.67
92.09
94.44
95.08
D
45.58
63.16
89.97
91.85
93.15
93.17
93.35
94.02
85.60
90.20
95.63
95.75
D
67.43
81.25
91.96
92.32
93.84
94.45
91.66
93.14
90.37
93.01
96.72
96.80
Min
36.25
61.04
60.68
66.82
77.47
79.66
60.68
64.66
79.64
79.56
79.84
79.87
Med
67.43
77.31
85.80
91.58
92.45
93.12
91.66
93.14
87.09
90.20
94.44
95.08
Max
85.44
90.48
91.96
92.32
93.84
94.45
99.73
99.95
94.51
97.66
100
100
SD
17.51
11.09
10.73
09.17
06.96
05.14
12.67
11.41
04.70
05.56
06.41
6.43
Avg
62.65
74.34
83.59
86.82
88.55
90.55
87.93
89.00
87.84
90.01
93.33
93.63
In general, the experimental results presented in Table 15 showed a significant increase in the classification rate in each of the proposed hybrid classifiers compared to the basic classifiers, with a success rate of 97.62% (i.e. 41 classification rate out of 42: 41/42), except the case of the RT method validated on dataset D: OntImp in which the accuracy rate did not improve (i.e. the RT method with an Accuracy rate of 79.64% is better than the Ap: RTSLS approach validated on dataset D: OntImp with an Accuracy rate of 79.56%). By observing the 42 classification rates resulting from the six proposed approaches, the first approach (Ap: SVMSLS, SVM) showed a significant increase in the values of the classification rates resulting from the seven sets of data compared to the rest of the other approaches. Moreover, we note that all values of the average classification rates (Avg.) for the six proposed approaches have been improved {(Ap: SVMSLS 74.34%), (Ap: NBSLS 86.82%), Ap: (-NNSLS 90.55%), Ap: (BNSLS 89.00%), (Ap: RTSLS 90.01%), and Ap: (RFSLS 93.63%)}. The results obtained in Table 15 clearly show that the six proposed optimization approaches are much better than the basic chosen methods.
The second (2) phase of comparison
In the second (2) comparison phase, we chose to compare each proposed approach with each classifier associated with the WEKA Ranker Search Method [52] validated and tested on 7 datasets (D, D, D, D, D, D, and D). The Ranker Search Method (RSM) [52] is an attribute selection method that allows the attributes to be ordered according to their individual evaluation value, this method is divided into two parts: the evaluator of the attribute value based on the gain ratio with respect to the class (GainRatioAttributeEval), and the search method for choosing a short list of attributes (a fixed threshold or a number of attributes to keep). More precisely, the comparison is made between the pairs of the following classifiers: {(SVMRSM, SVMSLS), (NBRSM, NBSLS), (-NNRSM, -NNSLS), (BNRSM, BNSLS), (RTRSM, RTSLS), and (RFRSM, RFSLS)}. The results of this comparison phase are illustrated in Table 16 (the best results are shown in bold).
The second phase of comparison based on the classification rate (%)
1 Versus
2 Versus
3 Versus
4 Versus
5 Versus
6 Versus
Data set
SVM RSM
SVM SLS
NB RSM
NB SLS
-NN RSM
-NN SLS
BN RSM
BN SLS
RT RSM
RT SLS
RF RSM
RF SLS
D
85.71
90.48
82.42
91.58
87.36
89.52
100
99.95
96.70
97.66
100
100
D
62.26
65.88
89.08
91.60
93.45
93.69
92.65
93.55
88.48
89.49
91.66
94.81
D
69.31
77.31
61.07
66.82
74.98
79.66
62.86
64.66
70.31
79.56
76.86
79.87
D
50.25
61.04
66.04
85.49
87.98
90.24
88.18
90.59
73.49
88.06
89.28
93.13
D
76.86
81.27
85.30
88.11
86.20
93.12
86.79
87.11
87.39
92.09
89.18
95.08
D
59.09
63.16
88.28
91.85
92.95
93.17
93.15
94.02
89.77
90.20
93.94
95.75
D
75.07
81.25
91.06
92.32
89.18
94.45
91.56
93.14
90.37
93.01
96.62
96.80
Min
50.25
61.04
61.07
66.82
74.98
79.66
62.86
64.66
70.31
79.56
76.86
79.87
Med
69.31
77.31
85.30
91.58
87.98
93.12
91.56
93.14
88.48
90.20
91.66
95.08
Max
85.71
90.48
91.06
92.32
93.45
94.45
100
99.95
96.70
97.66
100
100
SD
12.04
11.09
11.97
09.17
06.15
05.14
11.82
11.41
09.61
05.56
07.39
6.43
Avg
68.36
74.34
80.46
86.82
87.44
90.55
87.88
89.00
85.22
90.01
91.08
93.63
Histogram of comparison for the dataset D: QWS Dataset and the dataset D: Text.
The results in Table 16 indicate that 40 of the 42 classification rates of the proposed approaches have improved compared to the basic methods combined with RSM, with a success rate of 95.24% (i.e. 40 classification rate out of 42: 40/42), while one case has remained unchanged (Ap: RFSLS 100% and RFRSM 100% were validated on the same dataset D) and another did not improve (Ap: BNSLS 99.95% and BNRSM 100% were validated on the same dataset D). Moreover, we note that all values of the average classification rates (Avg.) for the six proposed approaches have been improved {(Ap: SVMSLS 74.34%), (Ap: NBSLS 86.82%), (Ap: -NNSLS 90.55%), (Ap: BNSLS 89.00%), (Ap: RTSLS 90.01%), and (Ap: RFSLS 93.63%)}. The results obtained in Table 16 clearly show that the six proposed optimization approaches are much better than the basic methods combined with the RSM attribute selection method of the WEKA software.
Histogram of comparison for the dataset D: OntImp and the dataset D: SynSig.
Histogram of comparison for the dataset D: SemSig and the dataset D: TextSynSig.
Histogram of comparison for the dataset D: TextSemSig.
The histograms of Figs 5–8 represents a comparison based on the classification rates between three types of classifiers {the basic classifiers, the basic classifiers combined with RSM, and the basic classifiers combined with SLS (the six proposed approaches)} validated for each dataset D ().
According to the results presented in graphs (Figs 5–8), it is clear that the proposed approaches (SVMSLS, NBSLS, -NNSLS, BNSLS, RTSLS, and RFSLS) are much better in terms of classification rates than the basic classifiers combined with RSM (SVMRSM, NBRSM, -NNRSM, BNRSM, RTRSM, and RFRSM) and also for basic classifiers (SVM, NB, -NN, BN, RT, and RF), and this for all datasets (D, D, …, D). The results obtained are very encouraging and interesting and demonstrate the advantages of the proposed approaches for the supervised classification of Web services, in particular the use of the SLS meta-heuristic for the selection of good attributes (the relevant attributes).
The third (3) phase of comparison
In the third (3) comparison phase, a list of 24 supervised classification methods of the WEKA software [52] was chosen and used with their predefined parameters. In this case, the comparison is made between the six proposed approaches and the 24 WEKA classification methods. These methods are presented in Table 17.
List of 24 supervised classification methods of WEKA [52]
Id
Group
WEKA methods
Id
Group
WEKA methods
1
Functions
logistic (L)
13
Meta
MultiClassClassifer (MCC)
2
Functions
RBFNetwork (RBFN)
14
Meta
MultiScheme (MS)
3
Functions
SMO
15
Meta
Vote (V)
4
Functions
MLPClassifier (MLPC)
16
Lazy
KStar (KS)
5
Functions
RBFClassifier (RBFC)
17
Lazy
LWL
6
Bayes
NaiveBayesMultinominalText (NBMT)
18
Lazy
RseslibKnn (RK)
7
Bayes
NaiveBayesUpdateable (NBU)
19
Misc
CHIRP
8
Meta
AdaBoostM1 (ABM1)
20
Misc
InputMappedClassifier (IMC)
9
Meta
CVParameterSelection (CVPS)
21
Rules
ConjunctiveRule (CR)
10
Meta
MultiClassClassifierUpdateable (MCCU)
22
Rules
ZeroR (ZR)
11
Meta
AttributeSelectedClassifier (ASC)
23
Trees
DecisionStump (DS)
12
Meta
RandomizableFiltredClassifier (RFC)
24
Trees
HoeffdingTree (HT)
Tables 18 and 19 show respectively the results of the descending comparison (i.e. R. From 1 to 30) of the classification rates (Acc %) between the six proposed approaches and the list of 24 supervised classification methods of WEKA [52] validated respectively on the datasets (D, D, D, D) and (D, D, D).
Top ranking (R) of classification methods for datasets: D, D, D, and D
Dataset D: QWS dataset
Dataset D: Text
Dataset D: OntImp
Dataset D: SynSig
R
Method
Acc %
R
Method
Acc %
R
Method
Acc %
R
Method
Acc %
1
RFSLS
100
1
RFSLS
94.81
1
RFSLS
79.87
1
SMO
94.04
2
BNSLS
99.95
2
SMO
94.04
2
k-NNSLS
79.66
2
L
93.74
3
ASC
99.73
3
KS
93.94
3
SMO
79.64
3
MCC
93.74
4
RTSLS
97.66
4
k-NNSLS
93.69
4
RFC
79.64
4
RFSLS
93.13
5
L
93.13
5
MCCU
93.64
5
RTSLS
79.56
5
MCCU
92.35
6
NBSLS
91.58
6
BNSLS
93.55
6
RBFN
79.44
6
CHIRP
92.35
7
SVMSLS
90.48
7
CHIRP
93.25
7
L
78.85
7
KS
91.76
8
k-NNSLS
89.52
8
RK
92.55
8
KS
78.75
8
RBFN
91.26
9
CHIRP
89.29
9
NBSLS
91.60
9
MCC
77.86
9
RK
90.96
10
HT
87.64
10
RBFN
90.37
10
SVMSLS
77.31
10
BNSLS
90.59
11
RBFN
86.81
11
NBU
90.37
11
MLPC
75.67
11
k-NNSLS
90.24
12
SMO
86.54
12
MCC
90.17
12
CHIRP
75.27
12
RTSLS
88.06
13
RK
85.99
13
L
89.97
13
ASC
75.07
13
MLPC
85.80
14
MLPC
85.71
14
RTSLS
89.49
14
MCCU
73.78
14
NBSLS
85.49
15
MCC
85.44
15
MLPC
82.92
15
RBFC
69.81
15
NBU
84.51
16
KS
82.69
16
ASC
80.73
16
NBSLS
66.82
16
HT
84.51
17
RBFC
78.02
17
RFC
73.09
17
LWL
66.53
17
ASC
79.15
18
LWL
77.47
18
RBFC
71.40
18
BNSLS
64.66
18
RBFC
73.78
19
MCCU
76.37
19
SVMSLS
65.88
19
RK
62.16
19
RFC
66.93
20
RFC
75.00
20
HT
60.97
20
NBU
60.68
20
SVMSLS
61.04
21
ABM1
60.44
21
CR
57.30
21
HT
60.68
21
LWL
47.77
22
DS
60.44
22
LWL
55.91
22
ABM1
57.30
22
ABM1
43.40
23
CR
60.44
23
ABM1
55.91
23
DS
57.30
23
DS
43.40
24
NBU
81.87
24
DS
55.91
24
CR
57.30
24
CR
42.70
25
NBMT
32.97
25
NBMT
36.25
25
NBMT
36.25
25
NBMT
36.25
26
CVPS
32.97
26
CVPS
36.25
26
CVPS
36.25
26
CVPS
36.25
27
IMC
32.97
27
IMC
36.25
27
IMC
36.25
27
IMC
36.25
28
MS
32.97
28
MS
36.25
28
MS
36.25
28
MS
36.25
29
ZR
32.97
29
ZR
36.25
29
ZR
36.25
29
ZR
36.25
30
V
32.97
30
V
36.25
30
V
36.25
30
V
36.25
SD
23.29
SD
22.59
SD
16.17
SD
23.74
Avg
74.00
Avg
72.30
Avg
64.37
Avg
70.61
Top ranking (R) of classification methods for datasets: D, D, and D
Dataset D: SemSig
Dataset D: TextSynSig
Dataset D: TextSemSig
R
Method
Acc %
R
Method
Acc %
R
Method
Acc %
1
SMO
96.92
1
RFSLS
95.75
1
RFSLS
96.80
2
RFSLS
95.08
2
SMO
95.73
2
SMO
96.52
3
L
93.84
3
MCCU
94.54
3
KS
95.03
4
MCCU
93.64
4
RK
94.44
4
MCCU
95.03
5
k-NNSLS
93.12
5
KS
94.34
5
k-NNSLS
94.45
6
KS
93.05
6
L
94.04
6
RK
94.34
7
RK
92.75
7
BNSLS
94.02
7
L
94.04
8
MCC
92.25
8
k-NNSLS
93.17
8
BNSLS
93.14
9
RTSLS
92.09
9
CHIRP
92.65
9
RTSLS
93.01
10
CHIRP
89.28
10
MCC
92.55
10
NBSLS
92.32
11
RBFN
88.58
11
NBSLS
91.85
11
NBU
91.96
12
NBSLS
88.11
12
RBFN
91.36
12
HT
91.96
13
MLPC
87.69
13
RTSLS
90.20
13
CHIRP
91.56
14
BNSLS
87.11
14
NBU
89.97
14
RBFN
91.06
15
RFC
87.09
15
ASC
82.03
15
MCC
90.07
16
HT
85.80
16
MLPC
81.63
16
ASC
87.39
17
NBU
85.80
17
RBFC
73.39
17
MLPC
86.00
18
ASC
84.51
18
RFC
67.23
18
SVMSLS
81.25
19
SVMSLS
81.27
19
SVMSLS
63.16
19
RFC
81.23
20
RBFC
74.98
20
HT
58.59
20
RBFC
74.38
21
CR
59.88
21
CR
57.30
21
CR
59.88
22
ABM1
57.80
22
LWL
55.91
22
DS
57.80
23
LWL
57.80
23
DS
55.91
23
ABM1
57.80
24
DS
57.80
24
ABM1
55.91
24
LWL
57.80
25
NBMT
36.25
25
NBMT
36.25
25
NBMT
36.25
26
CVPS
36.25
26
CVPS
36.25
26
CVPS
36.25
27
IMC
36.25
27
IMC
36.25
27
IMC
36.25
28
MS
36.25
28
MS
36.25
28
MS
36.25
29
ZR
36.25
29
ZR
36.25
29
ZR
36.25
30
V
36.25
30
V
36.25
30
V
36.25
SD
22.47
SD
23.09
SD
23.21
Avg
74.46
Avg
72.44
Avg
75.41
According to the results presented in both tables: (Tables 18 and 19), it is clear that the validated proposed approaches on the seven datasets are much better compared to the 24 WEKA methods [52]. For example, the Ap: RFSLS approach is ranked first place (among a list of 24 methods supervised WEKA) in the following datasets: D: QWS Dataset, D: Text, D: OntImp, D: TextSynSig, and D: TextSemSig, and ranked fourth in D: SynSig and second in D: SemSig. Moreover, the Ap: BNSLS approach is ranked 2 position in the dataset D: QWS Dataset and the Ap: k-NNSLS approach is ranked 3 in the dataset D: OntImp.
The fourth (4) phase of comparison
In the fourth (4) comparison phase, we present a comparative study between the six proposed approaches with some approaches presented in the related works section. This comparative study has been presented in Table 20 (Where, R: Ranking).
Comparison of proposed approaches and other approaches presented in related works
Table 20 shows that the methods proposed gave good results in terms of classification rates compared to the results presented in the previous works. For example, the Ap: RFSLS approach validated on dataset D: QWS Dataset is ranked first (1) with an Accuracy rate of 100%, and the Ap: BNSLS approach validated on dataset D: QWS Dataset is ranked second (2) with an Accuracy rate of 99.95%, and in fifth (5) place comes the Ap: RTSLS approach with an accuracy rate of 97.66% validated on dataset D: QWS Dataset. In ninth (9) place, tenth (10), twelfth (12) and fourteenth (14), the Ap: RFSLS approach had the following classification rates: 96.80%, 95.75%, 95.08%, and 94.81%, validated on the following datasets: {D: TextSemSig, D: TextSynSig, D: SemSig, D: Text}. The Ap: -NNSLS approach with 1 is ranked 15 with an accuracy rate of 94.45% validated on dataset D: TextSemSig, the Ap: BNSLS approach is ranked 16 with an accuracy rate of 94.02% validated on dataset D: TextSynSig, the Ap: NBSLS approach is ranked in 24 position with an accuracy rate of 92.32% validated on dataset D: TextSemSig, and finally, the Ap: SVMSLS approach is ranked in 33 position with an accuracy rate of 90.48% validated on dataset D: QWS Dataset.
Note that the most approaches from related work are validate on the dataset D: QWS Dataset (23 approaches), so the Fig. 9 presents a comparison between the approaches using the same data set D: QWS Dataset.
Comparative graph between the approaches using the dataset D: QWS Dataset.
Analysis and discussion
The numerical results of the four phases of the previous comparisons are interesting and demonstrate the benefits of the proposed approaches for the Web services classification (see Tables 15 and 16, 18–20). These results showed that the proposed hybrid approaches {(SVMSLS, NBSLS, -NNSLS, BNSLS, RTSLS, and RFSLS)} have given good classification rates. Therefore, the use of SLS meta-heuristic as a combinatorial optimization method that allows selection of the relevant attributes of the WSDL document. These relevant attributes facilitate the task of classifying these documents. The performed experiments showed that the parameter has a huge impact on the SLS meta-heuristic to explore the search space in an optimal way and find the best solution in the neighborhood. According to this study, the attributes selection by the meta-heuristic SLS is very beneficial, this meta-heuristic associated with a supervised machine learning algorithm to improve the evaluations measures of the classifiers performance (Accuracy rate) and thus considerably reduce the attributes space (see Table 12) and reduce the dataset size. This reduction facilitates the process of publishing, discovering, and invoking Web services. Meta-heuristics is therefore very effective for classifying Web services into predetermined categories. Finally, the results of these experiments are promising and confirm the interest of using the meta-heuristics, especially the Stochastic Local Search (SLS) which has contributed to improve the quality of the solution to the Web services classification problem.
Conclusion
The classification of Web services is an important issue in Web service engineering where several machine learning techniques can be used to handle the classification task. In this paper, we focus on supervised classification techniques for classifying Web services. The technique permits to assign a new Web service (represented as a WSDL document) to its appropriate class chosen among a list of learning documents. This process helps in improving the speed of discovery process and the invocation of Web services (i.e. improve the response time). To this end, we propose several hybrid approaches for classifying Web services where a stochastic local search meta-heuristic (SLS) was used as a feature selection mechanism. The role of SLS is to select only a set of significant attributes before starting the classification process. Then the classification task is done by using a machine learning algorithm with 10-fold cross validation as an evaluation method for the generated models. This hybridization aims to enhance the classification rate. In this study, we consider six well-known supervised machine learning algorithms in the field of machine learning which are: SVM, NB, -NN, BN, RT, and RF. These algorithms are combined with SLS (SVMSLS, NBSLS, -NNSLS, BNSLS, RTSLS, and RFSLS) to build new optimized classifiers based on the best subsets of attributes found by SLS to essentially improve the classification rate (i.e. the objective function). The performance of the proposed approaches has been validated and tested on seven real data sets available on the Web (D, D, …, D) and compared with the six basic classifiers (SVM, NB, -NN, BN, RT, and RF), with the WEKA attribute selection method called Ranker Search Method (RSM) combined with the six basic classifiers, with 24 WEKA learning methods and with other approaches of previous work. The results were promising and showed the performance of the proposed approaches. These latters improved evaluation measures, specifically the classification rate. In perspective, we have several directions to improve this study. First introduce multiple meta-heuristics, especially genetic algorithms for the selection of good attributes, combined with supervised machine learning algorithms to improve their performance. It would be interested to study the impact of unsupervised machine learning algorithms combined with meta-heuristics for Web services classification.
References
1.
AlonsoGCasatiFKunoHMachirajuV. Web services – Concepts, Architectures and Applications. Berlin Heidelberg: Springer Verlag; 2004.
2.
Al-MasriEMahmoudQH. QoS-based Discovery and Ranking of Web Services. IEEE 16th International Conference on Computer Communications and Networks (ICCCN). 2007; pp. 529–534.
3.
Al-MasriEMahmoudQH. Discovering the best web service. 16th International Conference on WWW. 2007; pp. 1257–1258.
4.
Al-MasriEMahmoudQH. The QWS Dataset version 1 of 364 Web services [cited 2019 May 30]. Available from: https://qwsdata.github.io/.
5.
BengioYGrandvaletY. No unbiased estimator of the variance of k-fold cross-validation. Journal of Machine Learning Research. 2004; 5: 1089–1105.
6.
BhardwajKCSharmaRK. Machine learning in efficient and effective Web service discovery. Journal of Web engineering. Rinton Press. 2015; 14(3–4): 196–214.
7.
BoothDHaasHMcCabeFNewcomerEChampionIMFerrisC, et al. Web Services Architecture. W3C Working Group Note 2004. Available from: https://www.w3.org/TR/ws-arch/.
8.
BoughaciDBenhamouBDriasH. Local search methods for the optimal winner determination problem in combinatorial auctions. Journal of Mathematical Modelling and Algorithms. 2010; 9(2): 165–180.
9.
BoujarwahEYahyaouiHAlmullaMA. A New Unsupervised Web Services Classification based on Conceptual Graphs. The Eighth International Conference on Internet and Web Applications and Services (ICIW). 2013; pp. 90–94.
10.
BoxDEhnebuskeDKakivayaGLaymanAMendelsohnNNielsenH, et al. Simple Object Access Protocol (SOAP) 1.1. W3C Note 08 May 2000 [cited 2019 May 30]. Available from: https://www.w3.org/TR/2000/NOTE-SOAP-20000508/.
11.
BrayTPaoliJSperberg-McQueenCMMalerEYergeauF. Extensible Markup Language (XML) 1.0 (Fifth Edition). W3C Recommendation 26 November 2008 [cited 2019 May 30]. Available from: https://www.w3.org/TR/xml/.
12.
BreimanLFriedmanJOlshenRAStoneCJ. Classification and regression trees. Belmont. CA: Wadsworth International Group; 1984.
13.
BreimanL. Random forests. Machine Learning. 2001; 45(1): 5–32.
14.
ChristensenECurberaFMeredithGWeerawaranaS. Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language. W3C Recommendation 26 June 2007 [cited 2019 May 30]. Available from: https://www.w3.org/TR/wsdl/.
15.
ClementLHatelyARiegenCVRogersT. UDDI Version 3.0.2. UDDI Spec Technical Committee Draft. Eds. Oasis; 2004 [cited 2019 May 30]. Available from: http://www.uddi.org/pubs/uddi_v3.htm.
16.
CrassoMZuninoACampoM. AWSC: an approach to Web services classification based on machine learning techniques. Inteligencia Artificial. 2008; 12(37): 25–36.
17.
DasarathyBV. Nearest Neighbor (NN) norms: NN pattern classification techniques. IEEE Computer Society Press. 1991; 447.
18.
DashMLiuH. Feature selection for classification. Intelligent Data Analysis. 1997; 1(3): 131–156.
GarofalakisJPanagisYSakkopoulosETsakalidisA. Contemporary Web service discovery mechanisms. Journal of Web engineering. Rinton Press. 2006; 5(3): 265–290.
21.
GuyonIWestonJBarnhillSVapnikV. Gene selection for cancer classification using support vector machines. Machine Learning. 2002; 46(1–3): 389–422.
22.
HertzJAKroghASPalmerRG. Introduction to the theory of neural computation. Redwood City. California: Addison-Wesley Publishing Company Inc.; 1991.
23.
JoachimsT. Text categorization with support vector machines: learning with many relevant features. European Conference on Machine Learning (ECML-98). Springer. Vol. 1398, 1998; pp. 137–142.
24.
KatakisIMeditskosGTsoumakasGBassiliadesNVlahavasI. On the Combination of Textual and Semantic Descriptions for Automated Semantic Web Service Classification. In Proceedings of the 5th IFIP Conference on Artificial Intelligence Applications and Innovations III (AIAI 2009). Springer. Vol. 296, 2009; pp. 95–104.
25.
KatakisIMeditskosG. Machine Learning & Knowledge Discovery Group – Web Service Classification. The OWLS-TC ver. 2.2 collection [cited 2019 May 30]. Available from: http://mlkd.csd.auth.gr/web-service-classification.html.
26.
LaachemiABoughaciD. A stochastic local search combined with support vector machine for Web services classification. IEEE International Conference on Advanced Aspects of Software Engineering (ICAASE). Constantine. Algeria. 2016; pp. 9–16.
27.
LaachemiABoughaciD. Web services classification for disaster management and risk reduction. IEEE 4th International Conference on Information and Communication Technologies for Disaster Management (ICT-DM). Münster. Germany. 2017; pp. 1–6.
28.
LinSWLeeZJChenSCTsengTY. Parameter determination of support vector machine and feature selection using simulated annealing approach. Science Direct. Applied Soft Computing. 2008; 8(4): 1505–1512.
29.
LiuHYuL. Toward integrating feature selection algorithms for classification and clustering. IEEE Transactions on Knowledge and Data Engineering. 2005; 17(4): 491–502.
30.
MacKenzieCMLaskeyKMcCabeFBrownPFMetzR. Reference Model for Service Oriented Architecture 1.0. OASIS Public Review Draft 2; 2006.
31.
MohantyRRaviVPatraMR. Web services classification using intelligent techniques. Expert Systems with Applications. 2010; 37(7): 5484–5490.
32.
MohantyRRaviVPatraMR. Classification of Web services using bayesian network. Journal of Software Engineering and Applications. 2012; 5: 291–296.
33.
MustafaASKumaraswamyYS. Performance evaluation of Web-services classification. Indian Journal of Science and Technology. 2014; 7(10): 1674–1681.
34.
MustafaASKumaraswamyYS. Web Service classification using Multi-Layer Perceptron optimized with Tabu search. IEEE International Advance Computing Conference (IACC). Banglore. India. 2015; pp. 290–294.
35.
MustafaASKumaraswamyYS. Web service classification with multilayer perceptron. Indian Journal of Computer Science and Engineering (IJCSE). 2016; 7(3): 57–63.
36.
NarendraPMFukunagaK. A branch and bound algorithm for feature subset selection. IEEE Transactions on Computers. 1977; C-26(9): 917–922.
37.
NekkaaMBoughaciD. Hybrid harmony search combined with stochastic local search for feature selection. Neural Processing Letters. 2015; 44(1): 199–220.
38.
NisaRQamarU. A Text Mining based Approach for Web Service Classification. Information Systems and e-Business Management. New York: Springer-Verlag. Inc. Secaucus. NJ. USA. 2015; 13(4): 751–768.
39.
PapadimitriouCHSteiglitzK. Combinatorial Optimization: Algorithms and Complexity. Mineola. New York: Courier Dover Publications. 1998; 496.
40.
PatroVMPatraMR. Classification of Web services using fuzzy classifiers with feature selection and weighted average accuracy. Transactions on Networks and Communications. 2015; 3(2): 108–116.
41.
PearlJ. Probabilistic Reasoning in Intelligent Systems: networks of plausible inference. CA. USA: Morgan Kaufmann Publishers Inc. 1988; 552.
42.
PurohitLKumarS. Web services in the internet of things and smart cities: a case study on classification techniques. IEEE Consumer Electronics Magazine. 2019; 8(2): 39–43.
43.
QamarUNisaRBashirSKhanFH. A majority vote based classifier ensemble for Web service classification. Business & Information Systems Engineering. Springer. 2016; 58(4): 249–259.
44.
SebastianiF. Machine learning in automated text categorization. Journal ACM Computing Surveys (CSUR). New York. USA. 2002; 34(1): 1–47.
45.
ShafiSQamarU. Web Services Classification using an Improved Text Mining Technique. IEEE 11th Conference on Service-Oriented Computing and Applications (SOCA). Paris. France. 2018; pp. 210–215.
46.
SharmaSBatraS. Applying association rules for Web services categorization. International Journal of Computer and Electrical Engineering. 2010; 2(3): 1793–8163.
47.
SharmaSLatherJSDaveM. Semantic approach for classification of Web services using unsupervised normalized similarity measure. Journal of Emerging Technologies in Web Intelligence. 2014; 6(3): 364–372.
48.
VaadaalaVRaoRRRaoV. Classification of Web services using jforty eight. International Journal of Electronics Communication and Computer Engineering. 2013; 4(6): 181–184.
49.
VapnikVN. The nature of statistical learning theory. New York. USA: Springer-Verlag. Inc. 1995.
50.
VossSMartelloSOsmanIHRoucairolC. Meta-Heuristics: Advances and Trends in Local Search Paradigms for Optimization. Dordrecht, Netherlands: Kluwer Academic Publishers; 1999.
51.
WangHShiYZhouXZhouQShaoSBouguettayaA. Web Services Classification using Support Vector Machine. 22nd IEEE International Conference on Tools with Artificial Intelligence. Arras. France. Vol. 1, 2010; pp. 3–6.
52.
WEKA (version 3.8.1). The workbench for machine learning. University of Waikato. Hamilton. New Zealand [cited 2019 May 30]. Available from: https://www.cs.waikato.ac.nz/∼ml/weka/.
53.
YangJZhouX. Semi-automatic Web service classification using machine learning. International Journal of u-and e-Service, Science and Technology. 2015; 8(4): 339–348.
54.
Yuan-jieLJianC. Web Service Classification Based on Automatic Semantic Annotation and Ensemble Learning. IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum. Shanghai. China. 2012; pp. 2274–2279.
55.
ZhaoYYangYKeWWangW. Deep Learning for Web Services Classification. IEEE International Conference on Web Services (ICWS). Milan. Italy. 2019; pp. 440–442.
56.
ZhuQWangSSunQHsuCHYangF. Service classification based on improved BP neural network. Journal of Internet Technology. 2018; 19(2): 369–379.