## 2 Sentiment Analysis Algorithms
### Machine Learning Approach  
Machine learning approaches in sentiment analysis start with standardizing the text data through preprocessing and removing any irrelevant information. Then, feature extraction techniques, such as Term Frequency-Inverse Document Frequency (TF-IDF) and N-grams, are applied to represent the text as numerical features that can be fed into machine learning classifiers. Some of the commonly used classifiers in sentiment analysis include support vector machine (SVM), naive Bayes, logistic regression, random forest, and decision trees. For example, [PERSON] et al. (2016) [4] applied multinomial naive Bayes to sentiment analysis after extracting features from Tweets. Their approach was evaluated on the sentiment140 dataset, which contains 1.6 million Tweets labeled as positive, negative, or neutral. The authors reported that the multinomial naive Bayes model achieved an accuracy of 85% when the dataset was split into a 9:1 training-testing ratio. Similarly, [PERSON] et al. (2018) [5] utilized naive Bayes to analyze customer reviews on Twitter. The preprocessing steps included tokenization and stemming, and the naive Bayes model achieved an accuracy of 77%. These works demonstrate the effectiveness of machine learning methods in sentiment analysis, particularly with the naive Bayes classifier. The study by [PERSON] et al. (2018) [6] compared the performance of two popular machine learning algorithms, naive Bayes and support vector machine, in the sentiment analysis of customer reviews on Amazon. The text data were preprocessed to remove stop words and were represented using the a priori algorithm. The results showed that naive Bayes outperformed support vector machine with an accuracy of 90.42% compared to 83.42%. [PERSON] et al. (2018) [7] conducted sentiment analysis experiments using three machine learning methods, naive Bayes, support vector machine, and maximum entropy. The experiments were conducted on two datasets, IMDb and Sentiment140, and included preprocessing steps such as tokenization, lemmatization, and text cleaning. The results  
Figure 2: Flow charts of the sentiment analysis process using conventional machine learning, deep learning, and ensemble learning approaches. showed that the maximum entropy method, when combined with unigram and bigram features, achieved the highest accuracy of 88% on the IMDb dataset and 90% on the Sentiment140 dataset. [PERSON] et al. (2018) [8] evaluated the sentiment analysis performance of three machine learning algorithms, decision tree, AdaBoost, and support vector machine, on three datasets: Sentiment140, the Polarity dataset, and the University of Michigan. The text was preprocessed and represented using Term Frequency-Inverse Document Frequency (TF-IDF) features. The results showed that support vector machine achieved the highest accuracy of 82%, followed by decision tree with 84% accuracy and AdaBoost with 67% accuracy. In another work, [PERSON] et al. (2018) [9] conducted experiments to compare the performance of several machine learning models for sentiment analysis. The models included linear discriminant analysis, classification and regression trees, k-nearest neighbors, support vector machine, random forest, and C5.0. The authors collected a dataset of 1150 product review Tweets, which underwent preprocessing steps such as stop-word and punctuation removal, case folding, and stemming. The text was then represented as a term-document matrix and fed into different models. The results showed that classification and regression trees, which is a type of decision tree algorithm, achieved the highest accuracy of 88.99%. In a similar study, [PERSON] and [PERSON] (2018) [10] conducted a comprehensive evaluation of several machine learning models for sentiment analysis. The models included decision tree, random forest, support vector machine, k-nearest neighbors, logistic regression, Gaussian naive Bayes, and AdaBoost. The authors collected a dataset of 14,640 Tweets related to Indian Airlines, which were labeled as positive, negative, or neutral.