## 3 Methodology
### Machine Learning Algorithms  
We used different ML algorithms with TF-IDF, unigram, and bigram. ML algorithms are described in the following discussion. * Logistic regression (LR): Predictions using logistic regression result in discrete values that are best suited for binary categorization. When determining whether or not an event will occur, there are only two options: it will occur or not occur in the binary classifications or even in multi-class classification, and the threshold has to be always specified to distinguish between them [40]. The logistic function (transformation function) or logistic curve (sigmoid curve) is a typical S-shaped curve with the equation, where \(x\) is the sigmoid's midpoint, \(L\) is the curve's peak value, and \(k\) is the steepness of the curve or the logistic growth rate. The usual name for the typical logistic function is the sigmoid, which has \(L=1\), \(k=1\), and \(x_{0}\). \[f(x)=\frac{L}{1+e^{-k(x-x_{0})}}\] (1) As a result, an S-curve emerges. The default class is given a set of probabilities as a result of logistic regression different from linear regression, where output is produced straight away. The outcome is between 0 and 1 because it is a probability. The y-value is derived by log converting the x-value \[f(x)=\frac{1}{1+e^{-x}}\] (2) using the logistic function [41]. After that, a threshold is used to turn the probability into a binary category. * Naive Bayes (NB) determines whether the existence of a particular feature in a given class is independent of the existence of any other feature. The Bayes Theorem is used to find the probability of an event occurring in the case that the other event has already occurred [42]. Given our prior knowledge (\(d\)), [PERSON] theorem is used to assess the probability of a hypothesis (h) being true: \[P(b\mid d)=(P(d\mid h)P(h))/P(d)\] (3) where \(P(h/d)\) denotes past probability. \(P(d/h)\) = likelihood of data \(d\) given data \(dP(h)\) is the prior probability of a class if hypothesis \(h\) is true, the chance that hypothesis \"\(h\)\" is right (regardless of the evidence), and \(P(d)\) is the predictor's prior probability. Probability of the data (irrespective of the hypothesis). The multinomial model and Bernoulli model are two distinct techniques to build up Naive Bayes [43]. The documents are the classes that are handled as a separate \"language\" in the multinomial model's estimate. Bernoulli-NB (Bernoulli Naive Bayes) is a discrete data model that works with occurrence counts and is designed for Boolean/binary characteristics. \begin{table}
\begin{tabular}{c c} \hline \hline
**Parameters** & **Values** \\ \hline Num\_filters & [64; 128; 256; 512] \\ \hline Kernel\_size & [2; 3; 4; 5] \\ \hline Pool\_Size & [2; 3; 4; 5] \\ \hline LSTM\_Unit & Range (50, 1000) \\ \hline GRU\_Unit & Range (50, 1000) \\ \hline Dense\_Unit & Range (50, 1000) \\ \hline learning\_rate & Between \(1\times 10^{-2}\) and \(1\times 10^{-7}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Range of possible values for hyperparameters of DeepCNN, CNN-LSTM, and CNN-GRU DL models. Random forest (RF) takes a group of weak learners and combines them to build a stronger classification predictor [44]. The random forest tree's main purpose is to use a learning algorithm to merge numerous base-level predictors into a single effective and resilient predictor. In order to classify a new object relying on its attributes, each tree gave a classification and said that the tree \"votes\" for that class [45]. In the case of regression, the forest picks the category with the most votes (across all forest trees) and takes the average of outputs from different trees. The forest classifiers are fitted using two arrays, one with training data and the other with the goal values of the testing data while creating the random forest tree [46]. * A subset of the supervised learning algorithm family is the Decision Tree (DT) algorithm.