Chatbots Magazine Become a Writer Intro to Chatbots

Advice for Beginner Chatbot Makers

(zohe) #1

Hi All
Please can someone share some tips, links, advice, sequence of events, skills needed to become a Chatbot developer?

Apologies if these are silly questions but I literally dont know where to start. Are there any online courses for example?


(Jan König) #2

Hi zohe,
I’m currently compiling a list of chatbot courses. There’s also a list of resources at Botwiki:

What are you interested in? Design/UX, development, NLP?

  • Jan

(zohe) #3

Hi Jan
Thank you for replying. In all honesty I am interested in all of it. Long term plans are to learn enough to produce marketing and ecommerce related bots.


(Jan König) #4

Cool! For me, Chatfuel is the easiest tool to build early prototypes of what the bot interaction could look like. After playing with their tool, you can decide if you need a custom bot or can use a chatbot building platform.

(I’m just assuming you’re talking about Facebook Messenger bots)

(jkhamb) #5

@Zohe - I am super new to this as well. I took a training course on Udemy by Jana Bergant. It was very helpful. She taught how to create a chatbot on During the training you create an FAQ based chatbot and a chatbot that conducts interviews. Based off of that, I was able to create some chatbots on my own. It certainly gave me confidence.

Before I took the training, I went to to try to create a chatbot, and I was utterly lost.

It was certainly a great start, it made some concepts clear. I am not a developer or a coder at all. The most coding I have done is written complex vlookups on Excel :-).

Hope this helps.

(Ankit Sinha) #6

@zohe If you are a .NET developer, I wrote a blog series on developing bots using Microsoft Bot Framework. You can use either .NET (C#) or nodejs to develop bots using Microsoft Bot Framework and it is pretty easy to develop too.

(zohe) #7

Awesome replies. Thanks for sharing. Please keep it coming from more people :slight_smile:

(antonin) #8

This is good if you have basic coding knowledge:

(zohe) #9

So here is another question. Is it possible to create a bot that accesses multiple services. For example could a bot be created that uses Facebook Messenger & Twitter & and YouTube? Or is it only one service at a time?

(do.bruce92) #10

Thanks for creating this useful thread!

I have another question about the learning ability of AI. I’m currently using Chatfuel for my Facebook Messenger Bot and Telegram Bot, but the teaching process is a bit inconvenient for languages other than English.

Hope to hear your thoughts on this!

Best regards,

(Jeff Aydelotte) #11

I haven’t tried chatfuel’s ai system, but ai only systems generally have a challenge picking up a new language until they have a large set of training data.

When using machine learning the quality of your results depends upon the amount and quality of training data you have. The tools that we have are largely trained exclusively or at least primarily in English, and that means they’re great at learning more English but not as great with new languages. They can learn any language, but the need a lot of teaching.

Our approach to this has been to use a hybrid approach where the writer writes rules. We have a system where writers can use our machine learning to suggest rules, but the writer creates rules for the bot not training data. Once the bot is live the ai looks at inputs which didn’t match a rule and uses machine learning to try to better handle those misses.

We’ve seen some really good results with using this hybrid approach. When we first got unicode support one of our qa developers was able to write a bot in Russian and I wrote a test bot in Spanish and it was as easy to do as English (except for having to use my terrible Spanish).

(do.bruce92) #12

Thank you so much for suggesting another view point to this problem! I really want to dig deeper in the field of machine learning. Do we have any AI system that can learn by itself, based on the input through chatbot? I mean it can collect data through users’ input, analyze and automatically suggest the answer for the next similar questions?

(Nei Fonseca) #13

Same problema here,. I’m using and creating chatbots in portuguese and the learnin process is a problem.

I’m keep my eyes in the conversations and then create and adapt rules. But so far has been a manual process.

And because of that i´m using a lot of buttons and quick replies

(Jeff Aydelotte) #14

There are some bot platforms that train completely off of user input. I belive that’s how Botego works. (I haven’t used their service so I’m not sure, just basing that on their description of what they do)

Training the bot entirely from users’ input normally means having a lot of work by humans up front. When the bot first launches it doesn’t know how to respond to anything, so all inputs are forwarded to people for answering. The bot then analyzes the user’s input and the response the human operator sent back. It then tries to use that response for similar inputs.

Facebook is using a similar model to train M. The tasks are being performed by humans and then the AI learns how to perform those tasks. According to FB it will take years before their AI will be automated enough to scale and be available to everyone.

(do.bruce92) #15

Well it seems like time is all we need right now.

I really want to dig deeper into this. Would you mind suggesting the path for further studying? Where should I start looking?

Thanks a lot!

(Carl) #16

I agree with Jeff’s thinking - a hybrid approach is/seems to be necessary. Some large percentage of interactions can be handled with hardcoded pattern matching rules and no machine learning at all. This is very powerful and quick to implement. Over time as your both gathers conversation data (or data sets become publicly available), the machine can adapt to slight variations of expected phrases. But using that for user responses in most instances is overkill and will distract you from the real business logic.

Bots meant for general conversation need the open-endedness of machine learning and massive training.
Bots meant for accomplishing a task have very focused workflow steps and at each point the number of possible things the user should say is quite small. So in that case, coded rules go a very long ways and you just add to them as you see variations from users.

This is my current thinking. Others deeper into the problem may disagree, and I’d like to hear those thoughts

(Nei Fonseca) #17

Hey @do.bruce92 you could search in Udemy. There are some Chatbot courses there that can help you.

(do.bruce92) #18

Thank you @nei.fda ! I’ll take a look.

(Ankit Sinha) #19

Creating a truly open-ended bot is very difficult even with using ML. It is typically impossible to create one with current NLP service such as wit or luis which uses basic supervised training. This is due to the algorithms used which classifies the input to one of the already trained intents. What we need here is deep learning model such as LSTM or Sequence-to-Sequence, extensively trained on large datasets. Being an active field of research, there are rarely any ready to use products out there and creating one requires huge resources. However you can create somewhat open ended bot using AIML like Mitsuku.

Whereas bots which are restricted to accomplish few tasks can be created effectively by today’s NLP services if you can clearly define the intents. But if you go ahead with AIML approach, you will have to carefully write down all variants of phrases that user can say to accomplish each task, keeping in mind the spelling mistakes which tends to happen while texting.

This is just my thought. I have only worked in developing domain restricted bots. I will love to hear from anyone working on open ended conversations.

(Deuphil Kaufmann) #20

Microsoft’s Bot Framework such service, the last time I used it it was supporting Skype, Slack, Facebook Messenger, and Telegram. And also a REST API.

However you’ll be coupled with the service, and when it goes down, so are you. :wink: