Extractive Question Answering (GPT) vs Intent-based Question Answering (Dialogflow)

In the previous lesson, I mentioned the difference between “Extractive Question Answering” (this is where ChatGPT really shines) and “Intent-based Question Answering” (this is much more suited to Dialogflow).

In this lesson, I will explain the difference.

Dialogflow ES is based on the following building blocks:

intent mapping – it can map the user’s utterance to a predefined “intent” (loosely speaking, the intent is what the user wants to do – their intention)

entity extraction – during the mapping process, it can extract entity values such as planet names

contexts – the context helps Dialogflow do two things. One, it helps it remember information provided by the user in the previous turns. Two, it can also be used to guide the conversation flow.

webhooks – where the business logic code resides

When you use intent based mapping, you create “intents” using a list of training phrases, and also manually define the response provided by your bot. When the user says something similar to one of the training phrases, Dialogflow displays the response for that particular intent. While the mapping (how Dialogflow decides which user utterance should be mapped to which intent) is based on Machine Learning, the actual response is deterministic. In other words, you know what the bot will say to the user once a given intent is mapped to the user utterance.

This is very different from GPT. First of all, you don’t really have the concept of training phrases in GPT till date. Second, the actual response is a composite arrangement of words, over which you have no control (from what I have noticed till date). This is why you get phrases like “personal stories” in the response from GPT (as we saw in the fine-tuning example).

Even though the words “personal” and “stories” appear in different places in the FAQ page, they don’t appear as a phrase anywhere in the text. On top of that, by combining them in this way, GPT is changing the meaning of the response quite a bit.

I suggest that you look at your specific use case, and also learn about the advantages of intent-based question answering, before deciding to use GPT (remember it is not really an either-or choice – you can use pure GPT, or pure Dialogflow, or even combine them together).