The core function of bot Soul Wanderer is random recommendation of nearby entertainment activities based on Alexa Skill Net. The whole system is based on Ruby on Sinatra web service and natural language processing. In a sense, it not only recognizes and responses to user’s audio message mechanically but has her own personality and virtual biography, thus creating an interesting and vivid user experience system for anyone who feels boring and wants to get immediate nearby activities information.
It’s my first weekend when I arrived at Pittsburgh from China. Knowing nothing about the new city, I search over Google map and websites to find out some interesting activities for me. But in order to find a sports game, I have to open the sports websites. Or music concerts, I should open specific websites. Most importantly, sometimes I even don’t know where I should go and what kind of activities I really love to go now. I just feel boring and need some fast and random recommendation.
So, I just complain to my bot Soul Wanderer that “I feel boring now.” The bot then gives me some nearby entertainment activities immediately according to where I am now. Its response includes the activity’s name, time and address. If this one is not my cake, I can change to another choice randomly. Although it does not depend on accurate searching, it meets my need for immediate nearby activities recommendation. After all, this bot is a good way to kill off boring time immediately.
Just as she describes in the audio introduction. The bot is a naughty girl who knows every interesting thing around your location. She is not very obedient. On the opposite, she is sometimes mean and maverick, which will give users some random surprise.
Sketch (Credit to myself: Xiaowen Xu)
I started developing the Alexa chatbot after the bot’s functionalities and personalities are confirmed.
Firstly, build up a web service by Ruby on Sinatra. Test on the basic conversational flow on local and deploy the endpoint on Heroku.
Ticket Master APIs
Secondly, call data from Ticket Mater API to connect nearby activities information. I set the input variable is City.
Alexa Skill Net
Thirdly, sign up an Alexa skill to train the bot to handle the basic conversational interaction with users. Also, I added a large number of intents to handle unexpected conversations such as complaining, refuse and even flirting.