Building your first Alexa Skill — Part 1

By | AI, Alexa, Blogs, Machine Learning, ML | No Comments

Written by Tejaswee Das, Software Engineer, Powerupcloud Technologies

Technological advancement in the area of Artificial Intelligence & Machine Learning has not only helped systems to become more intelligent but has also made them more vocational. You can just speak to the phone & add items to your shopping list or just instruct your laptop to read your email. In this fast-growing era of voice-enabled automation, Amazon’s Alexa enabled devices are changing the way people go through their daily routines. In fact, it has introduced a new term in the dictionary, Intelligent Virtual Assistant (IVA).

Technopedia defines Intelligent Virtual Assistant as an engineered entity residing in software that interfaces with humans in a human way. This technology incorporates elements of interactive voice response and other modern artificial intelligence projects to deliver full-fledged “virtual identities” that converse with users.”

Some of the most commonly used IVAs are Google Assistant, Amazon Alexa, Apple Siri, Microsoft Cortana, with Samsung Bixby joining the already brimming list lately. Although IVAs seem to be technically charged, they bring enormous automation & value. Not only do they make jobs for humans easier, but they also optimize processes and reduce inefficiencies. These systems are so seamless, that just a simple voice command is required to get tasks completed.

The future of personalized customer experience is inevitably tied to “Intelligent Assistance”. –Dan Miller, Founder, Opus Research

So let’s bring our focus to Alexa, Amazon’s IVA. Alexa is Amazon’s cloud-based voice service, which can interface with multiple devices on Amazon. Alexa gives you the power to create applications, which have the capability to interact in natural language, making your systems more intuitive to interact with technology. Its capabilities mimic those of other IVAs such as Google Assistant, Apple Siri, Microsoft Cortana, and Samsung Bixby.

The Alexa Voice Service (AVS) is Amazon’s intelligent voice recognition and natural language understanding service that allows you to voice-enable any connected device that has a microphone and a speaker.

Powerupcloud has worked on multiple use-cases, where they have developed Alexa voice automation. One of the most successful & adopted use cases being one of the largest General Insurance providers.

This blog series aims at giving a high-level overview of building your first Alexa Skills. It has been divided into two parts, first, covering the required configurations for setting up the Alexa skills, while the second focuses on the approach for training the model and programming.

Before we dive in to start building our first skill, let’s have a look at some Alexa terminologies.

  • Alexa Skill — It is a robust set of actions or tasks that are accomplished by Alexa. It provides a set of built-in skills (such as playing music), and developers can use the Alexa Skills Kit to give Alexa new skills. A skill includes both the code (in the form of a cloud-based service) and the configuration provided on the developer console.
  • Alexa Skills Kit — A collection of APIs, tools, and documentation that will help us work with Alexa.
  • Utterances — The words, phrases or sentences the user says to Alexa to convey a meaning.
  • Intents — A representation of the action that fulfils the user’s spoken request.

You can find the detailed glossary at

