can I follow-up intent from Knowledge intent in Dialogflow's? - dialogflow-es

I am using Knowledge Beta, and I saw that knowledge Beta created intent also but the intent with unique id,
is that possible to use that Knowledge base to only use on an intent to follow-up ??
the intent of my Knowledge like this :
Knowledge.KnowledgeBase.MTE0NjMzMDE1MjMwMDY1NTQxMTI
let say I have a card that ask for question, and that questions query only for intent of Knowledge ? so hat Knowledge base only show when the user pick the menu of questions and not show up on default intent or other intents,
because I see the Knowledge has its intent unique id,
I do like to know, Is that possible ??

Related

Which Dialogflow entity type to set for multi space separated user phrase for account name

I am building new intent where user phrases contains company name, like,
my company is google
Google Technology is my company
company is Apple Systems Inc.
What could BE entity type i have to set to get complete company name as is in user phrases. Like for above phrases, i want dialog flow would give me,
google
Google Technology
Apple Systems Inc.
Thanks,
It depends on how much control you have (or want) about what those company names can be.
If you have a concrete list of companies that it should apply to, you can create a Custom Entity Type. This is the best approach if you can use it.
If not, you may need to use the #sys.any type, which will match anything.

Dialogflow company name entity recognition

I'm using Dialogflow as the NLP engine behind a chatbot, and am trying to get it to recognize company names. In the following examples, it understands the intent well, but doesn't pick up the company name.
Create a company called Google
Make a new account called Johnson & Johnson
New company Nike
Does anyone have any advice on how I can get Dialogflow to start to recognize these entities? I'm wondering if there are features I don't know about, or maybe some sort of plugin/library I can utilize for this?
I'm afraid there's no Dialogflow system entity that can do this for you as of Oct, 2020. Your best bet is to add as many training phrases as possible and create a custom entity with #sys.any as the entity type. Annotate as many training phrases as possible and let Dialogflow do the rest. When it comes to identifying company names specifically, there are two types of company names:-
Common company names like "Google", "Facebook" which Dialogflow can recognize without much assistance, especially if your entity type is #sys.any.
Domain-specific company names like Overflow LLC or Stack and Overflow Associates. Here, the annotated training phrases play an important role and if you have an idea of the types of companies that would need to be understood, it would help annotating those phrases (Eg: LLC, Associates, Firm etc).
Also think about how you structure your question to ensure the user enters values as per your needs. Eg: Please type in/spell out the name of your company increases the chances that anything your user enters would just be the company name.

dialogflow context vs. intent - Design Choice

I started working with Dialogflow a couple of weeks ago. It's nice to learn the concept of intent and (input/output) context through which Google models and defines the daily conversation flow in natural language. I understand how intent and context work at the current setting. But to me the function of context can be achieved by only using intent. You may argue whether the word 'intent' is proper for this usage but it's another discussion. So instead of input and output context just do input and output intents. In the implementation make sure the parameters and information of current conversation is carried to the following intent. And the following intent has again its output intent and the talk continues.
Can anyone correct me if I'm wrong?
Intents represent a user action, typically what a user says, including the parameters from that specific utterance.
Contexts serves two purposes:
Hold the parameters from an Intent or that have been set through Fulfillment for some period of time.
When used as an Input Context, limit what Intents can be triggered.
While you can certainly "send the parameters forward" from one Intent to another, this is a very linear way of thinking, and rapidly falls apart in complicated conversations. Using Contexts to store parameters and other info, as the first bullet suggests, makes this a lot easier, so your user can wander around in the conversation, and yet you are still maintaining the overall state.
As for the second bullet, this is used to change how we understand what the user has said based on other parts of our conversation. (This matches how humans handle conversations.)
So my response saying "Yes" means different things depending if I'm asking to delete a message or send a message - Contexts help us manage that.

When using Dialogflow, what's the difference between follow-up intent vs requiring a parameter in the parent intent?

In this video https://youtu.be/ADD-rvsS5z4?t=927 the presenter demo the creation of a bike shop appointment booking app. The presenter uses Follow up intents to ask user what type of appointment ("Service" or "Repair"?). Can we not do this through having appointment type as a REQUIRED parameter, under the parent intent. I guess the question then becomes, what's the difference between using Follow up intent and setting a parameter as required?
They are two sides of slightly different coins. Each has uses and tradeoffs, and which one you choose to use depends on how your conversation is structured.
First - always remember that an Intent is meant to capture what the user has said. Not what we are saying or doing with that information.
Required parameters determine what needs to be included in the message from the user. If the parameter is not provided by their statement, they can include a prompt that we will give to get that information.
However, sometimes parameters are only required if other parameters are included, or aren't set. For example, you may find it useful for the user to either say "I'd like an appointment tomorrow morning" or "I'd like an appointment at 10 am tomorrow". "Morning" and "10am" are two different parameters (one is more specific than the other), but you would like one or the other expressed. This can't be done using required parameters.
But if it is omitted, we can use fulfillment to prompt the user for more information. For example, we could then ask "Do you want it in the morning, afternoon, or at a particular time?" and then have followup intents setup to capture this reply. But followup intents aren't perfect, either.
What if the user replies with a question, such as "when is available in the morning?" Could our followup intent confuse this with a reply? Quite possibly. Or there might be some additional back and forth before they specify a time. In cases like these, you don't want narrow followup intents, but you do want broader conversational intents that could be triggered at any point in the conversation, but still retain the context of the appointment that is trying to be set.
For these reasons, I tend to suggest that you not worry too much about either required parameters or followup intents. While both have some specific uses, more generally, having other intents that can handle these same questions is best. You can make sure the most appropriate ones are triggered by setting Contexts for when they will be valid. (Followup Intents use Contexts under the covers.)

Follow-up Intents for Dialogflow

This is the sample conversation. I am encountering a problem linking Follow-Up Intent (4) back to Follow-Up Intent (1).I am creating a DialogFlow agent. In this agent, there are two community clubs with their respective events, courses and facilities. My idea is to create an intent each for both community clubs. Within each intent(1), there will be three follow up intents(2), and within these intents there will be their respective information(3) (e.g. time, date, venue etc).
Within the follow-up intent (3), the users have to answer a series of yes or no follow-up intents (4). Basically the idea is that the follow-up intents will go pretty deep in, as such is there a way to link follow-up intents (4) back to follow-up intents (2)?
I hope this is not too confusing. Hope to hear from you soon!
Best Regards

Resources