RASA: Open source machine learning framework for dialogue management
Rasa is an open source machine learning framework for building AI assistants and chatbots. Rasa Conversational AI assistant is quiet different than earlier traditional FAQ interactions as it is based on conversations.
The chatbot is the easiest system to access by any user, chatbot is an artificial intelligence technology for communicating through natural language with humans. Chatbot makes it possible to understand human language through Natural Language Processing. Language is a social and cultural reciprocal for a natural protocol. It is time for computer machines to add features for understanding humans along with the increased performance of the recent computer machine hardware
Example:
College students or candidates of college students often need actual information like asking for something to customer service, especially during this pandemic, when it is difficult to have an immediate face-to-face meeting. Therefore, a chatbot is needed to answer every question quickly,correctly and is available anytime which is expected to work for 24 hours
Rasa Conversational AI assistant normally consists of two components and they are Rasa NLU and Rasa Core. Rasa NLU can be just treated like ear which is taking inputs from user and Rasa Core is just like the brain which will take decisions based on user input.
Mostly you don't need any programming language experience to work in Rasa

Now, chatbots are intelligent systems which can perform complex task and has many application in robotics and natural language processing. In the recent time, there is development in the field of artificial intelligence, so the chatbots are acting as customer service agents.
Jiao designed a functional framework which implements the principle of RASA NLU and further more he integrated the RASA NLU with the neural network methods resulting into an entity extraction system and later on recognizes the intents and related entities.
Working Flowchart
1. The message from the end user is fed to the Rasa NLU (Interpreter) whose output is structured output containing the original text
2. The Tracker is the object which keeps track of conversation state. It receives the info that a new message has come in.
3. The output from tracker went to the Policy, which acts on the current state of tracker.
4. The policy decides which appropriate next action is to be performed.
5. The log of selected action is maintained by tracker.
6. The appropriate response is provided to the user
Example for Dialogue management :

Code for the Weather Chatbox Program:
from future import absolute_import from future import division from future import unicode_literals
from rasa_core.actions.action import Action from rasa_core.events import SlotSet
class ActionWeather(Action): def name(self): return 'action_weather'
def run(self, dispatcher, tracker, domain): from apixu.client import ApixuClient api_key = '937920fXXXXXX5f81747180611' client = ApixuClient(api_key)
loc = tracker.get_slot('location') current = client.getCurrentWeather(q=loc)
country = current['location']['country'] city = current['location']['name'] condition = current['current']['condition']['text'] temperature_c = current['current']['temp_c'] humidity = current['current']['humidity'] wind_mph = current['current']['wind_mph']
response = """ It is currently {} in {} at the moment. The Temperature is {} degrees, the humidity is {}%s and the wind speed is {} mph.""".format(condition,city,temperature_c,humidity,wind_mph)
dispatcher.utter_message(response) return [SlotSet('location',loc)] | |