Building DanBot

A day by day blog through my chatbot creation journey

The journey to DanBot

This page is set up a running blog of my journey towards creating my chatbot. I'll try to provide some insight into the process here on this page. I got the idea to create DanBot as I'm currently applying for a job on a chatbot creation team. To boot my interview was moved 10 days forward so I figure I can get familiar with chatbots in that time. Besides, I wanted to start working on a new project now that this website is up and running.

So here we are! Now, the first part of any project, after ideation, is feasibility analysis. Is this possible? Do the tools exist? Am I overselling my abilities? Well, chatbots are a known thing, I intend on using existing libraries such as RASA or DialogFlow, and I've built ML systems in the past. I've even done a good bit of work with sentiment analysis through BERT. Add to this my many many years of experience as a physical simulations specialist ( so step by step process kinds of things ) and I know this is a project I can sink my teeth into. Next question, the interview is supposedly in 10 days, can I get an MVP (minimum viable product) going in 10 days? Now that I'm shaky on. If the pre-built libraries are easy to work with and have the functionality I need, of course, I can hit that mark. If not, I can have something ready by then but it may well be a work in progress still.

So it's possible, so what's next. Identifying the tools I want to use, and scoping out how this is done by people who have done it before me. To this end, I always begin with a simple google search, something to the tune of "building my first chatbot".

Configuring SpaCy

I mentioned I wasn't going to reinvent the wheel and so the NLU (Natural Language Understanding) library that I'll be using is SpaCy. SpaCy is a python NLU library intended for industrial level usage and I've decided to use it because it's what a company I have an upcoming interview with uses and I'd like to get familiar with it. That said, just from the get-go, SpaCy is well documented and it looks clean.

On day 3 I went through SpaCy's introduction course and I thought it was very well designed - I certainly left with an idea of how I would use SpaCy in this project

It all lives on the web!

Day four has been all about the backend webserver side of this project. I configured an AWS EC2 t2large instance to handle user input and response. Now, I could have let the DanBot page be entirely hosted on the AWS EC2 instance, and that would have been easier. That said, I wanted the page to still function if I took my EC2 instance down and so I decided to host the DanBot page and direct user input/response to the EC2 instance via a simple https post/get.

Contact Me

Email: DanielDavidWooten@gmail.com