What's Rasa got that Chatterbot doesn't?

I’m looking at Rasa in hopes of finding something that can do a better dialog than Chatterbot for game NPCs. From the documentation, Rasa seems to just match input sentences with “intents”, which are just keys that usually lead to canned responses pre-written by the developer. That’s what Chatterbot does, using a relatively simple machine learning matcher. The demos of Rasa are mostly at the phone tree level. Not seeing anything like sentiment analysis, extracting meaning from sentences, etc. Phone tree stuff you can do with a dumb old AIML bot.

What’s the justification for dragging in Tensorflow, CUDA, GPU programming, etc. to do so little?

Hi @John-Nagle. There are quite a few differences between Rasa and Chatterbot:

  • Rasa gives you a lot of flexibility in terms of what models you can use in your backend. At the same time you get the flexibility to choose if you want to use only NLU or just dialogue management or both

  • With Rasa you can easily add custom components to you models like sentiment analysis which you mentioned and pretty much anything else you would like to add. We have a tutorial how to add sentiment analysis to your Rasa NLU model.

  • Speaking of Rasa’s dialogue management, intents are not used as keys to match the responses to user’s inputs. They are used as features when predicting the next response of the assistant. In addition to that, an assistant takes into account what happened in the conversation previously, what details were extracted and saved in assistant’s memory. All this allows the assistant to keep the context, drive the conversation so that the user would achieve their initial goal and at the same time allows devs to build assistants that can handle more natural conversations instead of just simple FAQs.