Is Google Dialogflow available in Hungarian? - dialogflow-es

Is Dialogflow available in Hungarian ?
It is not a langage available in the official list in Dialogflow when you try to choose a langage.
Thanks

As per https://cloud.google.com/dialogflow/docs/reference/language, Hungarian is not mentioned as the supported languages of Dialogflow. However, Dialogflow should be able to perform the same NLP processes on Hungarian as well. Just that the semantic embedding used within Dialogflow might not give a good result. Syntactical similarity should still work.
It all depends on the training phrases available for the intent.
My Experiment:
I tested a sample agent with "Szia hogy vagytok" (Assuming it means 'Hi How are you') as a training phrase of Welcome Intent and passed another utterance in test console: 'Szia'. It correctly classified the Welcome Intent.

Hungarian is in supported language list now.
https://cloud.google.com/dialogflow/es/docs/reference/language

Related

Dialog flow default fall back

Hello So I am creating a chat bot with two language, A is supported and B is not supported(I used A and B so it will be easier to read) and the issues is I want to have default fall back for both but when I type random word for B it always call the default fallback of A. I also tried create a normal intent and name it fallback for B and add some phrase and it work but when I type random word for A it call the fallback of B. Is there any work around for the issues?
Would appreciate any answer :)
I'm afraid there won't be a good work around for this as Dialogflow works with one NLP model per language. By trying to fit two languages into one model, you are creating a difficult scenario. The fallback intents are meant as a safety net in case of unrecognized input for the language of the NLP model, your second languages will always end up in the fallback intent as it is unrecognized input for the first language.
Yes you could create a custom fallback intent by entering words manually, but this isn't a valid solution since you cant fit every word of a language into an intent. So you will end up with certain words of the second language going into the custom fallback and some not.
In general it isn't recommended to fit two languages in a NLP model, so my recommendation would be to drop the unsupported language and wait for it to become supported, this will give you the best bot and experience.
If you would really need the second language, one thing you could try is add another supported language that you won't be using and train that on words of your unsupported language. Note: This NLP model will be very restricted in its features as it will only respond to the words you trained it to, build in entities won't work as your language is still unsupported, but it allows you to do some work with an unsupported language, but again, it will be very limited.

Word tolerance of training phrases in Dialogflow (- to create a Google Action)

I have an important question, at the moment i am writing my last essay before starting with my bachelor thesis. It is about voice apps, which includes the google actions for sure.
But i need some informations about the word tolerance of the training phrases. And I was not able to find some information on the internet yet. Does Google only recognize the training phrases typed in by the developer or can Google add some phrases by time or with training (so that the user can say different phrases to trigger an intent which were not typed in from the developer in the beginning) ?
It is really important for my essay. So I would be very happy if you can help me with this question.
I wish you a nice weekend!
Dialogflow uses the training phrases to build a machine-learning algorithm to match similar phrases that aren't exactly what you enter.
For example, the training phrase "I want pizza" trains your agent to recognize end-user expressions that are similar to that phrase, like "Get a pizza" or "Order pizza".

Is there anyway to make google assistant's speech recognition better recognise words used in my dialogflow agent?

I am using Dialogflow to create a chatbot that can be used on google assistant. However the speech recognition often mis-recognizes the intended word. Example, when I say the word "seal", it recognizes the spoken word wrongly as "shield".
Is there any way to "train" or make google assistant better recognize a word?
If you have a limited amount of words that you would like to improve upon, then using Dialogflow's entities would be an option. For instance, if you are trying to recognize certain animals. You can create a set of animals as entities and set the intent to look for an animal entity in the user input.
Besides this option I don't know of any other things to improve the speech itself, you could train Dialogflow to map both "seal" and "shield" to your desired intent, but that doesn't change the actual word, it will still be shield.
For any other improvements to the speech recognition, I'm afraid you will have to wait for updates from Google to their algorithms.
Just found out there is a new beta function in dialogflow that should help.
https://cloud.google.com/dialogflow/docs/speech-adaptation
Edit:
However does not work with Actions on google.

Difference between DialogFlow and Google Cloud Natural Language product

Both DialogFlow and Google Cloud NL (Natural Language) are under Google, and to me they are very similar. Does anyone know any specific on their differences and whether Google will consolidate into one product? If I am a new developer to use the features, which one I should pick?
I search around and cannot find any satisfactory answers.
Thanks!
While they are vaguely similar, since they both take text inputs, the results from each are somewhat different.
By default, GCNL doesn't require you to provide any training phrases at all. It takes any sorts of textual input and lets you do things such as sentiment analysis, parts of speech analysis, and sentence structure analysis on the phrase.
If you are expecting very free-form inputs, then GCNL is very appropriate for what you want.
On the other hand, Dialogflow requires that you provide training phrases that are associated with each Intent and possible parameters for some of the words in those phrases. It then tries to take the input and determine which Intent matches that input and how the parameters match.
If you have a more narrow set of commands, and just want a way to more flexibly have people issue those commands in a conversation, Dialogflow is more appropriate.
It is unlikely the two will ever be merged. Dialogflow is well tuned to make conversational interfaces easier to develop, while GCNL is more open-ended, and thus more complex.

Is it possible to use DialogFlow simply to parse text?

Is it possible to use DialogFlow to simply parse some text and return the entities within that text?
I'm not interested in a conversation or bot-like behaviour, simply text in and list of entities out.
The entity recognition seems to be better with DialogFlow than Google Natural Language Processing and the ability to train might be useful also.
Cheers.
I've never considered this... but yeah, it should be possible. You would upload the entities with synonyms. Then, remove the "Default Fallback Intent", and make a new intent, called "catchall". Procedurally generate sentences with examples of every entity being mentioned, alone or in combination (in whatever way you expect to need to extract them). In "Settings", change the "ML Settings" so the "ML Classification Threshold" is 0.
In theory, it should now classify every input as "catchall", and return all the entities it finds...
If you play around with tagging things as sys.any, this could be pretty effective...
However, you may want to look into something that is built for this. I have made cool stuff with Aylien's NLP API. They have entity extraction, and the free tier gives you 1,000 hits per day.
EDIT: If you can run some code, instead of relying on SaaS, you could check out Rasa NLU for Entity Extraction. With a SpaCy backend it would do well on recognizing pre-trained entities, and with a different backend you can use custom entities.

Resources