I implemented a basic two language intent in dialogflow. English (default language) and French. If I say goodbye (or equivalent) it says something to me in English. If I say au revoir (or equivalent in French), it says something to me in French.
It works fine in the test environment (the dialogflow console) but when I deploy to the web it only works in English.
I've noticed this error as well. Apparently as of now we can only successfully test it within the actions on google simulator console and dialogflow, the web demo version only works for the default language.
There is a good medium post by Wassim you can find here, it guides you to build multi-lingual Actions for the Google Assistant.
Related
I'm using v1.0.1 and when I create a new bot, the bot is set to en-us automatically. This also affects LUIS apps created by bot framework composer which are set to en-us too. I want to create a bot for german language using german LUIS app.
Is there any way to change the language of the bot in Microsoft Bot Framework Composer?
Edit
According to this multi language recognizers will be available in august 2020 at the earliest.
You might be able to work with translation middleware for the time being though? It would still have you to set up the LUIS app in English, but translate the user/bot messages via the middleware. Maybe not ideal, but if it can be a help for now.
There is an ongoing question for how to use translation middleware in Bot Framework Composer here: https://github.com/microsoft/BotFramework-Composer/issues/3514.
An example of translation middleware is available here: https://github.com/microsoft/BotBuilder-Samples/tree/master/samples/csharp_dotnetcore/17.multilingual-bot
It seems Google Assistant is unable to handle certain trigger phrases in the intent. The ones I have come across are the following:
Send message to scott
chat with q
Send text to felix
It seems to work fine inside dialogflow simulator. However, it doesn't work at all in Action Console Simulator or on a real device like google home mini. On Action Console Simulator, it gives "You cannot use standard Google Assistant features in the Simulator. If you want to try them, use Google Assistant on your phone or other compatible devices" and on a real device it gives an error "I am sorry, i cannot help you .." and exits completely and leaves the device in a funky state. It doesn't seem to trigger any fallback intent. I have tried adding input context but make no difference.
It's very easy to reproduce. Just create a demo action with an intent for the above phrases along with "communicate with penny", invoke your app and then try the above phrases after the welcome message. It will only work if you say "communicate with ..".
Is this a known issue/limitation? Is there a list of phrases that we cannot use to trigger an intent?
The Actions on Google libraries (Node.js, Java) include a limited feature-set that allow third-party developers to build actions for the Google Assistant.
Standard features available in the Google Assistant (like "text Mary 'Hello, world!'") won't be available in your action until you build that feature, using fulfillment.
Rather than looking for a list of phrases you can't use, review the documentation for invocation to see what you can use. Third party actions for the Google Assistant are invoked like:
To learn how to get started building for the Google Assistant, check out Google's codelabs at https://codelabs.developers.google.com/codelabs/actions-1/#0
If you've already reviewed Google's Actions on Google Codelabs through level three, consider updating your question to include a list of your intents and a code sample of your fulfillment, so other Stack Overflow users can understand how your project behaves.
See also, What topics can I ask about here?, and How do I ask a good question?
Is it possible to receive requests in two different languages in one Action, now that the Google Assistant is Bilingual:
It is possible for on Action to be written to work in multiple languages and locales. There's guidance in the documentation to extend a single Dialogflow agent as well. However, I don't believe the Action will be multilingual. It'll depend on what invocation phrase you use.
If you say "Talk to my test app", you'll get the English version.
If you say "parler avec mon application de test", you'll get the French version.
If your Action has a fulfillment, you'll be able to get the current locale by getting conv.user.locale.
Yes you can.
You select up multiple languages in console.Actions.google.com
You then add a second language to your project.
Under your project name you now have multiple language markers.
You have to set up intent verbal triggers for both the main language and also the secondary language in dialogflow.
It is in this way that the system recognises what language is being spoken and kicks off the appropriate intent.
Note: If you use webhook functions they too will have to be updated to support multilingual functionality. I have implemented i18n as my framework.
There is a great tutorial at:
https://medium.com/voiceano/publishing-bilingual-actions-for-google-assistant-61c326d1b79?fbclid=IwAR1ysjBecJpZUP2bpUgXMZDkvpS6V4qvY75S0RdVw8q0PtZAjPMoTcty2vU
Is there a way to test DialogFlow agent in a non-default language in Facebook Messenger or using another way that is not the DialogFlow's own simulator (console.dialogflow.com)?
Facebook Messenger integration works great in a default language, but when I try to talk in a non-default language DialogFlow keeps responding in a default language. I tried changing Facebook interface language to a non-default language and it is still the same problem.
I also tried using DialogFlow's Web Demo, but it looks like that support only the default language too. Response about that from Google representative is here:
https://productforums.google.com/forum/#!topic/dialogflow/RPVrna1_Yoc
i just started on a project in DialogFlow and i was wondering is it possible to link my dialogflow to a specific desktop application? And if possible, what is the solution?
For example:
By saying "launch app", it will open up the desktop application "app"
While this is certainly something that Dialogflow's APIs can help with - this isn't a feature provided by Dialogflow itself. Dialogflow's NLP runs in the cloud - there is nothing local that it can "do".
However, you can create a launcher app that does this sort of thing by opening the microphone and sending either the stream or a speech-to-text version to Dialogflow through the Detect Intent API. Dialogflow can determine an Intent that would handle this and pass that information back to your launcher, and your launcher can then locate the app and start it.
I'm not sure how practical this would be, however. Microsoft already has this feature built-in with Cortana, and Google is building the Assistant into ChromeOS which will do this as well. While I'm not aware of Apple doing this, I may just have missed an announcement that Siri does this as well. And if there isn't someone who is doing this for Linux using some local speech-to-text libraries, it sounds like the perfect opportunity to do so.
You may try and use different Dialogflow clients available on their GitHub page. Java Client 2 may be helpful to start your work. However, you will be required to write your own UI code and have to consume Dialogflow API.