Note: This post is a part of our series “InfoBeans Innovation Day 2019.” You can learn about how it all started in our first post here.
While our first technology conference- Infobeans Innovation Day 2019 turned out to be amazing for all the attendees, we’d like you to be a part of it too. In case you missed the session, we’ve got you covered. With this post, we will share insights about Alexa Voice Bot represented by our team at the conference.
The next wave of technology is growing with new trends that encompass a lot of advancements for our day-to-day life. One such addition to the trend is the introduction of chatbots. Chatbots or conversational agents are software agents that mimic human speech in order to display a human-like interaction with a real person.
Displaying the use of Chatbot for the digitization of the Talent Acquisition process, our team created an Alexa voice bot application. In our POC, we have tried to minimize or remove the pain points that a talent acquisition team faces during the initial screening of the candidate during the interview process. Before moving ahead with details about the POC, let’s first get a glimpse of the demo and the processes involved before starting it.
Alexa Voice Bot Demo
Before starting the demo, the hiring team will need to fill the registration form. The form contains details about the candidate along with the skill/technology for which he/she wants to interview. In our demo, we’ve selected the skill as HTML. Once the registration form is filled, a registration number will be received. This registration number will be used by Alexa for initiation of the interview session.
In order to get an understanding of how it all works, you can watch the demo in the video below:
Once the interview discussion is completed, a complete transcript of the conversation will be sent to the email ID of the interviewee. This transcript will contain the score that the candidate has obtained while having the interview with Alexa.
To understand this use case better, let’s consider an example. Let’s assume that InfoBeans wishes to conduct a campus drive for hiring students from a college. The total number of participants that we wish to interview is 20. However, there’s a spike in the number of candidates who have opted for this interview.
There is a total of 60 students who have registered their name for the process. In such situations, Alexa voice bot can be used to conduct the initial round of interview and based on the results, our team can filter the final 20-30 candidates for a one-on-one discussion. The overall process and time-efficient and reduces a lot of effort as well.
As you might have already understood the demo process, let’s proceed further by understanding the architecture behind this POC.
Alexa Voice Bot Architecture
To implement the POC of Alexa Voice Bot we have used:
- Alexa Custom Skill in Frontend
- AWS Services in the Backend
Alexa enabled devices like Echo Dot invokes the Alexa custom skills designed by our team for the. These skills are based on voice interaction model. Voice interaction contains the following components:
- Wake Word- Wake word is used to initiate communication between Alexa and the other entity. For instance, in our case, we are using the keyword “Alexa” to start communication. This word can also be changed for different uses. It can be Amazon, Computer or Echo.
- Invocation Name- To initialize any skill in Alexa, the invocation phrase is required. For our POC we are using “Conduct discussion”
- Utterances- These include the list of sentences or sample phrases that the user uses while communicating with Alexa. These utterances are mapped with intents. For example, to give an answer, the user may use “Answer a”, “Option a”, “My answer is a”.
- Slot- Slots are the parameter for intent. For example, “Option b” (in this case, “b” is the slot)
- Intent- The intent is the actual function which Alexa skill executes when the user says any utterance. When the user says “answer b” Answer, the intent will be executed.
For the application’s backend, we have used the following AWS services:
- Lambda- Alexa custom skill sends input to the AWS lambda which is an event-driven serverless computing service. To use this service, we don’t require any server setup. Once the user says any utterance, the corresponding intent will invoke Lambda service. Lambda will process the input and send the output in an SSML format. The output contains SSML tags which comprise of the text that Alexa speaks in response to the input.
- DynamoDB- This is a NoSQL database service. We have used this service to store the interview questions and answers.
- S3- This is a secure, durable simple storage service. We have used this service to store data filled by the user in the registration form.
- CloudWatch Logs- This is a monitoring and management service. We have used this service to store the execution log of AWS lambda.
- SES- This is a simple email notification service. To send out a transcript we have used this service.
- IAM- This is an identity and access management service of AWS. We have used this service to grant access to lambda for accessing S3, DyanamoDB and CloudWatch Logs.
Apart from the chatbot application created through Alexa, there are other applications and use-cases as well. Alexa can be used to:
- Take meeting notes automatically
- Explain the menu ingredients to the customers at any hotel
- Host a quiz or game show
- Automate processes in the banks and financial institutions
- Help visually impaired people while ordering items