Meet the designer that made a chatbot to flag workplace racism
How to do it
I started by researching my chatbot options. There are quite a few options out there, but I went withDialogFlow, which is free and has more advanced NLP capabilities. They have very detaileddocumentationon how to get started.
I wrote out all the questions that I’ve been frequently getting in my UX design interviews and organized it in an Excel spreadsheet so that I could keep track of what answers I still needed to add to the bot. I get a lot of questions about my experience, what I’m looking for in my next role, my technical skills, and software I use, etc. To show off my personality, I added fun little answers about my hobbies, sign, and favorite music.
Adding custom payloads
I didn’t want my bot to only have basic text responses, and I also wanted to implement special features like suggestion chips, links, etc. It requires a tiny bit of reading and understanding basic code, but DialogFlow’sdocumentationlists rich response messages, which lets your bot respond with links, images, suggestion chips, accordion text, lists, buttons, info cards, etc. Simply add the code under “Custom Payloads” under “Add new text response.”
Post-release and improving conversational AI
After my bot went public and I tweeted about it, I got an overwhelming number of user interactions. In DialogFlow, I can see the history of everyone’s interactions as well as any flagged unmatched requests (essentially, where the bot failed to interpret the user’s response). This is where I could learn more about what users were asking my bot that I didn’t anticipate, such as “where are you based?” and “salary requirements.” From looking through these interactions, I knew what other intents I needed to integrate into my bot in order to make it more effectively conversational.
Unfortunately, because of the controversial nature of the bot and the popularity of the tweet, I also got a ton of all lives matter people on my website leaving me hateful comments.
I wanted to make sure that the trolls still got a proper interaction with my bot rather than just the fallback intents. So, I got my bot to out-troll the trolls with some resources that would hopefully provide clarity on the subject.
The bright side is that, thanks to NLP, the more the user interacts with the bot, the smarter it gets. That means that the more that trolls sent death threats and mean comments to my bot, the more it could recognize these hateful phrases and respond with some resources where the user can educate themselves about the BLM movement. Kill em’ with kindness.