Google has announced the new NLU product Google DialogFlow CX, which is an advanced development suite for creating conversational AI applications, including chatbots, voicebots, and IVR bots. It’s offered as a new type of agent (CX agent) compared to previously available DialogFlow ES agent. Compared to the ES agent, which allow developers to design NLU flows by defining intents and contexts, the new CX agent is designed to cater for complex agents through flows and pages.
You may be interested in what’s new and different in the DialogFlow CX. So, let me summarize the key enhancements in Dialogflow CX compared to ES.
For ES agent, Intents use a flat structure to define the intention of conversation. User can use one or multiple intents to design a conversation flow. You have four key functions in an intent: training phrases (example phrases for what end-users might say), parameters and actions, responses (text, speech, or visual responses to return to the end-user)and fulfilment (provide a more dynamic response via integrations).
CX agent still uses Intent. However, intent has been simplified in CX agent to make it highly reusable. And intent is not used together with context to control conversation flow. Instead, it works with pages to navigate/route through the conversations.
So, let’s have a look at flows and pages:
Pages instead of context
For ES agent, a context is similar to an actual context in our daily conversations. When I ask a question about how much is it under the context of a flight booking, Dialogflow would know it’s regarding flight price instead of a book price.
CX agent gives a more complex and powerful way of defining flows:
Page is to manage the states of a conversation session. Page is used to collect information from the end-user that is related to the state designed on the page. There is always a starting page. There will always be one active page. You define following on a page:
- An entry dialogue — defines the agent’s response when a page is active
- Parameters — just like ES agent, parameters are used to collect useful data points from users, such as date of departure, cabin class, etc.
- Routes — a type of state handler, which helps control the conversation by creating responses for end-users and/or by transitioning the current page. There are two types of routes: Intent requirement, Condition requirement. When the route requirement is fulfilled, e.g. an intent is matched or a condition is fulfilled, you can configure the flow or page transition.
Visual graphs instead of text forms
If you are familiar with Dialogflow ES, users need to work with text forms to create conversation flows: enter training phrases in a form, maintain parameters in a form, define fulfilment in a form, etc. The biggest change in CX agent developer console is the graphical UI, which allows users to create a conversation with flows and pages.
You may create your own flow similar to creating agent in ES edition. Once you create a flow, you will have a blank canvas (well, you have a start page initialized) to design your conversations. You can then create pages, define routes on each page to transit between pages.
Other enhanced features
CX editions also enhanced the design experience in flowing aspects:
- Explicit error event handling built-in to your agent
- Complex and powerful event handlers
- Handling conditional responses with routes
More robust production-ready features
CX edition not only enhanced the conversation design features, but it also introduced a few changes to make it more robust for production usage:
- Up to 100 agents instead of 1 per project
- Recommended to use CX edition to design complex agents
- Simplified pricing and quotas — CX charges by conversation sessions compared to more complex tiered usage-based charge in ES edition
All in all, Dialogflow CX is a much better product then ES edition. However, it does increase the learning curve for beginners who want to play with some basic use cases. Its advantages are more visible in complex agent flow designs. The easiest way of learning more? Start playing with it today!