Geeknarrator

  • Home
  • Podcast
  • Blog
  • Serivce
  • Contact Us
Hit enter to search or ESC to close
post-header
Technology

Smart and Stupid Alexa – My Experience

admin
January 12, 2018

Smart speakers such as echo or google home, have enabled us to do wonderful things with speech. Instead of just plain commands, they can also start a smooth conversation with you and do tasks for you, such as ordering food, making payments, reading news, listening to music, reading books, telling jokes, entertain your kids and a lot more stuff.

Just a basic “How does it work?” –

Echo is a smart speaker and a very smart listener 🙂 . With some commands you can invoke Alexa skills and start a conversation. What is an Alexa skill? Well, amazon provides a platform to build applications (aka skills) which enable Alexa to do a lot more stuff. This platform can be used by any developer after registering with an amazon account.

To understand how the conversation looks like, lets take an example :

You : Alexa, start “Food Recipe App” (This is the invocation command)

Alexa: Welcome to the Food Recipe App, what would you like to cook?

You: Today I would like to cook pasta.

Alexa: That’s a great choice! Tell me what all vegetables you have ?

You: I have broccoli, spinach, zucchini, mushrooms and some lettuce.

Alexa: Awesome, lets start with boiling the pasta ……

and the recipe goes on….

Another more complex conversation can be as following :

You: Alexa, check if I have enough milk in my fridge.

Alexa: Sure, I see that you only have milk for today. Would you like me to order milk ?

You: No, just add it to my shopping list.

Alexa: Sure, Milk is now on your list.

…after some time…

You : Alexa, can you order my shopping list from amazon ?

Alexa: Sure, Let me start the order.

Alexa: I have made an order for you. Your order will arrive within 2-3 days. Would you like to erase the shopping list?

You: Yes

Alexa: Your shopping list is erased. Have a nice day!

What exactly happened behind the scenes ?

In simple words – Alexa used its skills to perform some tasks for you.

Behind the scenes – Echo converts your speech to some commands which are understood by the Alexa skill which is invoked. These commands are processed by the application behind the skill and a response is sent back. This response is converted to a speech (which is programmed) and echo reads it out for you. This is a very simple explanation to understand what happens when you talk to Alexa.

So basically, if you want to enable speech invocation for your api’s, you can integrate with Alexa and build a skill to make it speech enabled 🙂 .

– My Experience with Alexa-

  1. Alexa is stupid at times 🙂
  • I have observed that despite being able to process complex sentences, it is unable to understand some simple words. Due to which you might need to change your skill conversation.

2. Alexa, closes the session if the user doesn’t respond within a specific time.

  • For security reasons Alexa cannot keep your session open forever, otherwise some people will create skills which will keep the session open and listen all your secret conversation 🙂
  • As per my findings, Alexa waits for the user to respond within 8 secs. If he doesn’t it simply closes the session and the blue light goes off. To wait longer, you can add a re-prompt to your skill, in which case Alexa will re-prompt the message to the user and wait for another 8 secs.
  • However you can manage session on the application side. It gives you more control on the conversation and enables you in building better conversational flow, which is a great experience for the customer.

3. Utterances – The more utterances you provide for your skill the better.

  • Utterances means the sentences which you want for your skill to understand for a specific task (AKA intent).
  • Try to add utterances for each intent such that they are not similar. Otherwise Alexa can mix up two intents and your conversation will switch to a different intent altogether.

4. Slots – Date time slots are not completely supported in Alexa

  • Slots are important attributes which you want to extract from the user speech. For example : User says to Alexa “Set a reminder for me to take medicines”. Now you as a developer want to extract “take medicines” from the user speech to store it somewhere and set a reminder. You can do it using slots. So it will look something like “Set a reminder for me to {reminderSlot}” or “Set a reminder to {reminderSlot}”. You have to define your slots if you don’t use the standard ones. Note that the above two sentences are two utterances for your intent. So user can say any of them to invoke your intent (task).

Overall, I liked the experience I had with Alexa and hopefully will try out some new skills over Alexa and google home as well. Alexa have an additional benefit as you can leverage AWS to do a lot more stuff easily and fast.

Alexa definitely has a good potential to provide a new dimension to conversational tasks. As more and more developers are building skills over Alexa, it is improving and in future will provide many more cool features.

Note – You can build skills or try out just for fun, even if you don’t have an echo. Amazon provides simulators to test your apps on Alexa. So before you buy an echo try out on simulator.

Hope you like the blog.

Important links : alexa.amazon.com and developer.amazon.com

Thanks,

Kaivalya Apte

Share this on:
alexaalexa developeralexa intentsalexa slotsalexa.amazon.comamazonamazon alexaconversationechogoogle homeintentsinteraction modelspeech recognition
Previous post
Readable Code : Just like a fairy tale
Next post
Managing credentials with AWS KMS
Related Posts
Technology

