What is the difference between Dialogflow bot framework vs Rasa nlu bot framework ?Any other open source frameworks available in market with NLP support?
What is the difference between Dialogflow bot framework vs Rasa nlu bot framework ?Any other open source frameworks available in market with NLP support?
I think I can answer this without any bias, granted that overtime the answer will grow outdated as the two services evolve.
Cliffnotes version:
Dialogflow is a complete closed source product with a fully functional API and graphical web interface. Rasa (NLU + Core) are open source python libraries that require slightly lower level development. Both try to abstract some of the difficulty of working with Machine Learning to build a chatbot.
As of writing this however here is my comparison:
DialogFlow
Rasa NLU + Core
As far as other open source frameworks, I would say that it is very likely that most chatbot frameworks right now are built on a variety of open source tools, with some proprietary add-ons. So you can always start from the lower level open source tools like MITIE or spaCy.
Update:
The Smart Platform Group (of which I am a member) recently released a product in between Rasa NLU/Core and Dialogflow called Articulate.
Articulate is a full-featured bot framework, based on Rasa NLU, that lets you build Natural Language Agents effortlessly.
Dialogflow:
No installation, get started immediately
Easy to use, non-techies can also build bots
Closed system
Web-based interface for building bots
Data is hosted on the cloud
Can’t be hosted on your servers or on-premise
Out of box integration with Google Assistant, Skype, Slack, Fb messenger, etc
Rasa:
Requires installation of multiple components
Requires tech knowledge
Open-source, code available in Github
No interface provided, write JSON or markdown files
No hosting provided (at least in the free version) Host it on your server
No out of box integration
Source: https://www.kommunicate.io/blog/dialogflow-vs-rasa-which-one-to-choose/
The most important difference is, the entire NLU, NLP and NLG is not happening under the hood in case of Rasa. It's open source. You are the boss. In case of Dialogflow, you have all the functionalities but it has to send the data to cloud service every time a dialog transaction happens. Also some of the service providers have limits on number of dialogs per day.
However Dialogflow is flawless, simple to use and easy to model.
Microsoft's bot framework is also open source
https://github.com/microsoft/botframework-sdk
For nlp it is typically paired with LUIS, and LUIS is not open source.
SpaCy however is an open source nlp (the one that RASA uses also). It would be a completely valid workflow to create a IReconizer in bot framework to use SpaCy https://spacy.io/
There are a hand full of chat engines that also use SpaCy open source NLP that are linked on their site here https://spacy.io/universe/category/conversational.