DialogFlow | Website Bots

Convert your WordPress website into a Dialogflow FAQ chatbot

I have created a tool which allows you to turn your WordPress website into a Dialogflow FAQ chatbot for your website within a few minutes. It is based on the Dialogflow Messenger integration. You can interact with the live bot (created by using this tool) here. For now, the tool is free. At some point in the future, I will probably make this a paid tool. So if you are interested, you should check it out soon. Learn more

Conversation Design | DialogFlow

When NOT to use follow up intents in DialogFlow

There are some situations where you shouldn’t use followup intents, because it will not work. The while loop There was a chatbot called the Florist bot that was originally used as an example bot in the Dialogflow documentation (when it was still called API.AI). This is what the flowchart of the Florist bot looked like. In the figure below, the area marked in red is actually a while loop. In theory, the user can just keep indefinitely adding red roses into the bouquet and never say “No, thanks” and exit the loop. This is the “while loop” in software terminology. It is not possible to use followup intents for this conversation flow, since you wouldn’t know how many levels deep…

Context | DialogFlow

Dialogflow Context Lifespan

I have mentioned in many of my articles and videos that I recommend using a context lifespan of 1 in all your intents. I have collected all the related ideas into this single article, and also updated it with my current view as of June 2020. This article is based on a few different articles I had written previously on the topic of context lifespan. Optimal context lifespan in DialogFlow Note: this is a somewhat advanced topic, and certainly a bit opinionated. I wouldn’t recommend beginners get into this article until they have built at least a toy bot and experienced all the features in Dialogflow. Contexts If you are building bots using Dialogflow, you are probably aware of contexts….

DialogFlow | Website Bots

Dialogflow Messenger tutorial

In this tutorial, I explain how to add a chatbot to your website using the Dialogflow Messenger integration. What we will be building The video below shows what we will be building in this tutorial. Embed the chat widget into your website Embedding the chat widget into your website is straight-forward. Create your Dialogflow agent Create a new Dialogflow agent, and remove the Welcome event from the Default Welcome Intent. Add a new intent into your agent with the following information (note that it includes the Welcome event). Add the script to your web page Once you create your welcome intent, go to the Integrations pane, and select the Dialogflow Messenger integration. Now copy the script into your clipboard. Paste…

DialogFlow | Training

Do I need to hire a developer to build MY chatbot idea?

I recently got an email from a course student: Let me describe my background first. I am an engineer, but not in computer field, so I consider myself technical, but not programmer. With many reasons I choose to change my working field, and I have tried to learn about IT and programming and end up with building a chatbot. Before I took your courses, I enrolled in Javascript + NodeJS courses, then Dialogflow course in Udemy which teaches using Dialogflow with Facebook Messenger by custom integration (REST API approach). As a programming beginner, it was very painful and costed a lot of time. Even after I completed that course I still had no confidence I could build a real thing….

Context | DialogFlow

Three types of Dialogflow contexts

You might not have realized this, but there are actually three types of Dialogflow contexts. And I recommend only one of them. Implicit and auto-generated contexts When you use the slot filling feature, which I do not recommend, you are using implicit, auto-generated contexts. (Note: I use auto-generated and system generated interchangeably, they mean the same thing). These contexts are auto-generated because you didn’t create them but they are automatically generated by the system when you define a parameter as being required. They are implicit, because their presence cannot be used to infer candidate intents. Explicit and auto-generated contexts When you use the follow-up intents feature, you will notice that Dialogflow automatically adds an output context to the parent intent…

Bot Frameworks | DialogFlow

Dialogflow vs RASA NLU

I have created a small eBook to explain the differences between Dialogflow and RASA NLU if you are trying to choose one or the other. Note: you can right click on the images below and open in a new tab or window to see a larger, full size picture. Table of Contents Excerpt Buy the eBook You can buy the eBook from Gumroad by clicking on the link below.  

Machine Learning

Machine Learning vs non-Machine Learning algorithm

Recently, I was interacting with some non-technical folks and noticed that people use the term ML even when an algorithm doesn’t actually use any Machine Learning. So here is the simplest definition (that I know of) which explains the difference between Machine Learning and non-Machine Learning algorithms: Machine learning algorithms improve when you provide them with more data. Non-machine learning algorithms don’t. Digit recognizer A famous and somewhat standard ML beginner project is the handwritten digit recognition project. As it turns out, this simple task is a really good way to understand the difference between ML and non-ML algorithms. There are a few reasons. Simple Input The input to a Digit recognition algorithm is very simple. It is a scanned…

spaCy

10+ practical projects to learn spaCy in depth

If you like learning by doing, this article will provide you a list of practical projects you can use to learn spaCy in depth. Before you begin This article is meant for programmers. If you don’t have any programming experience, you can still skim this article to see what kind of problems can be solved by Natural Language Processing. But to be able to work on these projects, you need to already have some Python experience. The projects are not sorted or ordered by level of difficulty. In fact, some of these projects are probably open problems in their specific domains. But the important thing isn’t that you completely solve the problem, but rather you understand the techniques used to…

Miscellaneous

An Epidemiology Glossary for Programmers

You might be hearing a lot of people say “Well, I am not an epidemiologist, but here is my opinion anyway…” these days. So, to continue that trend, I will say the same thing. I am not an epidemiologist. 🙂 However, I will try my best not to give you any opinion on anything outside my subject matter expertise. (Although, my father is a retired biostatistician who did study epidemics, so I am a lot more familiar with the phrase “clinical trial” and its general importance than many people). What is epidemiology? Here is what Google says. I am not going to explain all the basics of epidemiology in this article. Instead, I will point out a tool which can…

Machine Learning

How much can Machine Learning ACTUALLY help with answering free-form questions?

At the moment, not much. I am contributing to a Kaggle competition which is trying to use ML techniques to answer freeform questions from medical literature. At first, the technical folks were running helter-skelter trying to come up with useful visualizations (but not coming up with much). Until one day an epidemiologist showed up, and started talking about visualizations in the form of evidence gap maps, and people realized that getting useful data from this dataset wasn’t going to be such an easy task with the existing ML tools we have at our disposal. That seemed to have prompted a thread on what would actually make competition entries useful. Someone on the forum wrote a great comment under that same thread…

DialogFlow | Knowledge Connector

Dialogflow Knowledge Connector : Pros and Cons

A reader asked me this question recently: Do you think the beta knowledge base within Dialogflow is useful? Or are their better ways in to implement a FAQ bot with Dialogflow? There are two types of FAQ chatbots you can create in Dialogflow. 1 You can use the knowledge connector feature (beta) 2 You can use regular intents Knowledge Connector example I recently created a knowledge connector bot and integrated it with Telegram. This is what it looks like: A few things to note: I used Telegram because of the ease of integration. You can use any channel integration and get similar results. There are multiple results per user query. In the screenshot above, there are 3 results In Dialogflow,…