Build a FAQ Chatbot with Articulate

The simplest type of chatbot to build

Caleb Keller
Smart Platform Group
4 min readAug 5, 2019

--

The SPG team designed and built Articulate to answer Frequently Asked Questions; more precisely, FAQs centered around data. The webhooks in Articulate allow it to hook into many systems and extract information for the user. However, there’s a more straightforward kind of FAQ bot that Articulate makes easy to create and works well. Before we get started if you want some background on Articulate check out these previous blog posts.

If your website has a set of FAQs on it, then you can quickly transform those FAQs into a chatbot. You can also add in some extra bits of information found on your website and come out the other end with a chatbot that is better than most in the wild today. In this blog post, we’re going to take the Frequently Asked Questions on the Samtec.com website and create a chatbot from them.

To create a simple FAQ chatbot with Articulate, you need to know of a few terms: Sayings, Actions, and Responses.

Sayings — are the utterances or messages you expect from your user. You teach Articulate several of these sayings for every action your bot can take. You don’t have to provide an exhaustive list. Articulate learns to generalize from the examples you provide.

Actions — are the steps your bot can take to respond to the user. In more advanced deployments this would include slot filling, webhooks, and response templating. However, for a basic FAQ bot, all an action needs are responses.

Responses — are the final component of an Action. They are how your bot responds when a particular action is requested.

It’s okay if those concepts are too opaque to understand right now. Once we start building, hopefully, they should be more apparent. To get started, make sure you’ve got Articulate installed and go ahead with creating your first agent. Once you are at the sayings page, your screen should look very similar to the below.

A blank sayings page after creating a new agent.

The first thing we are going to do is create an action. In the Samtec FAQ bot’s case, our first question is:

How does one go about selecting a connector that is sufficient for their design?

When the user asks this question, we want our bot to reply with this answer:

Items to be considered include connector performance, routing efficiency, and pin density. For more information, contact our Signal Integrity Support.

I am going to name this first action, Connector Selection, and paste the above answer into the responses tab. Hitting save creates my first action.

Creating an action named Connector Selection and adding a response to it.

Back on the Sayings screen, I am going to type in the question and add it as a saying. Notice that there is a small tag to the right after pressing enter. This saying gets tagged with the Connector Selection action. Tagging sayings with actions is how you teach Articulate.

One small nuance of Articulate is that it requires two sayings for every action. So I am going to create one more saying for that action, “how to select a connector?” Once I hit enter it gets added to the sayings list and tagged with the appropriate action.

  1. Create action — give it a name and a response
  2. Add sayings — Articulate requires 2 sayings for each action
  3. Repeat
  4. Train

These few simple steps are all that is required to create a straightforward FAQ bot in Articulate. Now I am going to repeat those steps for every FAQ I want to include. Here is what my sayings page looks like once I am further along. I have created 18 actions and 30 sayings.

Articulate with more sayings and actions added.

However, notice that to the right above the sayings, it says that my agent needs training. Training is the process of teaching Articulate how to respond to your FAQs. Click train and wait for training to complete. Once complete you are ready to start chatting with your new FAQ bot.

After training we can chat with our new agent.

I’ve created a gist of this agent, available here; it expects you to be running Articulate 0.27, to get Articulate go here. This chatbot has a few problems with it still yet so we’ll address those in the next blog post, sign up below for our newsletter, or follow us on Medium. If you give Articulate a try and need some help, be sure to join us on Discord or open an issue. We are happy to help!

--

--

Caleb Keller
Smart Platform Group

Mechanical Engineer turned Data Scientist turned Machine Learning practitioner. Focused on solving the problems of enterprise data, starting with how we can Do