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
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’.