# Linguistic Analysis of Hindi-English Mixed Tweets for Depression Detection

Authors: Carmel Mary Belinda M J; Ravikumar S; Muhammad Arif; Dhilip Kumar V; Antony Kumar K; Arulkumaran G
Journal: Journal of Mathematics
 (2022)

---

## Abstract

According to recent studies, young adults in India faced mental health issues due to closures of universities and loss of income, low self-esteem, distress, and reported symptoms of anxiety and/or depressive disorder (43%). This makes it a high time to come up with a solution. A new classifier proposed to find those individuals who might be having depression based on their tweets from the social media platform Twitter. The proposed model is based on linguistic analysis and text classification by calculating probability using the TF∗IDF (term frequency-inverse document frequency). Indians tend to tweet predominantly using English, Hindi, or a mix of these two languages (colloquially known as Hinglish). In this proposed approach, data has been collected from Twitter and screened via passing them through a classifier built using the multinomial Naive Bayes algorithm and grid search, the latter being used for hyperparameter optimization. Each tweet is classified as depressed or not depressed. The entire architecture works over English and Hindi languages, which shall help in implementation globally and across multiple platforms and help in putting a stop to the ever-increasing depression rates in a methodical and automated manner. In the proposed model pipeline, composed techniques are used to get the better results, as 96.15% accuracy and 0.914 as the F1 score have been attained.


---

## Body

## 1. Introduction

Recent studies by the World Health Organization (WHO) [1] have revealed that 56 million Indians suffer from depression and another 38 million Indians suffer from anxiety disorders, and only a fraction of them receive adequate treatment. Even though this disorder is highly treatable, only a fraction of those suffering receive treatment, due to the societal stigma associated with mental health. Diagnosis and subsequent treatment for depression are often delayed, imprecise, and/or missed entirely. The social media activity of individuals presents a revolutionary approach to transforming early depression intervention services, especially for young adults [2, 3]. Many depressed individuals seldom choose not to discuss their mental health with their family and friends because the taboo surrounding depression is still high, especially in India. Such individuals, when they tweet, consciously and subconsciously use words that indicate their mental health. The advent of social media platforms has made it relatively easier to find these individuals [4, 5]. Since it is nearly impossible to check the hints from the posts of each user across all platforms for a human being or even a team of them, automating the entire process becomes the need of the hour. One such approach accepted globally is sentiment analysis [6, 7]. It is a cross platform ML approach that can be implemented to filter out a particular user based on the pattern of their social media posts.


## 2. Related Works

The ability of algorithms to evaluate text has substantially improved as a result of recent advances in the field of deep learning [8, 9]. Sentiment analysis and opinion mining algorithms for social multimedia [10, 11] summarizes existing research on multimodal sentiment analysis, which incorporates numerous media outlets. Data mining to detect depressed people on social networking platforms in the field of psychology [12, 13]. To begin, a sentiment analysis method is proposed that uses vocabulary and man-made rules to calculate the depression inclination of each post or microblog. A hybrid model for identifying depressed individuals via CNN and LSTM models is based on normal conversation-based text data obtained from Twitter [14]. However, the vast majority of these studies were conducted with an audience that spoke only English. There has not been much work done on the subject of sentiment analysis for an audience that predominantly uses Indian languages in microblogging websites. Instead of learning character or word-level representation, a model was proposed that includes learning subword-level representation in the LSTM architecture [7]. In excessively noisy text with misspellings, the model performs well. Twitter-based annotated corpus of mixed social media material in Hindi, English, and Hinglish for coding [6,15]. To create a more diverse canvas, the study used words with ambiguous meanings and irregular spellings in both languages [16,17].


## 3. Proposed System

