I am working on a project where I have to create a chatbot on a whatsapp number using the postman API’s. Since its my first project related to API I am really confuse how to do this.
If anyone provide me a guidance that will be really grateful.
Job opening (remote in the us)! I have a friend who’s looking to hire an AI dev with Rasa experience. Does anyone know someone who might be interested? Feel free to DM me. I’ll make personal intros.
Their company just took on a solid round of funding and is building a team around some epic conversational AI initiatives.
If you are a data person by which I mean you use data or facilitate data to others for their use so that others can make “data-informed” decisions on an almost daily basis then you might have come across many scenarios where data is just overhead and sometimes using data even might be an overkill.
So imagine a situation where a person who is not aware of many aspects of data and how it can be utilised how much overwhelming it can be for them, right?
Business, product and engineering all, need to come together to get the right information from data, which means essentially tons of meetings, documentation and finally, the intuition-based decision is taken, which means why to use data in the first place.
Here are the top 6 excuses I have seen why not to use data — and simple solutions to get moving.
Excuse #1: “There is too much data”.
Solution: Start with the questions, ask for the directions.
The №1 reason I think people don’t like using data is that it can be too much to handle. The numbers are too vague and don’t make sense and whatever type of analysis we are doing be it comparative, correlation or impact is not usable. To avoid all this confusion always starts with what we are trying to solve, funnelize your data or branch it out as per your solution.
Always remember to take 2 steps back after taking 1 step inside.
Excuse #2: “I don’t know the correct way to handle my data”.
Solution: There is no such thing as the correct way, it’s a creative field driven by your competencies.
Depending on the organisation, product, teams, data volume and their use of data in their work as well as the type of problems we are trying to solve data handling can differ. The only solution is to increase our competencies and delve deep into product and data. Don’t get stuck into analysis paralysis.
Excuse #3: “There is no data which I can actually use.”
Solution: Upgrade data tracking.
Things can get pretty dark, pretty quick while working with data as there was a lot of data to start with but after a bit of observing,slicing and dicing relevant data is very less, required data points are not getting tracked or the sample is too small to draw an inference from. There is no quick fix to this problem and the only solution is to have a collaboration from data, product and engineering teams to upgrade your data tracking.
Excuse #4: “It takes too much time to do the analysis”.
Solution: Define the problem, create frameworks.
This is actually a problem of the outcome-based mindset of stakeholders rather than having process-based. Instead of changing the mindset, we can divide our analysis as per usages like on a daily basis, weekly or monthly basis and create our automation paths accordingly around that for faster responses.
I personally have created comparative, impact and correlation analysis frameworks which comes in very handy after I have defined the problem and created modules as per my inputs to the framework.
Excuse #5: “I don’t have time for this, I know my product and consumers.”
Solution: What you need is an expert.
This is where most of the upper-level management lies, they know everything about their users since they are with them since the first day. But I would like to highlight while starting your product journey intuition is the right way to go, but while scaling intuition does not work and the only logical step is to use data to analyse the users and their behaviour to focus on the right thing moving forward.
How to Create a Chatbot from Scratch in 2021 (The Ultimate Guide) — EmpathyBots
So, you want to create a chatbot?
Well, you definitely should!
Because your customers want it and it is backed by data.
According to Salesforce’s “State of Service” report, 76% of service professionals said that customers have increased their use of self-service resources during the pandemic.
And, 83% of customers expect someone to interact with them immediately after they contact a company.
Then, What are you waiting for? Let’s get started!
To get a detailed understanding of the subject including, types of a chatbot, how does it work, its importance, use cases, and examples.
It is a prerequisite for this guide!
Ok, let’s start!
If you want to create anything from a tiny piece of art to a complex software product, there are 3 basic steps you need to follow that is,
Plan
Implement
And, Optimize.
And, the same concept goes for creating a chatbot as well.
So, let’s look at the things you should consider and plan before creating a powerful chatbot, in the next section!
How to Plan a Chatbot?
There are 4 most important things you need to plan before actually starting to create a chatbot.
1. The Goal of a Chatbot
Why do you want to create a chatbot?
What will it do?
The answer to these questions is your goal.
It can be from answering FAQs, collecting emails, qualifying leads to recommend products, booking tickets, sending coupon codes, and so on and so forth.
Understanding your goal is very important because it will guide you to create conversations that meet your end goals.
And also, it will give you a clear idea of why chatbot is being built.
2. Type of a Chatbot
As you know there are 2 types of chatbot (if you have read the above-suggested guide).
Rule-based Chatbot
And, AI-based Chatbot
To give you a brief idea,
The Rule-based chatbot is built with automated pre-set rules and the AI-based chatbot is built with advanced NLP and ML.
You have to select one of these types and be consistent with that.
Pro Tip: If you are a beginner, then go with a Rule-based Chatbot, because an AI-based chatbot needs data to train it. And, also a Rule-based one is the most used chatbot nowadays because it has a very low chance of conversation breakdown.
Now, this doesn’t mean you can’t build an AI-based chatbot with the development platforms, but using frameworks can give you more control and features to do so.
4. Test & Optimize
After building a chatbot, it’s time to test and optimize it.
Now, some platforms can give you the in-built testing feature, and on some, you have to deploy your bot first and then test it.
The two important points you should test in the chatbot is,
Does it meet the end goal?
And, User Experience, because ultimately all the efforts you’re putting in is to improve their experience.
Then, the next thing is to improve and optimize your bot for a better experience and more conversions.
5. Deploy
And, finally, Deploy your chatbot!
The process of deployment depends on the platform you are deploying on.
Like, if you want to deploy it on Facebook Messenger or Instagram, then it hardly takes 2–3 clicks to do that.
But, if you want to deploy it on your website or online store, then you need a plugin or manually add the code into the header section of your website.
6. Maintain
It’s not just about building and deploying a chatbot, the real process starts after this, that is to maintain a chatbot.
You have to observe & analyze the user’s response and keep your strategy up-to-date.
And, according to that new strategy, you have to add new necessary features to it as well.
Conclusion
To conclude this article, I would say, “Chatbots are the future, and that future is NOW!”
With the availability of so many code, little-code, and no-code chatbot development platforms, it has become extremely easy to build a bot.
So, you should take benefit of this massive opportunity and integrate this awesome self-service tool with your business.
*Apologies for cross-posting. Please feel free to remove this post if it goes against the community guidelines*
—————————–
We are researchers at the Luddy School of Informatics, Computing, and Engineering (SICE) at Indiana University Bloomington looking for participants for a study on Chatbot Evaluation and User Experience Testing.
The study is approved by Indiana University’s Institutional Review Board (Study #10882) and involves a 45-60 minute online interview (no experiment). As a token of our appreciation for your participation, you will receive $10.
To see if you qualify to participate, please fill out a brief 1-minute questionnaire at:https://go.iu.edu/3PlE.
If you qualify, we will email you to schedule an online interview within 72 hours. If you have questions, please email Jayati Dev at [jdev@iu.edu](mailto:jdev@iu.edu).
This week, we’ll be going in depth and providing actionable steps you can take toincrease student engagementand help your students overcome Zoom fatigue.
Rasa Open Source is a framework for Natural Language Understanding (NLU), dialogue management, and integrations. Rasa also provides RasaX, which is a toolset (GUI) to improve a bot created with Rasa.
This is a continuously growing framework for the development of dialogue systems and no wonder there is the need for some help when you start working with Rasa. I got your back though! Here is a comprehensive cheatsheet for all the main commands and functionalities you need!
What you need to know
Files
domain.yml → the “universe” of the bot, i.e., it has a list of all the intents, responses, custom actions, slots, and forms. Don’t forget that every time you add a new intent or entity you have to also add it in your domain
data/nlu.yml → the training data for the natural language understanding component. You add your intents with annotated entities if any, as well as synonyms.
data/stories.yml → the training data for the core-dialogue management component. You add sample dialogue flows, in order for your bot to learn how to interact with users after recognizing the intent
data/rules.yml → part of the training data for the core-dialogue management component. You add snippets of conversations that should always follow the same flow
config.yml → the configuration has the pipeline of the bot, it has all the training information and the policies that should be followed
endpoints.yml → details for connecting to channels
credentials.yml → details for connecting to other services. Rasa already has written services, e.g., Facebook, Slack, so if you want to use them you just comment out the lines
actions/actions.py → the custom actions are your code, where you can call APIs, connect with database, validate slots, etc.
tests/ → the end-to-end tests of rasa. All files in this folder have to start with test_conversation to be considered for the testing
models/ → where your models are stored. Once you train a model this folder is automatically created
results/ → where the results of your tests are stored. Once you test a model this folder is automatically created and the files are automatically updated after every test
Rasa promotes Conversation-Driven Development. In other words, Rasa developers believe that real-world data and conversations make dialogue systems better. The steps are simple:
1. Share your assistant with users as soon as possible
2. Review conversations on a regular basis
3. Annotate messages and use them as NLU training data
4. Test that your assistant always behaves as you expect
5. Track when your assistant fails and measure its performance over time
6. Fix how your assistant handles unsuccessful conversations
CDD is part of the philosophy of Rasa, so there are many functionalities (especially through RasaX) that enable us to adopt users’ data (of course in compliance with GDPR) as training material.
Important commands
rasa init
initializes new rasa project
rasa train
trains a model of the data you provide, according to the parameters, policies, and custom components you have chosen at the configuration.
rasa train nlu
trains only the nlu model
rasa shell
creates a “shell” where you can speak with your bot
rasa shell --debug
creates a “shell” where you can speak with your bot AND debug (meaning that you will see what is happening behind the bot, and detect where errors are happening)
rasa shell nlu
creates a “shell” only for the nlu data (the intent and entity recognition)
rasa run
runs a new server with the trained model. A custom-coded client is needed in order to speak with the bot when rasa run is used.
rasa run actions
runs the actions server. It is used every time you want to speak with the bot (e.g. rasa shell, rasa interactive)
rasa test
automatically tests everything in the folder “tests”, beginning with test_conversations
rasa test -s <tests/test_conversations_specific.yml>
automatically tests the specific file you identify, which must start with tests/test_converstations
rasa test core
automatically tests the core data, meaning the stories
rasa test nlu
automatically tests the nlu data
rasa test --cross-validation
cross-validation, which automatically creates multiple train/test splits of the data, making the testing more effective
rasa interactive -m models/{name_of_model.tar.gz}
opens an interactive shell, whereby speaking with the bot you can add training data to the system. In particular, through this interactive shell, you check whether the intent/entity classification and responses of your bot are correct, and if they aren’t you can correct them. You add the flag -m in order to define which model you want to use for this interactive shell
rasa data validate
verifies that no mistakes or major inconsistencies appear in your domain, NLU data, or story data
rasa --version
shows what version of rasa (and rasa-SDK) you are using
rasa visualize
visualizes the stories
rasa -h
shows all the available commands
Read the documentation for more information and if you face a specific problem take a look at the forum! There are great tutorials at Rasa’s Youtube channel as well as courses for all levels at Udemy.
The Ultimate Rasa Cheatsheet was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.