Fuzzy-Logic-Based Recommendation System for Processing in Condition Monitoring

The development of a machine’s condition monitoring system is often a challenging task. This process requires the collection of a sufficiently large dataset on signals from machine operation, context information related to the operation conditions, and the diagnosis experience. The two referred problems are today relatively easy to solve. The hardest to describe is the diagnosis experience because it is based on imprecise and non-numerical information. However, it is essential to process acquired data to develop a robust monitoring system. This article presents a framework for a system dedicated to recommending processing algorithms for condition monitoring. It includes a database and fuzzy-logic-based modules composed within the system. Based on the contextual knowledge provided by the user, the procedure suggests processing algorithms. This paper presents the evaluation of the proposed agent on two different parallel gearboxes. The results of the system are processing algorithms with assigned model types. The obtained results show that the algorithms recommended by the system achieve a higher accuracy than those selected arbitrarily. The results obtained allow for an average of 5 to 14.5% higher accuracy.


Introduction
Choosing an appropriate structure state assessment algorithm is a fundamental problem in condition monitoring (CM). The block diagram presenting different approaches to algorithm development is presented in Figure 1. The foundation of each system is usually the analysis of vibration signals recorded from the machine. Based on them and an in-depth analysis of the diagnostics problem for similar structures, the processing algorithms are determined to extract features that allow for a proper assessment of the structure state [1].
In approach 1, the indicator value is compared with the norms for the intact machine. If they are exceeded, an alarm is reported. These systems seem simple to develop. However, the proper establishment of a relevant standard can be challenging task. The authors of [2] describe a method for automatic threshold selection based on data distribution estimation. When historical diagnostic information is available, it is possible to develop more sophisticated systems based on a trend analysis of the calculated indicators. By determining the indicator distribution over a certain monitoring period, one can obtain a threshold value. If the value exceeds the threshold, the system triggers an alarm. Additionally, the trend analysis uses the trend slope and noise values, which are also considered when reporting alarm situations. The successfully implemented examples of this were introduced for wind [3,4] and gas [5] turbines. Unfortunately, proposing a single indicator that contains enough information is a problematic and sometimes even impossible task. Therefore, a group of features is used to address the structure assessment multidimensional problem. Instead of a threshold value, a subspace is employed to determine failure presence. If the coordinates The approaches described above are templates. Detailed implementation requires specialist knowledge and experience in developing diagnostic systems for similar devices. Therefore, an idea emerged of proposing a recommendation system that would support the work of diagnostic system designers. The proposed system should tackle two main challenges. Firstly, each structure requires a specific monitoring approach due to potential sources of failure. Thus, the developed system should determine the analyzed structure profile based on contextual information. The second issue is related to a measure of the recommendation quality. In CM, such information is achievable as diagnostic results. However, it is often qualitative in form, which is not suitable as feedback information in recommendation system development. Therefore, it was necessary to propose a quantitative measure appropriate for the system.
Considering the paragraph, it is reasonable to apply fuzzy logic systems (FLSs). This would allow for the incorporation of expert knowledge into the recommendation system. The only example of an autonomous recommendation system for SHM can be found in a paper by Kung et al. [16]. It is an ontology-based approach that contains a glossary of terms developed for data exchange between collaborating teams. At each step, the system interacts with the user via mediators. This part of the system searches a constructed ontology to propose tools useful at a given analysis step.
The data exchange that underpins the proposed decision support system is also related to a new monitoring approach called population-based structural health monitoring (PBSHM). In contrast to the current monitoring strategy, where only data collected for a structure are used for the condition assessment, in PBSHM the information on the similar object population is applied. If the objects are identical and operate under very similar conditions, then it is possible to transfer diagnostic information to determine the range of damage indices considered to be the undamaged condition of the object [17]. For structures that do not satisfy the above requirement, the similarity measure must be calculated [18] in order to determine which part of the diagnostic information can be transferred [19,20]. The recommendation system presented in this paper is a solution to the problem of knowledge transfer between non-identical structures. It utilizes a database containing data for different objects operating under various conditions. The system proposes the processing algorithms that provided the best result when monitoring structures with the highest similarity to the analyzed one.
Thus, the main goal of this paper was to propose a framework for a system dedicated to supporting the process of processing algorithms development for condition monitoring. The system requires a database with historical data from previously analyzed structures and contextual information described in a quantified manner. Based on these, the system suggests processing algorithms that are the most appropriate for the considered monitoring problem. The remaining part of the paper is organized as follows: Section 2 presents a short overview of recommendation systems and the usage of fuzzy logic in recommendation systems. Section 3 contains details of the proposed fuzzy-logic-based processing recommendation system. Section 4 describes the framework implementation dedicated to gearboxes. The developed system evaluation and results are explained in Section 5. Finally, Section 6 presents the conclusions.

Related Work
Recommendation systems are inseparably related to the Internet and especially web browsers. Without them, it would be impossible to search the massive collections of data stored. The foundation of all recommendation agents is information filtration [21]. Four basic approaches are mentioned among researchers dealing with this topic: collaborativefiltering-based, demographic-filtering-based, content-based, and knowledge-based approaches [22]. In addition to these, other concepts have also been developed, such as socialnetwork-based, context-awareness-based, and grouped-recommendation approaches, as well as hybrid methods that are a combination of those previously mentioned [23].
In a content-based approach, the system uses item features to recommend another item similar to user preferences based on their previous actions or explicit feedback [24]. The collaborative filtering approach employs the recommendation pipeline similarity of users and items to provide suitable items. The collaborative filtering models can recommend an item to user A based on the interests of a similar user, B [24]. Demographic filtering has in common with collaborative filtering the similarity between users. However, the similarity measure is calculated based on demographic data such as age, gender, and occupation. Users are classified into stereotyped sets. The system generates recommendations that have found the highest approval in this group [22].
The recommendation system is knowledge-based when it makes recommendations based on specific user queries. It may encourage the user to provide a series of rules or guidance on what results are required or provide an example of an item [25]. There are two types of knowledge-based recommendation approaches: case-based and constraint-based approaches. Both utilize similar fractures of knowledge, but they differ in the way solutions are calculated. Specifically, case-based recommenders generate recommendations based on similarity metrics, whereas constraint-based recommenders mainly exploit predefined knowledge bases that contain explicit rules about how to relate user requirements with item features [22]. Defining the problem as described allows for the application of FLS. Such a system contains implemented rules which establish the main operation and generalize in unforeseen cases. The mentioned approach enables the development of recommendation systems that rely on imprecise information provided by users.
The FLS was implemented in various recommendation applications [26]. The most commonly used application is the recommendation of services or wares. One such system is described in [27] for consumer advice in computer parts selection. Another customer application is presented in the paper [28], where, based on contextual information such as time duration and desired condition, the system selects the best offer for the buyer.
Fuzzy logic systems have found utilization in other applications not related to ecommerce. The majority of them are not dedicated to engineering problems. One can be found in [29], which supports the online learning process, proposing suggestions about class activities. As feedback, the students' engagement is measured by the facial expressions captured by the camera. Another application described in paper [30] is a system recommending a diet for people with diabetes. The authors proposed a system structure based on an ontology model representing domain knowledge as a graph of concepts. Another based on an ontology system [31] is built on a patient's medical history and can recommend diet and medication. Medical measurements such as blood pressure, sugar level, or heart rate are used as input data. Along with the Internet of Things network, it provides the doctor with data by enabling constant monitoring of the patient's condition. The last presented in this review of examples of fuzzy-logic-based recommenders are presented in [32]. An application of a developed knowledge-based system is for a field engineers' work assistant by suggesting the most suitable tasks.
The overview presented in the above paragraphs revealed that the dominant trend in recommendation systems using fuzzy logic is the knowledge-based structure. Therefore in the developed recommendation system, the knowledge-based approach is also employed. According to the system's terminology, the cases are previously monitored machines, and the constraints are context information that includes experiment conditions, the variability of measured signals, and expected diagnostic problems. The following section is devoted to the description of the framework.

System Framework
The operation of the system is described by the block diagram shown in Figure 2. The monitoring system development for a given machine requires contextual information about its type, the conditions under which it operates, and the collection of measurements. The context information is acquired by filling out a survey, which is further processed to determine the similarity measure. The similarity is calculated concerning other problems analyzed in the past and stored in the database. Each machine analyzed in the past presented on the schematic is represented by a color rectangle. The green color indicates that a given problem from the past has a high similarity value, while red has a low similarity. The several machines analyzed in the past which have achieved the highest similarity value are selected. Each problem contains several solutions proposed during the development of the processing algorithms. These solutions are compared with each other using an efficiency measure. Unique processing algorithms are selected and sorted according to past performance and similarity to the analyzed problem. The several algorithms that achieved the highest score from the comparison are chosen. These algorithms are proposed for the development of a machine condition evaluation algorithm.
The following assumptions are required regarding the set of structures analyzed in the past: 1.
The database contains signal processing prescriptions and diagnostic outcomes from many objects with different levels of similarity to the problem at hand. At least some of these similarity levels are very high in meaning, and the very similar problems were already solved.

2.
These structures were previously monitored using various signal processing and classification approaches.

3.
There exists a description of the structures regarding their design and the conditions under which they operate. Note that the proposed approach is expected not to provide a completely new set of processing methods but rather to choose a solution that is likely to produce a high outcome in a given scenario. For that reason, the database is required to contain at least some very similar objects. For instance, diagnosing an epicyclic gearbox for a wind turbine would indicate that other epicyclic gearboxes working under similar operational conditions should be available in the reference set.
A more detailed framework of the recommendation system is presented in Figure 3. The system consists of six main components: the context information surveys, database, structure selector blocks, signal processing, feature selection blocks, processing raw signal block, and model selector. The arrows indicate a flow of data within the system. The order of operations performed by the system corresponds to numbers in Figure 3.
In the first step, an adequate survey is completed for context information about the structure. Steps 2 to 6 are performed without human intervention. The context information is employed to calculate a measure of similarity to the structures stored in the database. A list of structures with the highest similarity value is selected. The historical information about signal processing and extracted features from those objects is applied to develop a list of recommended signal processing methods and features.
The signals provided by the user are processed according to the proposed algorithms to extract feature values from signals. The calculated values with the provided labels constitute the training set employed to recommend the model type. The following subsections contain a detailed description of the hinted blocks.

Context Information Survey
The context information is provided utilizing surveys filled out by an operator. The questions in the survey belong to the following thematic categories: • Variability in operational parameters associated with speed and load variations. This group includes context inputs with the following tags: speed_variability, speed_order, load_variability, load_order. • The method of conducting the experiment related to the sensor, its location, and the phase marker signal. This group includes context inputs with the following tags: phase_marker, sensors_bandwidth, sensors_location, sensors_direction, sensors_type. • Type of problem indicating a potentially damaged component and an indicative number of measurement data. This group includes context inputs with the following tags: problem_component, problem_labels, problem_type.
The specific questions depend on the category into which the monitored structure falls. The developed questionnaire can be found in Appendix A.

Structure Selector Module
The block diagram is shown in Figure 4. This module allows for the selection of similar structures. As a result of the completed survey, the context information is quantitatively encoded in a vector.
The mentioned vector is the input to the group of FLSs. Based on context information, one fuzzy system is selected. Each of these systems has four categorized outputs: • Embedding 1-Variation in operational parameters; • Embedding 2-Method of experimenting; • Embedding 3, 4-Type of problem.
The structure data were extracted as a result of the database query. For each selected structure, the similarity value is calculated from the Euclidean measure with the formula presented below: where Sim i is the Euclidean similarity measure, em n , n = 1, . . . , 4 are the values of the four embeddings calculated using the fuzzy logic system, and em nsi , n = 1, . . . , 4 are the values of the four embeddings for the i-th structure acquired from the database. The operation allows the system to narrow down the number of structures analyzed in the next step. The final result of this block is a list of structures with similarity measures.
The FLS structure selector is a parallel fuzzy tree where each branch is designated to evaluate the value of an assigned embedding. The architecture of the aforementioned subsystem will be considered in Section 3.2.1.

FLS Structure Selector
The FLS structure selector has a tree architecture with highlighted branches dedicated to a single embedding value. The first in order is the branch labeled as Variability. This system is a fuzzy tree composed of two fuzzy subsystems in a manner presented in Figure 5. The first Sugeno-type FLS combines information about load with the speed variation to form a hidden variable called difficulty. The second Mamdani FLS combines the calculated hidden variable with load and speed order to determine the embedding value labeled as variability.
The second embedding branch labeled as Experiment is another fuzzy tree with a similar structure to Variability- Figure 5. The first Sugeno subsystem is designed to merge sensor location, direction, and type to form a continuous hidden variable. Based on the extracted hidden variable, sensor bandwidth, and speed information, the second Mamdani subsystem produces an embedding value labeled as experiment.
The last developed subsystem labeled as Problem is dedicated to the type of condition assessment problem and a particular part that is to be monitored. It is composed of a single Mamdani-type FLS with three inputs: problem_component, problem_labels, and problem_type and two outputs: problem and problem_monitored. Information on the number of membership functions and rules depends on the type of survey conducted and the question. Details are provided in Appendix B.

Signal Processing and Feature Selector Module
This module proposes signal processing methods and features. The signal processing methods are represented within the system as signal processing chains which contain algorithms divided into subroutines representing all necessary steps performed on the signal.
For instance, to detect the shaft imbalance, the speed signal needs to be examined for the extraction of the rotating velocity harmonics amplitudes. In the majority of monitoring systems, vibrations are measured as acceleration. To obtain the speed signal, it is necessary to integrate it numerically. This operation results in a trend related to the introduced integration error that can be removed with a high-pass filter or a detrending algorithm. The harmonics analysis is best for representing the signal in the frequency domain by carrying out a digital Fourier transform (DFT). In a derived processing chain, the operation can be expressed as signal detrending-integration-high-pass filtering-DFT.
The block diagram of the analyzed module is presented in Figure 6. The input is a vector of context information and selected similar structure data. The algorithm filters the processing chains and features related to a structure by assigning probability values to them. The result of the subsystem is a list of chain collections and features sorted in probability value order. More information on the data filtering algorithm and chain collections can be found in Sections 3.4 and 3.6.

Algorithm Selector
The purpose of this subsystem is the proposition of algorithms applied for signal processing or the assessment of the structure state. The block diagram describing information flow in the module is presented in Figure 7. The fuzzy system is selected and fed with this vector to produce the weight for each signal processing chain or model type. That values are employed to filter structure data obtained by structure selectors (Section 3.2). Each algorithm is assigned the utility value calculated from the weights. The utility value for an algorithm can be expressed by the geometric mean: where w k is the weight value obtained from the FLS, and n is the number of data subentities. For the signal processing and feature selector, n is related to the number of methods in the processing chain. For the model selector, the value is set to 1. After these calculations, the system discards the data entities whose utility level is below the threshold of 0.5. As a result of filtration, their number is reduced. In the next step, the probability of selecting an algorithm given the condition of success is calculated. The algorithm for calculating the coefficient is presented in Figure 7. The similarity value is assigned to the algorithms related to database structures. Based on those values and the number of algorithms, the probability of selecting the algorithm is formulated as where A i is the i-th algorithm, Sim i is the similarity value for the i-th structure for which the algorithm was used, and N a is the number of unique algorithms. Each algorithm contains an attribute called the efficiency coefficient. It describes the result obtained during the structure condition evaluation on the test set. By applying this information and the utility value, the probability of a correct assessment (CA) given the algorithm selection is calculated from the following equation: where E i is the efficiency value of the i-th algorithm and U i is the utility value. The probability of selecting an algorithm given the prior knowledge of a correct assessment can be expressed by introducing the Bayes theorem.
As a subsystem result, filtered data entities are sorted in decreasing order of probability. The probability expressed by Equation (5) is expressed for the signal processing and feature selector as P(Ch i ), P(CA|Ch i ) and P(Ch i |CA) and for model selectors P(M i ), P(CA|M i ), and P(M i |CA).
The fuzzy system configuration for the data filter is a parallel fuzzy tree where a single branch is designated to recommend a single data entity. The architecture of the mentioned tree will be considered in Section 3.4.1 for the signal processing selector and in Section 3.5.2 for the model selector.

Data Filter for Signal Processing Methods
Each signal processing method filter branch is a Mamdani-based fuzzy system dedicated to a single processing method. Each of the mentioned systems contain four inputs. Three of them correspond to three values from the context information described in Section 3.1: phase_marker, sensors_type, and problem_component. The fourth input is the variability value extracted from the model described in Section 3.2.1. The number of Gaussian membership functions is different for each input, but together they cover the whole input range evenly. The output contains five Gaussian membership functions (very_low, low, medium, high, and very_high) that evenly cover the value range from 0 to 1. Information on the construction of fuzzy rules can be found in Appendix C.

Model Selector Module
The module schematic is presented in Figure 8. The module is composed of two main blocks: the data measures and the algorithm selector. The arrows indicate the flow of information in the system. The user provides the system with a prepared training dataset. For the prepared dataset, measures are calculated which describe the data structure. Combining both information forms, the data measures and the similarity of the structures, the data selector determines a list of recommended models applying a data filtering algorithm. More information on the topic can be found in Section 3.4. The number of input features-N f ; 3.
The number of output target labels-N t ; 4.
The measure of a non-uniform spread of data among clusters-S t ; 5.
The clusters' mean diversity-D cmd .
All extracted measures from the training set are subject to normalization. The measure of a non-uniform spread of data among the clusters coefficient is calculated as a standard deviation of a class presence probability. The feature allows for measuring whether the training samples are uniformly distributed among classes or whether some classes are under-represented. It is calculated using the following formula: 1.
The probability of a selection sample for given target classes from the training set is calculated.

2.
From the derived set of probabilities, the standard deviation is extracted with the following standard formula: where N t is the number of target classes, p Ct i is the probability of sample selection for a given target class Ct i from a training set, and p Ct is the mean probability.
The clusters-to-targets ratio is defined by following equation: where N cl is the number of the selected clusters by algorithm and N t is the number of target classes. The N cl value is obtained by performing the following algorithm: 1.
Estimate four optimal numbers of clusters by using four different cluster evaluation criteria: • The Calinski-Harabasz criterion; • The Davies-Bouldin criterion; • The Silhouette value criterion; • The Gap value criterion.
For each criterion, the optimal cluster value is stored in the memory. A more detailed description of the listed criteria can be found in the literature [33].

2.
From the calculated collection of optimal cluster amounts, the most frequent value is selected and assigned as the cluster number N cl .
Clusters' mean diversity measures target variability within clusters. The algorithm for the described feature contains the following steps: 1.
The input feature space is divided into an optimal number of clusters (N cl ).

2.
For each cluster, the probability of selecting a sample belonging to a given class (p Ct i ) is calculated. 3.
The dominant class with the highest probability calculated in the previous step is selected. 4.
The probability of selecting a sample from the other classes is calculated according the following relation: where P(D|Cl i ) is the probability of selecting a sample from the dominant class D given the i-th cluster Cl i . 5.
Steps 3 and 4 are repeated until the probability P(∼ D|Cl i ) is calculated for all defined clusters. 6.
The cluster mean diversity is obtained from the following equation: where N cl is the optimal number of clusters, and w i is the weight factor for the i-th cluster, defined by:  Each FLS mentioned in this subsection is of the Mamdani type. The first to be described is the model-group FLS. Its five outputs are related to the following groups of algorithms: trees, distance-based, clustering-based, neural networks, and deep learning. The inputs to the subsystem are a normalized number of training examples and a number (N en ) of input features (N f n ). Each input and output contains five Gaussian membership functions (very_low, low, medium, high, and very_high) that evenly cover the value range from 0 to 1.
The FLS problem class has a similar structure to the first-mentioned model. The novelty detection (nd) and classification (class) outputs refer to types of machine learning. The inputs to the subsystem are normalized values of the output target's labels number (N tn ) and the standard deviation of target classes (S tn ). Five Gaussian-type membership functions are assigned for input fuzzification.
The i-th type of model combines information from the above-mentioned submodels and the additional normalized inputs: the clusters to targets ratio (R ctrn ) and clusters mean diversity (D cmdn )- Figure 9. The fuzzification and defuzzification procedures are similar to those for the two models described above, and five Gaussian-type membership functions are applied. The rules developed for the model filter can be found in Appendix D.

Chain Collections
The recommended processing chains and features with assigned similarity, efficiency, and probability values are grouped into chain collections. The collections are prepared based on information about features used for training the recommended models. After preparing the collection, the algorithm discriminates in terms of its utility. The equation for this measure, for the n-th collection, is the following: where max 1≤i≤N ch {E i } is the maximum value of efficiency obtained for the collection, max 1≤i≤N ch {Sim i } is the maximum similarity value obtained for the collection, and ∑ N ch i=1 P(Ch i |CA) is the sum of probabilities obtained for chains included in the collection. From the utility value U(Col n ), a probability value of the collection recommendation is calculated, according to the following formula: where N col_ch is the number of the collections.

Implementation of the Recommendation System
The framework was used to develop the system for parallel gearboxes. This involved developing a database of historically monitored gears. As a monitored structure, the object representing a simulated drivetrain was utilized. It included a driving shaft associated with referential speed, a one-stage gearbox, a slow shaft, and a rolling element bearing (REB) 22202EK. The gearbox was used for speed reduction, with 23 teeth on the driving shaft gear and 67 teeth on the slow shaft gear. The total transmission ratio was 23/67 = 0.34328. The kinetostatic diagram of the simulated object is presented in Figure 10a. The simulated object operates at several nominal speeds from 2400 to 6000 rpm, with a different speed fluctuation from around 3 to 3000 rpm. The simulated data represent eight modes of object structural failures. The list of existing failure modes is presented in Table 1. Each failure mode is represented by the failure development function (FDF) that determines the particular fault evolution. For vibrational signal generation in the failure mode, the simulated object requires three FDFs, which indicate the shaft, gearbox, or bearing faults. The sample FDFs for a nominal velocity of 3000 rpm are presented in Figure 10b. Each mode contains 150 independent vibrational signals, a 10 s time window, and a sampling frequency of 25 kHz. In addition to the vibration signals, a phase marker signal was generated for half of the objects. More information about the simulated object itself and the algorithms behind signal generation can be found in [34].

