Both Alexa and Lex are wonderful cloud based services that make the life of humans easier. Both can interact with humans allowing them to get their work done without wasting time on websites. Wait, If both of these Amazon products are offering the same then why should they have two separate products? That’s exactly what we are going to see in this article.
In terms of popularity, hands down Alexa is the winner. One beautiful part is that if you learn one of the services you can easily understand the other. In case you want to learn the basics of Alexa skill development check out this article.
As a developer, the main difference I noticed is that Alexa cannot be a chatbot. Whereas Amazon Lex can act like a chatbot as well as a voice service. The cool part is that there are not many changes that need to be done on Lex for chatbot and voice service separately. And it does not stop there. It allows you to easily publish your speech or text chatbots to mobile devices and multiple chat services, like Facebook Messenger, Slack, Kik, or Twilio SMS.
In fact both Alexa and Amazon Lex are powered by high quality speech recognition and language understanding capabilities, enabling addition of sophisticated, natural language ‘chatbots’ to new and existing applications
According to the AWS documentation, “Alexa Skills Kit (ASK) is used to build skills for use in the Alexa ecosystem and devices and lets developers take advantage of all Alexa capabilities such as the Smart Home and Flash Briefing API, streaming audio and rich GUI experiences. Amazon Lex bots support both voice and text and can be deployed across mobile and messaging platforms.”
How to trigger these services?
Alexa can be triggered using the wake words such as Alexa (default), computer, Amazon, and Echo. Whereas Amazon Lex does not have any wake-up words. The app that integrates with Amazon Lex will be responsible for triggering the microphone, i.e. push to talk.
How different are their voices?
Alexa has a very natural, human-like voice. On the other hand, Lex uses Amazon Polly (text-to-speech service) to speak. Even though we can use many voices on Amazon Lex, the voice of Alexa stands out. Amazon Lex would sound way better if they include Alexa’s voice in it. Alexa can use the voice from Amazon Polly using a simple SSML tag.
Does both support SSML?
The quick answer is yes. Alexa supports most of the SSML tags whereas Lex does not support tags like audio. Also, Alexa contains an in-build sound library. It enables the speech to be more engaging. Take a look at the sound library using this link. Whereas Lex does not have an in-built sound library.
Comparison between Alexa and Lex
|Alexa cannot be used as a chat bot||Amazon Lex can be used as chatbot as well as voice service|
|Does not integrated with mobile or chat services||Integrates with mobile and multiple chat services|
|Has an exclusive device like echo dot,echo show, etc||Create your own device using raspberry pi|
|Alexa can be triggered using a wake word like Alexa (default), computer, Amazon and Echo to trigger.||The app that integrates with Amazon Lex will be responsible for triggering the microphone, i.e. push to talk|
|Integrates with AWS lambda and custom endpoint||Integrates with AWS lambda and custom endpoint|
|Alexa has the ability to get users details like Full Name, Address, Phone number, email, etc of their Amazon account through the API.||The app is responsible for getting the required information.|
|Speech modulation can be controlled using the SSML tags.||Speech modulation can be controlled using the SSML tags.|
|Alexa contains an in-build sound library.||Lex does not have an in-build sound library.|
|Music streaming can be done using the audio tag in SSML.||Lex does not support audio tags in ssml.|
|Amazon polly voices can be used with the help of SSML tags.||Lex uses Amazon Polly service under the hood for text-to-speech conversion. It cannot use the voice of Alexa.|
The input request and output response of both are obviously different. Take a look at the following official link to know more about it. https://developer.amazon.com/en-US/docs/alexa/custom-skills/request-and-response-json-reference.html and https://docs.aws.amazon.com/polly/latest/dg/supportedtags.html
Note: The skill developed using the Amazon Lex can be downloaded in Alexa skill kit JSON format using the Lex console and can be used on Alexa.
So here is the bottom line. If you want to develop a service that is going to be integrated within your application then go with Amazon Lex. If you want something like Smart Home and Flash Briefing API, streaming audio, etc then using Alexa will be ideal.