As part of a hackathon project at General Assembly, I decided to spend some time trying to solve a recurring problem I was observing with new hires.
With any company, it takes some time to fully onboard and feel confident in the lingo. As GA went through a hiring craze, I noticed that we didn't have a great tool for helping new hires ask common questions, such as:
- What's the wifi password?
- How do I connect to the printer?
- Where can I find the brand assets?
I did some asking around, and gained some insights on the problem.
- New hires were nervous about asking "dumb" questions on Slack.
- Most of our FAQs were hidden deep in Confluence.
- Onboarding documents lacked mention of common questions/answers.
Since bots don't judge you, and with improvements in NLP, I figured it would be a good idea to create a Slack bot to field these questions (since that's where we spend most of our time).
The bot, dubbed 'AskMeBot', would help alleviate the confusion of being a new hire at GA by providing guidance and direction.
Powered by a Confluence table database, I started a prototype and tested my hypothesis. The bot consumes a table from a page on Confluence and uses Logistic Regression Classifiers to return the most accurate response to the end-user.
How it works
- Step 1: Hear the phrase that was sent to the bot.
- Step 2: See if we have a cached response from Confluence we can send back.
- Step 3: If not, loop over our classifier table and pull out the response with the most confidence.
- Step 4: If we don't have a response with a confidence greater than 80%, fail with a sadface.
AskMeBot has seen 4+ years of service and has answered thousands of questions over its lifetime. Shortly after I released it, I added in the ability for the bot to refresh its own cache of FAQs, this way I could crowdsource the population of the database. AskMeBot currently fields over 60 different questions and has improved the onboarding for all new hires and existing employees looking for a quick answer.