Signal Processing and Feature Extraction
The prepared dataset was processed to extract indicators sensitive to the presence of damage. During years of research related to vibrodiagnostics, many signal processing and feature extraction algorithms have been proposed, from the fundamental calculation of the raw-signal root mean square (RMS) to more sophisticated spectral kurtosis. A detailed description of various processing algorithms dedicated to CM can be found in [34,35]. Based on the information in the literature and the visual inspection of the indicators, the signals were processed. A detailed list of the signal processing algorithms and the extracted features is collected in Table 2. Linear detrending-signal resampling-bandpass filtration (35, 55)-spectrum Crest factor (CF), kurtosis (K) 3 Linear detrending-signal resampling-bandpass filtration (35, 55)-signal demodulationspectrum CF, K, SK 4 Linear detrending-signal resampling-signal envelope-linear detrending-spectrum RMS, SK 5 Linear detrending-integration-highpass filtration (10 Hz cutoff)-spectrum RMS 6 Linear detrending-time synchronous analysis-spectrum Peak to peak (PP), RMS 7 Linear detrending-instantaneous frequency from phase marker signal Mean 8 Linear detrending-spectrum RMS, SK 9 Linear detrending-signal envelope-linear detrending-spectrum CF, SK, K 10 Linear detrending PP, standard deviation (STD) 11 Linear detrending-bandpass filtration (1000, 10,000 Hz cutoff)-signal envelope-highpass filtration (10 Hz cutoff)-spectrum-linear detrending CF, K 12 Linear detrending-highpass filtration (10 Hz cutoff)-integration PP, STD 13 Linear detrending-signal envelope-linear detrending PP, STD 14 Linear detrending-demodulation-spectrum CF, K, Shannon entropy (SE)

Trained Models
For the calculated features and labels stored in the database, a training set was prepared. The final goal of this operation was to obtain a quantitative assessment of the extracted features by training multiple models. These algorithms were diversified in terms of type and operations related to the clusters division of the training set, distances, or trained weights. The list of model types and their parameters are presented in Table 3.

Test Structures
To evaluate the developed system, two datasets for parallel gearboxes were prepared. The first dataset was obtained for the simulated object of a one-stage gearbox (Gearbox 1), the schematic for which is presented in Figure 10a. The vibration signals were acquired for eight fault modes presented in Figure 10b, where the object worked at a nominal rotational velocity of 4200 rpm with 1020 rpm fluctuations, not present in the database. The 400 signals with phase markers were generated to construct the test set. For this structure, labels were designated based on the failure development function values presented in Figure 10b. If the function values exceeded those for mode 1 (Table 1), a label was assigned to the signal. In total, a set of six different labels describing the following states of the structure was prepared: G1C1, undamaged; G1C2, imbalance; G1C3, gear meshing fault; G1C4, bearing fault; G1C5, imbalance and gear meshing fault; and G1C6, imbalance, gear meshing fault, and bearing fault.
The second dataset was obtained for a two-stage gearbox (Gearbox 2), the schematics for which are presented in Figure 11. The signals were acquired for multiple faults, such as missing tooth, root crack, spalling, and chipping tip with five different levels of severity. The data were recorded in the angle domain with 900 samples per revolution. The dataset was first presented in [36] and is available for free. The inputs vector for the analyzed gearboxes and vectors for similar structures are stored in Table 4. For Gearbox 2, the labels were assigned directly from the measurement series names. In total, the set of five different labels describe the following states of the structure: G2C1, undamaged; G2C2, missing tooth; G2C3, cracked tooth root; G2C4, spalled tooth surface; and G2C5, chipping tooth tip.

Recommendation Algorithms Accuracy
To evaluate recommendation algorithms, two metrics were proposed: class accuracy and total accuracy. The class accuracy is defined as: where N cor−class is the number of correct model predictions within the class in the test set, N samp−class is the total number of samples belonging to the mentioned class in the test set, and GiCj is the class accuracy. The formula for the second measure is presented by the following equation: (14) where N cor is the number of correct model predictions in the test set, N samp is the total number of samples in the test set, and GiA is the accuracy value. For an unbiased selection of the test set, cross-validation was performed. The procedure contained 30 iterations, while each model was trained 10 times by randomly selecting 10% of the samples for the test set.

Recommended by System Signal Processing Methods and Models
The first recommendation result is a list of signal processing chains with features. For an object named Gearbox 1, the system recommended six different processing chains. Gearbox 2 was proposed with four processing recommendations. A detailed list of all processing chains and features is presented in Table 5. The processing chains are sorted by decreasing probability according to Equation (5). Table 5. Signal processing methods and features recommended for Gearbox 1 and Gearbox 2.

