dialogflow support for Finnish - dialogflow-es

Has anyone implemented a chatbot using Dialogflow for Finnish.
I know it is not supported natively yet. But i havent seen any clear roadmap for the supported languages in the coming months. Any feedback or information on this.
If not dialogflow, what other NLP would you recommend to implement a Finnish chatbot.
Also would it be a good idea to try to administer the intents in English and use Translator APIs to translate user text from Finnish to English and do the intent matching on Dialogflow. Obviously the matched intent response has to be translated back to Finnish when delivered to the customer.
Regards,
Ujjwal

Edit: Support for Finnish is added now.
Dialog-flow currently doesn't list Finnish in their
language list. (If your use-case is urgent, you shouldn't wait for its additive support in near future)
Necessity is the mother of invention
Before Proceeding, I wouldn't recommend you to use Translator API's to convert English and Finnish, vice versa. It will not train the model exactly you want to because relationship between words, across languages are very different.
NLTK is a great NLP library with all the features which you can use to develop the chatbot in Finnish. Stemming with Finnish
Note: Apart from NLTK, SpaCy and TextBlob are also great NLP libraries you can use. If a library doesn't support a particular language, you can use UNI-Code to train.
ALSO You could use various openly available modules to develop your bot.
Like this one, https://github.com/TurkuNLP/Finnish-dep-parser
With this in mind, NLP applied with basic Word2Vec and Markov Models (Many options you can find over the internet) will help you to build the chatbot you want.
Cheers to building your chatbot

Dialogflow ES and Dialogflow CX now support Finnish.

Related

What would be an efficient way to use knowledgebase like service for other language data like "Hindi" in Dialogflow ES?

I am designing a chatbot that has a lot of faqs , like 120 or so. It would be quite inefficient and time consuming to design that may intents as knowledgebases is not supported for many languages like Hindi.
Any ideas on how can I better the process?

Best Chatbot Service for Website Integration for Research Purpose (2021)

I am a researcher and I do conduct research on conversational agents, chatbots, anthropomorphism and human-computer interaction.
For a series of online experiments I need to implement a functioning chat. I already conduct a few online experiments with a dummy chatbot to measure the mere presence of conversational user interfaces.
Now I am looking for a functioning chatbot so that my participants can interact with the chatbot. I was already looking into Dialogflow, BotFramework and various other services. However, I do have some requirements
The chatbot should be integrated into a website. The website already exists and is developed using plain HTML,PHP,JS.
The chatbot should be able to take data from the website (i.e. user_ID, treatment condition etc.) and should be able to adapt accordingly (language, design, features).
The website should be able to access the chatbot conversation and save it into a DB (I'm using a simple MySQL)
Any recommendations?
Currently I want to use DialogFlow and the Dialogflow Messanger, which however only has limited styling options (change of color etc.). Is there any saas for integrating the chatbot on the website?
Also keep in mind, in research, we unfortunately don't have much funding :D
Thanks
Dominik
Just going to answer my own question for now, still very much interested in your opinions.
So I have chose to use Google DialogFlow and the DialogFlow Messenger, which fulfill nearly all my requirements. Using JS on the website, I can access every interaction data (conversation) between the chatbot and the user. After collecting all data with JS i can continue with the experiment, take other data and then save everything in my MySQL database.
If you want to know more, feel free to contact me.

Methods For Selective (or Ranked) Chatbot

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.

How to Enable DNN translation through Microsoft Translator API

Microsoft Translate API defaults to performing Statistical machine translation. This is lower quality than the more modern Deep Neural Network translation, which is also available for many languages.
I am able to get translations to work with SMT. However, I'm unable to figure out how to get DNN to work. Microsoft's own documentation provides no information on this.
Anyone have experience getting this to work?
Translations to and from Chinese and Hindi are NN by default. For the other 18 languages supported, just add the parameter “category=generalnn” to tell our service to use the NN models instead of the SMT ones. More details on language supported and hybrid translations can be found on the Translator blog: https://blogs.msdn.microsoft.com/translation/2017/11/15/microsoft-translator-accelerates-use-of-neural-networks-across-its-offerings/

Difference between IBM Watson Conversation and Natural Language Understanding

I'm building an watson conversation service and I want to know different watson Conversation and Natural Language Understanding service.
I think Watson conversation service support Natural Language Understanding, such as intent, entity but Natural Language Understanding service also provide intent and entity.
If I just use intent and entity for conversation, do I need to bind Natural Language Understanding to conversation service or not?
Thank you.
Conversation service is separate from NLU. Conversation is about building a chatbot on your own domain. The intents/entities are only what you train it on, and the dialog is a feature only available in conversation, not NLU.
NLU is a pretrained service that returns various information back about text, but does not do anything with a response, and will give you back what it has been pretrained on. Out of the box, you can't change this. You can use a product like Watson Knowledge Studio to train a custom annotator, but NLU itself knows what it knows and thats it.
There is no need to combine these, but it is possible. Depending what problem youre trying to solve will help guide you in which you want to use. If you want to understand data about unstructured text, with no real training time required, NLU is right for you. If you want to develop a chatbot to help your users with some problem, Conversation is right for you.
If you want to build a chatbot about generic things, or if you require things like people's name, extracting locations around the world, etc, and respond accordingly, you could use NLU to extract the metadata, and then pass that to Conversation and in conjunction with your custom intents/entities/dialog have a more powerful conversation.
From the way I'm understanding the question, I pre-assume that you know that Watson conversation and Natural Language classifiers (NLC) are two different services provided by IBM Watson.
Watson conversation will basically help you build a chatbot or a bot (which has speech to text or vice-versa). This chatbot helps users in different ways. Let's say if a user asks a question to the chatbot, chatbot will answer accordingly (It depends on how you designed the dialogs/ or the responses) to the question asked.
Question 1: What's your name?
Answer 1: I'm Watson.
Instead, if the question was asked incorrectly.
Incorrect question : Wat is ur name?
Answer would still be: I'm Watson.
In order to build a chatbot using Watson conversation, you need to make sure that you have proper understanding of Intents, Entities, and most importantly Dialogs (Dialogs help you design the flow of the conversation). If you know these 3 parts then you are good to go with Watson conversation. There's no link between NLC and Watson conversation if you keep them isolated. *That being said, Watson conversation itself has an Natural language understanding where it could figure out User questions even if the questions are **incomplete, grammatically incorrect, mis-spelled words etc.*
In short, you need not bind anything (Natural language) to make the conversation start working. Just focus on those 3 (Intent, entities, & dialog) portions provided and you are good to go.

Resources