The proposed system uses a classifier model to classify tweets as “depressed” or “not depressed”. The model utilizes a pipeline composed of the TF∗ IDF and multinomial Naive Bayes (MNB) algorithms, with MNB serving as the classifier. The implementation of the Bayes algorithm takes minimal effort, thus keeping the development phase short and elongating the testing phase to perfect it [18]. The proposed model is based on linguistic analysis and text classification by calculating probability using the TF ∗ IDF weight instead of word count, as the TF ∗ IDF weight reflects how important the word is to the document; this is an improvement over probability calculated using word count. Grid search is included to perform hyperparameter optimization to determine the optimal values for the model. The performance of a model significantly depends on the hyperparameters used by the estimators; selecting optimal parameters manually can take a considerable amount of time and resources [19]. Thus, grid search has been used to automate this entire process.As for the working of the model, a tweet from the Twitter API serves as the input for the model. This tweet can be written in English, Hindi, or a mix of these two languages (Hinglish). The model classifies the tweet into one of the two target class labels, depressed (denoted by 0 in the dataset) and not depressed (denoted by 1 in the dataset) based on the words present in the tweet (for instance, depressed tweets most commonly include the keywords “depressed,” “anxiety,” “sad,” etc.), and the class of the tweet is displayed on the screen. Figure1 represents the architecture of the proposed model.Figure 1
The model architecture of the depression classification system as a hybrid of MNB and grid search.


## 4. Technique Used

### 4.1. Data Collection

