{"cells":[{"cell_type":"markdown","metadata":{"id":"3-vxqQd-9haB"},"source":["# Mental Health Sentiment Chatbot Application"]},{"cell_type":"markdown","metadata":{"id":"T5j89O859haD"},"source":["## Installing libraries, dependencies, and data"]},{"cell_type":"code","execution_count":1,"metadata":{"executionInfo":{"elapsed":4,"status":"ok","timestamp":1721783558470,"user":{"displayName":"Kanish Mohan","userId":"03360479849440540993"},"user_tz":240},"id":"bH9X5lpJ9haE"},"outputs":[],"source":["# Import the required libraries and dependencies\n","import pandas as pd\n","from matplotlib import pyplot as plt\n","from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer\n","from sklearn.model_selection import train_test_split\n","\n","from sklearn.pipeline import Pipeline\n","from sklearn.feature_extraction.text import TfidfVectorizer\n","from sklearn.svm import LinearSVC\n","from sklearn.metrics import confusion_matrix, classification_report, accuracy_score\n","\n","from dotenv import load_dotenv\n","import os\n","from langchain_openai import ChatOpenAI\n","from langchain import PromptTemplate\n","from langchain.prompts import ChatPromptTemplate\n","from langchain.chains import LLMChain\n","\n","import gradio as gr\n","\n","# Set the column width to view the statments.\n","pd.set_option('max_colwidth', 200)"]},{"cell_type":"code","execution_count":2,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":423},"executionInfo":{"elapsed":719,"status":"ok","timestamp":1721783559371,"user":{"displayName":"Kanish Mohan","userId":"03360479849440540993"},"user_tz":240},"id":"5LBr7TwS9haH","outputId":"9c273ded-94d2-453f-8ba2-85b8d7786d19"},"outputs":[{"data":{"text/html":["
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
statementstatus
24933I am just tired of being here and the people on this world. My friend got killed over a fight before he could even finish high school. I have seen a dude with part of his brain and head blown out....Suicidal
40896content by eugene cacao graphic by kath limfueco source holland k 0 september how to fight depression 0 thing to try healthline http t co o udqteja what is depression n d american psychiatric asso...Depression
38002ha anyone been prescribed mirtazapine or other alpha receptor antagonist to treat their anxiety i would prefer not to use start with ssri s what wa you experienceDepression
33799my brother smokes three packs a day.Normal
1857At the age of 25, I am still strong in living my life with all its problems. Thank GodNormal
\n","
"],"text/plain":[" statement \\\n","24933 I am just tired of being here and the people on this world. My friend got killed over a fight before he could even finish high school. I have seen a dude with part of his brain and head blown out.... \n","40896 content by eugene cacao graphic by kath limfueco source holland k 0 september how to fight depression 0 thing to try healthline http t co o udqteja what is depression n d american psychiatric asso... \n","38002 ha anyone been prescribed mirtazapine or other alpha receptor antagonist to treat their anxiety i would prefer not to use start with ssri s what wa you experience \n","33799 my brother smokes three packs a day. \n","1857 At the age of 25, I am still strong in living my life with all its problems. Thank God \n","\n"," status \n","24933 Suicidal \n","40896 Depression \n","38002 Depression \n","33799 Normal \n","1857 Normal "]},"execution_count":2,"metadata":{},"output_type":"execute_result"}],"source":["# Load the dataset.\n","df = pd.read_csv(\"Combined_Data.csv\", index_col=\"Unnamed: 0\")\n","# Display a sample of the dataset. \n","df.sample(5)"]},{"cell_type":"markdown","metadata":{"id":"HpUSyf9d9haJ"},"source":["## Data Cleanup and Preparation"]},{"cell_type":"code","execution_count":3,"metadata":{"executionInfo":{"elapsed":6,"status":"ok","timestamp":1721783559371,"user":{"displayName":"Kanish Mohan","userId":"03360479849440540993"},"user_tz":240},"id":"bhNwChvA9haJ"},"outputs":[{"name":"stdout","output_type":"stream","text":["\n","Index: 53043 entries, 0 to 53042\n","Data columns (total 2 columns):\n"," # Column Non-Null Count Dtype \n","--- ------ -------------- ----- \n"," 0 statement 52681 non-null object\n"," 1 status 53043 non-null object\n","dtypes: object(2)\n","memory usage: 1.2+ MB\n"]}],"source":["# Check for missing values. \n","df.info()"]},{"cell_type":"code","execution_count":4,"metadata":{},"outputs":[{"data":{"text/plain":["statement\n","True 52681\n","False 362\n","Name: count, dtype: int64"]},"execution_count":4,"metadata":{},"output_type":"execute_result"}],"source":["# Null values in the statement column\n","df['statement'].notnull().value_counts()"]},{"cell_type":"code","execution_count":5,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":["\n","Index: 52681 entries, 0 to 53042\n","Data columns (total 2 columns):\n"," # Column Non-Null Count Dtype \n","--- ------ -------------- ----- \n"," 0 statement 52681 non-null object\n"," 1 status 52681 non-null object\n","dtypes: object(2)\n","memory usage: 1.2+ MB\n"]}],"source":["# Drop null values\n","df = df.dropna()\n","df.info()"]},{"cell_type":"code","execution_count":6,"metadata":{},"outputs":[{"data":{"text/plain":["status\n","Normal 16343\n","Depression 15404\n","Suicidal 10652\n","Anxiety 3841\n","Bipolar 2777\n","Stress 2587\n","Personality disorder 1077\n","Name: count, dtype: int64"]},"execution_count":6,"metadata":{},"output_type":"execute_result"}],"source":["# Get the number of different statuses in the status column:\n","status_count = df['status'].value_counts()\n","status_count"]},{"cell_type":"code","execution_count":7,"metadata":{},"outputs":[{"data":{"image/png":"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","text/plain":["
"]},"metadata":{},"output_type":"display_data"}],"source":["status_chart = status_count.plot(\n"," kind='bar',\n"," facecolor='r',\n"," title='Status Count',\n"," xlabel='Status',\n"," ylabel='# of entries'\n",")\n","ticks = status_count.index\n","status_chart.set_xticklabels(ticks, rotation=25, rotation_mode='anchor', ha='right', wrap=True)\n","plt.show()"]},{"cell_type":"code","execution_count":8,"metadata":{},"outputs":[{"data":{"text/plain":["['oh my gosh',\n"," 'trouble sleeping, confused mind, restless heart. All out of tune',\n"," 'All wrong, back off dear, forward doubt. Stay in a restless and restless place',\n"," \"I've shifted my focus to something else but I'm still worried\",\n"," \"I'm restless and restless, it's been a month now, boy. What do you mean?\",\n"," 'every break, you must be nervous, like something is wrong, but what the heck',\n"," 'I feel scared, anxious, what can I do? And may my family or us be protected :)',\n"," \"Have you ever felt nervous but didn't know why?\",\n"," \"I haven't slept well for 2 days, it's like I'm restless. why huh :([].\",\n"," \"I'm really worried, I want to cry.\",\n"," \"always restless every night, even though I don't know why, what's wrong. strange.\",\n"," \"I'm confused, I'm not feeling good lately. Every time I want to sleep, I always feel restless\",\n"," 'sometimes what is needed when there is a problem is to laugh until you forget that there is a problem, when you remember it, you feel restless like that well, it turns out that I still have a sad burden blah blah blah',\n"," 'Because this worry is you.',\n"," \"Sometimes it's your own thoughts that make you anxious and afraid to close your eyes until you don't sleep\",\n"," \"Every time I wake up, I'm definitely nervous and excited, until when are you going to try ™‚\",\n"," \"I can only hope, even though I'm worried if it starts like this....\",\n"," 'restive = restless, restless',\n"," '\"No regrets or grudges/angry at things that have passed, and not worrying too much about the future, that\\'s true serenity.\"',\n"," \"If the guy is sick, the girl actually feels sick indirectly. He must be feeling restless and restless. :')\",\n"," \"I've been the most anxious person before I became the most sincere person, I've also been the most worried person before it all ended\",\n"," 'Successfully online at 9am. Even sleeping in a state of restlessness what is wrong with me',\n"," \"Can't sleep. Just restless by nature\",\n"," 'Already worried about picking up the phone',\n"," \"a little restless. a little restless. always feel guilty. sorry if i can't be the best as i've been :'\",\n"," \"I've been so restless since this morning\",\n"," 'it makes you feel restless',\n"," 'Sleepy but restless when you sleep',\n"," \"Why is this cave... I'm already in a bad mood and then my heart seems to be beating really fast... I'm really nervous. Is there something wrong???\",\n"," \"He is very busy, He is restless, geez, what's going on?\",\n"," \"I'm broken and fragile, I'm hurt, I can't stand the anxiety anymore, I can't stand the love. Until now I was ignored, not seen, even left far away. I'm not like what he wants, so I'll just step back.\",\n"," \"# Suggest a song that makes you calm, don't know why suddenly this feeling of anger / restlessness appears. Thanks!\",\n"," 'Terooosss nervous huuuu',\n"," \"why today's heart doesn't feel good..jealous?.anxious?.disappointed?.feeling failed?\",\n"," \"It's a habit from elementary school if I think about something I'll get worried I can't sleep\",\n"," 'Since yesterday yesterday, I have not been in the mood, very sensitive, feeling restless, always surprised and many surprises every day that almost make my brain explode, everyone is the target of ups and downs in mood. But today I feel very grateful that this lecture drama is over.',\n"," \"Tonight he continues to chatter about money, I'm so confused what to do. Once he said don't worry about money, but he kept blabbering about money.\",\n"," 'Feeling so restless lately.',\n"," \"Oh god I'm restless\",\n"," 'but my heart is still restless even though my mouth is talking',\n"," 'waiting for uncertainty, please be anxious',\n"," 'been the most anxious person, before becoming the most sincere person',\n"," \"Did you ever read it when you read it to RL, I mean the atmosphere, the taste. It's because I'm like this. when I read au, the topic was about mental illness ™ my days became restless....and now I'm scared.\",\n"," 'Hi, I want to tell you... Lately I\\'ve been feeling restless, have trouble sleeping, I searched on google it says it\\'s a mild symptom of depression, I used to tell my mom a psychologist friend \"don\\'t think too much, it\\'s not important you get depressed easily\" then I frequent irregular breathing.',\n"," \"I've been feeling restless for the past few days, now I'm nauseous, like someone...\",\n"," \"Oh no I'm restless. The time will come. I walk with Jesus. Then my heart is calm.. Every time I sing a song I don't know, tomorrow in this section I always want to cry . Because I sing it but I don't do it . Sorry God I worry too much ️\",\n"," 'Controlling anxiety is not as easy as it sounds.',\n"," \"Since the pandemic, I haven't opened my laptop for a day, I feel restless, I have a very heavy life load\",\n"," 'People who are restless and afraid can be seen from the frequent touching of the face and ringing the fingers.',\n"," \"I don't know if my mind breaks down, but I don't want to think about it :( , why do I feel restless?\",\n"," 'Sensitive feelings make the heart restless.',\n"," \"Let's not be nervous, how about ™‚\",\n"," \"after being confessed, I'm really nervous\",\n"," 'Restless.. and.. restless..',\n"," \"This is the first time I've had an anxiety disorder in my sleep, and it wasn't really good. Even though I'm not thinking about anything, but I'm restless\",\n"," \"It's been a week I feel restless and my head feels full I want to rest while I sleep\",\n"," 'why am i nervous',\n"," 'Anxious, all afraid, afraid of war, afraid of economic crisis, afraid of air pollution, disease outbreaks, clean water, etc. When are you happy?',\n"," 'oh my god why are you so nervous',\n"," 'feelings of restlessness have started to appear ±',\n"," 'Very restless bgsd',\n"," \"The days are full of restlessness, with income that doesn't know the direction..Hopefully we can always get what we need and be given the advantage for a desire...5 - 5 - 21\",\n"," '1 hour wake up 1 hour wake up ngde the restless is here kle cak after polishing dwg',\n"," \"Lately everything has been all of a sudden, suddenly happy, suddenly sad, suddenly anxious, suddenly relaxed, suddenly excited, suddenly lethargic, etc. I really don't like everything that is impromptu, yes, but what can I do? Ha ha ha\",\n"," \"I'm so sorry, but can you give me words of encouragement or not? I'm really worried that I can't make my kids happy.\",\n"," \"I don't like worrying, I don't like wehhh!\",\n"," 'Behind your online, there is a heart that is anxiously waiting to hear from you',\n"," 'nervous restless peramoy',\n"," \"I'm nervous I don't know why. I don't feel calm\",\n"," \"Sometimes I can't even rest. Always worried, worried about this, even though I'm tired\",\n"," 'It feels uneasy.',\n"," \"I'm so restless, I don't know why\",\n"," 'Day by day, that hope grows, the closer I feel, the more I expect from you, and sometimes I get anxious because of it. To the point that I became worried, worried that it would disturb my hopes. Especially disturbing km.',\n"," \"Urmi has a fever, I'm already sad and restless.. What's more, this little girl has a fever, ha ha ha\",\n"," 'How many days have you been feeling restless at night and in the afternoon your mind is empty, why?',\n"," \"From now on, it's not really good, being restless is tired by nature\",\n"," \"I haven't slept yet, and now my head hurts so bad. I'm sleepy, but I can't sleep, I've tried to brake but I'm restless \",\n"," 'Too anxious. Too worried. Too scared',\n"," 'Restless and agitated.',\n"," 'There will always be calm in the midst of restlessness',\n"," 'dismayed = disappointed, anxious',\n"," \"This is why my heart is beating so fast. Very restless. But I don't know what I'm worried about. It's a great feeling.....\",\n"," 'More restless. Hopefully those who are there are okay.... Oh Allah protect him..... Amen, robbal alamin',\n"," \"If my friends have replied to my tweet that has an opinion, I'm worried\",\n"," \"I'm hungry, weak, lethargic, restless.\",\n"," 'Sudden restlessness. Why are you..',\n"," 'Sleeps 3 hours, rest restless. Try a variety of positions and ways never fall asleep. I really need to be able to control this mind.',\n"," \"STOP I'M GAMAU ANXIETY, GUNDAH GULANA AGAIN\",\n"," 'Anxious',\n"," \"It's so restless work\",\n"," \"Is there anyone who, when sick, can't sleep well, but sleeps restlessly?\",\n"," 'Please worry until you want to cry',\n"," \"Exam on Saturday. Saturday's Starting Presentation..On Going: CT.Place CSE Dept. .Assignments….AND UNTIL NOW CLEAR CATIA TRAINING 2 PRODUCTS HAHAHAHA.. awesome, still in sleep mode, but I'm nervous, haha\",\n"," \"I'm nervous, when you come change anxiety and become anxious, I'm more worried. Tomorrow I will try to live without news from you again, quickly go away from my insincerity.\",\n"," 'How worried am I? *asked my other self. Until it was sent, sustenance had a good friend. Moved',\n"," 'Restless due to imagining too long and high until lazy to sleep.',\n"," \"It's like something's up, something's weird, but I don't know what, it feels so restless.\",\n"," '\"No regrets or grudges/angry at things that have passed, and not worrying too much about the future, that\\'s true serenity.\"',\n"," \"For God's sake, I'm so tired of worrying.\",\n"," \"For 3 years comfortable with this condition, anxiously wondering if a few days later everything will change? I don't know, another crisis of confidence\",\n"," 'Feeling a little anxious today.',\n"," \"Not regretting or holding grudges/angry at things that have passed, and not worrying too much about the future, that's true serenity\",\n"," 'Please be anxious , it must continue like this.',\n"," \"Hmm, I don't know what to do, but I'm nervous\",\n"," \"Very restless can't sleep ™\",\n"," \"I'm sad because I can't produce anything but I like to complain every day because I'm tired of taking care of children I see the body is getting bigger, yes I am getting more and more restless\",\n"," \"Every time after sunset, why must this heart be restless as if it can't accept the situation. But with this situation, you can't do anything, if you do it, it can only make things worse\",\n"," 'Why are you restless and restless yo ”',\n"," \"I'm so nervous about what to do\",\n"," 'tbtb restless, tf is wrong with meh?',\n"," \"I swear I can't sleep...sleep anyway, but I don't sleep...so restless..\",\n"," \"Why does it seem like tonight I'm restless, sad like I want to cry but I don't know what to be sad about\",\n"," \"why so nervous? what is certain is not because thr is without tukin. ..but it's all because of you\",\n"," 'The script is harmless. But continuing anxiety because the thesis is not finished can be dangerous for the heart.',\n"," \"can't you not disturb people's lives? until I'm anxious and can't sleep\",\n"," 'how do you keep it calm, original tbtb is excited and then you\\'re sweaty or nervous \"',\n"," 'And again suddenly feeling nervous and anxious without knowing why :(.',\n"," \"I'm not feeling very good this morning, I'm really worried ”\",\n"," \"If you are restless & restless, just complain to your RABB and read the Qur'an so that the heart becomes cool and reduce cynicism towards others #bowochallenge #iwartabowochallenge\",\n"," 'controlling excessive anxiety',\n"," \"When you hear the song, your heart becomes calm and when you hear the Koran, your heart becomes tense and restless.. it's a sign that your heart is hit by CORONA BLOOD.. you need to think about it.. because life is not a game.\",\n"," 'restless restlessness haunts self',\n"," \"The peak period of my stress has passed and I am only noisy now. After going out with my friends yesterday, that makes me feel kinda better. At first I was afraid and anxious to go out, yes, because anxiety is still active. But well I hope I'll gain some weight after this storm, bismillaah\",\n"," \"I'm most worried when my mom is sick.\",\n"," \"don't worry yet :)\",\n"," '\"Yesterday, I was worried half to death, now my wife is aware of being stiff again... how about that?\"',\n"," \"The last time I felt this nervous was on Wednesday. When he found out his mother died. I hope this isn't a sign anymore\",\n"," \"I don't know how many years it took me to jump in until I could feel the descent without worrying ²\",\n"," \"I want to ask, have you ever been worried about the things you like? Even because you really like it, you feel like it's a part of your life. But every time you do or remember it you get worried. What do you think you should do? :(\",\n"," 'However, every time I picket, I\\'m always nervous: \"Even though I\\'m just a picket, I\\'m really scared, I\\'m excited:\"',\n"," \"BY GOD I'M STILL WORRY.\",\n"," 'time goes on..days go on..at the same time my heart is getting restless and hurt...oh Allah I know you are testing me with this patience, and you are testing me with everything that happens..forgive me who is starting to weaken and lose enthusiasm for keep fighting and survive...',\n"," 'I want to exhale the restlessness in my chest with my breath',\n"," \"Why every morning I want to sleep I'm restless \",\n"," 'Anxious alone, sad alone, not having peace',\n"," \"What's wrong I'm worried, oh I hope it's okay\",\n"," \"I really like this, I'm nervous about things I'm not sure about, I don't know why but I feel really nervous. WEIRD.\",\n"," \"I'm so nervous, why?\",\n"," 'but my heart is still restless even though my mouth is talking',\n"," \"Since then I was restless to the point of choking. What's wrong?\",\n"," \"Starting to worry again if you have a lot of schedules, even though yesterday it was neatly arranged. How come biso missed ouch :')\",\n"," \"Adf-my does anyone know why I am here? I've been feeling restless since yesterday, like worrying/worrying too much, suddenly feeling sad, just scared. But I also don't know why\",\n"," 'Gegana, restless, speechless, I don\\'t know what the cause is:\"',\n"," \"I'm lazy.. I'm so nervous\",\n"," 'Happy but also worried.',\n"," \"It's anxious to worry\",\n"," \"Honestly, I'm really nervous\",\n"," 'Here from now on, my heart is restless',\n"," \"Later when you are tired of the new one, and then you look back and feel guilty for me, don't be a bit nervous. Trust me, I have forgiven you. Even though I will never accept you again.\",\n"," \"I need adit not for stalking or for strange things because I myself have started to learn not to stalk just because I'm afraid that mental disorders will get worse even though I still feel anxious and afraid if I don't stalk, I can hold it so that Adit doesn't feel disturbed\",\n"," 'Keep restless astagfirullah',\n"," \"I'm excited but I don't know why, there's no reason, I'm nervous, I have a stomach ache but I'm scared, I know I'm tired, this is the third time today, hah — hah :)\",\n"," 'Always worried about the future, even though today has not changed.',\n"," 'every time you worry, why is the disease running to your stomach?',\n"," \"If you're nervous looking for the best position before going to sleep, it feels like someone's watching you ™„\",\n"," 'Restless and agitated',\n"," 'In the evening, towards the morning. A little worried, a lot of longing',\n"," \"Some days, I don't think I'm doing well, so I feel like I'm really crying, scared, anxious, just sad. until I think of this when I cry, does my fast break or not?\",\n"," \"It's been a few days when I sleep by default I'm afraid, restless, nervous, feel alone, sometimes my breath is really heavy.....why is that... like I'm afraid of being restless, oh my God\",\n"," 'tired of overtingking, tired of worrying too much, tired of being tired',\n"," \"aren't you worried? aren't you worried? don't you worry...\",\n"," 'Instead of getting calmer, this heart is getting more restless',\n"," \"can i tap the dm or not? I'm very nervous thinking\",\n"," 'Finally restless again uhh mmhhh ahh',\n"," 'No need to run, just walk one by one the stones that are being stepped on slowly and absorb it without feeling anxious and full of emotions',\n"," \"Lately I'm feeling scared & very anxious thinking about the day for tomorrow's work inspector . Honestly, I'm really scared because I'm not very close to friends, I'm afraid I can't, I'm afraid to disappoint, and if I suddenly remember I cry\",\n"," \"This is why I can't sleep, I'm so restless...\",\n"," 'I want to exhale the restlessness in my chest with my breath',\n"," 'Restless restlessness accompanies',\n"," 'hlt! why do i like to be nervous tbtb keep worrying so much that i sweat',\n"," 'Not many people are sure of their prayers, not many people are faithful to wait with what is prayed for. Prayer is unique, there is hope and feeling, there is worry and anxiety, there is tears and happiness. But the end of the prayer will always be the best for humans.',\n"," \"I wonder why my heart beats like that sometimes for weeks, then it's back to normal for a few weeks, does anyone know why this isn't it? Or maybe I'm often anxious and stressed, okay?\",\n"," \"I'm so nervous I swear, the views are getting slower\",\n"," 'Just woke up feeling restless and sore ™„',\n"," \"I'm so worried 5 days of not coming home wey\",\n"," 'My life is chaos. There is no solution. Fear of the uncertain. Restless direction.',\n"," 'UNDERSTANDING FEEL FEELING«',\n"," \"I really can't be told to just listen to it for hours. Immediately anxious innate.\",\n"," \"I haven't given up… just a little restless.\",\n"," \"Actually I'm worried. The original looks really scared. I've come to play/bite my nails :(\",\n"," \"If I'm honest, I've been nervous since that day even though I said it wasn't....\",\n"," \"Lately, I've been feeling restless and restless. Haihh\",\n"," \"I'm so nervous, why isn't it?\",\n"," \"The default bat is restless, I don't know why\",\n"," \"you know you're restless\",\n"," 'Restless,. Locked in all motion. Whipped in the brain noisy debate about decisions. Make friends with fear and risk',\n"," \"Wow, I'm getting restless, let's sleep\",\n"," \"I swear I'm so nervous, why don't you\",\n"," 'I was a little worried that the afternoon class would actually be able to reach the target. But God just gave a way, wednesday class was moved even though it was a quiz. At least later in the morning you can make out with data until iftar',\n"," \"–¤ When you're anxious or nervous, do you feel like your heart feels weird, doesn't it? Is it just me?\",\n"," \"Come on, come on, let's go... 10 years could be passed before, it's not even a month yet, I'm already restless\",\n"," 'Time is slow for those who wait, too long for those who are restless, and too short for those who are happy',\n"," \"Restless, restless, become one. Can't agree. Can't even sleep\",\n"," 'May May be accompanied by good news. The injured, get well soon. Sorrow turns to love. Quieter anxiety. And prayers that are more patient...#senjamu',\n"," 'Since then, the chicken cake has been restless and wants to lay eggs.',\n"," 'Do not compare yourself to others. Envy only makes restless soul. Be yourself.',\n"," \"The 5 dream ones were moved to a new unit, so why isn't the Anjrit so worried?\",\n"," \"finished for the heart's intention to watch the series, I even thought about it. I'm worried\",\n"," '\"No regrets or grudges/angry at things that have passed, and don\\'t put too much anxiety over the record period #COYS',\n"," \"Usually, if you're restless for a long time, surely after that something will happen or not\",\n"," \"Have you ever thought of something and then immediately forgot it then thought you were thinking about this bastard, I don't remember it, so I was restless\",\n"," 'Dialogue in the morning.. to yourself, restless and restless accompanying it, hoping someone will understand-',\n"," \"I'm the only one who's nervous.\",\n"," \"I'm starting to worry\",\n"," \"In my father's family, everyone is smart, I'm sure the expectations for me are also high it makes me very anxious to think about this huhu\",\n"," \"Already complete. Disappointed with a broken heart. Produces a sense of restlessness. I don't know, hopefully all of this ends beautifully\",\n"," 'when your bipolar relapse welcome shortness of breath, tremors, anxiety, fear, selfharm etc',\n"," \"How come lately I'm not feeling well, like mellow, not calm, restless\",\n"," \"When you think about it and don't finish it, it feels really restless\",\n"," \"I'm worried.. I'm in a bad mood.. but excited to see law school..\",\n"," \"Yes, what will happen later :'), I'm worried that I can control my emotions\",\n"," \"I'm really nervous about choosing between boring or chilling, PLEASE\",\n"," \"oh my god why have you been a week, you're so nervous, it's really bad aaa\",\n"," \"people seem calm, happy like there's no problem because only one smile we throw out but sad, restless and anxious millions of which we keep to ourselves, only we know.\",\n"," \"In the past, if you knew there were people who didn't like me, you would immediately be worried, sad, find out why someone didn't like you.\",\n"," 'Fearful. Often experiences feelings of extreme worry, sadness, or anxiety.',\n"," 'crazy, why are you nervous? *plays yo-yo*',\n"," \"a lot of work tomorrow a suddenly meeting, stomach acid rises, dizziness, can't sleep, restless. what should i do\",\n"," \"Unsettled !! That's when there is a test. But face it and get over it. It's been like that since the school days, the present can't be done like that. It could be\",\n"," \"Panic, don't know what to panic about. Restless alone, think too\",\n"," \"I can't stop, my nutmeg pops up eyes that I have to look at when I'm anxious\",\n"," \"I'm really scared, nervous every day…\",\n"," 'how do you stay calm so nervous after reading this.',\n"," \"Strange. I don't have work today and I have a bit of free time so I can read shrill novels but... it feels weird. I've been nervous about checking the google calendar just in case if I read it wrong. But it's still weird, how about this, like you should be looking for a job to get rid of this feeling.\",\n"," 'Is there something that makes me nervous',\n"," \"I don't know why, after every Eid prayer, I suddenly feel restless, it's not clear in the end, I'm not in the mood for friendship or what people usually do on Eid :(\",\n"," 'If you are stuck sleeping at 11am until set 12. If you are more than that, you will be anxious, why are you?”',\n"," 'Have you ever been so nervous, scared, and anxious that you want to throw up?',\n"," 'Do not compare yourself to others. Envy only makes restless soul. Be yourself.',\n"," \"When I'm done with this, why do I feel so dizzy.... But I swear I don't want to sleep, I'm really nervous when I'm told to sleep.\",\n"," \"I don't know whether to be happy or sad. And don't know how long this feeling will last? I'm the one who feels it just great every day coy.. confused about my own feelings. Sllu not calm, restless. But, just give up.. there is God. My son, yes.. Shaina can.\",\n"," \"I just want to pass, there are so many obstacles « I'm so tired guyssss I want to rest for a while but I can't seem nervou\",\n"," \"It's true that social media is fun, you have to look for health, if it only makes you nervous, what do you do\",\n"," \"Starting to get restless...Others have started praying Isha, I'm not solemn, the cat is getting closer...Finally canceled the prayer to get rid of the cat\",\n"," \"What do you do when you're anxious when you're anxious? i used to write something every time i have a lot of thoughts or worry about things that are not sure... but now... idk what to do = 0.05:\n"," sentiment.append(\"Positive\")\n"," \n"," elif statement_sentiment['compound'] <= - 0.05:\n"," sentiment.append(\"Negative\")\n"," \n"," else:\n"," sentiment.append(\"Neutral\")\n"," score.append(statement_sentiment['compound'])"]},{"cell_type":"code","execution_count":10,"metadata":{},"outputs":[{"data":{"text/html":["
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
statementstatussentimentscore
0oh my goshAnxietyNeutral0.0000
1trouble sleeping, confused mind, restless heart. All out of tuneAnxietyNegative-0.2263
2All wrong, back off dear, forward doubt. Stay in a restless and restless placeAnxietyNegative-0.7351
3I've shifted my focus to something else but I'm still worriedAnxietyNegative-0.4215
4I'm restless and restless, it's been a month now, boy. What do you mean?AnxietyNegative-0.4939
\n","
"],"text/plain":[" statement \\\n","0 oh my gosh \n","1 trouble sleeping, confused mind, restless heart. All out of tune \n","2 All wrong, back off dear, forward doubt. Stay in a restless and restless place \n","3 I've shifted my focus to something else but I'm still worried \n","4 I'm restless and restless, it's been a month now, boy. What do you mean? \n","\n"," status sentiment score \n","0 Anxiety Neutral 0.0000 \n","1 Anxiety Negative -0.2263 \n","2 Anxiety Negative -0.7351 \n","3 Anxiety Negative -0.4215 \n","4 Anxiety Negative -0.4939 "]},"execution_count":10,"metadata":{},"output_type":"execute_result"}],"source":["# Creating sentiment and score columns.\n","df['sentiment'] = sentiment\n","df['score'] = score\n","df.head()"]},{"cell_type":"code","execution_count":11,"metadata":{},"outputs":[{"data":{"text/html":["
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
statementstatussentimentscore
21397The person who supposedly is there for me is not. My family only cares for me when it comes to ask for a service or a favour, and they do not really care for me, whether it would be successes or w...SuicidalNegative-0.9676
30924yes, i do.NormalPositive0.4019
3825It's gastric in the morning, we're not joking huhNormalNegative-0.1695
36537@SamanthaPaige3 This is the best thing to pop on my Twitter all day😂😂 what cracks me up is that billy is in it too😂😂😂NormalPositive0.6369
47352I’ve recently been getting closer to reaching proper nutrition everyday and it’s made more of an improvement than any antidepressant I’ve ever been put on has the more I learned about nutrition th...DepressionPositive0.7821
36573@slxmdunk,United Kingdom,@Pamaj what hapens if i dont want to be here anymore?SuicidalNegative-0.0572
15807I do not really know why I am writing about this but we all know that it is obvious.I just feel like I am forced to live dealing with other people's shit every single day,it is fucking tiring.I do...DepressionNegative-0.9928
18290**Extraterrestrial beings can visit our planet in a few days.** Extraterrestrial beings can visit our planet in a few days.DepressionNeutral0.0000
45049im trying to make a chicken soup like my mother but without a recipe this will be interesting and i cant find matzahNormalPositive0.6486
2535lexi pspspspspspspsNormalNeutral0.0000
\n","
"],"text/plain":[" statement \\\n","21397 The person who supposedly is there for me is not. My family only cares for me when it comes to ask for a service or a favour, and they do not really care for me, whether it would be successes or w... \n","30924 yes, i do. \n","3825 It's gastric in the morning, we're not joking huh \n","36537 @SamanthaPaige3 This is the best thing to pop on my Twitter all day😂😂 what cracks me up is that billy is in it too😂😂😂 \n","47352 I’ve recently been getting closer to reaching proper nutrition everyday and it’s made more of an improvement than any antidepressant I’ve ever been put on has the more I learned about nutrition th... \n","36573 @slxmdunk,United Kingdom,@Pamaj what hapens if i dont want to be here anymore? \n","15807 I do not really know why I am writing about this but we all know that it is obvious.I just feel like I am forced to live dealing with other people's shit every single day,it is fucking tiring.I do... \n","18290 **Extraterrestrial beings can visit our planet in a few days.** Extraterrestrial beings can visit our planet in a few days. \n","45049 im trying to make a chicken soup like my mother but without a recipe this will be interesting and i cant find matzah \n","2535 lexi pspspspspspsps \n","\n"," status sentiment score \n","21397 Suicidal Negative -0.9676 \n","30924 Normal Positive 0.4019 \n","3825 Normal Negative -0.1695 \n","36537 Normal Positive 0.6369 \n","47352 Depression Positive 0.7821 \n","36573 Suicidal Negative -0.0572 \n","15807 Depression Negative -0.9928 \n","18290 Depression Neutral 0.0000 \n","45049 Normal Positive 0.6486 \n","2535 Normal Neutral 0.0000 "]},"execution_count":11,"metadata":{},"output_type":"execute_result"}],"source":["# Displaying a sample of the new DataFrame.\n","df.sample(10)"]},{"cell_type":"code","execution_count":12,"metadata":{},"outputs":[{"data":{"text/plain":["sentiment\n","Negative 28780\n","Positive 17394\n","Neutral 6507\n","Name: count, dtype: int64"]},"execution_count":12,"metadata":{},"output_type":"execute_result"}],"source":["# Get the number of different results in the sentiment column:\n","sentiment_count = df['sentiment'].value_counts()\n","sentiment_count"]},{"cell_type":"code","execution_count":13,"metadata":{},"outputs":[{"data":{"image/png":"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M0YvvfSSNmzYIEmqVq2aJOmf//ynoqOji7N5FyQ0NFRly5ZVfHy8HnnkkbPW1K1b96K24fbbb1dAQIBmzZqlhx9++H/WV61aVSkpKQXmn7pP69RncioAnbqR+5QzQyAA9whNAApISUk561hImzZtkvTfXo0OHTqoXLly2rp1q3r27Fkk7/1Le24Ko2LFirr99tv17bff6rrrrnN6on6pwMBA1+2PjIzU7373O7355puaOnXqWZ+g27p1q44eParrrrtObdu21fjx47V+/XrdcMMNTs3UqVPl8Xh0++23S5LTG/X999+rQ4cOTt2cOXN+0X5Jv85nA5REhCYABXTo0EE1a9ZUt27ddM011yg/P1/Jycl64YUXVKlSJf3+97+XdPLE/Mwzz+jJJ5/Uf/7zH3Xs2FGhoaHat2+f1q5dq+Dg4LM+gXY+ISEhio6O1uzZs9W2bVuFhYWpWrVqZ70kVRReeeUVtW7dWrfccosGDRqkOnXq6PDhw/r55581d+7cC7pHqHHjxvrss8/05ptvqlmzZipTpoxzmfNsXnzxRf3nP/9Rv379tGDBAt11112KiIjQgQMHtGjRIk2ZMkUJCQm67rrr9Oijj2rq1Knq0qWLnnnmGUVHR2vevHl64403NGjQINWvX1/SyTDWrl07jR8/XqGhoYqOjtaXX36pzz777IL/r37tzwYocYr7TnQAJc/06dOtd+/eVq9ePatUqZIFBARY7dq1LT4+3jZu3FigftasWXb77bdb5cqVLTAw0KKjo+3uu++2f/3rX05N3759LTg4uMC6Y8aMsTN/Ff3rX/+ypk2bWmBgoEmyvn37mtm5n5679tprC2w3OjraunTpUmC+JHvkkUf85m3bts369+9vV1xxhQUEBFj16tUtNjbWnn32Wafm1NNon376aYF1dcbTaAcPHrS7777bqlSpYh6Pp8D+nU1ubq598MEHdscdd1hYWJiVK1fOqlevbp06dbKPPvrI8vLynNodO3ZY7969rWrVqhYQEGANGjSwSZMm+dWYmaWkpNjdd99tYWFh5vV67b777rNvvvnmrE/P/dLPBrgceMzMiiuwAQAAlBYMOQAAAOACoQkAAMAFQhMAAIALhCYAAAAXCE0AAAAuEJoAAABcKNbBLd988029+eab2r59uyTp2muv1VNPPaVOnTpJksxMY8eO1TvvvKOMjAw1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ONHv+G3VqpU1bdrUCVd5eXm2fft250EFlA6EJpjP57NBgwZZZGSkjRgxwsqVK2c9evTwuxdp7ty51qRJE3vjjTfsxIkTtmrVKvN4PPaPf/zDqZkzZ47df//99te//tXv5JeXl8fTSHCc2Yu0Z88ev9c+n8+GDRtmDRs2tHvuucdeffVVMzv5WHarVq3shhtusNtuu8169uxp0dHR1qJFC+fepd/97nd2/fXXO+EoNzfXfvjhB05MuGA//fST1alTx5566ikzM1u7dq3VqFHD+f2Ynp5uQ4YMMY/H4zzhNmLECGvUqJGtWLHCzMzWrVtn3bp1M4/HY6+99tpZe1JROhCaLiPn+kEdO3as1atXz5KSkmzFihU2YsQI83g89v777zs1rVu3tvvvv995/fe//908Ho/Vrl270O8H5Obm2pgxY6xx48Z2880328CBA+27776zrKwsi42NtVtuucXee+89e/jhh618+fI2ZswYy83NtY0bN9rw4cPt1VdftSlTptiHH35ovXr1siZNmpiZ2caNG83j8diCBQuKdwdR6mRlZdlTTz1l9913n98QKidOnLCxY8da5cqVzcxs2bJlFhcXZ2vWrLEHHnjAKlWqZO3bt3eCu9nJ4N+0aVO7+uqr7b777rMaNWrY3Llznct8KL0ITZeY/Pz8Ar06Z17yOD3MpKen2w033GCPPfaYX02rVq2se/futm3bNjMz69Wrl910002WnZ1t27dvt9/97nf20ksvWVxcnKWmphbYPj1LOJusrCx7+umnrWzZsta8eXP729/+Zo8//rhFRERYmzZtbPny5RYZGekMBmhm9swzz1jLli3tn//851m32a9fP+vbt69z+eTMMcMAN1JSUqx69erm8XisTp06NnPmTOf32Pfff29VqlSxKVOm2IoVKyw0NNQqVqxoPXv2dJ4kNjPbv3+/7d2711nn+eeft169ep11IF+UToSmS9Spa+mnB6bZs2fbvffea48++qjNmzfPmR8ZGWnvvfeemZnz3UezZs2yoKAg50S1cuVKCwsLs0aNGllAQIDdfffdzs3igFt79uyxOnXq2P/93//5zX/99detatWq1qJFC+vcubMdP37cOWH95z//sbi4OPv9739vubm55vP5bP369bZ+/XobMmSI1alTx2bPnl0cu4NLzOOPP25xcXF2xx13WJMmTWzYsGHOd2Q+8sgjVqdOHTMza9Cggd13331+f4AeO3bMRo8e7XzvJi5NDDlQytkZj8Tm5ubqscce09133y3p5OCUx48fV+/evfXggw+qdu3a2rNnj0aOHKnx48dLku644w699957kv77aHbnzp0VEBCguXPnau/evWrVqpWWL1+uJ554Qt9++60+/fRTVa1aVVLBYQqAc4mKitK9996rjIwMvwEmw8PDFRwcrKuvvlrLly93Htc2M9WtW1cRERHauXOnypYtq+TkZP3lL3/RnXfeqU2bNumTTz5R9+7di2uXcAk5NZRK69at9frrr2vevHnq2LGjduzYoQceeEDp6elauHCh/vznP+vrr79W3759tWzZMi1cuFB33XWX5s+fr3r16hXvTuDiKu7UhqKVl5dnr7/+unk8HmeY/jlz5lhsbKzfgGl33323BQQE2I4dO2zOnDlWrlw5+9e//uUsnzFjhkVFRdk111xz1vtD8vLyeDIOF+Tf//63xcbG2rhx45x5p55y+/HHH+2KK66w5557zm+dnj17Wtu2bZ3Xy5Yts507d/5qbcblIT8/3wYNGmR33HGHHTlyxHbv3m233HKLNW/e3P7617/aI4884tw/N3v2bGvYsKG1aNHCIiIibODAgQW+GgWXHkJTKffPf/7TZsyY4RdgduzYYY0aNbKHHnrIzE7e6P3b3/7WzE6ODXIqDL366quWn59vx48ftwEDBlhkZKQ9+uij9re//c3atGlj8+bNs5o1azrf1cUXmaIonDoxtW/f3saMGWN169a1K664wgnnkyZNspCQEHv22Wdt27ZtNn36dKtXr559/vnnxdxyXA6+/fZba968ufOlumlpafbCCy9Y2bJlrUOHDubxeGzx4sVmdvILdX/++WeezryMEJpKsY8++sg8Ho95PB7705/+5NyQffz4cXv55ZetfPnylpOTYyNGjLAGDRpYaGioNW3a1D744APnptlTQSgnJ8fGjh1rt9xyi1155ZU2duxYMzt5Q/i9995bPDuIS1ZycrLVr1/fqlatah9++GGBk84TTzxhjRo1squvvtq8Xq+NGzeOnk38KvLy8uy+++6zLl26+N23OWXKFGvVqpV5PB7r379/MbYQxYnQVIqlp6dbu3bt7Nprr7XGjRtby5YtnYEot2/fbhEREfbKK6/YqlWrrEKFCvbEE0/4rX/o0CEbMWKEffvtt8680wdwW79+vV111VV8uzaK3KkTU6dOnZzv38rOzva7sXbfvn3OODfAr2n58uXWokULmzJlit/8tLQ0ejwvc9wIXoqFhYXp1ltv1ZVXXqnHHntMNWvW1J133qnJkycrOjpaDz/8sMaOHauWLVvq5ptv1tq1a7V8+XJlZmZq586devLJJ7Vu3TodO3bM2WZKSoq++OILPfroo+ratauaNm2qNm3aFONe4lJUpkwZDRgwQBkZGfrkk0+ceae+z0s6eXN469ati6uJuIy1bNlSUVFRmjZtmo4fPy7p5EMJ1atXV5cuXYq5dShOhKZS7oEHHtChQ4e0fft2ffLJJ+rbt68effRRJyxVqFBBH374oT744ANVrFhR3bp1U9euXXXttdfqp59+0osvvqjY2Fhne7m5uUpMTFRycrLeeecdffrppwoLCyvGPcSlKjY21u/EdHpgAopTuXLl1LdvXzVv3tx5ktPj8RRzq1ASeMz4mvnS7rHHHtOaNWv0zjvvqEGDBnr33Xc1bdo0HTx4UOHh4UpNTdXGjRuVlZWln376ScnJyWrevLmuueYaZxv2/7+528x05MgRhYSEFOMe4XIxZ84crV69Wn/84x/l9XqLuzmA49TvROB0hKZLwJYtW9SvXz917NhRf/7znyVJaWlpuv/++7Vs2TJlZWVp9uzZ6tatm996+fn5MjP+wkex4cQEoDQpV9wNwC939dVXq0mTJlqxYoX27NmjK664QuHh4ZoxY4amTZumrVu3Ki4uzm8dM1OZMlydRfEiMAEoTehpukR89913Gjx4sO6880499thjys/PJxQBAFCEOKteIho3bqxq1app165dysnJ8QtMZqb8/PxibB0AAKUfPU2XkEOHDqlKlSrF3QwAAC5JhKZLEJfmAAAoeoQmAAAAF+iOAAAAcIHQBAAA4AKhCQAAwAVCEwAAgAuEJgAAABcITQBwDkuXLpXH49GhQ4eKuykASgBCE4ASLy0tTQ899JBq166twMBARUZGqkOHDkpKSiqy97jttts0fPhwv3mxsbFKSUmR1+stsve5UP369VOPHj2KuxnAZY0v7AVQ4vXs2VM5OTn64IMPdOWVV2rfvn368ssvdfDgwYv6vuXLl1dkZORFfQ8ApYgBQAmWkZFhkmzp0qXnrDl06JANGDDAqlevbiEhIXb77bdbcnKys3zMmDHWpEkTmzp1qkVHR1vlypWtV69elpmZaWZmffv2NUl+07Zt22zJkiUmyTIyMszMbMqUKeb1em3u3LlWv359CwoKsp49e9qRI0fs/ffft+joaKtSpYoNGTLEcnNznffPysqyP/zhDxYVFWUVK1a0m2++2ZYsWeIsP7XdxMREu+aaayw4ONg6dOhge/fuddp/ZvtOXx/Ar4PLcwBKtEqVKqlSpUqaNWuWsrKyCiw3M3Xp0kWpqamaP3++1q1bpxtuuEFt27b164naunWrZs2apc8//1yff/65li1bpgkTJkiSXnnlFbVs2VIDBgxQSkqKUlJSVKtWrbO259ixY3r11VeVkJCgxMRELV26VL/5zW80f/58zZ8/X9OmTdM777yjf/7zn846DzzwgL766islJCTo+++/1//93/+pY8eO2rJli992n3/+eU2bNk3Lly/Xzp07NWrUKEnSqFGjdM8996hjx45O+2JjY4vk/xdAIRR3agOA/+Wf//ynhYaGWoUKFSw2NtZGjx5t3333nZmZffnll1a5cmU7ceKE3zpXXXWVvf3222Z2sqemYsWKTs+Smdkf/vAHa968ufO6TZs29vvf/95vG2fraZJkP//8s1Pz0EMPWcWKFe3w4cPOvA4dOthDDz1kZmY///yzeTwe27Nnj9+227Zta6NHjz7ndl9//XWLiIhwXvft29fuvPNOV/9fAC4O7mkCUOL17NlTXbp00YoVK5SUlKTExERNnDhR7733nvbv368jR46oatWqfuscP35cW7dudV7XqVNHISEhzusaNWooLS2t0G2pWLGirrrqKud1RESE6tSpo0qVKvnNO7Xt9evXy8xUv359v+1kZWX5tfnM7V5o+wBcPIQmAKVChQoV1L59e7Vv315PPfWUfve732nMmDEaPHiwatSooaVLlxZYp0qVKs6/AwIC/JZ5PB7l5+cXuh1n2875tp2fn6+yZctq3bp1Klu2rF/d6UHrbNswvk8dKFEITQBKpUaNGmnWrFm64YYblJqaqnLlyqlOnToXvL3y5csrLy+v6Br4/zVt2lR5eXlKS0vTLbfccsHbuVjtA+AeN4IDKNHS09N1xx136B//+Ie+//57bdu2TZ9++qkmTpyoO++8U+3atVPLli3Vo0cPLViwQNu3b9eqVav0pz/9Sd98843r96lTp47WrFmj7du368CBAxfUC3U29evXV58+fXT//ffrs88+07Zt2/T111/rueee0/z58wvVvu+//16bN2/WgQMHlJOTUyTtA+AeoQlAiVapUiU1b95cL730km699VbFxMToz3/+swYMGKDJkyfL4/Fo/vz5uvXWW9W/f3/Vr19f9957r7Zv366IiAjX7zNq1CiVLVtWjRo1UvXq1bVz584i24cpU6bo/vvv18iRI9WgQQN1795da9asOecTemczYMAANWjQQDfeeKOqV6+ur776qsjaB8Adj3HRHAAA4H+ipwkAAMAFQhMAAIALhCYAAAAXCE0AAAAuEJoAAABcIDQBAAC4QGgCAABwgdAEAADgAqEJAADABUITAACAC4QmAAAAFwhNAAAALvw/HIlRW1FzvAYAAAAASUVORK5CYII=","text/plain":["
"]},"metadata":{},"output_type":"display_data"}],"source":["sentiment_chart = sentiment_count.plot(\n"," kind='bar',\n"," facecolor='b',\n"," title='Sentiment Count',\n"," xlabel='Sentiment',\n"," ylabel='# of entries'\n",")\n","ticks = sentiment_count.index\n","sentiment_chart.set_xticklabels(ticks, rotation=25, rotation_mode='anchor', ha='right', wrap=True)\n","plt.show()"]},{"cell_type":"code","execution_count":14,"metadata":{},"outputs":[],"source":["# Set the features variable.\n","X = df['statement']\n","# Set the target variables.\n","y_status = df['status']\n","y_sentiment = df['sentiment']"]},{"cell_type":"code","execution_count":15,"metadata":{},"outputs":[],"source":["# Split data into training and testing for status\n","X_status_train, X_status_test, y_status_train, y_stauts_test = train_test_split(X, y_status, test_size=0.25, random_state=1)"]},{"cell_type":"code","execution_count":16,"metadata":{},"outputs":[],"source":["# Split data into training and testing for sentiment\n","X_sentiment_train, X_sentiment_test, y_sentiment_train, y_sentiment_test = train_test_split(X, y_sentiment, test_size=0.30, random_state=1)"]},{"cell_type":"markdown","metadata":{"id":"R-5gfm-n9haK"},"source":["## ML Model"]},{"cell_type":"markdown","metadata":{},"source":["Title: y_status_train"]},{"cell_type":"code","execution_count":17,"metadata":{"executionInfo":{"elapsed":6,"status":"ok","timestamp":1721783559372,"user":{"displayName":"Kanish Mohan","userId":"03360479849440540993"},"user_tz":240},"id":"wiFAyohp9haK"},"outputs":[{"name":"stderr","output_type":"stream","text":["c:\\Users\\MJSmi\\anaconda3\\envs\\dev\\lib\\site-packages\\sklearn\\svm\\_classes.py:32: FutureWarning: The default value of `dual` will change from `True` to `'auto'` in 1.5. Set the value of `dual` explicitly to suppress the warning.\n"," warnings.warn(\n"]},{"name":"stdout","output_type":"stream","text":["['Depression' 'Normal' 'Bipolar' ... 'Normal' 'Depression' 'Normal']\n"]}],"source":["status_pipeline = Pipeline([\n"," ('tfidf', TfidfVectorizer(stop_words=None)),\n"," ('classifier', LinearSVC())\n","])\n","\n","status_pipeline.fit(X_status_train, y_status_train)\n","\n","# Print the results\n","status_predictions = status_pipeline.predict(X_status_test)\n","print(status_predictions)\n"]},{"cell_type":"code","execution_count":18,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":[" X_test \\\n","39488 i m and i have bad anxiety debilitating i haven t been able to keep a job since i wa so pretty much ever i wake up early morning hour before i have to be my heart race i black out i puke cough my ... \n","1480 Jessica starred in the musical \"Legally Blonde\" as Elle Woods, the female lead in the drama \n","47948 I’m so tired I just don’t see a point to my suffering, I don’t understand it, I want to know what I’ve done so wrong to deserve everything, I’d say sorry and do anything to make it stop! I already... \n","19681 My life 1 year ago was completely different. I was such a chick magnet and everyone loved me i had so many friends and in this past year i lost everything. I have no friends so when i feel sad i d... \n","37629 RT @no_onespecixl: Know one enjoys my company and I just make everyone miserable, everyone is better off wi \n","... ... \n","7162 Small context: To anyone who is curious I am 16 years old 1. It feels hard to express my opinion on the internet because every time I do I always get bashed for it. I am starting to doubt myself, ... \n","45963 Disengaging from my friends Fuck. Fuck man. I feel like shit. I feel like I'm pushing away the people who can help me the most because I feel like a drama queen and I feel like I am a burden to th... \n","6034 what if we both get into a gang of criminals: I took your heart, and you took my heart? \n","47746 Back in this stupid lonely hole with no one to share my thoughts with Sorry In advanced for the rant of anyone even reads this lol, 19m, I used to use this app a lot to talk people out of hurting ... \n","44623 all work and no play doe not a happy linda make can t wait for the holiday \n","\n"," Predicted_y Actual_y \n","39488 Depression Depression \n","1480 Normal Normal \n","47948 Bipolar Depression \n","19681 Suicidal Suicidal \n","37629 Suicidal Suicidal \n","... ... ... \n","7162 Suicidal Suicidal \n","45963 Bipolar Bipolar \n","6034 Normal Normal \n","47746 Depression Depression \n","44623 Normal Normal \n","\n","[13171 rows x 3 columns]\n"]}],"source":["# Show the test data and corresponding predictions\n","stauts_test_results = pd.DataFrame({'X_test': X_status_test, 'Predicted_y': status_predictions, 'Actual_y': y_stauts_test})\n","print(stauts_test_results)"]},{"cell_type":"code","execution_count":19,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":["Training Accuracy: 0.9328524424196406\n","Testing Accuracy: 0.783387745805178\n"]}],"source":["# Validate the model by checking the model's training and testing accuracy.\n","training_accuracy = status_pipeline.score(X_status_train, y_status_train)\n","testing_accuracy = status_pipeline.score(X_status_test, y_stauts_test)\n","print(\"Training Accuracy:\", training_accuracy)\n","print(\"Testing Accuracy:\", testing_accuracy)"]},{"cell_type":"code","execution_count":20,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":["Status Confusion Matrix:\n","[[ 745 6 97 60 6 23 6]\n"," [ 17 509 77 36 3 16 13]\n"," [ 62 36 2810 149 10 27 785]\n"," [ 27 7 95 3907 1 50 50]\n"," [ 3 6 62 18 155 14 12]\n"," [ 53 14 108 86 7 331 22]\n"," [ 11 7 663 98 2 8 1861]]\n","Status Classification Report:\n"," precision recall f1-score support\n","\n"," Anxiety 0.81 0.79 0.80 943\n"," Bipolar 0.87 0.76 0.81 671\n"," Depression 0.72 0.72 0.72 3879\n"," Normal 0.90 0.94 0.92 4137\n","Personality disorder 0.84 0.57 0.68 270\n"," Stress 0.71 0.53 0.61 621\n"," Suicidal 0.68 0.70 0.69 2650\n","\n"," accuracy 0.78 13171\n"," macro avg 0.79 0.72 0.75 13171\n"," weighted avg 0.78 0.78 0.78 13171\n","\n","Overall Accuracy: 0.783387745805178\n"]}],"source":["# Create the confusion matrix\n","confusion_mat = confusion_matrix(y_stauts_test, status_predictions)\n","\n","# Print the confusion matrix\n","print(\"Status Confusion Matrix:\")\n","print(confusion_mat)\n","\n","# Print a classification report\n","print(\"Status Classification Report:\")\n","print(classification_report(y_stauts_test, status_predictions))\n","\n","# Print the overall accuracy\n","accuracy = accuracy_score(y_stauts_test, status_predictions)\n","print(\"Overall Accuracy:\", accuracy)"]},{"cell_type":"markdown","metadata":{},"source":["Title: y_sentiment_train"]},{"cell_type":"code","execution_count":21,"metadata":{},"outputs":[{"name":"stderr","output_type":"stream","text":["c:\\Users\\MJSmi\\anaconda3\\envs\\dev\\lib\\site-packages\\sklearn\\svm\\_classes.py:32: FutureWarning: The default value of `dual` will change from `True` to `'auto'` in 1.5. Set the value of `dual` explicitly to suppress the warning.\n"," warnings.warn(\n"]},{"name":"stdout","output_type":"stream","text":["['Positive' 'Positive' 'Negative' ... 'Negative' 'Neutral' 'Negative']\n"]}],"source":["sentiment_pipeline = Pipeline([\n"," ('tfidf', TfidfVectorizer(stop_words=None)),\n"," ('classifier', LinearSVC())\n","])\n","\n","sentiment_pipeline.fit(X_sentiment_train, y_sentiment_train)\n","\n","# Print the results\n","sentiment_predictions = sentiment_pipeline.predict(X_sentiment_test)\n","print(sentiment_predictions)\n"]},{"cell_type":"code","execution_count":22,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":[" X_test \\\n","39488 i m and i have bad anxiety debilitating i haven t been able to keep a job since i wa so pretty much ever i wake up early morning hour before i have to be my heart race i black out i puke cough my ... \n","1480 Jessica starred in the musical \"Legally Blonde\" as Elle Woods, the female lead in the drama \n","47948 I’m so tired I just don’t see a point to my suffering, I don’t understand it, I want to know what I’ve done so wrong to deserve everything, I’d say sorry and do anything to make it stop! I already... \n","19681 My life 1 year ago was completely different. I was such a chick magnet and everyone loved me i had so many friends and in this past year i lost everything. I have no friends so when i feel sad i d... \n","37629 RT @no_onespecixl: Know one enjoys my company and I just make everyone miserable, everyone is better off wi \n","... ... \n","20009 My fiancee and I got into another argument least night. A lot of shit got said and I ran once with the intention of just throwing myself of the bridge over the highway. He wrangled me back in and ... \n","27499 I felt the tension and the seriousness. Usually during lockdown drills things aren't too serious because we're high schoolers. We mess around because we know nothing is wrong. But this drill was d... \n","24247 I am always unhappy. I lost my condo which I owned. It was my mistake by selling it without realizing I owned it. My relative threw away all of my belongings in my apartment at the time I was goin... \n","2421 forgot today gosh \n","730 It's really restless since yesterday thinking about another second in class 12, preparations for SM are still a little bit, there's a lot to worry about \n","\n"," Predicted_y Actual_y \n","39488 Positive Positive \n","1480 Positive Positive \n","47948 Negative Negative \n","19681 Negative Negative \n","37629 Neutral Positive \n","... ... ... \n","20009 Negative Negative \n","27499 Positive Positive \n","24247 Negative Negative \n","2421 Neutral Neutral \n","730 Negative Negative \n","\n","[15805 rows x 3 columns]\n"]}],"source":["# Show the test data and corresponding predictions\n","sentiment_test_results = pd.DataFrame({'X_test': X_sentiment_test, 'Predicted_y': sentiment_predictions, 'Actual_y': y_sentiment_test})\n","print(sentiment_test_results)"]},{"cell_type":"code","execution_count":23,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":["Training Accuracy: 0.946415012474238\n","Testing Accuracy: 0.8268269534957292\n"]}],"source":["# Validate the model by checking the model's training and testing accuracy.\n","training_accuracy = sentiment_pipeline.score(X_sentiment_train, y_sentiment_train)\n","testing_accuracy = sentiment_pipeline.score(X_sentiment_test, y_sentiment_test)\n","print(\"Training Accuracy:\", training_accuracy)\n","print(\"Testing Accuracy:\", testing_accuracy)"]},{"cell_type":"code","execution_count":24,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":["Sentiment Confusion Matrix:\n","[[7683 206 813]\n"," [ 253 1389 269]\n"," [ 999 197 3996]]\n","Sentiment Classification Report:\n"," precision recall f1-score support\n","\n"," Negative 0.86 0.88 0.87 8702\n"," Neutral 0.78 0.73 0.75 1911\n"," Positive 0.79 0.77 0.78 5192\n","\n"," accuracy 0.83 15805\n"," macro avg 0.81 0.79 0.80 15805\n","weighted avg 0.83 0.83 0.83 15805\n","\n","Overall Accuracy: 0.8268269534957292\n"]}],"source":["# Create the confusion matrix\n","confusion_mat = confusion_matrix(y_sentiment_test, sentiment_predictions)\n","\n","# Print the confusion matrix\n","print(\"Sentiment Confusion Matrix:\")\n","print(confusion_mat)\n","\n","# Print a classification report\n","print(\"Sentiment Classification Report:\")\n","print(classification_report(y_sentiment_test, sentiment_predictions))\n","\n","# Print the overall accuracy\n","accuracy = accuracy_score(y_sentiment_test, sentiment_predictions)\n","print(\"Overall Accuracy:\", accuracy)"]},{"cell_type":"markdown","metadata":{},"source":["Stopwords"]},{"cell_type":"code","execution_count":25,"metadata":{},"outputs":[{"name":"stderr","output_type":"stream","text":["c:\\Users\\MJSmi\\anaconda3\\envs\\dev\\lib\\site-packages\\sklearn\\svm\\_classes.py:32: FutureWarning: The default value of `dual` will change from `True` to `'auto'` in 1.5. Set the value of `dual` explicitly to suppress the warning.\n"," warnings.warn(\n"]},{"name":"stdout","output_type":"stream","text":["['Depression' 'Normal' 'Bipolar' ... 'Normal' 'Depression' 'Normal']\n"]}],"source":["status_pipeline_stopwords = Pipeline([\n"," ('tfidf', TfidfVectorizer(stop_words=\"english\")),\n"," ('classifier', LinearSVC())\n","])\n","\n","status_pipeline_stopwords.fit(X_status_train, y_status_train)\n","\n","# Print the results\n","status_predictions_stopwords = status_pipeline_stopwords.predict(X_status_test)\n","print(status_predictions_stopwords)"]},{"cell_type":"code","execution_count":26,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":[" X_test \\\n","39488 i m and i have bad anxiety debilitating i haven t been able to keep a job since i wa so pretty much ever i wake up early morning hour before i have to be my heart race i black out i puke cough my ... \n","1480 Jessica starred in the musical \"Legally Blonde\" as Elle Woods, the female lead in the drama \n","47948 I’m so tired I just don’t see a point to my suffering, I don’t understand it, I want to know what I’ve done so wrong to deserve everything, I’d say sorry and do anything to make it stop! I already... \n","19681 My life 1 year ago was completely different. I was such a chick magnet and everyone loved me i had so many friends and in this past year i lost everything. I have no friends so when i feel sad i d... \n","37629 RT @no_onespecixl: Know one enjoys my company and I just make everyone miserable, everyone is better off wi \n","... ... \n","7162 Small context: To anyone who is curious I am 16 years old 1. It feels hard to express my opinion on the internet because every time I do I always get bashed for it. I am starting to doubt myself, ... \n","45963 Disengaging from my friends Fuck. Fuck man. I feel like shit. I feel like I'm pushing away the people who can help me the most because I feel like a drama queen and I feel like I am a burden to th... \n","6034 what if we both get into a gang of criminals: I took your heart, and you took my heart? \n","47746 Back in this stupid lonely hole with no one to share my thoughts with Sorry In advanced for the rant of anyone even reads this lol, 19m, I used to use this app a lot to talk people out of hurting ... \n","44623 all work and no play doe not a happy linda make can t wait for the holiday \n","\n"," Predicted_y Actual_y \n","39488 Depression Depression \n","1480 Normal Normal \n","47948 Bipolar Depression \n","19681 Suicidal Suicidal \n","37629 Suicidal Suicidal \n","... ... ... \n","7162 Suicidal Suicidal \n","45963 Bipolar Bipolar \n","6034 Normal Normal \n","47746 Depression Depression \n","44623 Normal Normal \n","\n","[13171 rows x 3 columns]\n"]}],"source":["# Show the test data and corresponding predictions\n","stauts_stopwords_test_results = pd.DataFrame({'X_test': X_status_test, 'Predicted_y': status_predictions_stopwords, 'Actual_y': y_stauts_test})\n","print(stauts_stopwords_test_results)"]},{"cell_type":"code","execution_count":27,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":["Training Accuracy: 0.9371551505947862\n","Testing Accuracy: 0.7584845493888087\n"]}],"source":["# Validate the model by checking the model's training and testing accuracy.\n","training_accuracy = status_pipeline_stopwords.score(X_status_train, y_status_train)\n","testing_accuracy = status_pipeline_stopwords.score(X_status_test, y_stauts_test)\n","print(\"Training Accuracy:\", training_accuracy)\n","print(\"Testing Accuracy:\", testing_accuracy)"]},{"cell_type":"code","execution_count":28,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":["Status Confusion Matrix:\n","[[ 726 7 109 65 6 24 6]\n"," [ 18 505 74 35 5 14 20]\n"," [ 65 44 2728 197 8 33 804]\n"," [ 28 7 122 3856 3 41 80]\n"," [ 4 3 74 24 147 7 11]\n"," [ 52 14 131 97 5 297 25]\n"," [ 14 11 699 177 2 16 1731]]\n","Status Classification Report:\n"," precision recall f1-score support\n","\n"," Anxiety 0.80 0.77 0.78 943\n"," Bipolar 0.85 0.75 0.80 671\n"," Depression 0.69 0.70 0.70 3879\n"," Normal 0.87 0.93 0.90 4137\n","Personality disorder 0.84 0.54 0.66 270\n"," Stress 0.69 0.48 0.56 621\n"," Suicidal 0.65 0.65 0.65 2650\n","\n"," accuracy 0.76 13171\n"," macro avg 0.77 0.69 0.72 13171\n"," weighted avg 0.76 0.76 0.76 13171\n","\n","Overall Accuracy: 0.7584845493888087\n"]}],"source":["# Create the confusion matrix\n","confusion_mat = confusion_matrix(y_stauts_test, status_predictions_stopwords)\n","\n","# Print the confusion matrix\n","print(\"Status Confusion Matrix:\")\n","print(confusion_mat)\n","\n","# Print a classification report\n","print(\"Status Classification Report:\")\n","print(classification_report(y_stauts_test, status_predictions_stopwords))\n","\n","# Print the overall accuracy\n","accuracy = accuracy_score(y_stauts_test, status_predictions_stopwords)\n","print(\"Overall Accuracy:\", accuracy)"]},{"cell_type":"code","execution_count":30,"metadata":{},"outputs":[{"name":"stderr","output_type":"stream","text":["c:\\Users\\MJSmi\\anaconda3\\envs\\dev\\lib\\site-packages\\sklearn\\svm\\_classes.py:32: FutureWarning: The default value of `dual` will change from `True` to `'auto'` in 1.5. Set the value of `dual` explicitly to suppress the warning.\n"," warnings.warn(\n"]},{"name":"stdout","output_type":"stream","text":["['Positive' 'Positive' 'Negative' ... 'Negative' 'Neutral' 'Negative']\n"]}],"source":["sentiment_pipeline_stopwords = Pipeline([\n"," ('tfidf', TfidfVectorizer(stop_words=\"english\")),\n"," ('classifier', LinearSVC())\n","])\n","\n","sentiment_pipeline_stopwords.fit(X_sentiment_train, y_sentiment_train)\n","\n","# Print the results\n","sentiment_predictions_stopwords = sentiment_pipeline_stopwords.predict(X_sentiment_test)\n","print(sentiment_predictions_stopwords)"]},{"cell_type":"code","execution_count":31,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":[" X_test \\\n","39488 i m and i have bad anxiety debilitating i haven t been able to keep a job since i wa so pretty much ever i wake up early morning hour before i have to be my heart race i black out i puke cough my ... \n","1480 Jessica starred in the musical \"Legally Blonde\" as Elle Woods, the female lead in the drama \n","47948 I’m so tired I just don’t see a point to my suffering, I don’t understand it, I want to know what I’ve done so wrong to deserve everything, I’d say sorry and do anything to make it stop! I already... \n","19681 My life 1 year ago was completely different. I was such a chick magnet and everyone loved me i had so many friends and in this past year i lost everything. I have no friends so when i feel sad i d... \n","37629 RT @no_onespecixl: Know one enjoys my company and I just make everyone miserable, everyone is better off wi \n","... ... \n","20009 My fiancee and I got into another argument least night. A lot of shit got said and I ran once with the intention of just throwing myself of the bridge over the highway. He wrangled me back in and ... \n","27499 I felt the tension and the seriousness. Usually during lockdown drills things aren't too serious because we're high schoolers. We mess around because we know nothing is wrong. But this drill was d... \n","24247 I am always unhappy. I lost my condo which I owned. It was my mistake by selling it without realizing I owned it. My relative threw away all of my belongings in my apartment at the time I was goin... \n","2421 forgot today gosh \n","730 It's really restless since yesterday thinking about another second in class 12, preparations for SM are still a little bit, there's a lot to worry about \n","\n"," Predicted_y Actual_y \n","39488 Positive Positive \n","1480 Positive Positive \n","47948 Negative Negative \n","19681 Negative Negative \n","37629 Neutral Positive \n","... ... ... \n","20009 Negative Negative \n","27499 Positive Positive \n","24247 Negative Negative \n","2421 Neutral Neutral \n","730 Negative Negative \n","\n","[15805 rows x 3 columns]\n"]}],"source":["# Show the test data and corresponding predictions\n","sentiment_stopwords_test_results = pd.DataFrame({'X_test': X_sentiment_test, 'Predicted_y': sentiment_predictions_stopwords, 'Actual_y': y_sentiment_test})\n","print(sentiment_stopwords_test_results)"]},{"cell_type":"code","execution_count":32,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":["Training Accuracy: 0.9489369779802581\n","Testing Accuracy: 0.808731414109459\n"]}],"source":["# Validate the model by checking the model's training and testing accuracy.\n","training_accuracy = sentiment_pipeline_stopwords.score(X_sentiment_train, y_sentiment_train)\n","testing_accuracy = sentiment_pipeline_stopwords.score(X_sentiment_test, y_sentiment_test)\n","print(\"Training Accuracy:\", training_accuracy)\n","print(\"Testing Accuracy:\", testing_accuracy)"]},{"cell_type":"code","execution_count":33,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":["Sentiment Confusion Matrix:\n","[[7544 238 920]\n"," [ 271 1350 290]\n"," [1048 256 3888]]\n","Sentiment Classification Report:\n"," precision recall f1-score support\n","\n"," Negative 0.85 0.87 0.86 8702\n"," Neutral 0.73 0.71 0.72 1911\n"," Positive 0.76 0.75 0.76 5192\n","\n"," accuracy 0.81 15805\n"," macro avg 0.78 0.77 0.78 15805\n","weighted avg 0.81 0.81 0.81 15805\n","\n","Overall Accuracy: 0.808731414109459\n"]}],"source":["# Create the confusion matrix\n","confusion_mat = confusion_matrix(y_sentiment_test, sentiment_predictions_stopwords)\n","\n","# Print the confusion matrix\n","print(\"Sentiment Confusion Matrix:\")\n","print(confusion_mat)\n","\n","# Print a classification report\n","print(\"Sentiment Classification Report:\")\n","print(classification_report(y_sentiment_test, sentiment_predictions_stopwords))\n","\n","# Print the overall accuracy\n","accuracy = accuracy_score(y_sentiment_test, sentiment_predictions_stopwords)\n","print(\"Overall Accuracy:\", accuracy)"]},{"cell_type":"markdown","metadata":{"id":"cSTS3GTx9haK"},"source":["## Open AI"]},{"cell_type":"code","execution_count":34,"metadata":{"executionInfo":{"elapsed":7,"status":"ok","timestamp":1721783559373,"user":{"displayName":"Kanish Mohan","userId":"03360479849440540993"},"user_tz":240},"id":"UN7r6Ge39haK"},"outputs":[{"name":"stdout","output_type":"stream","text":["\n"]}],"source":["# Load environment variables.\n","load_dotenv()\n","\n","# Set the model name for our LLMs.\n","OPENAI_MODEL = \"gpt-3.5-turbo\"\n","\n","# Store the API key in a variable.\n","OPENAI_API_KEY = os.getenv(\"OPENAI_API_KEY\")\n","\n","print(type(OPENAI_API_KEY))"]},{"cell_type":"code","execution_count":35,"metadata":{},"outputs":[],"source":["llm=ChatOpenAI(openai_api_key=OPENAI_API_KEY, model_name=OPENAI_MODEL, temperature=0.3)\n","simple_prompt = ChatPromptTemplate.from_template(\"{query}\")"]},{"cell_type":"code","execution_count":36,"metadata":{},"outputs":[],"source":["def mental_health_chatbot(statement):\n"," format = \"\"\"\n"," You are a clinical psychologist. Answer only questions that would be relevant to mental health.\n"," If you don't know the answer, say you don't know\n"," If the human asks questions not related to mental health, remind them that your job is to help\n"," them understand their mental health status, and ask them for a question on that topic. If they ask a question which\n"," there is not enough information to answer, tell them you don't know and don't make up an\n"," answer.\n","\n"," Question: {query}\n"," Answer:\n"," \"\"\"\n","\n","\n"," #contstruct the prompt template\n","\n"," prompt_template = PromptTemplate(\n"," input_variables=[\"query\"],\n"," template=format\n","\n"," )\n","\n"," #contstuct a chain using this template\n"," chain = LLMChain(llm=llm, prompt=prompt_template) \n"," statement = statement\n"," status = status_pipeline.predict([statement])\n"," sentiment = sentiment_pipeline.predict([statement])\n"," query = {\"query\":f'The statement from the user is:{statement}\\n The mental health status of the user is/has:{status}\\n The sentiment of the statement is:{sentiment}\\n Does the user require any assistance? If so what would you suggest?'}\n"," #run the chain\n","\n","\n"," result = chain.invoke(query)\n"," return result[\"text\"]"]},{"cell_type":"markdown","metadata":{"id":"OQiYoYdO9haL"},"source":["## Gradio App"]},{"cell_type":"markdown","metadata":{"id":"ydFJqwsuAyRV"},"source":["This section of code involves a user interface where users input statements about their mental state. The code then processes these inputs and returns corresponding mental health statuses using two display textbox components. The purpose is to predict and provide insights into the user's mental state based on their statements.\n","\n","The data source consolidates information from various Kaggle datasets centered on different facets of mental health. It draws from diverse platforms such as social media, Reddit, Twitter, and more. Each entry is labeled with a specific mental health status, making it an invaluable resource for in-depth analyses, insights into mental health trends, patterns, and predictive modeling.\n","https://www.kaggle.com/datasets/suchintikasarkar/sentiment-analysis-for-mental-health"]},{"cell_type":"markdown","metadata":{},"source":["Example Statements\n","* \"I have been feeling very anxious and stressed lately.\"\n","* \"I am experiencing severe depression and can't find motivation.\"\n","* \"I feel normal and haven't had any mental health issues recently.\"\n","* \"I've had suicidal thoughts and feel hopeless.\"\n","* \"I'm struggling with bipolar disorder and my mood swings are intense.\"\n","* \"I don't know what I'm doing with my life, and I feel lost and alone.\"\n","* \"I don't know if I have a mental illness. I just have trouble expressing myself and need help.\""]},{"cell_type":"markdown","metadata":{},"source":["Chatbot Responses\n","* \"Yes, it sounds like the user may benefit from some assistance in managing their anxiety and stress. I would suggest seeking support from a mental health professional, such as a therapist or psychologist, who can help develop coping strategies and provide support. Additionally, practicing relaxation techniques, mindfulness, and engaging in regular physical activity can also help reduce anxiety and stress levels. It's important to take care of your mental health, so don't hesitate to reach out for help.\"\n","* \"Yes, it sounds like the user is experiencing severe depression and a lack of motivation. I would suggest seeking help from a mental health professional, such as a therapist or psychiatrist, to discuss treatment options such as therapy, medication, or other interventions that may help improve their symptoms. It's important to reach out for support and not try to handle these feelings alone.\"\n","* \"It's great to hear that you feel normal and haven't had any recent mental health issues. However, since you mentioned having bipolar disorder, it's important to continue monitoring your mental health and seeking support when needed. I would suggest staying in touch with your mental health provider, practicing self-care, and reaching out for help if you notice any changes in your mood or behavior. It's always good to have a support system in place.\"\n","* \"Yes, the user definitely requires assistance. I would suggest that they seek help from a mental health professional, such as a therapist or psychiatrist, to address their suicidal thoughts and feelings of hopelessness. It's important to take these thoughts seriously and get the support needed to work through them.\"\n","* \"Yes, it sounds like the user could benefit from seeking assistance from a mental health professional, such as a psychiatrist or therapist, who can help with managing the intense mood swings associated with bipolar disorder. It's important to have a proper diagnosis and treatment plan in place to help manage symptoms and improve overall well-being. I would suggest reaching out to a mental health provider for further evaluation and support.\"\n","* \"Yes, it sounds like the user may be experiencing symptoms of depression. I would suggest seeking help from a mental health professional, such as a therapist or psychologist, to explore these feelings further and develop coping strategies. It's important to remember that you are not alone and there are resources available to support you.\"\n","* \"Yes, it sounds like the user may benefit from seeking help from a mental health professional, such as a therapist or psychologist, to further explore their difficulties with expressing themselves and determine if they may have a mental illness such as bipolar disorder. I would suggest reaching out to a mental health provider for an evaluation and to discuss treatment options. It's important to prioritize your mental health and seek support when needed.\""]},{"cell_type":"code","execution_count":37,"metadata":{"id":"Ms8qPG8bDoab"},"outputs":[{"name":"stdout","output_type":"stream","text":["Running on local URL: http://127.0.0.1:7860\n","\n","To create a public link, set `share=True` in `launch()`.\n"]},{"data":{"text/html":["
"],"text/plain":[""]},"metadata":{},"output_type":"display_data"},{"data":{"text/plain":[]},"execution_count":37,"metadata":{},"output_type":"execute_result"},{"name":"stderr","output_type":"stream","text":["c:\\Users\\MJSmi\\anaconda3\\envs\\dev\\lib\\site-packages\\langchain_core\\_api\\deprecation.py:139: LangChainDeprecationWarning: The class `LLMChain` was deprecated in LangChain 0.1.17 and will be removed in 1.0. Use RunnableSequence, e.g., `prompt | llm` instead.\n"," warn_deprecated(\n"]}],"source":["# Define Gradio interface\n","app = gr.Interface(\n"," fn=mental_health_chatbot,\n"," inputs=gr.Textbox(label=\"Enter your statement\"), # Use gr.inputs.Textbox\n"," outputs=gr.Textbox(label=\"Mental Health Chatbot Response\", show_copy_button=True) # Use gr.outputs.Textbox\n",")\n","\n","# Step 4: Launch the Gradio app\n","app.launch(show_error=True)\n"]}],"metadata":{"colab":{"provenance":[]},"kernelspec":{"display_name":"dev","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.10.13"}},"nbformat":4,"nbformat_minor":0}