Mark Kirby - mobile, cloud, voice and IoT

What is Alexa

Here is my take on Alexa.

  • Collects voice audio and talks to the skill interface

Skill interface - provided by Amazon, you interact with and update using settings

  • Utterances - utterances allow the interace to identify the intent (skill feature), by mapping speech to desired intent - ‘hello’, ‘hi’, ‘how are you’
  • Intent schema - define an intent e.g. HelloWorldIntent, also considered a skill feature, which is invoked by an utterance, e.g. ‘hello’, ‘hi’, ‘how are you’
  • Slot types - variables, such as date, dollar, number, which can be read from the voice
  • Invokes the skill service

Skill service - you create

  • You create the skill service, composed of intent handlers (function) to handle each intent and accept the slot values (variables)
  • You can now:
    • Talk to other web services
    • Store or retrieve data in a database
    • Serve up content stored in JSON files
    • Respond, ask further questions and process further voice answers
  • Hosted on HTTPS Server/AWS Lambda
  • Responds to Alexa, at this point Alexa can communicate directly with the Skill Service for any responses

Learn more: https://github.com/bignerdranch/developing-alexa-skills-solutions/blob/master/coursebook/ftSlotTypes_Chapter.pdf

Amazon requirements

Invocation names

This is the name of your Skill, e.g. ‘Daily Quiz’

Review Amazon’s Guidelines for the full list.

In summary:

  • The name should make sense in multiple contexts:
    • Alexa Ask X for Y (Alexa ask {Daily Quiz} for {a question})
    • Alexa Start X (Alexa start {Daily Quiz})
    • Alexa, X (Alexa, {Daily Quiz})
  • No one word invocations (unless its your brand)
  • No two word invocations it one of the words is ‘the’, ‘a’, ‘for’ etc
  • No Alexa launch phrases or connecting words (launch, ask, to, from etc)
  • And more

Required intents

Some of the built-in intents must be implemented, such as ‘stop’ and ‘cancel’.