I have been using Google’s Dialogflow to make various chatbot’s for quite some time now, and I thought I would share my opinion on some of the pro’s and cons I have experienced so far. Developed by Google, Dialogflow is a natural language processing platform that allows developers to build conversational UIs.
In this blog post, I aim to shed light on the various attributes of Dialogflow, its limitations, and its applications.
So what’s so great about it?
Intuitive and Straightforward
In an age where predictive AI technologies seem complicated and daunting to the inexperienced developer, Dialogflow boasts a refreshingly simple UI that allows the user to build a functional chatbot within minutes. The developer simply needs to create a project, create a couple intents, and populate them with training phrases. What’s also really cool about this platform is that all the intents are structured hierarchically, so the developer can visually see the hierarchical flow of the conversation.
Top 4 Bot Tutorials
Dialogflow gives the developer a variety of platforms with which they can integrate their conversational UI. Messenger, Skype, Slack are just a few of the popular platforms that can expand the user base of the chatbot created by the developer
Because Dialoflow is developed by Google, the platform also gives access to many of Google’s other products. For example, fulfillment can be done through Cloud Functions or Firebase while multi-lingual capabilities are handled by Google translate’s API. Just because Google offers its other products and services, however, doesn’t mean that the developer is limited to them. For example, I am not forced to host my chatbot via Google’s Firebase.
With Google’s resources also comes the attribute of scalability. Cloud Functions offer a server-less, scalable, and easy way to run the chatbot on the backend side of things.
Reusability and Developer Experience
Although Dialogflow is fairly intuitive and easy to use, with time I found that it is not as flexible and maneuverable as I had originally hoped. For example, if I decide at some point that I want to move a follow-up response under a different intent, I cannot simply drag it under the desired intent. I have to delete the existing intent, create a new one in a different location, and re-type all of my training phrases. This particular problem has two implications:
- It results in a lot of tedious repetitions which are quite frankly a waste of time
- It forces the developer to think in advance about the hierarchical flow of his or her conversation, offering limited flexibility to change it in the future.
The second implication might be a good thing for some, but it still is a limitation in terms of how reusable a particular intent is.
Number of Webhooks
Another downside that I realized soon after I built my first chatbot is that you can only provide one webhook for each project. This essentially means that the entire chatbot must have exactly one webhook instead of choosing on an intent-by-intent basis.
Dialogflow is a good choice for those who want to explore natural language processing with minimal programming. It is quite intuitive, and the integrations with different services is the cherry on top. With that being said, Dialogflow is still very much a work on progress, so it can get a little cumbersome for complex conversational UIs that have a lot of scenarios to deal with.
Don’t forget to give us your 👏 !