Why I avoid the Knowledge Connector feature
Another way to quickly create a Dialogflow ES chatbot from a CSV file would be to create an Intent based FAQ bot using my BotFlo app.
An intent based FAQ bot has quite a few advantages over the Knowledge Connector.
How to create an intent based FAQ bot for your WordPress website
The steps for creating an intent based FAQ bot also starts with the Export all URLs plugin.
You need to use my online tool BotFlo to be able to do this. I explain the steps in this article.
Knowledge Connectors Pros
Now that we have something to compare it with, we can take a look at the pros and cons of the Dialogflow Knowledge Connector feature.
There are a couple of big pros with using the knowledge connector
- you can get the top N intent matches. So if you need your FAQ bot to behave a little like a search engine, the knowledge connector will help
- you can build an FAQ chatbot based on your website content with just a few clicks (at least in theory)
Knowledge Connector Cons
However, there are quite a few cons with using the knowledge connector for an FAQ bot, and you should know about them before using the feature.
You cannot add additional training phrases
You cannot add more training phrases to get better matches.
For example, suppose someone is searching for “dialogflow pass parameters between intents”
I have an article which goes over this in detail, but the keywords are not mentioned in the title anywhere.
Let us see what we get from the knowledge based FAQ bot:
And this is the answer from the intent based FAQ bot:
Neither of the answers are very relevant.
However, I can add it as a training phrase in my intent based FAQ bot intent.
Let us try the same query again with the intent based FAQ bot.
Note that in the knowledge based bot, we cannot edit anything inside the knowledge document. It is read only.
You cannot add entities
As you look at the knowledge document, you also find an important feature missing. You cannot add entities into a knowledge document.
Dialogflow used to be called API.AI initially. Suppose someone used API.AI in their search term, we can handle this by creating an entity which can handle the words dialogflow as well as API.AI.
In fact, I have seen people use all of the following when trying to type Dialogflow:
- dialogflow (correct)
- api.ai (correct)
- api ai (ok)
- dialogue flow
- dialog bot
- dialog chat
You could turn these common misspellings into an entity, and make your intent based FAQ bot more powerful. This isn’t possible in the knowledge based FAQ bot.
You cannot use contexts
FAQ bots don’t have a lot of need for followup intents and such.
However, sometimes they are necessary for certain answers. In those situations, the knowledge connector based bot will not help.
On the other hand, you can easily add contexts into any intent in an intent-based FAQ bot. I have seen clients use followup intents to ask if the answer was useful. And if the user said no, they would be automatically redirected to live chat.
You cannot use negative training phrases
Negative training phrases allow you to trigger the fallback intent for phrases which are very similar to an intent’s training phrase but actually means something very different.
You cannot easily convert user utterance into training phrase
You might know that you can convert a user utterance into an intent training phrase with a single click in an intent based FAQ bot. This isn’t possible in a knowledge based FAQ bot. A big benefit of using Dialogflow and other AI bot frameworks is that they “learn” from these user utterances and get better with more data. This benefit is lost in knowledge connector based bots.