We have learned that virtual assistants like Siri, Alexa, and Samantha can be more than just assistants. They can be your friend.

With Build-a-Buddy, we let users define the personalities of their own virtual friends.

Build-a-Buddy lets users create the ultimate Turing test.

What it does

A user builds a virtual friend by defining the Big Five personality traits. This virtual friend becomes a personalized conversation bot who can talk about anything.

How it Works

Personality Insights

We characterized over a hundred different personalities using the autobiographies of famous people from Benjamin Franklin to Tina Fey.

When a user creates a new buddy profile, we match it to the closest existing personality in our database using the shortest total Euclidean distance between all the personality traits.

Then, we load the dialog file corresponding to the matching personality. We enable conversation using the IBM Watson Dialog Service API.

Dialog Service

We transform each autobiographical text into a stream of vectors using Latent Semantic Indexing. This creates a list of topics that we use as classifiers.

Using a Natural-Language Toolkit, we tokenize the body of text into sentences and label each sentence with the appropriate topics (classifiers). Using the topics as inputs and sentences as outputs, we can convert a body of text into an xml file for the dialog service.

Challenges We ran into

It was difficult to find sufficient open-source text to train a wide range of personalities. Most of the books were downloaded from Project Gutenberg.

What We learned

IBM Watson is awesome!

What's next for Build-a-Buddy?

Next, build your own buddies to play chess with you!

Share this project: