Lessons Learned

How Can Multiple Psychological Experts Develop a Virtual Persona

The lessons we learned from the development of Poppy

Petr Marek
PromethistAI

--

Photo by Marvin Meyer on Unsplash

We have released our AI persona Poppy for Alexa, the first virtual persona that cares about how we feel. You can read more details about her role in our blogpost “We Are Launching the Virtual Persona Poppy on Alexa”. In this blog post we would like to share with you the challenges we faced during development, how we solved them and how we have made the solution available for all creators developing their own virtual personas using our Promethist Platform.

The development of the virtual AI persona Poppy took us 9 months of iterations and close cooperation between a team of AI researchers, engineers and experts in psychology. This side by side cooperation between experts from different fields shone a light on a set of very unique problems we had to overcome. We took this enormous challenge as an opportunity for us to develop critical tools for our platform that enabled the team to succeed. We would like to share with you the lessons we learned.

The development of the virtual AI persona Poppy took us 9 months of iterations and close cooperation between a team of AI researchers, engineers and experts in psychology.

We quickly discovered that there are two big challenges to overcome if our team of AI and psychology experts were to create the first AI persona that cares about feelings. As you might suspect already, experts in psychology aren’t trained in algorithms and AI development. How to make it easy for them to create AI personas was our first concern. The psychological troubles we humans face are diverse, from the problems of critical self-talk to sleep issues. Thus, no psychological expert can cover them all. So our second problem was, how we can make collaboration on solving various psychological problems possible. There was also a third interesting problem we encountered later in development, but we will get to it later. Let’s start with the first two.

Photo by Carl Cervantes on Unsplash

Problems and Solutions

The first problem, that experts in psychology aren’t experts in programming, turned out to not to be such an issue thanks to our development platform. Our development platform contains a visual editor, in which you can design the interaction with a persona by an easy drag and drop. Psychology experts quickly grasped the concept and started to design the interactions between the user and Poppy. Initially, they used the elementary speech and intent nodes, that represent what the virtual persona and user say respectively. However, over time as it started to be more and more clear what patterns are repeating, we created dialogue snippets for them. The snippet is a part of the interaction that is repeated frequently. You can save this repeating part and reuse it in different parts of the interaction. Dialogue snippets saved psychology experts considerable time, which they would have wasted by recreating parts of the interaction over and over again.

The snippet is a part of the interaction, which repeats in the interactions. You can save this repeating part and reuse it in different parts of the interaction. Dialogue snippets saved psychology experts considerable time.

We solved the second problem with collaboration by a traditional approach in software development. We divided the persona into independent submodules and let individual psychology experts work on them separately. Once the team was happy with the submodule, we connected it into the rest of the persona. This allowed us to gradually grow the persona’s ability to help users cope with their emotions. For this to work as easily as possible, we added the support of subdialogues. The subdialogue is a part of dialogue that can be referenced in other dialogues. This makes the development of a persona’s abilities and supported topics easy and modular. The advantages are easier development, testing and interchangeability of various versions of dialogues.

The subdialogue is a part of dialogue that can be referenced in other dialogues. This makes the development of a persona’s abilities and supported topics easy and modular.

The last problem we encountered was during the implementation of one of the cognitive behavioral therapy’s techniques called emotion reframing. In this technique, the therapist asks the clients what emotion they feel, and then they try to describe the emotion in different words. For example, the therapist can reformulate “I feel alone” into “Can we say that what you are feeling now is rejection?” We can do this reformulation very easily. It just means to write a set of rules, which takes the input “alone” and translates it into the output “rejection”. Such a simple rule is very efficient.

Photo by Clément Hélardot on Unsplash

To support such efficient rules that process the input, we added support for Domain-Specific Language into our platform. We call it the DialogueScript and it is built on top of the Kotlin programming language. Thanks to it, we can add any code that controls the dialog flow, accesses data and APIs or can send requests to physical actuators. Thus the simple use case is to write code that reformulates the emotions. However, we can also take it a few steps further. The ability of the DialogueScript to control physical actuators, access external data and call APIs gives our personas the ability to influence the real physical world.

The ability of the DialogueScript to control physical actuators, access external data and call APIs gives our personas the ability to influence the real physical world.

Conclusion

The development of the virtual persona Poppy was a real test for our Promethist Platform. Although we encountered several challenges, it gave us the opportunity to learn and prepare better tools for the development of virtual personas. We hope that you have learned from the lessons we benefited from already, and that you will be better prepared for your journey towards your own virtual persona thanks to it. We humans face a lot of problems. We believe that tackling many of them will be easier, if we have an assistant, guide or companion next to us. In many cases, that could be a virtual persona. The world needs more virtual personas. Come on and join us.

We have released our AI persona Poppy for Alexa, the first virtual persona that cares about how we feel. You can read more details about her role in our blogpost “We Are Launching the Virtual Persona Poppy on Alexa”.

Would you like to follow our journey? Follow us on Facebook, Twitter, YouTube, Instagram, and LinkedIn.

Check out the Promethist Platform for creating smart conversational AI applications and virtual personas.

Enjoyed the article? Click the 👏 below to recommend it to other interested readers!

--

--

Petr Marek
PromethistAI

Researcher of conversational AI, student and scout.