I'm completely new to using Dialogflow. What I'd like to do is get the user to type something like "search for recipes with broccoli leaves" (as i'm trying to promote zero-waste recipes) and then for the bot to output a recipe. any help is very much appreciated!
I think your best course of action if you are new to actions on google is to take a look at some of their code samples they post of github and get an "idea" of what is possible with it. Usually this is the best starting point and then you can work from there. This is how I've started a lot of my projects.
As for answering your question for searching recipes, there's MANY ways you could go about this. You could basically set up intents that have the recipes ready. So for example, maybe if you had a intent that handled "broccoli recipes" you could set up an training phrases like:
What is a good recipe for broccoli?
Search a recipe with broccoli
And in your answers, you could have some recipes that you have put. A long solution, but still an option.
I'm not sure how experienced you are with web development, but you could set up a webhook with an external API for recipes that returns info about that stuff.
There's LOTS of avenues you could go. This was a broad take but dialogflow is a pretty broad topic in general!
Hope this helped!
Here's the link for webhooks
Related
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.
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
I am about to create chatbot with NLP or DNN's method. The chatbot is about to reply user's sentence based on a knowledgebase (maybe in a database).
I found LSA/PLSA can be used, but I want to explore any further methods I can use except that. Recently, I was looking for some methods and found that DSSM (Deep Structured Semantic Model) can be an alternative. For anyone who are expertise in this case, would you mind to tell me is this the method I can use or might you suggest me any methods I can use?
By the way, after reading some articles about DSSM, I have misconception about negative samples when training DSSM. If you are about to suggest me with DSSM, please help me to explain it.
So much thank you for all of you, buddies.
Correct me if I'm wrong, but I don't think we have any DSSM platforms available for general use to us as chatbot developers, just yet.
At least not like the currently available language interpreter platforms
(Like IBM Watson, Microsoft LUIS).
I would suggest starting with one of the popular platforms available now and continuing research / watching for developments in deep learning.
Can wit.ai, api.ai etc. generate its own conversations by training or are every conversation static structured by stories the "bot" owner created ?
Im in the search for a botting tool that can generate conversations based on what it has learned, and the more conversations it has the better it gets to replying to users, where human-like hour long conversations could be a possibility.
I've looked at wit.ai, api.ai and others like it, but they seem to be based upon stories which typically ends up into some command-like stuff, like ordering a pizza. Though they can be made to remember who they speak to and other entity information.
Do i have to structure a hundred of stories or is it possible to just make a base and make it learn from there, and perhaps add more stories in the future based upon old conversations to make it smarter. ?
There are many parts to the answer.
On the one hand, there is Mitsuku, which probably comes closest to what you are aspiring to. From what I understand, Mitsuku has been built over a long time using plenty of hand coded rules - a bit like the hundreds of stories you are talking about. There isn't a Mitsuku-as-a-service that I know of, at least not yet.
On the other hand, there are bot building frameworks like api.ai, wit.ai and others which are using machine learning to effectively do two main things - intent mapping (what is the subject the user is talking about) and entity extraction (mentions of proper nouns). In combination, it can be quite helpful for task oriented chatbots but not sufficient for the kind of truly conversational chatbots you are trying to build.
I would also encourage you to check out the following YouTube video, specifically the segment where the presenter talks about generative vs retrieval based chatbots.
https://youtu.be/SvV57fuL_M0?t=202
Also, api.ai also has something called "prebuilt domains", which have knowledge about a few domains. There is a "small talk" domain included, but if you look under the hood, it basically expects the bot programmer to fill out a questionnaire which goes from 0% to 100% complete based on usual expected questions.
You also ask about using history to make your bot smarter. If you are prepared to go through the chat logs, bot building frameworks such as API.AI allow you to start with something narrow and go on to make a pretty interesting bot by doing training (hard to explain, take a look at their interface). But this also means a) you are willing to spend a good amount of time improving the bot and b) you can actually drive enough traffic to your bot to field a wide range of questions.
Its my view that there is quite a lot of hype as to what chatbots can do. I think they are quite useful, but they are hardly conversational in the way humans think of conversations.
I am wondering if there is anywhere I can to give suggestions to the developers. I love spotify and I use it daily, at least! There are just a few things that I think would be great improvements. Such as, adding a playlist that includes all songs in every playlist that you, personally make. Or something similar to that. It would also be really helpful and convenient if you had the option to organize playlists alphabetically. Please let me know if there is a place where these ideas can be heard!
Thanks!
This is a great point and this is a problem that we've recognised as well. We're currently working on new ways of creating a discussion between third party developers and the teams that works on the APIs, so please stay tuned and have a look at the Developer site from time to time. If you've got feature suggestions for Spotify in general, there's the Spotify Ideas forum. We also monitor #SpotifyPlatform on Twitter for API related topics.