Developing & Testing Social Support Agent (Bot) To Support the Human Emotions
This project is basically a step towards the development and evaluation of an ?artificial friend?, i.e. an intelligent agent (bot) that provides support via text messages in social media in order to alleviate the stress that users experience as a result of everyday problems. The a
2025-06-28 16:32:01 - Adil Khan
Developing & Testing Social Support Agent (Bot) To Support the Human Emotions
Project Area of Specialization Artificial IntelligenceProject SummaryThis project is basically a step towards the development and evaluation of an ‘artificial friend’, i.e. an intelligent agent (bot) that provides support via text messages in social media in order to alleviate the stress that users experience as a result of everyday problems. The agent consists of three main components:
- A module that processes text messages based on text mining and classifies them into categories of problems.
- A module that selects appropriate support strategies based on a validated psychological model of emotion regulation.
- A module that generates appropriate responses based on the output of the first two modules.
The application will be tested on students of different departments that will be asked to interact with the agent via the social network. The results will provide hints that the agent is appreciated or not, based on random support messages that agent generates, that clarify the usability of that agent.
Project ObjectivesThe objective of this agent to recognize situations such as work deadlines, non-serious health issues, flight delays, broken relationships, loss of family members, etc. These situations can be categorized as ‘everyday problems’, which many of us experience from time to time. They are known to be important sources of stress.
The aim of this agent is to help people to handle everyday stress.
In our current society, one of the quickest and most frequently used approaches to provide peer support is to use online social networks like Twitter or Facebook, since this type of support only requires sending a short text message at appropriate moments. Indeed, as concluded in one of the researches, sharing problems and showing affection are among the most common reasons why people use social media. In spite of its strong potential, helpful peer support is not always available for users of social media, for the simple reason that some people have fewer friends than others. Moreover, even people who have many friends do not always want to share their problems online, particularly when their problems are very personal. Besides that, research has shown that people who deliver peer support are more vulnerable to developing stress-related complaints themselves.
“To deal with the issues listed above, we develop a project that explores the possibilities of “computer-generated peer support” via online social networks. More specifically, we use the concept of ‘artificial friends’ that have the ability to analyze text messages that people share via online social networks, and generate appropriate responses to these messages with the aim of helping them deal with their ‘everyday problems’.”
Project Implementation MethodA prototype of the support agent will be developed using Python, in the form of a bot for the Slack Workspace, which provides a public API. We also used text file to manage the data generated by our bot. First various versions of the bot will be used for different experimental conditions (this will be explained in last section), but in the current section we only discuss the specification concerning the complete version of the bot. The algorithm behind our agent is based on the results obtained from the study. The high-level workflow of the application is described in the following:
- A given user sends a message to the bot (we are assuming that any message sent by a given user is a description a of stressful situation)
- To process the incoming message, the bot will first identify the type of stressful situation shared by the user. To this end, it uses sets of key words (for the different categories). Such bags of terms were designed based on the data obtained from the requirements analysis and the most common synonyms of these words. The current version can only deal with English words.
- After classifying the type of the stressful situation, the bot will select the proper support strategy. This decision is made based on the data obtained previously as well. For example, for 29% of the cases when people share problems about a relationship, the support strategy used is ‘general emotional support’. These percentages are used as probabilities in our application in order to select a support strategy.
- Finally, after having both the problem and the support strategy identified, the bot will send a support message back to the user. To construct a message, first a template message is randomly selected from a list of templates that match the support strategy (again, these templates were developed based on the data collected previously). After that, the template is filled in with the appropriate terms to refer to the stressful situation.
Algorithm:
| function ProcessIncomingMessages(m1) situation ? ClassifyTheStressfulSituation(m1) strategy ? SelectStrategy(situation) m2 ? ConstructResponse(situation, strategy) return m2 function ConstructResponse(situation, strategy) response ? SelectTemplate(strategy) response ? SetTemplateForSituation(situation, response) return response |
Tools needed:
- Either Python 2 or 3
- Pip (Packager Installer for Python)
- virtualenv (Virtual Environment) to handle Python application dependencies
- (Application dependencies are the libraries other than your project code that are required to create and run your application.)
- Slack Workspace and Account - you need to be signed into at least one workspace where you have access to building the apps.
function ProcessIncomingMessages(m1)
situation ? ClassifyTheStressfulSituation(m1)
strategy ? SelectStrategy(situation)
m2 ? ConstructResponse(situation, strategy)
return m2
function ConstructResponse(situation, strategy)
response ? SelectTemplate(strategy)
response ? SetTemplateForSituation(situation, response)
return response
Benefits of the ProjectThe completion of this project will be the step towards the development and evaluation of agent that can be called as an ‘artificial friend’, i.e., an intelligent agent that provides support via text messages in social media or in workspace in order to alleviate the stress that users experience as a result of ‘everyday problems’.
The assumption about this project is the formation of an agent that can help people in reducing their stress experience in certain situations by generating tailored response messages, and this will be particularly helpful in cases where users do not receive comforting responses from their human peers.
Technical Details of Final DeliverableThe main source of inspiration for this vision is a number of promising recent initiatives in developing artificial agents that support human beings in similar domains. We envision our system as an intelligent software agent or chatbot (possibly, but not necessarily embodied in the form of an avatar) which easily can be used at any platform like mobile, web etc., which has the ability to analyze messages posted in social media, understand which messages potentially seek peer support, and generate personalized response messages in order to reduce the user’s experience of stress. This project presents the second prototype of such a support agent with many improvements and aims to test how users would react to it. It builds upon a study in which the requirements for the system were elicited. The current project describes the algorithms used to make the agent process incoming messages and generate appropriate responses and describes the methods of a preliminary evaluation of the application that will be performed on students.
In the survey, we need 2 screens for team (supervisor and me) on which we can get the answers of questions. we also need a smart device for testing the BuddyBot functionality and usability accordingly.
Final Deliverable of the Project Software SystemType of Industry Education , IT , Others , Health Technologies Artificial Intelligence(AI)Sustainable Development Goals Good Health and Well-Being for PeopleRequired Resources| Elapsed time since start of the project | Milestone | Deliverable |
|---|---|---|
| Month 1 | Literature review and project design is already achieved | Buddy Chatbot prototype |