
Overview
Chatbots have revolutionized the user experience when it comes to customer communication. These intelligent programs have automated the slow customer responding approaches with quick, accurate, and intuitive solutions. We at Technosoft Solutions recently worked on creating a voice-enabled platform for a customer that will also include chatbot integration. We analyzed chatbots from big tech giants that fulfill the basic requirements and will compare and discuss AWS Lex vs Google DialogFlow.
Requirements for a chatbot for our use case were:
1) Good performance, as some chatbots are slow to load on a webpage
2) Must work on the web and mobile/responsive
3) Must provide HIPAA compliant security as it was to be used in a Healthcare domain
4) Must support voice and text
5) Must allow the integration into APIs
Amazon’s Lex and Google’s Dialogflow are two important choices but deciding which chatbot platform to use was not easy. We decided to do thorough research on key features of both platforms to reach the conclusion.
The areas we targeted to compare in two platforms include:
a) Features that two platforms provide
b) Performance; after all this is why we use chatbots
c) Device to NLU compatibility
AWS Lex vs Google DialogFlow Feature Comparison
| Serial # | Feature | AWS Lex | Google DialogFlow | Comments |
| 1 | Languages | English Only | Supports more than 18 languages | https://cloud.google.com/dialogflow-enterprise/docs/reference/language |
| 2 | Voice-Enabled | Yes – via separate service known as AWS Connect | Yes – via Telephony Gateway Integration | AWS Connect – It is a cloud-based contact center service that makes it easy for any business to deliver better customer service at a lower cost. This can be integrated with the chatbot configured using AWS Lex. Telephony Gateway – DialogFlow provides out of box integration of the configured chatbot with Telephony gateway. This can be used to set up a phone number to receive calls and respond to the users as per the configured bot. |
| 3 | SMS Enabled | No out of box support – can be integrated with any messaging service like Twilio | No out of box support – can be integrated with any messaging service like Twilio | |
| 4 | Voice Countries | Phone numbers available in multiple countries depending on the AWS Connect service region where it is configured for your account | Provides US only numbers | US only numbers can be called from out of US as well |
| 5 | SMS Countries | Depends on Twilio – https://www.twilio.com/sms/coverage | Depends on Twilio – https://www.twilio.com/sms/coverage | |
| 6 | Audio Output | Yes – via separate service known as AWS Polly | Yes – out of box support | |
| 7 | Small Talk | No | Yes – supports casual talk | |
| 8 | Knowledge Connectors | No | Yes – You can provide a bunch of documents for the bot to train on and provide responses to the queries automatically based on the documents | |
| 9 | Sentiment analysis | Yes – via separate service AWS Comprehend | Yes – out of box support | |
| 10 | Product Stability | Separate services provided seem more complete | Many features like Knowledge Connectors, Small Talk, Telephony gateway are still in BETA | |
| 11 | Allows Raw Request Message | No | Yes | |
| 12 | Intent Detection | Weak | Very Strong | You don’t have to say the exact question for DialogFlow to detect intent, it can detect intent with a couple of words as well. Lex sometimes picks up totally irrelevant intent from the question as well. |
| 13 | Web Chatbot | No – Have to develop a custom one using the APIs | Yes – Provides out of box integration with a built-in chatbot | |
| 14 | Integrations | Facebook, Slack, Twilio | Facebook, Slack, Twilio SMS, Viber, Twitter, Twilio IP, Skype, Telegram, Kik, Line, Cisco Spark, Amazon Alexa, Microsoft Cortana | |
| 14 | Performance | See the heading below as “Performance Comparison” for more details | ||
| 15 | Devices Compatibility | See the heading below as “Device to NLU Compatibility” for more details | ||
Device to NLU compatibility of AWS Lex vs Google DialogFlow
| Service / Device | Telephone | Mobile phone | Android phone | iPhone | Google Assistant | Alexa | Siri | Bixby |
| Amazon’s Lex | Option 1 A Lex chat-bot can be integrated with AWS ConnectOption 2 A Lex chat-bot can be integrated with Twilio Voice | Since the core architecture suggests SMS for phones, we will be leveraging the integration of Twilio SMS for the chat-bot | Since the core architecture suggests SMS for phones, we will be leveraging the integration of Twilio SMS for the chat-bot | Since the core architecture suggests SMS for phones, we will be leveraging the integration of Twilio SMS for the chat-bot | In order to get anything/everything that the user has spoken, we can have a catch-all intent defined within Google Assistant Action, which would trigger a cloud function. That cloud function would pass on the user input to the Lex chatbot, which would perform its own business logic and return an appropriate response. The response would be transformed to suit the response syntax of Google’s Assistant | Option 1 Alexa doesn’t give the user-spoken text, in general. There is a workaround around a slot type to capture it. The slot type is AMAZON.SearchQuery. We are not sure at this point whether our skill will be approved by Amazon since this is against their ideology.Option 2 An alternative approach would be to use the built-in capabilities of Alexa i.e. Creating an Alexa skill that will do its own NLP and NLU part. We can export the existing Lex chatbot as a skill and import it into Alexa but there are two limitations for this procedure: 1. Session attributes, created as a part of the chatbot, can’t be used as they are not supported by Alexa Skills Kit. 2. Punctuation marks are not supported by the Alexa Skills Kit. | Siri only provides custom intents for specific domains and Tok+ domain does not fall in any of these categories. An only possible option could be to open up an app using Siri and in that app, we develop a chatbot using the agreed-upon NLU behind the scenes and using the Speech framework for Speech-Text-Speech in the app itself. For smartphones, we can best utilize the platform capabilities if the user interacts via SMS or a Phone call aka Voice. | TBA |
| Google’s Dialogflow | Option 1 The telephony gateway feature (Beta) provides a telephone interface to the chat agentOption 2 The chat agent can be integrated with Twilio Voice | Since the core architecture suggests SMS for phones, we will be leveraging the integration of Twilio SMS for the chat agent | Since the core architecture suggests SMS for phones, we will be leveraging the integration of Twilio SMS for the chat agent | Since the core architecture suggests SMS for phones, we will be leveraging the integration of Twilio SMS for the chat agent | Dialogflow’s Actions on Google integration handles the communication between Google Assistant and a chat agent. It would require an extra intent configured primarily for Google Assistant | Option 1 Alexa doesn’t give the user-spoken text, in general. There is a workaround around a slot type to capture it. The slot type is AMAZON.SearchQuery. We are not sure at this point whether our skill will be approved by Amazon since this is against their ideology.Option 2 An alternative approach would be to use the built-in capabilities of Alexa i.e. Creating an Alexa skill that will do its own NLP and NLU part. The Alexa exporter for Dialogflow allows one to create an Amazon skill with the same interaction model with that of Dialogflow chat agent | TBA |