Managing credentials with AWS KMS

admin
Jan 17, 2018
Placeholder Image
Technology

How Facebook earns money ?

admin
Oct 2, 2017
1 Comment
    Rajan
    Jan 17, 2018 Reply

    As developer perspective, very nice details. Great kaivalya.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Embracing Technical Leadership and the Architect Role: Insights from Venkat Subramaniam
  • Distributing SQL Databases Globally
  • Why is DynamoDB AWSome?
  • Designing Instagram, Linkedin, Facebook like applications
  • Test Driven Development with Frederik Banke

Recent Comments

  1. kaivalya apte on Software Engineering Interviews – 5 Red Flags
  2. Amitk on Software Engineering Interviews – 5 Red Flags
  3. Anurag Kumar on Software Engineering Interviews – 5 Red Flags
  4. Sylvia Boyle on CAP Theorem – Consistency, Availability and Partition Tolerance.
  5. Rajan on Smart and Stupid Alexa – My Experience
team

Brayan Olson

Art Director

It’s our job to get you the information you need, so you can make the most of your aviation investments.

Categories

  • computer science (18)
  • Interviewing (2)
  • kafka (2)
  • REST APIs (1)
  • Scalability (7)
  • streamprocessing (1)
  • Technology (26)
  • Uncategorized (3)

Recent Posts

  • Software Engineering Interviews – 5 Red FlagsMay 26, 2019
  • Recursion : Understand recursion with a simple exampleOctober 2, 2017

Popular Tags

algorithm AWS bigdata cap clean code computerscience Design pattern elastic elasticsearch framework functional programming functions highly scalable index integration testing internet Interview mistakes invertedindex Java java programming languages microservices money mongodb monolith multiprocessors new index nodowntime nosql old index optimisation Parallel programming partition tolerance positive functions postgresql integration testing postman collection for elastic search Predicate Preparing for interview programming Scala sharding software engineering Testing threads unit testing

Newsletter

newsletter signup

Get notified about updates and be the first to get early access to new episodes.

FAQ

Most frequent questions and answers
What is The GeekNarrator?

The GeekNarrator is a dynamic platform dedicated to sparking curiosity, excitement, and inspiration in the realms of Technology and Software Engineering. Its unique offerings include comprehensive and in-depth technical discussions led by industry experts, providing actionable insights for aspiring and established software engineers alike. The GeekNarrator is more than a resource—it’s a community committed to nurturing your inner geek, helping you leverage technology, and empowering you to excel in software engineering.

How do I collaborate?

If you want to do a paid collaboration, then shoot an email at speakwithkv@gmail.com. 

 

 

We are a tech startup, how can you help?

I’m a firm advocate for the idea that contemporary technology companies must actively engage in podcasting. It’s an excellent medium for articulating the challenges they’re addressing, elucidating the unique solutions they’ve developed, and cultivating awareness around the technology they’re leveraging. But above all, it’s a powerful tool for fostering a vibrant and engaged community.

I can be your ally in this venture. Let’s join forces to create not just an episode, but perhaps an entire series. Our discourse can revolve around the bedrock principles of software engineering and state-of-the-art technology, all while highlighting the remarkable features of your product. This collaboration promises to amplify your voice in the tech community, underscore the importance of your work, and illuminate the path to a tech-forward future.

I am a Software Engineer, how can I use your platform to become a better engineer?

In the field of Software Engineering, effective communication, collaboration, and engaging in deep discussions play pivotal roles. These skills are just as crucial as technical expertise when it comes to becoming a truly exceptional engineer. With this in mind, I create a series of podcast episodes that aim to assist you in honing these abilities, expanding your knowledge, and igniting your curiosity to engage in meaningful conversations.

By tuning into the podcast, you will gain valuable insights from experienced professionals, discover their diverse range of experiences, and be inspired to embark on your own exploration of software engineering. Furthermore, the episodes will equip you with practical techniques to enhance your communication skills, ensuring that your ideas are effectively conveyed and understood.

By actively engaging with the podcast, you will find yourself equipped with the necessary tools to excel not only in the technical aspects of software engineering but also in fostering productive collaboration, articulating your thoughts clearly, and facilitating profound discussions. Together, we will unravel the secrets of effective communication, collaboration, and the art of engaging in thought-provoking conversations, ultimately empowering you to take your engineering capabilities to the next level.

site-logo

Be Geeky!

Subscribe Podcast on:
Youtube
apple music
spotify
Google podcast
Get in Touch

speakwithkv@gmail.com

Twitter Linkedin

© 2023 — Produced by Geeknarrator

All rights Reserved.