Ok, this is going to be a bit odd, because I’m going to point you to a page on my site that is NOT a chatbot. Not to worry, though, it’s relevant.
Late last year, I decided to create a Virtual Telescope because I wanted to expand on a smaller, less feature rich version that I had created for my chatbot, Morti a few years ago. The PHP script that runs the telescope uses not one, but three different “knowledge base” databases to obtain the data necessary to serve the visitor’s needs. They are:
1.) The SIMBAD Astronomical Database
2.) NASA’s APOD image Database
3.) The Wikipedia API
When a visitor searches for a celestial object (the Eagle Nebula, for example) the telescope script first searches a “local” DB for the necessary information, such as the object’s coordinates, basic information of the object (e.g. description, history, attributes or any other useful or interesting data), and other pertinent details. If an entry is found, then the script “points” the Google Earth plugin to the correct coordinates, and loads a special file that presents the information found in the database, all “on the fly”.
However, if the object is not found in the local database, the script searches SIMBAD for coordinate data, and Wikipedia for descriptive information. If SIMBAD can’t find coordinates, a search of NASA’s APOD image database is made, and the script randomly selects an image from a list returned by APOD.
Now you’re probably thinking, “That’s all well and good, but how does this apply to a chatbot?”
That’s a valid question, and worth asking. Simply put, while my virtual telescope is certainly not a chatbot, it DOES perform similar tasks, in that an input is given by a user, and a response is given back. The difference is that the telescope doesn’t entirely rely on a locally stored set of data, but can request information from outside sources, in order to fulfill the user’s request. It’s no different with a chatbot, really. At least, it ~SHOULDN’T~ be.