Signal Processing Methods Chain Features Probability
Recommended Examples not recommended for Gearbox 2 J: linear detrending-highpass filtration (10 Hz cutoff)-integration PP-J, STD-J -K: linear detrending-signal envelope-linear detrending PP-K, STD-K -All of the proposed processing chains include the spectrum calculation. The possible gearbox faults related to gears or bearings reveal its presence as the harmonics of driving speed. Their amplitude makes a minor contribution to the total response signal. The spectrum analysis increases the probability of detecting damage at an early stage of its development. Thus, the first recommended processing chain is a spectrum analysis in the angle domain. Chain B is extracted from time signal phase-locked components. This operation is convenient for the detection of frequency components linked with gear meshing and rolling bearing failures [34]. The third-order proposed chain obtains the velocity from the acceleration signal. Such an analysis allows for the detection of shaft damage, manifested in low frequencies [35]. Chain D is dedicated to the calculation of the two features from the envelope spectrum from the resampled signal. In the literature [34], envelope analysis was found to be convenient for detecting cyclostationary components generated by faulty rolling-element bearings and gear meshing. The last two presented processing chains (E and F) do not have a firm background in the CM literature. The first is focused on detecting gear-fault-related components. The second is related to the extraction of instantaneous velocity.
Upon analyzing the second part of Table 5 with the recommended chains for Gearbox 2, it is evident that the C chain selection was repeated. This time it is recommended as the last one due to its being less effective in detecting the meshing damage that analysis in Gearbox 2 is dedicated to. The first in order chain for Gearbox 2 is similar and represents the frequency spectrum analysis, elementary for time domain signals. The following chain is envelope extraction, the function of which is described above in this subsection. The last described in this paragraph is the I chain related to the straightforward extraction of statistical features from the time domain signal.
The collected signals for both structures were processed using the processing chains proposed by the system presented in Table 5. A set of labels described in Section 4.3 was assigned to the designated collection of features to form training sets. For model recommendation, the prepared sets were used to calculate the features described in Section 3.5.1. Based on the values and data determined for similar structures, the system proposed a list of models with a proposed set of features included in Table 6 for each analyzed gearbox. The algorithm for calculating the probability is described in Section 3.4. According to the produced recommendations, all models obtained the best results for the data classification with a low number of dimensions. These models had hyper-parameter values based on information stored in a database and extracted for similar structures. Referring to the table, these are:

Non-Recommended Signal Processing Methods and Models
To validate the recommendations produced by the system, an additional list of methods and models was prepared. The proposed algorithms were selected from the list contained in Tables 2 and 3 by considering only the non-recommended ones. Thus, for Gearbox 1, processing methods were chosen. They are related in not containing a signal resampling procedure but still including a spectrum analysis. The processing methods selected for Gearbox 2 assume signal processing in the time domain, utilizing envelope extraction. The list of processing methods is stored in Table 5. Additionally, the models were specified in a manner that was not proposed by the system. Two types were selected: MLP and kMC. The hyper-parameter values for those models are the following: • MLP: L = 5, • kMC: k = 20.

Signal Processing Methods and Models Evaluation
Figures 12 and 13 reveal the training set in feature space obtained from the chains in Table 5. The number of indicators was reduced to allow for visual result comparison. The extracted features for the recommended processing chains allow the presented clusters to be more separable. For the Gearbox 1 recommended features (Figure 12a), the points cover the available normalized space more evenly. On the other hand, not recommended feature values are tight to compose more mixed clusters (Figure 12b). For the Gearbox 2 dataset (Figure 13), the difference between recommended and not recommended is not evident at a glance. Both processing chain collections produce feature space with good cluster separation. The results obtained for trained models in Table 7 and Figure 14a reveal that the algorithms proposed by the system have a higher accuracy in comparison to the nonrecommended ones. This includes both overall and class accuracy. This difference is most noticeable in the classes for which non-recommended models have the lowest accuracy value. The lowest accuracy values were obtained for the G2C2 class. The best-recommended model scored 0.56, while others for the same set of features were 0.48 (KMC) and 0.43 (MLP). The percentage difference was approximately equal to 14% and 23%. The highest accuracy was achieved by the trained models for the G1C1 class labeled as the healthy state. The high rate of correct labels in this class indicates a potentially lower number of false alarms. In this category, the difference between the recommended models is negligible and, in the worst case, equal to 0%. The model accuracy obtained for non-recommended features reveals a significant difference. For the G1C2 class, the models had a low accuracy equal to 0 for KMC. Only for the G1C1 class did this value reach a reasonable level, although it was still lower than that for all models and features proposed by the system. The results of the recommendation system tests for Gearbox 2 are stored in Table 8 and Figure 14b. The accuracies obtained for the recommended types of models reveal a higher level of effectiveness. This applies to accuracy in individual classes as well as in total. Comparing the results for the G2C2 class, the greater accuracy of the recommended models is visible. For the set of MG21 features, the recommended model achieved an accuracy of 0.93, and the non-recommended ones were KMC 0.78 and MLP 0.7. The percentage differences in accuracy were 16% and 25%. For the other classes, the accuracy was higher, and the relative difference did not exceed 10%. For the non-recommended processing chain results, there was no significant difference between the accuracies. The accuracy for MLP and KMC models was significantly lower. However, the models proposed by the system achieved results on a similar level as those obtained for the recommended features.

