REMIND ME: A Personal Assistant Chatbot for Dementia Patients

“Technology will be your companion in refreshing your lost memory”

Premise

Experimenting with low-code environments on how to create an interactive and empathetic assistant chatbot for people with Dementia. 

Synopsis 

Dementia is associated with memory loss and patients can’t remember a lot of things including their family members as well as doing their daily tasks as normal people. Living with dementia is a nightmare not only to the patients but also to the family members and the caregiver as the dementia patient require constant  assistance and reminder in doing their daily activities. I therefore decided to create an interactive assistant chatbot that will help as a reminder of their daily  activities and past memories will help slow memory loss as well as assisting the patient in living normal life and reducing the dependency on the caregivers.         

Topic: Personal assistant chatbot for elderly people with dementia that help reminders, send notifications and help in training their memory. 

Background      

Dementia, a form of Alzheimer’s disease, is a syndrome caused by a degenerative brain disease that affects higher cognitive functions, such as emotional and social behaviours (Ballard & Bannister, 2010). In 2020, it was estimated that a global amount of 50 million are living with dementia and that this number will double every 20 years (Alzheimer’s Disease International,  2020). The use of chatbot in cognitive/memory training and reminder aims to improve and maintain cognitive ability as well as reduce the rapid increase of memory degeneration hence promoting normal living for people with dementia.

Problem statement

Nowadays, personal gadgets come pre-stacked with Conversational Agents (CA) for instance, Siri, Google Assistant, and Alexa. The mutual human objective for organizations planning these conventional agents is clear; conversing with a CA should feel like conversing with humans . The principal of Conversational Agents  was based on messaging a text by an operator, called “ELIZA” developed in 1966. Such turn-based, information based Conversational Agents are currently called chatbots (Memon et al., 2020). According to Peitzker (2019), a number of mobile applications, chatbot and reminder systems have  been developed to help elderly people with dementia for example the telephone-based interventions such as the REACH trial have successfully used screen-phones (computer-telephone integrated system (CTIS)) to provide patients with information and links to community resources, supplemented with educational and group support sessions. However, the existing technological innovation lacks the awareness of human context, the sympathetic human-machine interaction, and the flexibility of personal adaptation.

I intend to be able to understand how one can make a conversational agent more interactive, sympathetic and efficient  in reminding and training the memory of  people with dementia while monitoring the gradual degradation of their memory.

Research Question: How can I create Personal assistant chatbot for elderly people with dementia that help reminders, send notifications and train their memory.

Creating the Prototype

Step one 

Research:  Before I started developing the interactive chatbot, I first researched the available chatbots in the health systems that provide assistance, companionship, sympathy and  interaction to the patients that are relevant to my project. I also evaluated the technologies used in chatbots creation and how I apply this knowledge to interest in chatbots for dementia patients. In my findings it was clear that with the new technological advancement in health systems, chatbots are suppressing into the territory of humans with some super intelligent chatbot like Replica and Watbot which uses AI algorithmic assistance aiming at improving moods and loneliness.

Testing with multiple available platforms: I started the project by understanding the existing  low-code platforms for creating chatbots that can provide awareness of human context, sympathetic and flexible to personal adoption. Some of the platforms I found interesting included:

1. Microsoft Power Virtual Agents (PVA)

The PVA service is a platform for designing chatbots, and its purpose is to create a very easy interface for chatbot to be built by non-programmers. I made an account and made my first chatbot sketch. Created my first on Microsoft power Virtual Agents. I created a list of phrases that will trigger the chatbot to respond accordingly. Examples of such trigger phrases included ( I don’t know, can’t remember). Put in several questions  for interaction in the chatbot including memory practice for reminders about family members photos and events.

2. Landbot

Landbot is an intrusive no-code conversational apps builder that combines the benefit of conversational interface with user interface(UI). Landbot is user-friendly no-code solution for creation of conversational apps combined benefits of an interactive conversational interface with rich user interface elements while automating advanced data workflows. Landbot is easy to connect to social sites like YouTube and  WhatsApp or Messenger without coding.

I made an account and made my first chatbot sketch.

Creating the  chatbot on Landbot. 

The chatbot has the following capabilities: Recognize if the user remembers his/her name. This is done by asking the name of the user at the beginning of the conversation and doing the name checking inside the database. If it is the wrong answer, the chatbot will remind the user of the correct name. 

Method: using IF statement.

Step two

Making the Chatbot Empathetic  

One of the problems that is hindering the adoption of chatbots is that their conversational skills  remain impersonal. They are not able to empathize with the patient, which often renders them ineffective. To be an effective tool for patients with dementia the chatbot needs to be empathetic, they need to provide the same level of empathetic support as a caregiver or family member offers to the patient. Empathy is the ability to understand human emotions. Empathy in a chatbot is a new topic for the chatbot interface. With the help of Empathy, a chatbot can detect the human emotion or state of condition and talk accordingly with the user. (Augello et al., 2016). Recent efforts are also aimed at creating more responsive chatbots for deeper and emotional talks. This can help enhance chatbot use by making users feel better. The empathetic chatbot can have a conversation with the user and can extract the feelings from the text using some method. The generation of empathic responses will detect and convey appropriate emotional responses more dynamically (Dewan, 2017).

