Add more small talk options into Dialogflow - dialogflow-es

I am utilising the small talk options within the chatbot that I currently use, however, I have noticed a couple of common questions which seem to be asked which fit into small talk, such as "What is your name?" and "What does you name mean?".
Is there any way in which I can add to the list of small talk questions? If not, how can I add these questions in with their responses? My issue is that I believe that you shall need a new intent for every question that gets asked? Any help would be appreciated.

Using a new intent for every question asked (or at least different versions of the same question with one answer) is the standard Dialogflow design and isn't really a problem.
The small talk functionality is just a big list of questions and answers in separate intents - you can see by looking at the pre built small talk agent through Prebuilt Agents -> Small Talk -> Import.
Therefore I would suggest to simply do it this way.

Initially, small-talk option had this issue which you specified here where users were not able to add more phrases to existing questions or add more questions.
To solve this issue, DialogFlow has introduced Small Talk Pre-built Agent.
There are approx 86 pre-built intents in the small-talk agent.
You can add/modify the phrases in those intents,
You can add/delete intents
You can modify the responses of these intents
To use small-talk agent, go to pre-built agents option in left menu, go to Small Talk agent, then import it.
Hope it helps.

I will suggest to use QnA maker service to achieve the functionality. Basically you have to create a QnA maker service and have to integrate to Bot. It will resolve your query. Please let us know if you need more information .
Regards,
Tharak

Related

Who Bot for Microsoft Teams (Who knows about...)

Added Who Bot in MS Teams but am unable to find a reliable and definitive answer on how I can "teach" the bot to answer the questions "Who knows about ..."
Some sources point to updating Delve account with skills, some say it will get that information from chat discussions in Teams... nothing works (after almost a month of the bot being added).
So, how can I feed the Who Bot information so that it can answer that specific question - "Who knows about a topic"
Thank you.
I was talking to Microsoft about this. After weeks of back and forth, this is their conclusion:
Thank you for your time over the phone today.
As regards your concern, the Who Bot feature needs a different
expertise to feed data for the “Who Bot” to fetch results for the
queries on “who knows about”.
This information needs to be fed into a text file with a scripting
expert and then integrated into the Who Bot connector. This is where
"who knows about" fetch its data from.
Since we are only a break fix issues support team and do not work on
scripting, this is out of our support boundaries.
Ref articles and work items:
• https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/csharp_dotnetcore/12.customQABot
Please, let me know if you have further concerns about this.
Thank you for choosing Microsoft support
Their solutions was "please code a bot to fix our bot"
You can create a question answering project from your own content, such as FAQs or product manuals.
This bot has been created using the Bot Framework SDK, it shows how to create a bot that uses Cognitive Services' question answering feature.
Question answering lets you to build, train and publish a simple question and answer bot based on FAQ URLs, structured and unstructured documents, or editorial content in minutes. In this sample, we demonstrate how to use question answering to answer questions based on an FAQ text file used as input.
Ref Sample-https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/csharp_dotnetcore/12.customQABot

Dialogflow CX - Add bulk entities and query them

I’m new to Dialogflow CX and after reading its node.js documentation (I’m a jr Dev) I’m still struggling to get the problem below solved.
PROBLEM: I need my chatbot to receive the question “do you have Toyota Corollas (cars!) in black with less than 20,000 miles, 2017 or newer and cheaper than $15,000 for sale?”
CONTEXT: I have a database with all car makes, models, years, versions, mileage, colors and prices available. The problem is that I can’t (and sorry for how silly this looks) even initiate the bot and I know that after initiating it I would need to create a zillion entities through code (can’t do it manually) so the bot would be able to read all car parameters of the user’s question. Then after reading those parameters (entities) the bot should query my database to check availability of those particular Corollas and then give a proper answer.
ASK: I would be very grateful if you could please help me initiate the Dialogflow CX bot, load all car makes, models, years, versions, colors and prices into it AS ENTITIES and then give the answer that the user needs.
I’ve checked the GitHub quickstarts and read the documentation multiple times but am still very confused.
It looks like you have a few different issues with some of the Dialogflow CX basics. Let's try to clear them up.
How do I initiate the Dialogflow CX bot?
It isn't clear what you mean, exactly, from this.
Dialogflow CX, itself, isn't a bot client. Instead, it provides integrations with various ways to communicate with your agent. This may include telephone integrations, web-based chat systems, and an API so you can integrate with other clients such as Slack.
Your Dialogflow CX agent, itself, is setup using Google's Cloud services, and can support one or more of these integrations.
How do I create a zillion entities through code?
It isn't clear why you need to create a zillion of them, nevermind through code itself.
You likely will want to create a custom entity type for the make/model combination. And it should probably have aliases, so that people could say "Ford Explorer" or just "Explorer" and have it resolve to the same type.
If you really wanted to use an API to do this, you could use EntityType.create to do so. That points to the REST documentation, but based on the language you want to use, there may be a library able to handle it.
Some of the other types, however, can be handled with system entity types such as #sys.color or a numeric type. There's no reason for you to create those.
But what happens if someone asks for a combination that isn't valid?
Then you'll need to tell them it isn't valid. Just like if someone was talking to you in person and asked for something that didn't make sense.
How will it check the database for a good response?
You'll need to make this database call as part of a webhook that you create to implement the business logic.

