What's wrong with Wit.ai ? My bot understand few numbers as location and it breaks my stories. You can see the picture below :
What can I Do for that ? Thank you.
If you earlier have validated some GPS coordinates on your Understanding console, this type of misprediction may be possible. For avoiding that, you can validate some useful numbers with the wit/numbers intent, other GPS coordinates should be validated with the wit/location.
Also you may accidentally validated some numbers using the wit/location entity, feed some numbers with the wit/numbers entity. wit.ai does not know anything about numbers, locations, etc, without you validated them first.. Try to write " Amsterdam " on your Understanding tab, you'll see that wit.ai cannot assign this text to any intent or location entity because you have not trained his modal yet :) Validate it with wit/location. After that he will know..
Also you can train(validate or feed) your own wit.ai NLP without the Understanding tab. You may use simple CURL command and a loop.
Check this out:
https://wit.ai/docs/http/20160526
Have a nice day :)
Related
I created a very simple agent on dialogflow. Every now and then, even using static responses (where only the session ID changes), the application crashes (both on Google Assistant and in the simulator).
On the logs I find the message in question: "MalformedResponse at expected_inputs [0]: Responses must provide at least one possible if this is not the final response. What does it mean?".
I don't understand what it means.
Could anyone help me?
I'm having the same problem. That i've noted is that this problem doesn't ocurre every time. The behavior is really unstable.
I'm using 2 required parameters in the intent. I don't know if that has something to do with the problem.
MalformedResponse at expected_inputs[0].input_prompt: 'input_prompt' is empty
MalformedResponse at expected_inputs[0]: Responses must provide at least one possible intent if this is not the final response
The problem, appears to be caused when you use own parameters, not when use sys. parameters.
Google answer me the following:
"Hi Alberto,
This issue has already been escalated to our engineering team. You are correct about required parameters causing the problem. Our engineering team is working thoroughly to resolve this since it is affecting some other AoG projects as well. "
I was facing the exact same issue when I was using custom entities as input parameters to my action.
I was asking for 2 custom parameters and one system (sys.color) and triggering the same with input prompts.
I found a workaround for that by taking all 3 in separate intents and using the response of the previous intent as a trigger to enter the next parameter, also by making the training phrases as sample values of the custom parameter.
I am still in contact with Dialogflow Suppport and waiting for bug fix but it works for now.
I'm trying to make a simple bot with Dialog flow to remind me to update my calendar with what I did during the day.
I want it to go something like this:
Bot: Hey, what did you do from 2pm-5pm today?
User: I did jogging from 2pm-3pm
Bot: Added "Jogging" to your calendar from 2pm-3pm. What about from 3pm-5pm?
User: I did reading.
Bot: Added "reading" from 3pm-5pm to your calendar.
My question is, how do I extract the activity (such as jogging or reading) as it can be literally anything. I guess I need to identify the "I did" part and see what it is after that and before "from 2-pm-3pm" part. I have an idea how to do this with Python, but I'm wondering if it's possible using DialogFlow?
Any help is greatly appreciated, thank you
You would use the #sys.any entity type and assign it to that part of the training phrases that you're setting up in Dialogflow.
As you're setting up the training phrases, keep in mind that there may be many ways to say the same sort of thing, which is why using Dialogflow's training phrases are better than trying to capture parameters using string parsing.
So perhaps you want something like this
The bot which I have created within Dialogflow is using a webhook to link to our external site.
One of the intents we have for the bot is to search for knowledge
within the site. Originally, we had in the Request Knowledge intent,
a phrase which was a #sys.any parameter, which would then be the
search term.
However, because the whole phrase was a #sys.any parameter, this
would be prioritised over most other intents.
We are trying to get users to use natural language when using the
bot, however people still do just type in one word or a phrase for
the search function.
What I would like if possible is to have a fallback intent which is
the search function. So if the bot cannot successfully match the one
word, it would then run a search for this word.
I am not sure if this would fix this problem or just produce more issues.
If anyone has solved something similar to this, I would greatly appreciate the help. Sorry if this is simple to do, I am all new to the whole Dialogflow world!
You can turn fulfillment on for Fallback Intents, and these will be sent to your webhook. The JSON includes the full text of what was entered.
However... the results will clearly be less useful since some of the results will be text that is conversational, but didn't get picked up by one of the other Intents.
I'm currently trying to use the built in entity '#sys.zip-code' from DialogFlow (formerly API.AI) for capturing Zip Codes. However so far it does not seem to recognize any actual zipcodes except those which I explicitly set through training. It also does not recognize the '5 digit' pattern as a possible match if #sys.phone-numbers is used in another intent (ex: 54545 gets recognized as a phone number, rather than a zip).
Should I upload a list of known zipcodes through the training section to get this working? Or is there something I'm missing from the built in functionality? Haven't seen a ton of info online on how to best utilize this entity, so figured I'd ask here before coming up with a custom solution.
Thanks in advance!
I think the best way to prompt a user when the bot says something like "could I get your name and zip code? ".The intent which i have created contains multiple combinations of “User says”.They are as below
#"#sys.given-name #sys.zip-code"
#"#sys.zip-code #sys.given-name"
#"#sys.given-name"
#"#sys.zip-code"
and I also have required Parameters setup to pick these values with prompt messages.
So I have attached a picture for this which i have iterated
As a french Gwent player, I built a discord bot (using node.js and discord.js) to show the infos of a card when you name it. It uses some custom emotes to show some part of it.
It worked well for a few weeks, but recently some cards don't show the emotes when called.
I have no clue about what could be wrong. The emotes work if you use it yourself on the channel. Some cards show the emotes, others don't, even if they use the same emotes. And it's always all emotes or none for each card.
I checked different cards from my database : with or without emotes, I can't get any specific element which can explain why some cards can have emotes and why some cannot.
Is there something to know here that can explain this situation ?
Although this a late answer and you may have found an answer to the question but I'm going to post an answer anyways for others.
First in the chat you have to type:
\:custom_emote_here:
so in your case, you want it to show
and the name of it was :number5:, you would type :number5:.
You would get something like this:
(of course, it would say :number5: and the start and the numbers would be different)
You can copy and paste that into your code.
For example:
message.channel.send("<:super_magical:366208548914331659>")
would show this:
Hope this helps!
javascriptdiscorddiscord.jsemote
The developers of Discord have recently changed the way bots work with regards to custom emoji.
Before May 16th, bots could use any custom emoji from any server provided they are used inside rich embeds, as shown in your screenshot.
After that date, bots can use custom emoji from shared servers, but do not have to limit it to rich embeds only.
If you have the bot join all the servers that these custom emoji are being hosted on then it will be able to start using the emotes again.
I know that this question was asked quite a whiles ago but I thought I'd offer a solution I found after recently running into this issue myself for anyone else also facing this problem.
Normally, when you send an emoji in a message or embed via the <:name:id> format, Discord will convert it to a custom emoji. However, there are two cases where it represents all custom emojis in a message in the :name: format as shown in your example.
If one of the custom emojis you are trying to send are no longer active in the server (i.e. you have removed it from the server).
If you are trying to send an animated emoji via the <:name:id> format.
If either of the above two conditions are met, it seems like Discord defaults to converting all emojis in the message to :name: rather than the actual custom emoji.
I fixed it for myself by making sure that all of the emojis currently exist in the server emoji list before sending them. For animated emoji, you should send it via the <:a:name:id> format instead.