Dialogflow lets you build conversational interfaces on top of your products and services by providing a powerful natural language understanding (NLU) engine to process and understand natural language input. This document goes over how Dialogflow works and how it can help you create conversational user interfaces that delight users.

Traditional computer interfaces require structured and predictable input to function properly, which makes the use of these interfaces unnatural and sometimes difficult. If users can't easily figure out this structured input, they'll have a hard time figuring out what to do.

For example, consider an easy user request like "What's the forecast like today?". Other users might also ask:

  • "What's the weather like right now?"
  • "What's the temperature like in San Francisco tomorrow?"
  • "What will the weather be like on the 21st?"

Even with this simple question, you can see that conversational experiences are hard to implement. Interpreting and processing natural language requires a very robust language parser that's capable of understanding the nuances of language.

Your code would have to handle all these different types of requests (and potentially many more) to carry out the same logic: looking up some forecast information for a time and location. For this reason, a traditional computer interface would tend to force users to input a well-known, standard request at the detriment of the user experience, because it's just easier.

However, Dialogflow lets you easily achieve a conversational user experience by handling the natural language understanding (NLU) for you. When you use Dialogflow, you create agents that can understand the vast and varied nuances of human language and translate that to standard and structured meaning that your apps and services can understand. Let's take a look at how Dialogflow might handle the previous examples for weather forecast requests.

Figure 1. Example of how Dialogflow handles a user utterance.

To look up a weather forecast, you might need a few pieces of information, like the time users want the forecast for and their location. However, as we previously mentioned, different users might request a forecast in different ways. Dialogflow can understand these differences and translate them to a standard user intent to get the forecast. It can then parse the user's request for the pertinent data you need to fulfill the request. In this case, that's the user's desired time and location for the weather forecast. Finally, you can use this data to look up the weather with a public REST API and return the weather to the user in the form of a response.

The next section describe how agents work.