Is there a way in Google Assistant to ask for the available Training phrases?

I am learning about DialogFlow and its integration with Google Assistant but I think it's a bit hard to develop because the users don't know all the posible topics that the chatbot can talk about. I know that this is probably a bad design from my side but I assume that there should be a "help" command to offer suggestions of the available Training phrases that a user can invoke, right?
There is no automated help command to display all of the possible actions in the Dialogflow platform. However, it can be a good idea for you to build out some sort of 'Help' or 'What can you do' intent to give the user some sort of guidance.
Additionally, you can provide them with a few use cases in the Default Welcome Intent.
"Greetings. Do you want to (do X) or (do Y)?"
Visiting our voice design guidelines can provide you with additional advice on creating a good voice experience.
This is not a build-in feature for Google Assistant (or any other integration as far as I know). Having a clear roadmap of available features/intents is often a challenge when deciding your chatbot's design. Here are some tips that might help you in this:
Build a custom help intent
With a custom help intent you would be able to assist your users in any way you see fit, you explain to them what your action is or offer them some suggestions. Since it is a custom intent you can really do whatever you want. As you asked about sending available training you could use the Dialogflow API to show them which training phrases are available in your bot to give them an example.
Use suggestion chips
This is probably the easiest option, when you user asks for help you can give them a set of standard suggestions to guide your user back on track. Your users can click on them or say what is in them to continue to a different intent. (Users that talk to your action on device without a screen can't see these, so you have to design an alternative for those devices too)
Example phrases in action overview
When publishing an action, you get the option to add some example phrases to get the user informed about what you action is designed to do. These suggestions only show up on the action overview so they don't help your users while interacting with your action, but it is still nice to add to help new users get started quickly.

Forwarding Messages with Microsoft Teams Bot

So I'm trying to create a chatbot in MS Teams with the Microsoft Bot Framework in order for a handful of end-users to be able to do basic troubleshooting. Does anyone know of a good way to be able for the Bot to be able forward certain questions that do not have responses within the knowledge base? Does anyone have any suggestions on what would be the best way of doing this? I've looked briefly into MS Flow. Thanks!!!
EDIT: So In order to further clarify what I am trying to do I'm adding some more. When someone asks a question to the Q&A Bot in Microsoft Teams. If the bot doesn't have an answer, the question will then be forwarded to a live agent that could answer the question asked in real-time. I'm looking for some type of software or API that could do the forwarding part
#G-Snider you're in danger of having your question shut down if you don't provide more detail--like some code that you've tried, for example.
And I'm afraid I don't very clearly understand your question...however I'll take a stab at helping.
You could always use Dispatch connected to a QnA Maker knowledge base to determine if a user hits an intent that would be answer able to your QnA KB or if it's "None" intent--or if you don't want the LUIS layer.
BF Dispatch Sample: C# / JS
Alternatively, you could forego the Dispatch layer and stick with only QnA and work with confidence scores and thresholds that get returned that's built into the QnA module itself.
QnA Maker Sample: C# / JS
Second step, if your bot determines that the user hit None intent or has no result from your QnA KB directly, then you could implement human hand-off.
Human Hand-Off Sample

No response from Knowledge Base in Dialogflow

I want to make Frequently asked questions and answers bot in dialogflow. I have Q&A files, so I am used knowledge base in dialogflow .i have the 6-7 file i make documents in the knowledge base. but when i ask question bot not sending any response.
Image of knowledge base console
Knowledge Base Document QNA
dialogflow text response screen
In the response section you need to give $Knowledge.Answer[1].
If you can't get answer in your App knowledge connectors won't work with the production SDK for now, you have to use the Beta SDK/API and pass QueryParameters object for the knowledge connector when you use detect_intent function.
check the documentation
If you can't get answer in the portal you need to adjust KNOWLEDGE RESULTS PREFERENCE to be stronger and lower ML CLASSIFICATION THRESHOLD otherwise the default fallback intent gonna always answer. check the pictures below to see how to:
The error might just be because you didn't enable the knowledge base

Resources