## 3 Proposed Methodology
### Proposed Architecture Using Concatenating Features  
We have proposed an architecture, shown in Figure 5, in which we have used the TF-IDF, Word2 Vec, VADER, and Flesch-Kincaid Readability Assessment (FKRA)/Flesch Reading Ease (FRE) as features with baseline ML model as classifiers according to Algorithm 1. Figure 4: Word cloud of offensive class  
Figure 3: Description of text length. To assess the computational efficiency of our approach, we performed a comprehensive analysis of both time and space complexity for Algorithm 1. **Input:** Dataset containing hate speech and labels  
**Output:** Hate speech classification as hate, offensive, or neither hate nor offensive  
1. **Preprocess the data:** Preprocessed data
2. **Features extraction:** 1. Extract TF-IDF features: tfidf_features = extract_tfidf_features(preprocessed_data) 2. Extract Word2 Vec features: word2 vec_features = extract_word2 vec_features(preprocessed_data) 3. Extract sentiment features using VADER: vader_features = extract_vader_features(preprocessed_data) 4. Extract FKRA and FRE features: fkra_features, fre_features = extract_fkra_fre_features(preprocessed_data,...)
3. **Concatenation of features:** concatenated_features = concatenate(tfidf, word2 vec, vader, fkra/fre)_features
4. **Train and evaluate classification model:** 1. Models = [Logistic Regression(), Random Forest Classifier(), GaussianNB(), SVC()] 2. model_predictions = [] 3. For each model in Models: 1. _model_.fit(concatenated_features, labels) 2. predictions = _model_predict(concatenated_features) 3. model_predictions.append(predictions)
5. **Output belongs to:** [hate, offensive, neither hate nor offensive] 6. **Compute precision, recall, and F1 score** 7. **END**  
Data preprocessing has a time complexity of:  
\[O(N)\]  
Figure 5: Proposed architecture using concatenation of features. where \(N\) represents the number of samples in the dataset. Text cleaning and normalization process results in:  
\[O(N\times L) \tag{2}\]  
where \(L\) is the average text length. Feature extraction steps are as follows:  
* TF-IDF Calculation:  
\[O(N\times V) \tag{3}\]  
where \(V\) is the vocabulary size. * Word2 Vec Embedding:  
\[O(N\times W\times D) \tag{4}\]  
where \(W\) is the maximum number of words per document, and \(D\) is the embedding dimension. * VADER Sentiment Analysis:  
\[O(N\times W) \tag{5}\]
* Readability Metrics (FKRA/FRE):  
\[O(N\times W) \tag{6}\]  
Feature concatenation has a complexity of:  
\[O(N\times F) \tag{7}\]  
where \(F\) is the total dimensionality of the feature space. Model training complexities are as follows:  
* Logistic Regression:  
Figure 3:0  
where \(I\) is the number of iterations. * SVM:  
Figure 3:1
* Random Forest:  
Figure 3:2  
where \(T\) is the number of trees. * Naive Bayes:  
Figure 3:3  
The overall time complexity is dominated by the SVM training phase:  
Figure 3:4  
We have performed the analysis of space complexity, which is as follows:  
Feature storage requirements are as follows:  
* TF-IDF Vectors:  
Figure 3:5
* Word2 Vec Embeddings:  
Figure 3:6
* Sentiment Scores:  
Figure 3:7
* Readability Metrics:  
Figure 3:8Model storage complexities are:
* Linear Models (Logistic Regression, Naive Bayes): Figure 3:9 (17)
* SVM: \[O(N)\]0 (18)
* Random Forest: \[O(N)\]1 (19) The overall space complexity is: \[O(N)\]2 (20)  
We extracted features from the dataset using TF-IDF, resulting in feature vectors represented as F1 = (t1, t2, t3,...tn). Additionally, we utilized Word2 Vec as a feature, capturing semantic relationships between words based on their contextual usage, and represented these features as F2 = (w1, w2, w3, w4,..., wn). Furthermore, sentiment analysis was conducted using VADER [55], wherein sentiment feature vectors were represented as F3 = (v1, v2, v3, v4,..., vn). VADER employs a lexicon-oriented approach to establish labels, applied at the word level, with words evaluated based on their positive or negative sentiment scores. To enhance readability and assess the complexity of the text, we employed FKRA/FRE metrics.