Following are the prerequisites to get started with your 1st Alexa skill.

  1. Amazon Developer Account (Free: It’s the same as the account you use for
  2. Amazon Web Services (AWS) Account (Recommended)
  3. Basic Programming knowledge

Let’s now spend some time going through each requirement in depth.

We need to use the Amazon Developer Portal to configure our skill and build our model which is a necessity.

  • Click on Create Skill, and then select Custom Model to create your Custom Skill.

Please select your locale carefully. Alexa currently caters to English (AU), English (CA), English (IN), English (UK), German (DE), Japanese (JP), Spanish (ES), Spanish (MX), French (FR), and Italian (IT). We will use English (IN) while developing the current skill.

  • Select ‘Start from Scratch’
  • Alexa Developer Console
  • Enter an Invocation Name for your skill. Invocation name should be unique because it identifies Skills. Invocation Name is what you say Alexa to invoke or activate your skill.

There are certain requirements that your Invocation name must strictly adhere to.

  • Invocation name should be two or more words and can contain only lowercase alphabetic characters, spaces between words, possessive apostrophes (for example, “sam’s science trivia”), or periods used in abbreviations (for example, “a. b. c.”). Other characters like numbers must be spelt out. For example, “twenty-one”.
  • Invocation names cannot contain any of the Alexa skill launch phrases such as “launch”, “ask”, “tell”, “load”, “begin”, and “enable”. Wake words including “Alexa”, “Amazon”, “Echo”, “Computer”, or the words “skill” or “app” are not allowed. Learn more about invocation names for custom skills.
  • Changes to your skill’s invocation name will not take effect until you have built your skill’s interaction model. In order to successfully build, your skill’s interaction model must contain an intent with at least one sample utterance. Learn more about creating interaction models for custom skills.
  • Endpoint — The Endpoint will receive POST requests when a user interacts with your Alexa Skill. So this is basically the backend for your Alexa Skill. You can host your skill’s service endpoint either using AWS Lambda ARN, which is recommended, or a simple HTTPS endpoint. Advantages of using an AWS Lambda ARN are :
  • Sign in to AWS Management Console at
  • Lookup for Lambda in AWS services
  • US East (N. Virginia)
  • EU (Ireland)
  • US West (Oregon)
  • Asia Pacific(Tokyo)

We are using Lambda in the N.Virginia (us-east-1) region.

  • Once we are in a supported region, we can go ahead to create a new function. There are three different options for creating your function. You can create a function from scratch or you can also use available Blueprints and Serverless Application Repositories.
  • C# / .NET
  • Go
  • Java
  • NodeJS
  • Python

We will discuss programming Alexa with different languages in the next part of this series.

  • Go back to the Endpoint section in Alexa Developer Console, and add the ARN we had copied from Lambda in AWS Lambda ARN Default Region.

ARN format — arn:aws:lambda:us-east-1:XXXXX:function:function_name

In, part 2, we will discuss the training our model — adding Intents & Utterances, finding walkarounds for some interesting issues we faced, making workflows using dialog state, understanding the Alexa Request & Response JSON, and finally our programming approach in Python.

Bringing automation to Online Dating & Matrimony, saving big bucks!!

By | AI, AWS, ML | No Comments

Written by Rishabh Sood, Associate director-ASG at Powerupcloud Technologies.

Matchmaking is probably one of the oldest professions, as far as documented history can be traced. We all have come across some form of matchmaking, be it the neighbor aunty constantly looking to hook up her daughter to the NRI 30 something, or a relative with a lifelong wish of setting you up with her niece/nephew. Those were the simpler times, when the adults understood (or assumed they did) our requirements & with deep regard to our feelings (no pun intended!!), would search for the most (un)suitable match.

With the advancement in technology, the dating & matchmaking industry started migrating online & with the advancement in lifestyle, open dating & matchmaking no longer remained a taboo. In 2005, 29 percent of U.S. adults agreed with the statement, “People who use online dating sites are desperate;” but in 2013, only 21 percent of adults agreed with the statement.

With the advent of technology, more than half of the dating industry moved online (According to IBISWorld, the dating industry accounts for $3 billion revenues in the US alone) & is slated to grow at 25% CAGR through 2020. With this Digital revolution in the industry, the companies started to accumulate a host of data in the form of images. These sets of images, which were uploaded by the users while creating their profiles, was a goldmine of information to derive user insights & improve business metrics.

India, with a population of more than 1.3 billion people, is the 2nd largest online market across the globe, with over 460 million internet users. The online dating industry in India is supposed to grow at a CAGR of 10.5% from 2018–2023. With such a huge userbase & bright future, across the country, companies have spruced up in sizeable numbers, with a host of them already hitting profitability, unlike the other online ventures.

A very niche segment under online dating caters to the traditional audience, the Social matchmaking business. These companies bring individuals together, based on their preferences & lifestyle matches, allow them to connect, get to know each other & then take the plunge. Most of these companies, running the business legally, need to regulate their user base & digitally available data according to the Internet Censorship norms, which are quite stringent in India.

With one of the largest Matrimonial Players in India (& across the globe), the no of users registered & the no of images uploaded on a daily basis would be quite a sizeable no. The matrimonial player would generally get around 10,000 profiles created & 30,000 images uploaded on a monthly basis. These images were the profile images that their users would upload as part of their portfolio. Being one of the major criteria for getting matches, these images would be mandatory for profile creation & needed to go through a very stringent process of acceptance & rejection by the moderators.

The business process followed for profile activation is shown in the below image.

The business had invested heavily in the Photo Moderation process, as this was the core of the model. A 20 member team would manually asses each & every image being uploaded & would analyze it on the following parameters

· Age (should be between 25–60 years)

· Gender match (for male profiles, it should be a male image)

· Group Photo (for profile images, group photo would not be allowed)

· Indecently dressed/nude image

· Should not be a celebrity image

· Should not be a selfie

· Should not have a watermark across the image

· Should be above a specified quality (no blur, contrast, reflection, etc. in the image)

The manual moderation process not only made the process of profile activation very slow (up to 72 hours or 3 days) but would also leave the moderation to manual judgment. While to 1 human it might look an indecent image, to the other it might be perfectly alright to approve. Being a critical process, which might also lead to the legal watchdogs’ ire, in the case of misjudgment.

At Powerup, we expertise in Image Vision & building custom models to deliver business ROI. We worked with the leader of the matrimonial service to do a feasibility study on the automation of the complete Photo Moderation process. Our team of ML solution experts analyzed the set of images from the customer. The images were sanitized, structured & then labeled to train the Vision model created. They then tested multiple models that would suit the business problem. One peculiar problem to solve with the business was celebrity detection. Although a host of open source libraries detect the personalities across the world, none of them can detect the smaller known faces, Indian television industry artists, Lollywood & Tollywood actors, etc.

To resolve this, the database of celebrity images (which were manually rejected during the manual photo moderation process) was borrowed from the business team & via re-enforced learning models, used for training the model.

The team followed a 5 stepped approach (depicted below), to automate the photo moderation process, backed by powerful Image processing models.

But how would such a model scale up for a company that processes more than 30,000 images on a monthly basis? Will it be able to identify the new data sets added every day? What if the system fails to recognize an anomaly & the image gets activated as an incorrect approve?

The system was designed with a feedback loop, where the engine would constantly feed on the manual feedback on the classified & unclassified data. To resolve system scalability, the custom image processing models were backed by a strong re-enforced learning model, which would constantly add to the dataset for enhanced accuracy on the Photo Moderation process.

With a dataset of around 1 million images, the model has developed to delivery 60% accuracy on deployment. Within 6 months the model increased the accuracy to 78%, with daily dataset build & re-enforced learning on the custom-built engine.

With the engine increasing accuracy on a daily basis, it helped not only automate a critical function in the process but also helped achieve a positive ROI on the implementation. Within 6 months, the manual moderation team was reduced to a 5 member team to only look into the exception scenarios, which is a 75% reduction in the taskforce. The profile activation process was reduced from 72 hours to within a day, again a 72% improvement in TAT. With a 78% accuracy on positive image classification, the engine not only was a compelling use case to implement but was now a critical support system for the business.

To understand how the solution was implemented, please refer to our tech blog series at

Email Classification Engine

By | AI Case Study, Case Study, ML | No Comments

Indian financial services company

Problem Statement

An Indian financial services firm gets close to 1.2 million support emails per month.
They outsourced email categorization to a 50-member support team. Each support
member had to read 2.27 emails per minute and classify them in the right bucket.
Customer faced several issues including 24-hour SLA, team attrition and the
classification accuracy was less than 80%.

Proposed Solution

Powerup built an email classification engine using a combination of several
algorithms & techniques including a bag of words, stemming, lemmatization, decision
forest, neural networks and more. The machine learning was able to achieve above
80% accuracy on a consistent basis.


Technologies used

Spark, Python, SQL Server.

Sales Prediction Engine

By | AI Case Study, Azure, Case Study, ML | No Comments

Customer: One of the world’s largest corporate food catering company

Problem Statement

One of the world’s largest corporate food catering company wanted to understand
their customer behavior including their food ordering trends. This will help them
discontinue less popular foods and combos, eventually helping them increase
customer satisfaction and profit margins.

Proposed Solution

The POS data from their catering sites were pushed to a central Data Warehouse.
The data is then processed by machine learning-powered prediction engine to
predict several important business parameters including plate consumption, top
combo foods, inventory prediction, etc.

Cloud Platform


Technologies Used

Azure Machine Learning, Python, SQL Server, PowerBI.

Attrition Prediction Engine

By | AI Case Study, Case Study, ML | No Comments

Customer: IT services company

Problem Statement

An IT services company faced severe attrition challenges in the competitive Indian job market. They felt that an attrition prediction engine will help them address this issue.

Proposed Solution

Powerup built a machine learning-based attrition prediction engine on the cloud. The engine uses historical data of employees who left the company in the last 2 years,
demographic data of current employees, employee satisfaction survey results and manager feedback. The engine runs the ML algorithms once a month and shares a
report to HR on the likelihood of someone quitting in 3 months. The engine’s accuracy in the first quarter has been above 75%.

Technologies used

Spark, Python, Tensorflow.

Dish TV Signal Automation

By | AI Case Study, AWS, Case Study, ML | No Comments

Customer: Largest DTH services provider in India

Problem Statement

One of the largest DTH services providers in India, with a userbase of 1.33 crores,
operated on a standard Dish TV installation model for their customers & have a sales
team of 8000 agents who visit customer places adhering to complaints resolution in
case of weak signal strength. Currently, the process is manual & the agent’s click
images of the signal strength on consumer device that is then sent to the backend
for analysis & data extraction to decide on the corrective measure. The process is
currently marred with multiple bottlenecks including images not captured properly
& text not extracted for actions.

Proposed Solution

Powerup developed an ML-based algorithm, which extracted information from the images captured by the agents using AWS Rekognition. The system improved the image quality by running these through image preprocessing algorithms, thus ensuring higher efficiency. The system also learns on the images being input on
a daily basis to improve its accuracy over a period of time.

Cloud Platform


Technologies used

AWS Rekognition, Python, OpenCV.

Customer service Chatbot

By | AI Case Study, AWS, Botzer, Case Study, Chatbot, ML | No Comments

Customer: India’s leading lending company

Problem Statement

A leading lending company from India has seen an increasing number of support calls
to their customer service team, hence they decided to use chatbot capabilities to
bring down the dependency on the human support team to address customer concerns.

Proposed Solution

Powerup implemented the chatbot platform with Amazon Lex & Polly.
Customer calls get diverted from IVR to the chatbot, which takes customers’
requests as voice input do entity matching, triggers workflows and answers back immediately. The voice engine supports 2 languages today – English & Hindi.
Customers can get details like Statement of Account, EMI tenure, Balance Due etc.

Cloud Platform


Technologies used

Botzer, Lex, Polly.

HRMS Automation Chatbot

By | AI Case Study, Azure, Botzer, Case Study, Chatbot, ML | No Comments

Customer: The largest telecom provider in Singapore

Problem Statement

The customer is one of the largest telecom providers with a subscriber base in Asia, Australia & Africa & have 25000+ employees spread across the globe. It is a nightmare for the HR department to respond to employee queries around policies & real-time updates their HRMS, hosted on Success Factors on SAP. This created a need to have a comprehensive solution to cater to needs across geographies by automate the process for New Hire On-boarding and Leave Application process. This helps solve user request quickly avoiding any delay in response by the HR function through a chatbot which understands the exact user’s questions and answers to it appropriately. It also saves time of the HR team in addressing user issues by just clicks instead of looking for resolutions in the guide.

Proposed Solution

Powerup integrated with Success Factors on SAP & deployed a chatbot on their HR Central website, which allows their employees to query policies & get real-time updates on HRMS data. The bot, built on Botzer, also allowed the employees to apply for leaves & approve pending requests in SAP.

Cloud Platform


Technologies used


Time triggered recommendations

By | AI Case Study, Case Study, GCP, ML | No Comments

Customer: A large online home festival by a high-end property portal that caters to a global market

Problem Statement

The customer was looking to build a highly accurate product recommendation engine to suggest properties to visiting users. They also wanted these recommendations to be time-triggered. The challenge was, almost 95% of users were guest users and hence the prediction engine has to be built using very little user-specific data.

Proposed Solution

Powerup team built 2 engines, 1. A product recommendation engine that tracks user click-stream data and recommends users with right properties, 2. A prediction engine that predicts the time a user is going to spend on a web-page.

Cloud Platform

Google Cloud.

Technologies used

Apache Spark,, BigQuery, Riak, Fluentd,


By | AI Case Study, AWS, Case Study, ML | No Comments

Customer: An upcoming news mobile app in India

Problem Statement

The customer is an upcoming news mobile app in India. They got a chance to interview one of India’s central ministers. Since they got an appointment way too early, they had the interview recorded. The customer gave the video in 30 snippets, each snippet had minister answering on different topics. The twitter marketing was planned a
week later with the theme ‘Ask the Minister’.

Proposed Solution

Powerup built an NLP engine that interpreted the questions asked by Twitteratis
in real-time, understood the question, picked the most relevant answer from the
video snippets and shared a YouTube link in a response tweet. On that day, without
any marketing, the customer was trending among the top 3 in Twitter India.

Cloud Platform


Technologies used

Tensorflow, Kinesis, RDS.