| Literature DB >> 34484462 |
Pansy Nandwani1, Rupali Verma1.
Abstract
Social networking platforms have become an essential means for communicating feelings to the entire world due to rapid expansion in the Internet era. Several people use textual content, pictures, audio, and video to express their feelings or viewpoints. Text communication via Web-based networking media, on the other hand, is somewhat overwhelming. Every second, a massive amount of unstructured data is generated on the Internet due to social media platforms. The data must be processed as rapidly as generated to comprehend human psychology, and it can be accomplished using sentiment analysis, which recognizes polarity in texts. It assesses whether the author has a negative, positive, or neutral attitude toward an item, administration, individual, or location. In some applications, sentiment analysis is insufficient and hence requires emotion detection, which determines an individual's emotional/mental state precisely. This review paper provides understanding into levels of sentiment analysis, various emotion models, and the process of sentiment analysis and emotion detection from text. Finally, this paper discusses the challenges faced during sentiment and emotion analysis.Entities:
Keywords: Affective computing; Natural language processing; Opinion mining; Pre-processing; Word embedding
Year: 2021 PMID: 34484462 PMCID: PMC8402961 DOI: 10.1007/s13278-021-00776-6
Source DB: PubMed Journal: Soc Netw Anal Min
Fig. 1Dimensional model of emotions
Emotion models defined by various psychologists
| Emotion model | Type of model | No. of states | Psychological states | Representations | Discussion |
|---|---|---|---|---|---|
| Ekman model (Ekman | Categorical | 6 | Anger, disgust, fear, joy, sadness, surprise | – | Ekman’s model consisted of six emotions, which act as a base for other emotion models like Plutchik model |
| Plutchik Wheel of Emotions (Plutchik | Dimensional | – | Joy, pensiveness, ecstasy, acceptance, sadness, fear, interest, rage, admiration, amazement, anger, vigilance boredom, annoyance, submission, serenity, apprehension, contempt, surprise, disapproval, distraction, grief, loathing, love, optimism, aggressiveness, remorse, anticipation, awe, terror, trust, disgust | Wheel | Plutchik considered two types of emotions: basic (Ekman model + Trust +Anticipation) and mixed emotions (made from the combination of basic emotions). Plutchik represented emotions on a colored wheel |
| Izard model (Izard | – | 10 | Anger, contempt, disgust, anxiety, fear, guilt, interest, joy, shame, surprise | – | – |
| Shaver model (Shaver et al. | Categorical | 6 | Sadness, joy, anger, fear, love, surprise | Tree | Shaver represented the primary, secondary and tertiary emotions in a hierarchal manner. The top-level of the tree presents these six emotions |
| Russell’s circumplex model (Russell | Dimensional | – | Sad, satisfied, Afraid, alarmed, frustrated, angry, happy, gloomy, annoyed, tired, relaxed, glad, aroused, astonished, at ease, tense, miserable, content, bored, calm, delighted, excited, depressed, distressed, serene, droopy, pleased, sleepy | – | Emotions are presented over the circumplex model |
| Tomkins model (Tomkins and McCarter | Categorical | 9 | Disgust, surprise-Startle, anger-rage, anxiety, fear-terror, contempt, joy, shame, interest-Excitement | – | Tomkins identified nine different emotions out of which six emotions are negative. Most of the emotions are defined as a pair |
| Lövheim Model (Lövheim | Dimensional | – | Anger, contempt, distress, enjoyment, terror, excitement, humiliation, startle | Cube | Lövheim arranged the emotions according to the amount of three substances (Noradrenaline, dopamine and Serotonin) on a 3-D cube |
Fig. 2Illustration of various emotional models with some psychological states
Fig. 3Basic steps to perform sentiment analysis and emotion detection
Datasets for sentiment analysis and emotion detection
| Dataset | Data size | Sentiment/emotion analysis | Sentiments/emotions | Range | Domain |
|---|---|---|---|---|---|
| Stanford Sentiment Treebank (Chen et al. | 118,55 reviews in SST-1 | Sentiment analysis | Very positive, positive, negative, very negative and neutral. | 5 | Movie reviews |
| 9613 reviews in SST-2 | Sentiment analysis | Positive and negative | 2 | Movie reviews | |
| SemEval Tasks (Ma et al. | SemEval- 2014 (Task 4): 5936 reviews for training and 1758 reviews for testing | Sentiment analysis | Positive, negative and neutral | 3 | Laptop and Restaurant reviews |
| SemEval-2018 (Affects in dataset Task): 7102 tweets in Emotion and Intensity for ordinal classification (EI-oc) | Emotion analysis | Anger, Joy, sad and fear | 4 | Tweets | |
| Thai fairy tales (Pasupa and Ayutthaya | 1964 sentences | Sentiment analysis | Positive, negative and neutral | 3 | Children tales |
| SS-Tweet (Symeonidis et al. | 4242 | Sentiment Analysis | Positive strength and Negative strength | 1 to 5 for positive and | Tweets |
| EmoBank (Buechel and Hahn | 10,548 | Emotion analysis | Valence, Arousal Dominance model (VAD) | – | News, blogs, fictions, letters etc. |
| International Survey of Emotional Antecedents and Reactions (ISEAR) (Seal et al. | Around 7500 sentences | Emotion analysis | Guilt, Joy, Shame, Fear, sadness, disgust | 7 | Incident reports. |
| Alm gold standard data set (Agrawal and An | 1207 sentences | Emotion analysis | happy, fearful, sad, surprised and angry-disgust(combined) | 5 | Fairy tales |
| EmoTex (Hasan et al. | 134,100 sentences | Emotion analysis | Circumplex model | – | |
| Text Affect (Chaffar and Inkpen | 1250 sentences | Emotion analysis | Ekman | 6 | Google news |
| Neviarouskaya Dataset (Alswaidan and Menai | Dataset 1: 1000 sentences and Dataset 2: 700 sentences | Emotion analysis | Izard | 10 | Stories and blogs |
| Aman’s dataset (Hosseini | 1890 sentences | Emotion analysis | Ekman with neutral class | 7 | Blogs |
Fig. 4Techniques for sentiment analysis and emotion detection
Work on sentiment analysis
| Reference | Level | Technique | Feature extraction | Learning algorithm | Domain | Dataset | Results |
|---|---|---|---|---|---|---|---|
| Songbo and Jin ( | Sentence | Machine learning | – | Centroid classifier, K-nearest Classifier, Winnow Classifier, Naïve Bayes, SVM | House, movie and education | Chn- sentiCorp | Micro F1 = 90.60% with SVM and IG and macro F1 = 90.43%. |
| Moraes ( | Aspect level | Machine learning and deep learning | Bag of words | Artificial neural network (ANN), Naïve Bayes, SVM | Movies, Books, GPS, Cameras | – | Accuracy = 86.5% on movie dataset, 87.3% on GPS dataset, 81.8% on book dataset 90.6% on camera dataset with ANN. |
| Tang et al. ( | Document-level | Deep learning | Word embeddings to dense document vector | UPNN (user product neutral network) based on CNN | Movies | Dataset collected from yelp dataset and IMDB | Accuracy = 58.5% with UPNN (no UP) and 60.8% with UPNN on Yelp 2014. |
| Dahou et al. ( | – | Deep learning | Word embedding built from Arabic corpus | Convolutional neural network (CNN) | Book, movie, restaurant etc. | LABR book reviews, Arabic sentiment tweet dataset, etc | Accuracy= 91.7% on and Accuracy = 89.6% unbalanced HTL and LABR dataset, respectively. |
| Ahuja et al. ( | Sentence | Machine learning | TF-IDF, n-gram | KNN, SVM, logistic regression, NB, random forest | – | SS-tweets | Accuracy = 57% with TF-IDF and logistic regression and accuracy = 51% with n-gram and random forest. |
| Untawale and Choudhari ( | – | Machine learning | – | Naïve Bayes and random forest | movie reviews | Rotten tomatoes, reviews from Times of India, etc | Naïve Bayes required more time and memory than random forest. |
| Shamantha et al. ( | - | Machine learning | – | Naïve bayes, SVM and random forest | Accuracy = above 80% with Naïve Bayes (3features) on 200 tweets. | ||
| Goularas and Kamis ( | – | Machine learning | – | Random forest and SVM | – | – | Accuracy = 95% with random forest. |
| Nandal et al. ( | Aspect level | Machine learning | – | SVM with different kernels: linear, radial basis function (RBF), and polynomial | – | Amazon reviews | Mean square error = 0.04 with radial basis function and 0.11 with linear kernel. |
| Sharma and Sharma ( | – | Machine learning and deep learning | – | Deep artificial neural network and SVM | Positive emotion rate = 87.5 with the proposed algorithm. | ||
| Mukherjee et al. ( | Sentence level | Machine learning and Deep Learning with negation prediction process | TF IDF | Naïve Bayes, support vector machines, artificial neural network (ANN), and recurrent neural network (RNN) | Cellphone reviews | Amazon reviews | Accuracy = 95.30% with RNN + Negation and 95.67% with ANN+negation. |
Work on emotion detection
| Reference | Approach | Feature extraction | Models | Datasets | Emotion model | No of emotions | Results |
|---|---|---|---|---|---|---|---|
|
Chaffar and Inkpen ( | Machine learning | Bag of words, N-grams, WordNetAffect | Naïve Bayes, decision tree, and SVM | Multiple dataset | Ekman with neutral class, Izard | 10 | Acuracy = 81.16% on Aman’s dataset and 71.69% on Global dataset |
| Kratzwald et al. ( | Deep learning with transfer learning approach | Customised embedding GloVe | Sent2Affect | Literary tales, election tweet Isear Headlines General tweets | – | – | F1-score = 68.8% on literary dataset with pre-trained Bi-LSTM |
| Sailunaz and Alhajj ( | Machine learning | NAVA (Noun Adverb, verb and Adjective) | SVM, Random forest, Naïve Bayes | ISEAR | Guilt, Joy, Shame, Fear, sadness, disgust | 6 | Accuracy = 43.24% on NAVA text with Naïve Bayes. |
| Shrivastava et al. ( | Deep learning | Word2Vec | Convolutional neural network | TV shows transcript | – | 7 | Training accuracy = 80.41% and 77.54% with CNN (7 emotions) |
| Batbaatar et al. ( | Deep learning | Word2Vec, GloVe, FastText, EWE | SENN | ISEAR, Emo Int, electoral tweets, etc | – | – | Acuracy = 98.8% with GloVe+EWE and SENN on emotion cause dataset |
| Ghanbari-Adivi and Mosleh ( | Deep learning | DoctoVec | Ensemble classifier, tree-structured parzen estimator (TPE) for tuning parameters | wonder, anger, hate, happy , sadness, and fear | 6 | OANC, CrowdFlower, ISEAR, | 99.49 on regular sentences |
| Xu et al. ( | Deep learning-based Hybrid Approach | – | 3DCLS model for visual , CNN-RNN for text and SVM for text | Moud and IEMOCAP | Happy, sad, angry, neutral | 4 | Accuracy = 96.75% by fusing audio and visual features at feature level on MOUD dataset |
| Adoma et al. ( | Pretrained transfer models (machine learning and deep learning) | – | BERT, RoBERTa, DistilBERT, and XLNet | ISEAR | shame, anger,fear, disgust,joy, sadness, and guilt | 7 | Accuracy = 74%, 79% , 69% for RoBERTa, BERT, respectively. |
| Chowanda et al. ( | Machine learning and Deep learning | sentistrength, N-gram and TF IDF | Generalised linear model, Naïve Bayes, fast-large margins, etc. | Affective Tweets | Anger, fear, sadness, joy | 4 | Accuracy = 92% and recall = 90% with the generalized linear model |
| Dheeraj and Ramakrishnudu ( | Deep learning | Glove | Multi-head attention with bidirectional long short-term memory and convolutional neural network (MHA-BCNN) | Patient doctor interactions from Webmd and Healthtap platforms | Anxiety, addiction, obsessive cleaning disorder (OCD), depression, etc | 6 | Accuracy = 97.8% using MHA-BCNN with Adam optimizer |
Evaluation metrics
| Evaluation metric | Description | Equation |
|---|---|---|
| Accuracy | It’s a statistic that sums up how well the model performs in all classes. It’s helpful when all types of classes are equally important. It is calculated as the ratio between the number of correct judgments to the total number of judgments. | (TP+TN)/(TP+TN+FP+FN) |
| Precision | It measures the accuracy of the model in terms of categorizing a sample as positive. It is determined as the ratio of the number of correctly categorized Positive samples to the total number of positive samples (either correctly or incorrectly). | TP/(TP+FP ) |
| Recall | This score assesses the model’s ability to identify positive samples. It is determined by dividing the number of Positive samples that were correctly categorized as Positive by the total number of Positive samples. | TP/(TP+FN) |
| F-measure | It is determined by calculating the harmonic mean of precision and recall. | (2*Precision*Recall)/(Precision+Recall) = (2*TP)/((2*TP)+FP+FN) |
| Sensitivity | It refers to the percentage of appropriately detected actual positives and it quantifies how effectively the positive class was anticipated. | TP/((TP+FN)) |
| Specificity | It is the complement of sensitivity, the true negative rate which sums up how effectively the negative class was anticipated. The sensitivity of an imbalanced categorization may be more interesting than specificity. | TN/(FP+TN) |
| Geometric-mean (G-mean) | It is a measure that combines sensitivity and specificity into a single value that balances both objectives. |
Fig. 5Challenges in sentiment analysis and emotion detection