processing multiple responses from user in dialogflow - dialogflow-es

I am creating a chatbot in Dialogflow for healthcare department where user will enter his symptoms(I have some symptom stored under entity called symptom) and i want to identify disease user is suffering from by processing his responses.
Any help for this?
Thanks in Advance

You will need to have few questions to identify the symptoms and then after you identify the symptoms, there should be a mapping of symptoms with the disease (probably in a cloud function or any other backend u prefer). By having a map of symptoms and diseases you should be able to do your task.

Related

LUIS API - Retrieve all endpoint utterances and its scores

I have been searching the past few days how to retrieve the endpoint utterances and its scores for a dashboard I am working with. Problem is I'm lost with the APIs, there seems to be many, but I cannot find the exact one that fits my need.
In this API documentation here, there is one that gets example utterances. What I would want to get is the actual endpoint utterances.
Anyone can point me where to find the API to use? Thanks in advance.
#Jeff, actually in that API docs that you linked, the answer was there, however perhaps not under the most obvious name.
You're looking for Download application query logs, which has this request URL
https://[location].api.cognitive.microsoft.com/luis/api/v2.0/apps/{appId}/querylogs/[?includeResponse]
GET Download application query logs - Gets the query logs of the past month for the application.
The response is 200 as a CSV file containing the query logs for the past month.
Got this one working now, got it from this forums.
https://<REGION>.api.cognitive.microsoft.com/luis/api/v2.0/apps/<APP_ID>/versions/0.1/intents/<INTENT_ID>/suggest?multiple-intents=true
Just confused a bit, I do not find the use of the INTENT_ID here. I'm not sure if this was intended or was a fault on the api design.
But anyways, did the job, got all the user utterances and its confidence scores.
Hope this helps anyone.

The words "not working" always trigger the default intent in Google Assistant

I have been working with Google Dialogflow to create a Google Assistant experience.
My GA Action is to Raise Support tickets and those tickets are raised in our system via API.
We ask the user to describe the Issue they are facing, We have used a fallback Intent to capture the Issue/Ticket Description(Since the reply can be any free text, is this the best way to capture free text?).
Once the user gives a description, A webhook is called and the results are sent to our backend to capture.
We have noticed that when the user uses the words "not working" as a part of the issue description, it always calls the welcome intent, instead of going to the follow up Intent. If the user describes the Issue without using those words, it works fine. Below are 2 different responses.
I personally feel that this is a bug in GA, is there any way to solve it?
I think you're doing some things wrong. I don't have enough information to understand 100% what you are doing, but I will try to give you some general advice:
A fallback intent is used to 'fall back' to this intent when a user asks something that is nowhere provided in one of your other intents. That's why your fallback intent has the 'input.unknown' set as action. It will be triggered when the user gives some input that is unknown for your application. F.e. I don't think your '(Pazo) Support Action' will provide an answer if the user asks to book a plane to Iceland, so that's when your fallback intent comes in to give an answer such as 'Sorry, I can't answer that question. Pazo is here to give you support in... What can I do for you?'
Your user can either register a complaint or raise a support ticket if I'm getting this right? I recommend you to make two seperate intents. One to handle the complaints and one to handle the support tickets.
Before developing advanced actions with a seperate webhook and a lot of logic with calling an API etc., I recommend to go through the documentation of Actions on Google:
https://developers.google.com/actions/extending-the-assistant

Dialogflow - handling inputs with multiple intents

I'm designing a helpdesk chatbot in dialogflow and currently training it with existing data from my ticketing system. What is the best practice for handling inputs that contain multiple intents? Here is an example with the intents in bold:
"Hi, my name is John Doe and I'm a first year student. I want to know where to register for classes and also reset my enterprise password. Please help."
So is the solution to ask people to keep things simple up front? I think currently dialogflow will point the user to one of the intents above, but i'm not sure how it decides which intent to match with.
You will probably have one intent for each feature that your bot offers, i.e. RegisterClass, ResetPassword etc. In that case there is no good* way to handle the case where someone asks for two things at once, your users will have to limit themselves to one request at a time. You can however use a fallback intent to explain this at runtime. This intent would be triggered if a users utterances matches none of the other intents and could give the user a quick explanation like
"Sorry, I didn't get that. Please tell me what you would like to do,
e.g. 'register a class' or 'change my password'"
This would keep a natural conversation going and alleviate the need to "train" users specifically for your agent.
*You could of course add combined intents like RegisterClassAndChangePassword, but that would become very clumsy and most likely not work reliably. You could also try to parse the request in your backend, but then you would essentially circumvent Dialogflow's core feature.

How to ensure my Google Home Assistant application is not rejected?

During our testing, we were unable to complete at least one of the behaviors or actions advertised by your app. Please make sure that a user can complete all core conversational flows listed in your registration information or recommended by your app.
Thank you for submitting your assistant app for review!
During testing, your app was unable to complete a function detailed in the app’s description. The reviewer interacted with the app by saying: “how many iphones were sold in the UK?” and app replied “I didn't get that. Can you try with other question?" and left conversation.
How can I resolve the above point to approve my Google Assistant action skills?
Without seeing the code in question or the intent you think should be handling this in Dialogflow, it is pretty difficult - but we can generalize.
It sounds like you have two issues:
Your fallback intent that generated the "I didn't get that" message is closing the conversation. This means that either the "close conversation" checkbox is checked in Dialogflow, you're using the app.tell() method when you should be using app.ask() instead, or the JSON you're sending back has close conversation set to true.
You don't have an intent to handle the question about how many iPhones were sold in the UK. This could be because you just don't list anything like that as a sample phrase, or the two parameters (the one for object type and the one for location) aren't using entity types that would match.
It means that somewhere, either in your app description or in a Dialogflow intent(they have full access to see what's in your intents) you hinted that “how many iphones were sold in the UK?” would be a valid question. Try changing the description/intents to properly match the restrictions of your app.

Actions on Google - SendTyping response

I am trying to improve the user experience of my application. One UX improvement would be to reply to the user after they initialize the intent. What i would like to do is simulate the "Typing" reply, so the experience would be for a voice enabled device
User: Who's the league leader in wins?
Assistant: Give me a second to do some investigation
Assistant: Ok, John Doe is currently leading with 10 wins.
Is there a way to send multiple responses for one request.
I am using API.AI and a webhook for fulfillment. I know that i can send multiple items in one response, but i would need to send multiple responses.
At this point, no this isn't possible.
However, at Google I/O they've indicated that they understand this is something people are looking for. There are already some solutions that have been announced that are coming (such as notifications), and there may be others coming as well.

Resources