Blog

Skill Library – A New Market

By September 12, 2019 September 24th, 2019 No Comments

What is the Skill?

To define and understand skills, we encourage you to think about these characters from some of the most loved Hollywood movies

  1. Jarvis — the virtual assistant of Iron man
  2. TARS — from Interstellar
  3. BB-8 — from Star Wars

Imagine a world where these characters have been developed into working models and made available in the market. Not too hard to fathom the consequences of such a happening! We can perceive the following possibilities, being a bunch of techno-passionate people:

  • They sell like hotcakes
  • We can easily expect at least ten million advanced bookings from people desperate to get their hands on them
  • If the robot versions are sold from a store, people will queue up in higher numbers than when they do at every iPhone release (sorry Apple Inc!)

Let’s tie a rope to the fore-legs of our brain horses, as we are running too fast into the future. For now, we are in the stage of building the stairs in this process, to ensure our future generations use the elevator.

The term Stair we mentioned above is a skill.

  1. For an enterprise, it could be related to their:
    • Customer Support Agent
    • SEO Analyst
    • BI Assistant
    • Sales Assistant
  2. In the healthcare space, it could be relevant to the:
    • Patient engagement agent (a bot that can schedule/cancel appointments with doctors, inform about a doctor’s availability and list their profiles)
    • Patient caring agent (assists timely medicine  intake in patients according to prescription)
    • Diagnostic agent (while technology shouldn’t replace a doctor’s diagnosis, it can augment professionals in helping patients make sense of symptoms and identify possible concerns)
  3. For a recruiting agency, the skill could mean a:
    • Candidate-shortlisting agent
    • Interview scheduling agent
    • Virtual assistant to handle candidate queries
  4. For a marketing agency, the skill could be:
    • An automatic email sender
    • An events schedule generator
    • A customer shortlisting/segmenting agent (based on their engagement with marketing newsletters and emails, customers can be shortlisted)

These are one a few examples and industries where AI has profound and critical use cases. What happens if we package these skills together in a library and call it the present day’s JARVIS? Each example mentioned above is a skill that is used by several industries currently- and deserves to be automated for the better.

Skills – from a technical standpoint

What is a skill from a technical perspective?

  1. A piece of code?
  2. Merely a package that your application inherits?
  3. A voluminous application that requires a large server and a huge amount of data; that manipulates the data based on factors that aid in decision-making?

You might have guessed. Of course, a skill is a piece of code that uses several platform packages and manipulates user data. It is also a bit more than that- that ‘bit’ measures the difference between a simplistic web app or software and a skill. A ‘skill’ can exhibit its intelligence on a use case or action.

A typical Alexa-skill JSON would look like this:


{
"interactionModel": {
"languageModel": {
"invocationName": "*Invocation Name*",
"intents": [
{
"name": "AMAZON.FallbackIntent",
"samples": []
},
{
"name": "AMAZON.CancelIntent",
"samples": []
},
{
"name": "AMAZON.HelpIntent",
"samples": []
},
{
"name": "AMAZON.StopIntent",
"samples": []
},
{
"name": "AMAZON.NavigateHomeIntent",
"samples": []
},
{
"name": "Custom Intent One",
"slots": [
{
"name": "Slot Name One",
"type": "Slot Type One"
}
],
"samples": [
"Utterance One",
"Utterance Two",
"Utterance Three"
]
},
{
"name": "Custom Intent Two",
"slots": [
{
"name": "Slot Name One",
"type": "Slot Type One"
}
],
"samples": [
"Utterance One",
"Utterance Two",
"Utterance Three"
]
},
{
"name": "AMAZON.MoreIntent",
"samples": []
},
{
"name": "AMAZON.NavigateSettingsIntent",
"samples": []
},
{
"name": "AMAZON.NextIntent",
"samples": []
},
{
"name": "AMAZON.PageUpIntent",
"samples": []
},
{
"name": "AMAZON.PageDownIntent",
"samples": []
},
{
"name": "AMAZON.PreviousIntent",
"samples": []
},
{
"name": "AMAZON.ScrollRightIntent",
"samples": []
},
{
"name": "AMAZON.ScrollDownIntent",
"samples": []
},
{
"name": "AMAZON.ScrollLeftIntent",
"samples": []
},
{
"name": "AMAZON.ScrollUpIntent",
"samples": []
},
{
"name": "AMAZON.PauseIntent",
"samples": []
},
{
"name": "AMAZON.ResumeIntent",
"samples": []
}
],
"types": [
{
"name": "Slot Type One",
"values": [
{
"name": {
"value": "Slot value One",
"synonyms": [
"Synonym One",
"Synonym Two"
]
}
}
]
}
]
}
}
}

This JSON is a sample of an Alexa skill. A majority of the skill-building platforms use the same sort of JSON objects. A set of algorithms is designed and applied to convert the plain JSON object into a powerful skill that would accomplish a task, making the life of an end-user (a developer who uses a bot-building platform to develop a skill) relatively easier.

A skill needs to have more conversational flow patterns, which can assist any halts, pauses, and continuations in any conversation with appropriate context handling and natural language processing.

Can a bot have more than one skill? What are the criteria to include two skills within a bot?

Who doesn’t want to extend the functionality of a bot? We want to, and we, of course, can. Here’s an instance of a use case where two skills are used in a single app/bot.

Consider a travel application that performs the following tasks:

  1. Books travel tickets
  2. Books hotels at a selected destination

From a business perspective, these define different areas, but from a customer’s perspective, these tasks appear to be part of a single package. To fulfill these requirements, the bot should contain multiple skills, which can be achieved by implementing what we explain in the next section- Mother bots.

Before we do that, here is an example of this skill JSON:


{
"interactionModel": {
"languageModel": {
"invocationName": "My Guide",
"intents": [
{
"name": "AMAZON.FallbackIntent",
"samples": []
},
{
"name": "AMAZON.CancelIntent",
"samples": []
},
{
"name": "AMAZON.HelpIntent",
"samples": []
},
{
"name": "AMAZON.StopIntent",
"samples": []
},
{
"name": "AMAZON.NavigateHomeIntent",
"samples": []
},
{
"name": "Book_Tickets",
"slots": [
{
"name": "destination",
"type": "AMAZON.CITY"
},
{
"name": "date",
"type": "AMAZON.DATE"
}
],
"samples": [
"Book a flight",
"Book a flight to {destination} {date}"
]
},
{
"name": "Book_Hotel",
"slots": [
{
"name": "destination",
"type": "AMAZON.CITY"
},
{
"name": "date",
"type": "AMAZON.DATE"
}
],
"samples": [
"Book a hotel",
"Book a hotel at {destination} {date}"
]
},
{
"name": "AMAZON.MoreIntent",
"samples": []
},
{
"name": "AMAZON.NavigateSettingsIntent",
"samples": []
},
{
"name": "AMAZON.NextIntent",
"samples": []
},
{
"name": "AMAZON.PageUpIntent",
"samples": []
},
{
"name": "AMAZON.PageDownIntent",
"samples": []
},
{
"name": "AMAZON.PreviousIntent",
"samples": []
},
{
"name": "AMAZON.ScrollRightIntent",
"samples": []
},
{
"name": "AMAZON.ScrollDownIntent",
"samples": []
},
{
"name": "AMAZON.ScrollLeftIntent",
"samples": []
},
{
"name": "AMAZON.ScrollUpIntent",
"samples": []
},
{
"name": "AMAZON.PauseIntent",
"samples": []
},
{
"name": "AMAZON.ResumeIntent",
"samples": []
}
],
"types": [
{
"name": "Slot Type One",
"values": [
{
"name": {
"value": "Slot value One",
"synonyms": [
"Synonym One",
"Synonym Two"
]
}
}
]
}
]
}
}
}

Mother Bots

Mother bots integrate multiple bots to work within a single app/application/enterprise. Typically, mother bots use a brute-force approach and map conversations to the skill with the highest confidence score.

Mother bots work in a fashion to send each user input to all skills associated with it. The skills revert to the input with responses and respective confidence scores. The Mother bot chooses the intent with the highest confidence score and gives an output to the user.

Future Enhancements

What do you expect the future of this skill library to be? We think it is the possibility of a “JARVIS” — the super-intelligent robot with extreme capabilities. However, we shouldn’t forget that the first step to infusing that intelligence in Jarvis would be the development of the skill which we are currently undertaking.

A large majority of enterprises would use the skill library just as we use the Play Store or the App Store today. These skills can be customized to make them compatible with an individual or an enterprise, as per the need.

We can justifiably hope for a time when these skills are developed at a fast pace and deployed for enterprises and individuals to leverage.

  1. Personal assistant (a bot that can assist you in daily activities)
  2. Sales adviser (a skill that can analyse market trends and suggest opportunities)
  3. Recruiter
  4. Customer support agent (that can address customer queries 24/7)
  5. Marketing analyser (that takes into account your experience and suggests you the best business or prospects for expanding a business)
  6. Customer relationship agent (a skill that sends personalized emails and messages to customers)
  7. SEO analyst
  8. Patient engagement agent (a bot that can schedule/cancel appointments with doctors, check doctor’s availability, and list their profiles.)

Leave a Reply

Book A Demo
close slider