The tweets in the dataset were obtained using the Python module Tweepy via the Twitter API. Hashtags (#) like #depressed, #anxiety, and #sad were used to filter out depressed tweets, whereas #happy and #life were used to filter out tweets that were not depressed. These tweets were then turned into a 670-data-point raw dataset with three columns: TID (unique Twitter ID), TWEET, and LABEL. Figure2 represents the output derived. The tweets were then compiled into a CSV file, shown in Table 1.Figure 2
Snapshot of the output of the Tweepy code.


### 4.2. Data Preprocessing

The raw dataset was preprocessed to bring all the textual data into a form that is predictable and analyzable for the model. Figure1 depicts the flow of processes in data preprocessing. The Python modules stopwords, RegexpTokenizer, WordNetLemmatizer, and PorterStemmer from NLTK were used along with String. We also included Hindi stopwords [20] separately as NLTK does not have this provision.


### 4.3. Undersampling

Initially, the dataset contained 670 data points, out of which 409 were associated with label 1, and 260 were associated with label 0. This created a bias, which if not rectified, would skew the results of the model. So, we proceeded with undersampling the data associated with label 1, after which there was an equal distribution of data for both target class labels, consisting of 520 data points in the dataset.


### 4.4. TF∗IDF

The TF∗IDF algorithm was applied to generate a score that implied how relevant a word was to the proposed model. The Python libraries CountVectorizer and Tfidftransformer are used for this purpose. The mathematical formula for the TF∗IDF algorithm is given as follows:(1)wi,j=tfi,jXlogNdfi,where tfi,j = number of occurrences of i in j, dfi  = number of documents containing i, and N  = number of documents.


### 4.5. Multinomial Naive Bayes

The MNB algorithm is used as the primary classifier because it is more accurate than the Naive Bayes (NB) algorithm [5]. While NB considers the independent probability of each feature, MNB considers a feature vector where each term represents the TF∗IDF weight of each word, i e., not only considering the frequency of the word but also how important that word is in the entire document. This allows us to make classifications using only the most important words in each line of text. MNB can be represented mathematically by(2)CNB=argmaxkεKlogPCk+∑i=1nxi⋅logPki,where pki  = probability of i−th event occurring in class k, xi  = frequency of i−th event.


### 4.6. Grid Search

Selecting the best hyperparameters for tuning the model can be exhaustive and time-consuming if performed manually. To automate this process, grid search has been used [21]. These are the best hyperparameters that were determined for the proposed model.An important feature to note is that the value ofα=1 for the MNB algorithm, indicating that Laplace smoothing has been used for smoothing categorical data. A small-sample correction, or pseudocount, is incorporated into every probability estimate. Consequently, no probability will be zero. This is a fairly efficient method to regularize the MNB algorithm.


## 4.1. Data Collection

The tweets in the dataset were obtained using the Python module Tweepy via the Twitter API. Hashtags (#) like #depressed, #anxiety, and #sad were used to filter out depressed tweets, whereas #happy and #life were used to filter out tweets that were not depressed. These tweets were then turned into a 670-data-point raw dataset with three columns: TID (unique Twitter ID), TWEET, and LABEL. Figure2 represents the output derived. The tweets were then compiled into a CSV file, shown in Table 1.Figure 2
Snapshot of the output of the Tweepy code.


## 4.2. Data Preprocessing

The raw dataset was preprocessed to bring all the textual data into a form that is predictable and analyzable for the model. Figure1 depicts the flow of processes in data preprocessing. The Python modules stopwords, RegexpTokenizer, WordNetLemmatizer, and PorterStemmer from NLTK were used along with String. We also included Hindi stopwords [20] separately as NLTK does not have this provision.


## 4.3. Undersampling

Initially, the dataset contained 670 data points, out of which 409 were associated with label 1, and 260 were associated with label 0. This created a bias, which if not rectified, would skew the results of the model. So, we proceeded with undersampling the data associated with label 1, after which there was an equal distribution of data for both target class labels, consisting of 520 data points in the dataset.


## 4.4. TF∗IDF

The TF∗IDF algorithm was applied to generate a score that implied how relevant a word was to the proposed model. The Python libraries CountVectorizer and Tfidftransformer are used for this purpose. The mathematical formula for the TF∗IDF algorithm is given as follows:(1)wi,j=tfi,jXlogNdfi,where tfi,j = number of occurrences of i in j, dfi  = number of documents containing i, and N  = number of documents.


## 4.5. Multinomial Naive Bayes

The MNB algorithm is used as the primary classifier because it is more accurate than the Naive Bayes (NB) algorithm [5]. While NB considers the independent probability of each feature, MNB considers a feature vector where each term represents the TF∗IDF weight of each word, i e., not only considering the frequency of the word but also how important that word is in the entire document. This allows us to make classifications using only the most important words in each line of text. MNB can be represented mathematically by(2)CNB=argmaxkεKlogPCk+∑i=1nxi⋅logPki,where pki  = probability of i−th event occurring in class k, xi  = frequency of i−th event.


## 4.6. Grid Search

Selecting the best hyperparameters for tuning the model can be exhaustive and time-consuming if performed manually. To automate this process, grid search has been used [21]. These are the best hyperparameters that were determined for the proposed model.An important feature to note is that the value ofα=1 for the MNB algorithm, indicating that Laplace smoothing has been used for smoothing categorical data. A small-sample correction, or pseudocount, is incorporated into every probability estimate. Consequently, no probability will be zero. This is a fairly efficient method to regularize the MNB algorithm.


## 5. Implementation

The model is an application of supervised machine learning, and the requirement of a user is to deploy and collect the result. Deploying this application needs basic interaction where it asks for the keys and tokens to access the database (as for Twitter, it needs access_token, secret access token, consumer key, and consumer secret key, respectively). The application later requires minimal to no intervention from the user until the output is provided by the application. The application collects a collection of tweets from the database (Twitter), which is fed into the core of the application. The core contains a trained model to classify the tweets into one of two classifications: depressed or not depressed. The model is trained in one of the best methods, using grid search. Grid search as already mentioned in the previous section, chooses the best combination of parameters and derives an output. The parameters have chosen for the model are a pipeline of TFIDF, countvectorizer, and multinomial Naive Bayes. The model is capable of prioritizing accuracy in different types of data provided to it. The model can successfully read Hindi tweets as well and classify them using its knowledge of the different Hinglish terms that are commonly used over social media. After classification, the application can provide an accurate result of up to 96.15% (data based on training dataset) and can provide a visual representation of the different key lexicons it has encountered throughout the dataframe.One of the best features of the implementation is its modularized approach, where each of the jobs is assigned to different modules and each of the major module clusters is capable of working individually without interference from other module clusters. This improves the implementation, upgradability, and readability of code. A vivid test report for different types of tweets is provided by Table2.Table 1
Generated classification report of the model.
PrecisionRecallF1-scoreSupport00.98150.94640.96365610.94000.97920.959248Accuracy0.9615104Macro avg0.96070.96280.9614104Weighted avg0.96230.96150.9616104


## 6. Experimental Setup

The 670 data point raw dataset taken from Twitter has a collection of real tweets that include the Hindi and English language. The dataset has been split into 2 groups: the train set, which is to be input as training samples, and the development set, which is to verify the accuracy of the checkpoint of the grid search; for each of the datasets, the train set represents around 90% of the whole data amount, and the development set is around 10%. For the testing, we train the grid search model several times and choose the one with the highest average development accuracy, as shown in Table3.Table 2
Test cases for testing the model.
Test case IDTest conditionTweetsExpected resultActual resultStatus01Test MNB (TF∗ IDF) with grid search (for English not depressed tweet)Hello hk im soooo happi luv soooo muchNot depressedNot depressedPass02Test MNB (TF∗ IDF) with grid search (for Hindi depressed tweet)@Rishabverma740DepressedDepressedPassTere dukh tere he rahengePhir tu isko sunaYa usko sunaKya farak padta hai#Depressed03Test MNB (TF∗ IDF) with grid search (for Hindi not depressed tweet)Udaas rehne ki wajah to bohot hai life me..!!Par fookat me khush rehne ka maza hi kuch aur hai.!! #happy #sad #lifeNot depressedDepressedFail04Test MNB (TF∗IDF) with grid search(for English not depressed tweetDepress start counsel next monthal want happiNot depressedDepressedPass05Test MNB (TF∗ IDF) with grid search (for English depressed tweet)I Feel lost inside myself! #illness #lifelessons #useless #depressed#Ignored #worthless #pathetic.DepressedDepressedPass06Test MNB, (TF∗ IDF) with grid search (for Hinglish not depressed tweet)@sidnaaz_kaHappy birthday preeti diLots of love and prayers! Hamesha khush rehna app!Not depressedNot depressedPass


## 7. Results and Discussions

The model, which is a hybrid of MNB, TF∗ IDF, and grid search, is able to classify tweets as depressed or not depressed with an accuracy of 96.15%. The full classification report of the proposed model is shown in Table 1. The model is trained on the full development set and the scores are computed on the full evaluation set.Table 3
Model metrics.
MetricValue derived for proposed modelMAE (mean absolute error)0.038461538461538464R2 score0.85Log loss1.3284375420378214IoU (Jaccard score)0.9215686274509803MSE (mean squared error)0.038461538461538464RMSE (root mean squared error)0.19611613513818404MSLE (mean squared log error)0.018478962073776976NAE (normalized absolute error0.20450490315512837When applying MNB, TF∗ IDF, and grid search to the dataset, TF∗IDF got the best results. We trained, tested, and validated the dataset with a batch size of 500, the number of epochs = 20, the drop out size of any network = 0.4, vocabulary size that we applied our models to it was 5000, with 32 hidden layers for every DL model, and finally the embedding size was equaled to 60. The evaluation splitting parameter was tested on 90%, 80%, and 70% for training with dividing equally the remaining for testing and validation.After training, the model applies the evaluation measures to check how the model is performing. Accordingly, the following evaluation parameters are used to check the performance of the models, respectively:(i)
Accuracy score(ii)
Confusion matrix with plot(iii)
ROC-AUC CurveAccuracy: as far as the accuracy of the model is concerned, MNB (TF∗IDF)-Grid search performs better than Char-LSTM, Subword-LSTM, and CNN-BiLSTM.F1-score: MNB(TF∗IDF)-Grid search (F1-score = 0.914) < , Subword-LSTM (F1-score = 0.658) < CNN-BiLSTM. (F1-score = 0.556) < Char-LSTM (F1-score = 0.92).The model has been evaluated against several metrics to compare the model’s predictions with the (known) values of the dependent variable in a dataset. Table1 describes the model metrics derived for the classification model.A study has been conducted to compare the proposed model metrics, specifically the accuracy and F1-score, with preexisting works, and the results of this study is shown in Table4.Table 4
Comparison between existing models and proposed model.
MethodReported inAccuracy (%)F1-scoreChar-LSTMJoshi, A. et al. (2016)59.80.511Subword-LSTMJoshi, A. et al. (2016)69.70.658CNN-BiLSTMGarg, N., and Sharma, K. (2020)83.210.556MNB (TF∗IDF)-grid searchProposed96.150.914Figure3 and Figure 4 represent the ROC curve and precision-recall curve obtained for the proposed model, respectively, and Figure 5 represents the confusion matrix of the model.Figure 3
ROC curve.Figure 4
Precision-recall curve.Figure 5
Confusion matrix.


## 8. Conclusion and Future Enhancement

The proposed model helps to identify those depressed individuals from the large data pool and easily identify them using a quick-fix solution that is done with minimal changes and hardly any human intervention. Another distinguishing factor of the proposed model is that it is able to classify tweets written in English, Hindi, and Hinglish languages. The entire architecture works over English and Hindi languages, which shall help in implementation globally, especially in India and across multiple platforms. This will help put a stop to the ever-increasing depression rates in an automated manner.This work can be readily upgraded into an interactive bot. The bot adapts himself to the depressed person and makes him/her able to express themselves. This would help people to spend time working on their mental health and have a regular conversation with the bot. This can be extended to include several other Indian languages.



---

*Source: 3225920-2022-04-12.xml*