Return to Python

Sigmund Chatbot

Sigmund- A Psychology Chat Bot

Meet Sigmund, a chat bot created to chat with a user or patient in order to collect data on their mood or mental state. While Sigmund cannot treat a patient or help them with their problems, it collects data in the form of strings that the user inputs in their answers. This allows for a doctor to collect more natural data than a questionaire, while giving the sense of a personal conversation with a ‘person’ at the other end of the computer screen.

A sample conversation with Sigmund- the user’s respsonses are top the ones in the pairs.

At the end of a conversation, the user can type ‘/diagnose’ to recieve an analysis of the inputs. Essentially, the bot combines all respsonses into a single string that is parsed through for positive and negative words. This string can be viewed by inputting the command ‘/list’. Positive words include good, great, happy, content, excited and several more where negative words include sad, angry, furious, die, cry(ing), and many more. Then, based on the usage of these words in the responses, Sigmund returns a mood score- giving an approximate idea of the user’s emotions.

The ‘/list’ command returns the string of responses that Sigmund looks through when determining a mood score.

Note that some words are weighted as a +/- 1 on the mood score and some are weighted as +/- 2 depending on the strength and severity of the word. For example, ‘upset’ would subtract 1 point where ‘depressed’ or ‘devastated’ would subtract 2. Same goes for a slightly positive word like ‘good’ versus a strong positive word like ‘fantastic’.

The ‘/diagnose’ command gives a mood rating based on the words the user responds with

Obviously this chat bot is limited in its ability to predict mood and naturally communicate like a human, but it does offer insight into a patient’s mental state before attending therapy- perhaps as accurate as a self-reported survey.

I created Sigmund to apply my knowledge of Computational Linguistics to my other studies in Cognitive Science and Psychology. I believe that artificial intelligence will play a significant role in the field of Psychology in the near future, helping doctors identify thoughts and emotions that the patients may not always be consciously aware of.

A sample conversation with Sigmund- the user’s respsonses are top the ones in the pairs.

At the end of a conversation, the user can type ‘/diagnose’ to recieve an analysis of the inputs. Essentially, the bot combines all respsonses into a single string that is parsed through for positive and negative words. This string can be viewed by inputting the command ‘/list’. Positive words include good, great, happy, content, excited and several more where negative words include sad, angry, furious, die, cry(ing), and many more. Then, based on the usage of these words in the responses, Sigmund returns a mood score- giving an approximate idea of the user’s emotions.

The ‘/list’ command returns the string of responses that Sigmund looks through when determining a mood score.

Note that some words are weighted as a +/- 1 on the mood score and some are weighted as +/- 2 depending on the strength and severity of the word. For example, ‘upset’ would subtract 1 point where ‘depressed’ or ‘devastated’ would subtract 2. Same goes for a slightly positive word like ‘good’ versus a strong positive word like ‘fantastic’.

The ‘/diagnose’ command gives a mood rating based on the words the user responds with

Obviously this chat bot is limited in its ability to predict mood and naturally communicate like a human, but it does offer insight into a patient’s mental state before attending therapy- perhaps as accurate as a self-reported survey.

I created Sigmund to apply my knowledge of Computational Linguistics to my other studies in Cognitive Science and Psychology. I believe that artificial intelligence will play a significant role in the field of Psychology in the near future, helping doctors identify thoughts and emotions that the patients may not always be consciously aware of.