What is Dialogflow?
Dialogflow is one of the Google product or service to build an end-to-end, build-once deploy-everywhere development suite for creating conversational interfaces for websites, mobile applications, popular messaging platforms, and IoT devices. As per Google you can use it to build interfaces (such as chat bots and conversational IVR) that enable natural and rich interactions between your users and your business. Dialogflow Enterprise Edition users have access to Google Cloud Support and a service level agreement (SLA) for production deployments.
How Dialogflow works ?
Dialogflow work based on following basic process flow for any given scenarios –
- Intent Matching – recognize what user wants out of the application.
- Entity Extraction – helps to identify the things user mention during interaction.
- Dialog Control – drive the flow of your interaction with your application.
Basics of Dialogflow ?
Dialogflow Agents – A Dialogflow agent is similar to a human call center agent that handles conversations with your end-users. It is a natural language understanding module that understands human language. Dialogflow translates end-user text or audio inputs during a conversation to structured data that your apps and services can understand. You design and build a Dialogflow agent to handle different types business and non-business conversations required for your system.
Intents – An intent can be classified as an end-user’s intention for one conversation turn. Intent is a representation of a conversation starts with pieces of sentence or text provided by the user to a Dialogflow application to perform or retrieve some kind of action or a response from an agent. Normally you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something Dialogflow matches the end-user expression to the best intent in your agent. Matching an intent is known as intent classification.
A basic intent contains the following:
Training phrases : These are example phrases like “how is weather?” or “What is weather forecast?”. When an end-user expression resembles one of these phrases, Dialogflow matches the intent. You don’t have to define every possible sentence, because Dialogflow’s built-in machine learning keeps on adding similar phrases in its list for possible expression.
Action : Action can be defined for each intent, Dialogflow provides the action to your system, and you can use the action to trigger other actions defined in your system.
Parameters : When an intent is matched at runtime, Dialogflow provides the extracted values from the end-user inputs as parameters. Each parameter has a type, called the entity type, which defines exactly how the data is extracted. Unlike raw end-user input, parameters are structured data that can easily be used to perform some logic or generate responses.
Responses: You define text, speech, or visual responses for the end-user. These may provide the end-user with answers, ask the end-user for more information, or end the conversation.
Entities – Each intent parameter has a type, called the entity type, you can consider it as a variable of specific data type. Dialogflow also provides predefined system entities that can match many common types of data, example – there are system entities for matching dates, times, colors, email addresses, etc. You can also create your own custom entities for matching user data. For example, you could define a fruit entity that can match the types of fruits available for purchase from an online store dialogflow agent.
Contexts – Dialogflow contexts are similar to natural language context which defines the premise of the conversation for example if a person says “I am fine, thank you”, you can understand the context of conversation in this example “greetings” . Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match intent. Using contexts, you can control the flow of a conversation. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that fall into the currently active contexts.
What is a Dialogflow console?
Dialogflow provides a web user interface called the Dialogflow Console. You use this console to create, build, test agents and can verify your dialog flow. The Dialogflow Console is different from the Google Cloud Platform (GCP) Console . The Dialogflow Console is used to manage Dialogflow agents, while the GCP Console is used to manage GCP-specific Dialogflow settings like billing, notifications and other GCP resources.In most cases you should use the Dialogflow Console to build agents, but you can also use the Dialogflow API to build agents for advanced scenarios.
Dialogflow console is used to perform and maintain following activities –
• Create and manage agents that define the conversational experience
• Create intents that map user input to responses
• Create entities to extract useful data from user input
• Configure conversation paths with contexts
• Add events that are triggered by occurrences outside of the conversation
• Integrate with other conversational platforms
• Implement fulfillment to connect your service when using integrations
• Analyze agent performance
• Test your agent via the simulator
What is Dialogflow Chatbot ?
You can use Dialogflow to build chatbots and conversational interactive voice response (IVR), that enable natural and rich interactions between your users and your business. As part of building a chatbot, you preprocess data to create topics and then extract and save associated synonyms for given topics. This data is uploaded to Dialogflow Agent, and topics are uploaded in entities. With entities in place, you create intents in your agent that map user input to responses. In each intent, you define examples of user statements that can trigger the intent, what to extract from the statement, and how to respond.
Dialogflow can connect to external systems on the basis of intents using Fulfillment code, which is deployed as a webhook. During a conversation, fulfillment lets you use the information extracted by Dialogflow’s natural language processing to generate dynamic responses or trigger actions on your backend.
Finally, you deploy a custom user interface, which interacts with the chatbot by using APIs.