SoQuo, which stands for Social Quotient, is a wellness app that aims to enhance a user’s social media experience by identifying, highlighting, and creating awareness about specific content that has the potential to impact their mental health. Discover the project that won the 2021 Edmonton Accelerator Award!
Mental health, natural language processing (NLP), emotions, machine learning (ML), topic classification, topic modelling, sentiment analysis, user interface (UI)/ user experience (UX), artificial intelligence (AI), random forest
Taking care of one’s mental health is pivotal to living a happy and healthy life. However, despite its importance, it is naive to believe that maintaining one’s mental well-being is always easy.
Beyond the basic factors of inherited genetics, stressful life experiences, and alcohol/drug use, a countless number of factors can influence one’s mental health. Finding the funds to pay for therapy can be incredibly difficult, and many still feel uncomfortable reaching out to others for support. On top of this, a new risk factor has risen to prominence in recent years: social media use.
While social media can help us stay connected, multiple studies have found “a strong link between heavy social media use and an increased risk for depression, anxiety, loneliness, self-harm, and […] suicidal thoughts.”¹ With the ongoing pandemic, many people have found themselves checking and engaging with social media apps more than ever. This begs the question: how can we protect our mental well-being and still fully participate in social media?
This question was at the center of inspiration for our project. As a team, we wanted to create a tool that would allow users to remain active on popular social media platforms while remaining mindful of their mental health. Our project, SoQuo, aims to solve the problem of over-exposure to harmful or disturbing content seen on social media. SoQuo is a mobile app that aims to help users understand how their feed affects their mood, without becoming ignorant of current events. With such a tool, we hope that users both with and without mental illnesses can use social media more consciously.
SoQuo analyzes your Twitter home timeline by extracting all of its topics from it in real-time. It then summarizes the tweets into two metrics. One metric, the Feed Sentiment metric, tells you how much of your feed is positive, negative, or neutral. The other metric, the Today’s Topics metric, tells you the ratio of each topic on your overall Twitter feed, as well as your most likely associated emotion. SoQuo provides insights as well as warnings, and acquires this data by asking the user how they felt about the most prevalent topics they saw on their timeline after they closed a social media app.
For the purpose of analyzing social media content, several datasets were considered. There was no pre-existing dataset with tweets and their corresponding categories, and as such, there were two options to choose from: either use a news dataset that had news headlines and their corresponding categories or create a new dataset. The latter was found to be a better path. The best and most time-efficient way to approach this method was to use Twitter’s own Topics section, which has keywords for each category. The keywords corresponding to the topics were used to gather a number of tweets to represent each grouping, and thus the training dataset was created.
Ultimately, the final training dataset was equally balanced between categories. The topics that had less tweets were ones not often used or tweeted about. Though this was an unconventional approach for acquiring a dataset, it proved valuable for our purposes.
To get the data ready for analysis, we preprocessed our Twitter data, removed stop words, mapped unique words to a corresponding vector, and applied our classification Machine Learning (ML) model of choice.
SoQuo runs two classifiers: the first sorts each tweet into one of 18 categories such as gaming, music, politics, etc., and the second returns the percentages of positive, negative, and neutral tweets.
Topic classification was preferred for sorting the tweets into the predefined categories instead of a topic modelling method such as Latent Dirichlet Allocation (LDA) to cluster the tweets. Having labels set beforehand allowed for easier generalizations when it came to associating different emotions with specific topics. When topics are unlabelled and clustered, it is difficult to extract patterns over time.
For topic classification, five different classifiers were tested: Decision Tree, Support Vector Machine, Multinomial Naive Bayesian, Multilayered Perceptron, and Random Forest. It was found that Random Forest had the best performance with the highest accuracy.
Flutter was used to implement the User Interface (UI) in our Figma mockups as code in a mobile app. Eventually, a user will be able to log into SoQuo through Twitter to see how the app evaluates their timeline and receive notifications about the presence of any potential triggering topics on their feed.
A potential competitor of SoQuo could be Twitter themselves, since they have a “Sensitive Content” warning to give users a choice as to whether or not they want to see the hidden content. However, Twitter’s warnings are usually generalized and are related to violence or gruesome images, whereas SoQuo’s warnings and insights are catered solely to the user.
For example, a post about dieting may not be considered to be “Sensitive Content” to Twitter, but it could negatively affect someone who is recovering from an eating disorder, and SoQuo would be sure to warn them beforehand.
Why is Our Solution Important?
More than ever, people are using social media to inform others about current events worldwide. The sheer size of the audience that can be reached using Twitter or Instagram makes for a good starting place to talk about global crises and how people may be able to help, despite living on the opposite side of the world.
However, when this turns from education about important events to a bombardment of graphic and sensitive content presented with no warning, it takes a toll on the mental health of users. Being confronted with a disturbing post can, at best, lower one’s mood, and at worst, trigger a panic attack, relapse, or other mental health crisis that could have been easily avoided with a content warning.
Currently, when people feel that social media is worsening their mental health, they’re often advised either to unfollow or block accounts posting content that upsets them, or even take a break from checking their feeds entirely. But, particularly during a pandemic, social media is one of the only avenues people have to stay in contact with friends and family, not to mention that turning a blind eye to global and societal issues by unfollowing accounts or leaving social media discourages people from learning and leaves their personal biases unchecked. It’s for this reason that SoQuo was created; an app that doesn’t filter out or block any posts, but that informs somebody when they might be exposed to triggering content if they check their social media feed. The user decides for themselves if they’re in the right frame of mind to open their feeds.
There is a concern that people may use SoQuo to block out different categories from their feeds to shield themselves or as a substitute for real help and diagnosis from a medical professional. The intention with SoQuo is not to help people bias their viewpoints or allow them to trust the model as a solution for all of their problems. SoQuo is meant to be an app that aids people in evaluating the impact that social media has on their mental health, and allows them to ensure they are in the right state of mind before opening an app. It encourages users to put their mental health first, but not to leave social media behind. It is reiterated to users that SoQuo is not meant to be a guide on what pages to unfollow/block or what topics to avoid, and it is not intended to be used as such. SoQuo was created so that people can enjoy all of the benefits of social media while still ensuring they are putting their wellness first.
Coming up with SoQuo was a big challenge as the priority was to build an app that focuses on mental health, is personalized, and could be used by everyone without having to refer to a medical specialist. Initially, the idea was to make a journaling app, but it was soon discovered that many market competitors have worked on similar ideas. The intention was for the app to be something easier to use that does not require active user intervention and initiation to keep up with their mental health.
After a few iterations, the idea of a self-awareness app that would provide a user with good information about their own social activities, without replacing a medical professional, was created. This was a result of the realization that few apps have looked into the aforementioned link between social media and mental health.
We chose Twitter as the initial social media site on which to analyze user behaviour. We assumed that starting with a text-based model would be best since the goal was to analyze social media content and explore the inner workings of Natural Language Processing (NLP).
It was also a struggle to decide on what specific ML model was best to use. Initially, the advice was to explore a topic modelling method, namely LDA. However, while topic modelling clustered a tweet’s main words into groups/topics, it could not yield the names of the topics themselves. Since the names of the topics were required in order to be able to classify tweets and provide an output understandable by the user, it was decided that topic modelling was not an adequate method to use. Thus, topic classification was deemed to be the better option.
After our idea and model approach were established, the question as to whether the personalized model should be local on each user’s phone device or stored on a cloud model remained. It was unclear whether the former option was even possible, and the latter option would require decreasing how often the personalized model is updated, since computation time and cost increase when using cloud platforms. This debate is ongoing and has yet to be resolved. However, the tentative solution is to have the personalized model saved by each user on their own server since that does not require the establishment of cloud architecture, which saves computation time and allows for SoQuo to be more personalized with regular model updates.
For the app’s UI, it was decided that React Native was a more suitable platform for SoQuo rather than Flutter. However, the lack of experience with React Native resulted in a very challenging summer. A lot of research was required to understand the basics of React Native, and as a result, there was not enough time to truly implement and deploy such a complex idea with an ML component.
The AI4Good Lab was a mix of technical lectures, creative workshops, and team-driven projects. The Lab provided the necessary technical tools and skills required to make an NLP-driven app. Industry mentors provided guidance and resources about concepts, such as topic modelling. This eventually led to topic classification, which was applied to the ML model to yield the desired results and make SoQuo come to life.
Before working on SoQuo, we did not have sufficient knowledge on creating a UI for an application on Flutter/React Native or even making mockups to prototype our ideas. The lack of UI knowledge led us to make Figma mockups that we used to present our initial app ideas and later on as guidance for transferring those ideas to a real app using Flutter.
The lab also provided us with a platform to connect with like-minded women, allowing us to build long-lasting connections. We formed a team based on similar interests and worked together remotely, requiring us to understand the importance of scheduling and working in sprints towards a common goal. Ideation was also a very new process for the team, since none of us had ever gotten the opportunity to have our ML ideas come to life. We learned how to do market research and look for competitors to ensure we weren’t replicating a pre-existing idea. When we noticed what we were doing had already been done, together, we adapted and came up with something innovative.
Implementation of SoQuo
We continued working on SoQuo after winning the AI4Good Lab Edmonton Accelerator award. We had the opportunity to do thorough research and consider better platforms to convert our Figma mockups into a working application.
We are working with React Native and may have established a way to run the personalized ML model locally to save computation time and cost. Presently, we are being mentored by Cybera, a not-for-profit corporation based in Calgary.
While our app currently only supports Twitter, our future goal is to interface or partner with several different social media sites such as Instagram and Facebook. This would require the development of Convolutional Neural Networks (CNNs) to support image analysis.
Another future expansion would be to analyze a user’s social network through their followers/followings/likes/retweets and provide insights on whether their social circle has an effect on their mental health.
Once we have implemented enough features for a minimal viable product and tested our app, we plan on releasing SoQuo to App Stores for easy accessibility. We hope that by using an app like SoQuo, users can prioritize their mental wellness while enjoying all the benefits of social media sites and remain connected with others.
Thank you to our TA, Anjana Puliyanda, who helped us formulate our idea and ensured we stayed on track throughout the three weeks. Also, thank you to our mentors, Elnaz Davoodi, Crystal Lui, and Vanessa Liao, for providing great insight into the industry as well as amazing resources and ideas for our project! Thank you for helping us make our vision a reality.
A big thank you to the AI4Good Lab for this great opportunity, and especially to Yosra Kazemi, Christina Isaicu, Destani Engel, Maya Marcus-Sells, and Warren Johnston for being so helpful and friendly throughout the program. Also, thank you to the AI4Good Lab’s founding partners AMII, CIFAR, and Mila. Finally, thank you to Cybera for guiding us these past few months and answering our endless questions about cloud computing.