Summary and Conclusions
This article presents a processing recommendation system for condition monitoring based on fuzzy logic. The system structure is knowledge-based, and the recommendations are proposed based on contextual information. The main part of the proposed system is a database in which historical data from previously analyzed structures are stored. Based on calculated embedding values, similar objects are selected. The obtained data are further filtered by subsequent subsystems for better adjustment to the analyzed problem.
The article contains an implementation of the framework and a test of the presented system by processing data for two structures. The first is virtual objects that simulate signals collected from a single-stage parallel gearbox. The second is a two-stage gearbox. The system recommended processing algorithms, which were then compared with others that were not recommended, selected arbitrarily. All algorithms were applied for processing data from test objects. The obtained results reveal the feature space and classifier accuracies. The results presented prove that the processing algorithms proposed by the system showed, on average, a from 5 to 14.5% higher accuracy according to all proposed metrics. It indicates that the recommender system structure can produce valuable processing recommendations which facilitate the condition evaluation process. The proposed recommendation system also contains limitations. The processing algorithms were selected from those available in the database. Thus, the problem solution is not necessarily optimal in global terms. However, by increasing the amount of historical data from structures operating under various conditions, the recommended result will be closer and closer to the optimal solution.

Appendix B. Developed Rules for the Structure Selector
The difficulty system is a Sugeno-type system. Each of its inputs contains five Gaussian membership functions that correspond to the speed_variability and load_variability answers presented in Appendix A. The output also contains the same number of membership functions in a range from 0 to 1 with the following names: very_low, low, medium, high, and very_high. Based on membership function sets, the five rules were extracted. The membership function parameters were tuned to fit the values presented in Table A1. The values in the table were filled in based on a survey performed with industrial practitioners. The algorithm used was gradient descent with gradient calculated using the backpropagation algorithm widely employed in neural networks training.  The Aggregate subsystem of the Variability branch contains the Mamdani structure. The speed_order and load_order inputs contain three Gaussian-type membership functions (low, medium, and high) which overlap the input values evenly. The output from the Difficulty subsystem and the variability output contains five membership functions (very_low, low, medium, high, and very_high). The developed rules for the system are presented below in the form of a list: The Sensor fuzzy subsystem is a Sugeno-type subsystem. Each of its inputs contains three Gaussian membership functions that correspond to the sensors_location, sensors-_direction and sensors_type answers presented in Appendix A. The output also contains the same number of membership functions (very_difficult, and very_convenient) in a range from 0 to 1. The two rules were obtained by tuning the system to values from lookup Table A2 using the same algorithm as was used for the Difficulty subsystem. The values in the table were also filled in based on the survey performed with industrial practitioners. The last developed subsystem labeled as Problem is composed of a single Mamdanitype fuzzy logic system with three inputs: problem_labels, problem_type, and problem-_component. Each input contains the Gaussian membership functions with numbers corresponding to the answers presented in Appendix A. The output problem contains five Gaussian membership functions (novelty, semi_supervised, multiclass, regression, and everything) and output problem_monitored contains three Gaussian membership functions (lower_freq_comp, wide_freq_range, and higher_freq_comp) that evenly cover the value range from 0 to 1. The list below contains system rules:

Appendix C. Developed Rules for Signal Processing Methods Filter
This appendix presents the developed rules. The rules were developed based on knowledge of fault detection in rotating machinery. A shortlist of linguistic rules is given below: • If a phase marker signal is acquired, the time-synchronous signal averaging should be considered. • Shaft-related faults are detected by analyzing the speed signal. • Many faults manifest their presence as additional bands visible in the signal spectrum or its envelope. • From the phase marker signal, one can obtain an instantaneous velocity value. • It is useful to remove the constant value before processing the signals.
These and similar findings were used to develop the rules. Due to their number, only those concerning the significant processing methods are presented:

Appendix D. Developed Rules for the Model Selector
The rules for the Model group subsystem were developed based on experience related to training different types of machine learning models. Neural networks provide good results for a large number of data samples. This is especially true for high-dimensional data where deep models are favored. On the other hand, algorithms based on distance or decision trees perform better for data with a low number of features. Algorithms based on clustering are recommended in other cases. Based on these empirical formulations, fuzzy rules were developed and presented in the following list: The rules developed for the problem class subsystem were also derived from the experience in the development of machine learning models. If the number of classes is up to two or the number of unique classes is greater, but only one target class has good representation, then one should consider the novelty detection approach. In other cases, the training of the classifier is a good solution. Based on these statements, rules were developed and written in the form of the following list: The rules for the i-th model type were developed by training different models based on the prepared sets to be trained. Measures for these sets and the effectiveness of the developed models were calculated. The rules were developed, and their list is presented below: