|
submitted by /u/ADSPLTech7512 [link] [comments] |
Category: Chat
-
Programming memes
-
Guide to How you can turn on and use Google Assistant Continued Conversation
Sometimes it feels so awkward to talk to Google assistant because of its weird robotic voice.
-
5 Reasons not to use Data (and why Most are BS)
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.
Trending Bot Articles:
2. Automated vs Live Chats: What will the Future of Customer Service Look Like?
4. Chatbot Vs. Intelligent Virtual Assistant — What’s the difference & Why Care?
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.
Don’t forget to give us your 👏 !



5 Reasons not to use Data (and why Most are BS) was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.
-
How to Create a Chatbot from Scratch in 2021 (The Ultimate Guide) — EmpathyBots
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!

Source: EmpathyBots But before moving ahead I highly suggest you to read this complete guide on What Exactly is a Chatbot? And Why is it Important?
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.
Trending Bot Articles:
2. Automated vs Live Chats: What will the Future of Customer Service Look Like?
4. Chatbot Vs. Intelligent Virtual Assistant — What’s the difference & Why Care?
3. Deploying Channel
Where will you deploy your chatbot?
You need to decide the platform where you want it to be available.
It can be your Website, App, Facebook Messenger, Instagram, WhatsApp, Ecommerce Store, or anything else.
You can go for a multi-channel approach as well, it is up to you.
Pro Tip: Deploy on a platform where your customers and prospects are available.
4. Tech Stack
Ok! Now it’s time to choose the tech stack that you need to create a powerful chatbot.
Note: I only recommend the tools that I’ve personally used, trust, or at least know about.
First, you need a flow design tool where you can design the entire conversational flow. You can use the tool called Draw.io to do this.
Then, you need a development platform where you build your chatbot. It can be a no-code platform or a code-based framework.
You can use the no-code platforms that I personally used like, Chatfuel or ManyChat.
Or, coding-based frameworks like Dialogflow (I used this), Wit.ai, and IBM Watson.
Then, at last, you should have a graphic designing tool in your stack to use graphic elements in your chatbot like, GIFs, Images, and many more.
You can use a simple drag-and-drop tool like Canva to do this.
Ok! Now you understand how to plan for creating a chatbot. Now we’ll see how to actually implement it in the next section.
How to Implement a Chatbot?
There are 6 steps you need to take to create a chatbot.
1. Design a Conversational Flow
The first step in creating a chatbot is to design a conversational flow.
Conversational flow is different from the conversational script.
It is nothing but a flowchart that may contain a value or condition, and based on these conditions progression of responses happens in the chatbot.
You can also say it is a mindmap of your chatbot.
For example, this is a conversational flow of EmpathyBot,

Source: EmpathyBots You can see that how responses had been designed according to conditions and user selection.
BTW, this is a Rule-based chatbot designed to collect leads and help people learn about chatbots and marketing automation.
2. Write a Conversational Script
The second step is to write a conversational script.
The conversational script is nothing but the words, sentences, images, GIFs, and many more things you use to give direction to the conversation.
This script can include topics to start a conversation, answer questions, lead conversations, and end the conversation.
You can use anything like Word Document, Notepad, or even a Notebook (which I used) to write the script.
For example, this is a conversational script of EmpathyBot,

Source: EmpathyBots Pro Tip: Try to write the script in a conversational manner like I did above and read it aloud again and again so that you can improve it.
3. Build a Chatbot
The third step is to actually build a chatbot.
As I said earlier, there are two types of chatbot.
If you want to build a Rule-based Chatbot, then I suggest you to use no-code development platforms like Chatfuel or ManyChat.
It is very easy to build a chatbot with these platforms as they offer a very intuitive flow builder to do so.

Source: EmpathyBots And, if you want to build an AI-based Chatbot, then you should go with development frameworks like Dialogflow.
In this, you have to train their NLP engine with data to give appropriate responses to the users.

Source: EmpathyBots 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.
Don’t forget to give us your 👏 !



How to Create a Chatbot from Scratch in 2021 (The Ultimate Guide) — EmpathyBots was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.
-
[Survey] Seeking Participants for a Study on Chatbot Evaluation and User Experience Testing (US 18+)
*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).
submitted by /u/SnooHamsters5958
[link] [comments] -
Combating Zoom Fatigue in Online University Courses
Last week, we talked about what Zoom fatigue is, what causes it, and why it’s bad, especially for students in higher education and university.
This week, we’ll be going in depth and providing actionable steps you can take to increase student engagement and help your students overcome Zoom fatigue.
-
The Ultimate Rasa Cheatsheet
A beginners’ guide to Rasa Open Source

Let’s start with the basics:
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
Trending Bot Articles:
2. Automated vs Live Chats: What will the Future of Customer Service Look Like?
4. Chatbot Vs. Intelligent Virtual Assistant — What’s the difference & Why Care?
Conversation Driven Development (CDD)
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.
At the Institute for Language and Speech Processing of the Athena Research Center, we use Rasa to create Theano, the Greek-speaking conversational agent for COVID-19. For Rasa -and all things in life- practice makes perfect; so after more than a year of developing Theano with Rasa, our team has learned how to take full advantage of Rasa’s utilities. You can take a look at our GitLab Repository, to have an image of what a developing project with this framework looks like.
Don’t forget to give us your 👏 !



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.
-
Digital Process Automation(DPA) vs Robotic Process Automation (RPA)

Many Business organizations typically involve a lot of repetitive tasks. With automation technologies becoming mature and accessible plus due to the recent rise of pandemics there is an upward trend in digital transformation and process automation.
Highlights:
- Growing needs of Automation in Business
- What is Digital Process Automation?
- What is Robotic Process Automation?
- Digital Process Automation Vs Robotic Process Automation
- Popularity & Usage
- Ease of Use
- Pricing
- Popular Tools
- What should you use
- Reduction in Cost
- Efficiently integration of Humans and Robots
- Easy compliance
However, when people give the first glance into automation, they might be overwhelmed with a lot of options to take. Particularly, there are two popular ways of automation, Digital Process Automation (DPA) and Robotic Process Automation (RPA) which confuse a lot of people.
In this article, we will explain what is RPA, what is DAP and compare them on various grounds. Finally, you would understand that they complement each other and organizations can get a lot of value by
But before that, let us understand the general context of both RPA and DPA — — Automation.

Growing needs of Automation in Business
Automation in business does not necessarily mean only executing certain actions that do some real-world work automatically, it also includes various data collecting processes that help for better decision making. It might also involve speaking with customers in various customer channels.
Not only do they help in using resources efficiently, but also do not contain risks that inherently come with human error. These systems are capable of working round the clock and constantly provide service without fail.
Technologies today are so well developed that they can automate many areas of business and do something much of all businesses want — — reduce costs and increase profits. While there has generally been a drive for digitization and automation of businesses for years, the recent pandemic has certainly increased that drive many times!
What is Digital Process Automation?
Digital process automation can be said to be an evolution of Business Process management. As such, Digital Process Management is concerned about digitizing your business processes and keeping them in a uniform system. By having them under the same umbrella, Digital Process Automation streamlines workflows and provides a holistic improvement in business process management.
Trending Bot Articles:
2. Automated vs Live Chats: What will the Future of Customer Service Look Like?
4. Chatbot Vs. Intelligent Virtual Assistant — What’s the difference & Why Care?
What is Robotic Process Automation?
Robotic Process Automation is using software robots to carry out certain tasks. They typically take over mundane and repetitive tasks that do not involve huge intelligence. Speaking about intelligence, much of RPA does not involve artificial intelligence at all, because rules are specified while robot creation.
Not only performing menial tasks, but there also exist various RPA chatbots that can provide conversational experiences.
Digital Process Automation Vs Robotic Process Automation
By now you may have already understood that they differ in use cases — — While RPA is highly focused on creating robots that perform tasks that are done by humans, DPA digitizes general business workflows and automates them.
Let us now compare RPA and DPA on various grounds:
Popularity & Usage
Both RPA and DPA are highly popular and used by a lot of organizations. However, when we see their market values now, DPA is more valued than RPA. In 2020, the market of Robotic Process Automation was valued at $2094 million, and in the same year, Digital Process Automation was valued at $7.8 billion.
This value of RPA is expected to grow to $9416 million by 2026 and DPA to the value of $16.12 billion by 2026.
Ease of Use
Both RPA and DPA offer low code visual development platforms on which you can specify what you want in a flowchart-like fashion and develop many use case applications easily.
Apart from logic, specifying actual work is not hard too… RPA has macro recording available which means that once you do something while recording a macro, the RPA system understands what you have done and can repeat it again…!
Pricing
Calculating pricing for implementation of RPA and DPA is slightly tricky because there are a lot of ways of using them. That is, different organizations take up different levels of automation and pay accordingly.
However, when compared generally, RPA tools cost more than of DPA.
Popular Tools
Both RPA and DPA have rich ecosystems and vibrant communities. UI Path is one of the most popular tools for RPA. Other famous tools for RPA include Blue Prism, Automation Anywhere, Contextor. Popular tools for DPA include Pega, Quixey, Nintex Promapp. Tool Pega can also be used for RPA.
What should you use?
To say in one word, use both!
As we have already discussed, it is beneficial to include automation in as many spaces as possible.
So, to say simply, As RPA and DPA provide automation over various business processes and tasks, there would be a lot of
Here are benefits you get when you implement both RPA and DPA:
Reduction in Cost
As RPA and DPA automate a lot of tasks, ultimately they reduce the need for more people for work and help existing employees be more efficient and be focused on important tasks. Return of investment would be high for the implementation of RPA and DPA.
Efficiently integration of Humans and Robots
While RPA solutions are great in themselves of orchestrating themselves, combining RPA with DPA would deliver enterprise-wide solutions in coordinating work between software robots, systems, and people.
Easy compliance
With RPA and DPA working exactly as specified, there would be little worry as to whether work is going on with regards to best practices. Another bonus point is that they demand processes to be well defined which will help a lot in the audit.
Final Words
Both Robotic Process Automation and Digital Process Automation are at the forefront of the digital transformation of business.
While the intent of both is to automate various aspects of businesses, both of them differ in working. RPA is concerned more about automation of tasks in business and DPA is concerned about Process Automation of entire business workflows. They both are complementary to each other and provide the best use when implemented together.
Technology is getting better and better and growing accessible too. So, if you haven’t yet got these in your business, we recommend you to implement them!
Don’t forget to give us your 👏 !



Digital Process Automation(DPA) vs Robotic Process Automation (RPA) was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.
-
Component approach for chatbot

It is rare that business doesn’t want to provide a 24×7 personalized services. But they rarely do. Why? It is easy to personalize content in graphical user interface (GUI), but it is generally impossible to personalize arbitrary services as user interaction design and implementation can get out of hand quickly. Hiring live agents is not option, as it is not scalable to operate. Chatbot has the potential to be the solution, but it is too expensive to build today.
There are many reasons why it is expensive to build usable conversational user interface (CUI) to your services. Today let’s focus on a major one of these: the lack of component based framework. I will talk about what is the component driven development and why it is a good idea to adopt this methodology. And then we will cover the main considerations for building a component based framework specific to conversational user experiences. It should shed some light on why such framework is more involved thus hard to come by. At same time, it should also be clear that nothing is really insurmountable, chatbot will be built in far greater number than any other types of application when we overcome this and other blocking issues.