Steps taken to make the chatbot empathetic.

  1. Giving the chatbot a personality: I gave the chatbot a personality that is in line with family members and also ensuring the bot holds a proper conversation. Giving my chatbot the human aspect by using avatar and a name (Dolores).
  2. Providing the patient with a way out: With memory loss it’s quite often that the patient will forget. However this does not mean that they should be trapped into having conversation with the bot so I made a way out.

If the user input the wrong answer 3 times, then the chatbot will send a link of soothing music that will calm down the user. The music will be generated from their YouTube or Spotify account of the music they always listen to. The chatbot will connect the user to their YouTube or Spotify account to enjoy the music.  

Method: using IF statement 

Plans: I plan to do more research on how I can make my chatbot empathetic  and the flexibility of personal adaptation. I am watching YouTube videos on how I can use natural language processing in making chatbot less robotic by understanding human language.

Step Three :Medicine Reminder.

In the final week, I concentrated on creating reminders and making the chatbot more interactive and of personal assistance to the patient apart from just being memory training. So I looked into creating medical reminders. Reminder devices reportedly improve medication adherence in the elderly patients with mild dementia. The chatbot should help in reminding the patient of medical adherence at the exact time when they should take medicine.

Exploring Webhooks technology.

Webhooks are user defined HTTP callbacks which are usually triggered by some events like in my chatbot the event to take medicine. Through this it pushes code to the receptor for the a comment being posted to a blog, whatever the event occurs the source site makes request to the configured Webhook (Lindsay, 2007). Users can configure them to cause events on one site to invoke behaviour on another. 

This function can identify the local time when the user is using the chatbot and remind the user to take the scheduled medicine on the day.

For example, the user has to take Aspirin at lunchtime and Panadol at dinner time everyday. Then depending on what time of the day that the user is using the chatbot, it will have the capability to remind them of the correct medicine. 

MethodMethod: Using JSON &  webhooks function to access local time of the user.

  1. Python and Rasa chatbot platform

Using python and Rasa I decided to create an intelligent companion chatbot which is able to conduct conversations with the dementia patient in different topics such as arts, music, History and politics. The chatbot is programmed not only to ask and answer questions but also to memorise the context of the conversation which is crucial for conduction a cohesive dialogue. The chatbot also create a database of user’s interactions with is latter visualised in a dashboard that can be accessed by the caregivers to be able to monitor the patients interaction with the chatbot.

 

Steps

The chatbot prototype was built in Rasa with training data to understand and conversate with its users

From prior research (Ballard & Bannister, 2010), it is important to create a system that can remember user input and empathetically respond to its users. Therefore, emphasis was placed on creating a chatbot which would ask users questions about topics which might be well-known amongst users such as sports, politics, music, history etc in order to deduce the users’ personality and dementia level. This is relevant for memory training, that is the lower the number of right answers, the higher the level of dementia.

Insights

I found out that as much as Rasa provides a database for data storage (helpful for visualizing and recognizing user behaviours), it does also provide a platform for training the chatbot based on the developer’s data but on the data made available on this platform. The chatbot seemed to understand the users’ input and does hold a conversation, it can also ask questions for memory training but due to the size of the training data, these questions are limited.

Creating a chatbot memory

A chatbot need to remember everything that the user tells it so that the conversation can be meaningful. It is important to remember not only the name of the dementia patient but also his/her habits, likes, dislike and preferences. The chatbot can ask the patient about his or her plans for tomorrow and ask tomorrow about the plans for today to compare the answers of the previous day. I was able to create a database that stores the users information and responses to the chatbot which is later used to make the chatbot to provide more accurate information to the users based on what the chatbot remembers about them.

chatbot users interaction data.

chatbot remembers the name of the user.

Conclusion and Insight

I managed to make the chatbot empathetic by analysing the users’ interactions and responding accordingly to their choices. Giving the chatbot personality and the human aspect by using aviators and providing the users with a way out in case they were stuck and unable to interact with the chatbot at some point. The reminder system worked but I was only able to view one reminder at a time in the to do list. One of the critical ways of making a chatbot more sympathetic and less robotic was by using Natural Language Processing (NLP) though I tried to figure it out on how to incorporate the NLP in my chatbot using Rasa and python. In the process I experimented with Landbot, Microsoft power virtual agents and python rasa platforms. Though I did not manage to test my idea on more chatbot platforms that could have provided more possibilities in achieving my goal due to limited time and less technical knowledge on natural language processing which could have helped in making the chatbot less robotic. Though it is important to use NLP when creating this chatbot to make it useful for memory training and empathy responses. I also managed to incorporate text to speech and speech to text allowing the users to talk directly to the bot without having to type a function that is helpful for the target group of old age.

 

References

  1. Lindsay L(2007). Web Hooks to Revolutionize the Web, May 2007.

2.Shawar, B., & Atwell, E. (2010). Chatbots: Can They Serve as Natural Language Interfaces to QA Corpus? Advances in Computer Science and Engineering.

3.Petersen, R. C. (2004). Mild cognitive impairment as a diagnostic entity. Journal of Internal Medicine, 256(3), 183-194. doi:10.1111/j.1365-2796.2004.0138.

4.World Health Organization Dementia. (2017). Available online at: http://www.who.int/mediacentre/factsheets/fs362/en/ (accessed April 2, 2019).

Leave a Reply

Your email address will not be published. Required fields are marked *