Component driven development
Component-Driven Development (CDD) is a development methodology that advocate build things based on prefabricated components. This methodology is popular because it exploit the following observation: it is generally much more involved in building something than using it. You can light a match, but can you produce a box of matches? Way harder. Using off-the-shelf component is a key way to reduce cost in building things. It is no surprise that CDD is widely adopted in real world, we can see its application everywhere, in construction, in computer manufacturing, and of course in software development.
But what is a component? Per Cambridge dictionary, A component is a part that combines with other parts to form something bigger. In software development, there are three aspects about component:
- Self contained. The component should provide the claimed functionality without external help. For example, any date picker will encapsulate the details like leap years, variance in months of the year and interaction between day of week and day of month, etc. The caller of the component does not need to know anything about it.
- Reusability. The same component can be wired into different context for different larger purpose. Like, the same date picker can be used in any context where we need to get a date from user, and it is typically possible to wire the result of this component to outer context declaratively.
- Configurability. Ideally, builder can customize its behavior via configuration (think low bandwidth control so caller does not have to say much). It is very easy to setup the initial state of date picker to for better user experience, and sometime, it is also easy to configure the look and feel via well defined control.
Trending Bot Articles:
2. Automated vs Live Chats: What will the Future of Customer Service Look Like?
4. Chatbot Vs. Intelligent Virtual Assistant — What’s the difference & Why Care?
In user facing front end development, CDD is even more prevalent. Almost all modern frontend framework at their core are component based, Reactjs, SwiftUI, Vue, you name it. But why this is the case?
Benefit of the component based approach
There are many possible angles that component based approach can be advantageous.
- Since the same component can be used multiple times in the different context, the average cost of get same functionality via component is lower, some time much lower comparing to build it from scratch (can be close to zero).
- Simply update the component to new version can fix the issues of component without much of builder’s involvement, some time before builder even realized there is a problem.
- Using component can greatly reduce the time to market. As component can be prefabricated or developed in parallel.
- Using component allow builder try different things quickly. As builder can focus on what they want instead of how to build it.
Conversational user interaction (CUI) component
For conversational user interface, the component based approach can be more appealing. As half of the user interaction is dictated by end users, it is very likely that we will converge to smaller set of CUI components thus introduce huge cost savings in building conversational user experiences. But what are the basic considerations of highly reusable conversational user interaction component?
Schema
The center of the any CUI component is what information, or set of slots, can be collected from user through conversation so that chatbot can use such information to invoke services user wants. Obviously schema for the same vertical can be fairly stable, which makes conversational user interaction a profitable target for componentization.
Interaction logic
Given the set of slots that chatbot need to collect through conversation, one can define the interaction logic, imperatively or declaratively, which dictates how these slot will be filled. This is the part of the CUI component that need to be encapsulated. One of the key requirements on the conversational interaction logic is order insensitivity. Assume user knows what they want, the collected information should not change regardless in what order user choose to provide the information. In another word, CUI component should behave deterministically with respect to the order of user input. While the state machine is enough to model the graphical user interaction (GUI), one typically needs to use statechart (Harel statechart) to efficiently model the conversational user interaction even at the single frame level, because we can not control what user might do.
Language hooks
It should be easy to port the same interaction logic into different languages. To this end, there should be simple configuration on these CUI components that one can customize its dialog understanding and text generation behavior. Ideally, such configuration should requires no background in the natural language understanding or machine learning so that everyone can contribute to language aspects without going though steep learning curve.
Runtime considerations
For graphical user interface component, the runtime can be fairly simple because the wiring of components are static after being determined at configuration time. Since we can not control what user might say or do, the runtime for CUI component need to be a lot more involved. For example, to support user seamlessly switching between different topics, chatbot runtime need to dynamically figure out the pronoun antecedent from context, automatically switch between different topics accordingly, so that chatbot and user are always on the same page.
Integration with service
For task oriented conversation, the goal is always connecting user with desired services. So it should be possible for the CUI component to pair up with different service providers for maximal reuse. Furthermore, when CUI component used together with the compatible backend component, builder can simply deliver services directly by populate the table hosted in the backend components, without need to understanding how component works at CUI level.
Conclusion
The advent of high level component based frameworks greatly reduced the cost of building the GUI application, and there is little question that these frameworks contribute to the ubiquitous availability for web and mobile apps. However, the conversational user experience are still mainly built from scratch. It is excruciating slow and expensive and only the team with extreme deep pocket can do it well. Lacking of well designed component based CUI framework has plagued the chatbot development for so long as there are many aspects need to be taken care of. But the wait is over: check framely.io to see how you can build chatbot in a component approach today.
Reference:
State Machine: State Explosion
Don’t forget to give us your 👏 !



Component approach for chatbot was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.


